第三章-简单程序设计

上传人:夏** 文档编号:509096073 上传时间:2023-07-27 格式:DOCX 页数:10 大小:44.08KB
返回 下载 相关 举报
第三章-简单程序设计_第1页
第1页 / 共10页
第三章-简单程序设计_第2页
第2页 / 共10页
第三章-简单程序设计_第3页
第3页 / 共10页
第三章-简单程序设计_第4页
第4页 / 共10页
第三章-简单程序设计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《第三章-简单程序设计》由会员分享,可在线阅读,更多相关《第三章-简单程序设计(10页珍藏版)》请在金锄头文库上搜索。

1、第三章 简单程序设计3.1 流程结构和语句1 . 三种流程结构顺序结构,选择结构,循环结构程序在逻辑上执行的流程。顺序结构:按语句在源程序中出现的次序依次执行;选择结构:根据一定的条件有选择地执行或不执行某些语句。循环结构:在一定条件下重复执行相同的语句。所有的流程控制都是由语句实现的,且任何一个表达式都可作为一个语句使用,成之为表达式语句2. 表达式语句任何表达式通过在其末尾加一个“;”,可使表达式成为一个语句,形式为:表达式;其中“;”是 C 语句的组成部分,表示一个语句结束。表达式语句能够独立出现在程序中,而表达式则不能独立出现。例如: x=y+1 是表达式x=y+1 ; 是语句习惯上把

2、赋值表达式语句如:x=y+1 ;新为赋值语句。函数调用也是表达式,因此:printf (“ hellow ”)是表达式;printf (“ hellow ”);是语句,习惯上称为输出语句。scanf(“%d%d ”, &x,&y );函数调用表达式语句(输入语句)3. C 的语句概述C 的一个“说明”也必须以分号结束,也称为语句,因此C 的语句分说明语句和执行语句两类。说明语句可以出现在程序中任何块(函数或复合语句)的外面称为外部说明或块内称为局部说明(在执行语句的前面)。外部说明必须放在一个源程序文件中所有函数定义的外面;局部说明包括类型定义、变量和函数说明,其作用是描述程序中被处理数据(变

3、量或函数)的名称和类型供解释程序使用。执行语句只能出现在函数体内且处于局部说明的后面,执行语句完成对数据的处理和对程序流程的控制。常用的程序结构为:常量说明类型说明变量说明/* 外部说明 */返回类型函数名(参数表) 变量说明 /* 局部说明 */ 执行语句C 的执行语句共有六种:表达式语句复合语句标号语句选择语句( if 和 switch )循环语句( while,for,do-while )转移语句( break,continue,goto,return )3.2 标准的文件输入与输出函数一个 C 的源程序要能够从外部设备(文件)输入数据并将执行(或处理)的结果输出到外部设备上。C 语言的

4、输入和输出操作是通过调用C 标准函数库中的函数来实现的,标准函数库是由 C 编译程序提供的。 以编译后的目标代码形式存储的函数的集合。用户程序可根据需要按规定的格式调用其中的函数来完成相应的功能。C 语言中从标准输入和输出文件(设备)中进行读(写)的四个标准函数是:格式输出函数printf 、格式输入函数scanf、字符输入函数getchar 和字符输出函数 putchar。其他函数以后讲。3.2.1 字符输入和输出函数1. 字符输入函数getchar函数原型为: int getchar ( void )其中 int 说明函数的返回值的类型,void说明函数没有参数,该函数的调用格式为:get

5、char()系统将输出设备和输入设备都看成文件,标准输入设备(键盘)和标准输出设备(显示器)是由字符的序列(字符流)组成的文本文件,称为输入流和输出流。getchar 每调用一次则从终端 (键盘)读取 一个 字符。这个字符的字符码就是getchar的返回值(即函数值) ,其类型为由unsigned char 转换的 int 。例如:c=getchar ();执行时键入字符a 赋值后变量c 的值为 97 即字符 a的值。输入文件的结束标志称为文件尾。DOS 系统中键入ctrl+z 时产生文件结束标志。getchar 遇到文件结束标志时返回值 EOF,EOF 是在头文件 stdio.h 中定义的符

6、号常量,其值通常为 -1。程序中如果要测试 getchar()的值是否文件尾应使用 EOF 而不用 -1,这样做可使程序不依赖于某个特定环境。2. 字符输出函数 putchar函数原型为: int putchar(char ch )putchar 函数将所要输出的字符码转换为unsigned char 送到标准输出设备中去,返回值是被输出的字符,如果出错则返回EOF,调用形式为:putchar( ch)其中 ch 为实际参数,可以是char、 short 或 int 类型的表达式,其值是要被输出字符的字符码。每调用一次则将字符c 输出到标准输出设备上。例如:int i=7;char ch;说明

7、:(1) 下面四个语句是等价的,同为输出一个响铃字符:putchar(i);putchar(7);putchar(07 );putchar(a );(2) 下面三个语句分别输出字符a,3 和换行 putchar(a”);putchar(3); putchar(n);注: putchar(3) 输出是 ?而不是整数3。( 3)putchar(c=getchar()= a&c= z)?c-a+A:c);该语句先输入一个字符存入变量 c,如果 c 是小写字母则将其转换成大写字母后输出,否则直接输出原字符。注意:凡是程序中调用了输入、输出库函数,必须在函数第一次调用之前写上 include 或 inc

8、lude “ stdio.h”,预处理控制(对于 DOS 上的 scanf 和 printf 可省略)。3.2.2 格式输出函数 (printf)getchar 和 putchar 函数用于输入和输出单个字符,输入和输出过程中不进行格式上的任何转换。printf 和 scanf 函数在数据的输入和输出过程中能够将计算机内部形式的数据和输入输出任务上的数据相互转换,称为格式输出和格式输入。1. printf 函数的原型int printf(char format,args)参数的数目可变,中间用“, ”分隔,是要被转换并写到输出设备的数据。函数的返回值是实际输出字符的数目。2.调用形式print

9、f (格式字符串,输出参数1,输出参数2,);调用 printf 函数时至少要给出第一个参数,即格式字符串。 格式字符串式是用“”括起来的字符串;输出参数1, 输出参数n 是 n 个表达式,可以为任何基本类型,也可以是指针或枚举类型(较少使用)。输出数据项的数目任意,末尾加“;” 表示printf 函数通常作为语句使用。printf函数将参数的值按格式字符串规定的格式从内部形式转换成外部字符形式并输出设备,返回值是实际输出字符的数目。例如:printf(%d%8.3f,i,x);参数中的格式为%d %8.3f 。 i 和 x 是要输出的数据%d表示 i 要用十进制整数形式输出,宽度为数据实际宽

10、度。%8.3f 表示 x 要用小数形式浮点数格式输出,输出总宽度为 8 个字符,其中小数部分保留3 位,若 i=15 , X=-8.2该语句输出为15-8.2003. 格式字符串格式字符串包含两种字符: 普通字符和用于转换说明的字符, 普通字符照原样输出,转换说明用于说明数据输出格式。其形式为:%域宽 转换字符一个转换说明以 %开头。域宽部分是可选的,用于指定输出数据的宽度。每个转换说明对应于一个输出参数,该参数被转换成由转换说明规定的数据格式后输出。普通字符通常用作输出提示信息,它可以与转换说明交替出现,例如 printf ( i=%d , x=%8.3fn , i , x);输出为 :i=

11、15 ,x= -8.200ANSI C 的转换字符及其规定的输出格式见教材p44。注:如果 %后面是一个 %字符,则标准C无此定义,将它作为普通字符输出。在 %和转换字符之间可以加域宽说明,用于指定输出时的对齐方向、输出数据的域宽度、小数部分的位数等要求。用于域宽说明的字符列于下表中,域宽说明可以是其中之一或多个字符的组合。表 3.1 printf域宽说明字符域宽说明符号意义- (减号)在指定的区域内以左对齐方式输出(默认右对齐)+输出正值时前面冠以符号+空格输出的第一个字符不是符号时,要输出一个空格作参照0(零)在域宽范围内用前导0 填补空位#对于 o 格式输出前导0,对于 x 或 X 格式

12、要输出 0x 或 0X 前缀,对于 g 或 G格式不删除尾部零。m(正整数)指出输出数据的最小宽度。如果实际宽度m,则按实际宽度;如果实际宽度 m,则左边(左对齐时为右边)补上空格或零(当有0 域宽说明字符时) 。. (小数点)分隔域宽与精度。小数点前面可以没有域宽说明。n(正整数)指出输出数据的精度。对于e、E、 f格式为小数部分的位数,对于g 或 G 格式为有效字的个数,对于整数为至少应输出的数字的个数(添加前导 0 来满足所需宽度) 。h指出输出参数是短整型l指出输出参数是长整型L指出输出参数是高精度浮点型在域宽说明中还可以使用字符* , * 代表一个整型值,这个整型值是由包含* 的转换

13、说明对应的参数决定的。例如:printf( %.*s , max, s);该语句执行时从串s 中打印至多max 个字符。域宽说明示例见教材p45注意 (1) : printf 函数根据格式串中的转换说明来决定输出数据的数目和类型,如果转换说明项数多于参数个数,或参数类型不正确,则会输出错误的数据(不报语法错);如果输出参数的数目多于转换说明项数则多余的参数不被输出。例 . Printf(“%d%d,%d”,3,4);结果为: %d,3例: int i=-6;double x=5.7 ,y=123.4567 ;printf( %-4d ,%g, i , y, x);输出形式为:-6 ,123.457( 2) printf中参数右结合 ,如设 int i=1;则 printf( %d, %d, %d, +i , +i , +i );输出结果为4,3, 2printf( %d, %d, %d, i+ , i+ , i+ );输出结果为3,2, 13.2.2格式输入函数(scanf )1. scanf 函数的原型int scanf(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号