全国计算机等级考试实用应试教程二级c语言_第3章__顺序结构

上传人:腾**** 文档编号:53629985 上传时间:2018-09-03 格式:PPT 页数:31 大小:292KB
返回 下载 相关 举报
全国计算机等级考试实用应试教程二级c语言_第3章__顺序结构_第1页
第1页 / 共31页
全国计算机等级考试实用应试教程二级c语言_第3章__顺序结构_第2页
第2页 / 共31页
全国计算机等级考试实用应试教程二级c语言_第3章__顺序结构_第3页
第3页 / 共31页
全国计算机等级考试实用应试教程二级c语言_第3章__顺序结构_第4页
第4页 / 共31页
全国计算机等级考试实用应试教程二级c语言_第3章__顺序结构_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《全国计算机等级考试实用应试教程二级c语言_第3章__顺序结构》由会员分享,可在线阅读,更多相关《全国计算机等级考试实用应试教程二级c语言_第3章__顺序结构(31页珍藏版)》请在金锄头文库上搜索。

1、第3章 顺序结构,本章要点: 3.1 赋值语句 3.2 数据输出 3.3 数据输入 3.4 复合语句和空语句,3.1 赋值语句,在赋值表达式的尾部加上一个“;”号,就构成了赋值语句也称表达式语句。以下是几点说明: 1赋值语句必须在最后出现分号,分号是语句中必不可少的部分,如“x+=10”是表达式,“x+=10;”是赋值语句。 2任何赋值表达式都可以加上分号而称为赋值语句。 3赋值语句是一种可执行语句,应当出现在函数的可执行部分。重点提示:分号是赋值语句中必不可少的部分,若没有分号,则只是一个赋值表达式而已。,3.2 数据输出 3.2.1 printf函数的一般调用形式printf函数是标准输出

2、函数,功能是在终端设备上按指定格式进行输出。printf()函数的一般形式为: printf(“格式控制”,输出项序列)例如:printf(”a=%d,b=%c”,a,b)中,”a=%d,b=%c”称为格式控制字符串,a,b是输出项序列中的输出项,都是printf函数的参数。,格式控制符的作用有: 1为各输出项提供格式转换说明。它总是由“%”符号开始,紧跟其后的是格式描述符。 2提供需要原样输出的文字或字符。输出项表中的各输出项要用逗号隔开,输出项可以是合法的常量、变量或表达式。格式转换说明的个数要与输出项的个数相同,使用的格式描述符也要与它们一一对应且类型匹配。,3.2.2 printf函数

3、中常用的格式说明,“格式控制”部分是用双引号括起来的字符串,也称“转换控制字符串”,它包括三种信息:格式说明符、转义字符和普通字符。 1格式字符格式说明符由%和格式字符组成,如%d、%f等。作用是转换输出数据的格式。对于不同类型的数据用不同的格式字符。下面详细介绍几种常用的格式字符。, d格式字符。用来输出十进制整数。其用法如下: (a)%d,按型数据的实际长度输出。例如:printf(“%d,n“,x);如果x=789,则输出结果为:789,(b)%1d,输出长整型数据。例如:printf(“%1d,n“,a);如果a被定义为:long int a=56789;则输出结果为:56789如果用

4、%d格式输出,就会出错,因为整型数据的范围是-3276832767。对超出此范围的long型数据应当用%1d格式输出。,(c)%-md,m是指定的输出字符宽度。如果数据的位数小于m,则输出共占m位,数据左靠齐,右边补空格,若省略“-”号,则右靠齐,左边补空格;如果数据的位数大于m,则按实际位数输出。例如:printf(“%5d,%5dn“,a,b);如果a=7788,b=56789,则输出结果为: 7788,56789, f格式字符。用来输出实数(包括单精度、双精度),以小数形式输出。其用法如下: (a)%f,实数的整数部分全部输出,小数部分保留六位。需要指出的是,并非全部数字都是有效数字。单

5、精度实数的有效位数一般是7位,双精度实数的有效位数一般是16位。 (b)%mf,输出的实数共占m位,小数部分保留六位。 (c)%.nf,输出的实数,总宽度按实际宽度,小数部分占n位。,(d)%-m.nf,输出的实数包括小数点在内共占m位,其中小数部分占n位。如果数据的实际宽度小于m,则左靠齐,右边补空格,省略“-”时,右靠齐,左边补空格。如:main() float a=123.45;printf(“%f,%11f,%.2f,%-10.3fn”,a,a,a,a); 程序运行结果为:123.449997, 123.449997,123.45,123.450说明:a的值应该是123.45,但输出的

6、结果却是123.449997,这是由于实数在内存中的存储误差引起的。, c格式字符。用来输出一个字符。例如: char ch= a; printf(“%c“,ch); 则输出一个字符a。也可以指定输出字符的宽度,如: printf(“%2c“,ch); 则输出a,即ch变量输出占2列,第一列补空格。, s格式字符。用来输出一个字符串。其用法如下: (a)%s,按原样输出一个字符串。例如: printf(“%s“, “Happy New Year!“); 则输出字符串: Happy New Year! (b)%-ms,与整数输出格式“%-md”类似。,c)%m.ns,输出占m列,但只取字符串中左

7、边n个字符。这n个字符输出在m列的右边,左边补空格。 (d)%-m.ns,n个字符输出在m列范围的左边,右边补空格。若nm,则m自动取n值,即保证n个字符正常输出。 如:字符串输出示例 main() printf(“%3s,%6.3s,%.2s,%-5.4sn”,“Hello”,“Hello”,“Hello”,“Hello”); 程序运行结果为: Hello, Hel,He,Hell,表3.1 输出格式字符及其功能说明,2附加格式字符 在%和上述格式字符之间可以插入以下几种附加符号,如下所示。 表3.2 输出常用附加格式字符,3长度修饰符长度修饰符加在%和格式字符之间,对于长整型一定要加l(l

8、ong),h可用于短整型(short)或无符号短整形数的输出。如printf(“%ld,n”,a); 4转义字符可以在printf函数中的“格式控制”部分使用“转义字符”,如“n”、“b”、“f”、“t”、“r”、“344”等。重点提示:如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示。,3.2.3 调用printf函数时的注意事项 1在格式控制字符串中,格式说明与输出项从左到右在类型上必须一一对应匹配。例如:printf(“x=%f,c=%d“,x,c);中的x与%f对应,c与%d对应。 2在格式控制串中,格式说明与输出项的个数应相同,若格式说明少于输出项,则多余的输出项不

9、输出,相反,对于多余的格式将输出不定值。 3在格式控制串中,可以包含任意的合法字符(包括转义字符)。,4输出项序列中可以是变量、常量或表达式。如果输出项是表达式时,则printf函数将先对其进行运算,然后输出它的运算结果。如:main()printf(“x=%f“,3*4.8+9/4-sqrt(2.0);输出结果为:x=32784.400000,5printf函数允许没有输出项序列部分。它表示输出一个字符串。此时printf函数成为如下格式:printf(“输出字符串“);例如:printf(“Please input a number:“);则输出:Please input a number

10、: 6printf函数的返回值通常是本次调用中输出字符的个数。重点提示:格式说明与输出项从左到右在类型上、个数上都必须一一对应匹配。,3.3 数据输入,3.3.1 scanf函数的一般调用格式scanf()函数的一般形式为: scanf(“格式控制”,输入项表)“格式控制”的含义同printf函数;“输入项地址序列”是由若干个变量地址(变量前加号)组成的序列,各地址按排次序依次接收转换格式后的读入数据。,例如: main() int a,b;scanf(“%d%d“,程序运行结果为:123 456123,456重点提示:输入项地址序列中的变量前需要加取地址符号”&”。,3.3.2 scanf函

11、数中常用的格式说明在格式控制部分一般只包含“格式说明符”这一项内容。和printf函数中的格式说明符相似,以%开始,以一个格式字符结束,中间可以插入附加的字符。 1scanf常用的格式字符。表3.3列出scanf函数常用的格式字符及其功能说明。,表3.3 scanf格式字符,2附加格式字符。表3.3列出scanf函数的附加格式字符及其功能说明。 表3.4 scanf常用附加字符,3几点说明 (1)可以指定输入数据所占列数,系统自动按它截取所需数据。 (2)标准C在scanf()函数中不使用u说明符,对unsigned型数据,以%d,%o,%x输入。 (3)在输入时若想跳过某个数据,可在%后加一

12、个相应的“*”。 (4)输入数据时不能规定精度,如scanf(“%5.2d”,&x)是不合法的。重点提示:scanf函数输入的数据不能规定精度。,3.3.3 通过scanf函数从键盘输入数据通过scanf函数从键盘输入数据时,需要注意以下几点: 1scanf函数中的输入项必须是“地址量”,它可以是一个变量的地址,也可以是数组的首地址,但不能是变量名。例如,如果定义了a,b为整型变量,则scanf(“%d,%d”,a,b);是不合法的,应将“a,b”改为“&a,&b”。请读者予以注意,这是初学者易出错的地方。,2输入数据时,各个数据之间可以用空格“”或Tab键或回车键作为间隔符。 3除了空格、T

13、ab键和回车键外,用户还可以自己指定其他字符作为输入间隔。需要注意的是,如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。例如,对应语句:scanf(“%d,%d,%d”,输入方式应为:1,3注意1后面是逗号,它与scanf函数中的“格式控制”中的逗号对应,若输入时不用逗号,而用空格或回车键等字符就不对。,4特别需要注意的是,在使用格式说明符%c输入一个字符时,凡是从键盘输入的字符,包括空格、回车等均被作为有效字符接收。例如对语句:scanf(“%c%c”,若输入:a b原意图是把字符a赋给c1,b赋给c2,而结果却是把赋给了c2。因为%c只要求

14、读入一个字符,后面不需要用空格作为两个字符间隔,因此作为下一个字符赋给c2。,5在输入数据时,遇以下情况时该数据认为结束: 遇空格、Tab键,或回车键。 按指定的宽度结束,如“%4d”,只取4列。 遇非法输入。重点提示:scanf函数中的输入项必须是“地址量”,它可以是一个变量的地址,也可以是数组的首地址,但不能是变量名。,3.4 复合语句和空语句 3.4.1 复合语句在C语言中,可以用一对大括号“”把一些语句括起来构成复合语句,又称分程序。复合语句的形式如下: 语句1;语句2;语句n; 1在复合语句内,不仅可以有执行语句,还可以有定义部分,定义部分应出现在可执行语句的前面。 2复合语句中最后一个语句的最后一个分号不能忽略。 3复合语句可以嵌套。即复合语句内部还可以包含其他复合语句。,3.4.2 空语句只有一个分号构成的语句称为“空语句”,如;就是一个空语句。空语句在执行时不产生任何动作,但并不表示空语句没有用途。一般空语句可以用在循环体内对程序起“延时”作用。如:for(i=1;i=100;i+) ; 重点提示:复合语句中最后一个语句的最后一个分号不能忽略。,

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

当前位置:首页 > 生活休闲 > 社会民生

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