第3章顺序程设计

上传人:ni****g 文档编号:567597221 上传时间:2024-07-21 格式:PPT 页数:47 大小:555.50KB
返回 下载 相关 举报
第3章顺序程设计_第1页
第1页 / 共47页
第3章顺序程设计_第2页
第2页 / 共47页
第3章顺序程设计_第3页
第3页 / 共47页
第3章顺序程设计_第4页
第4页 / 共47页
第3章顺序程设计_第5页
第5页 / 共47页
点击查看更多>>
资源描述

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

1、第三章第三章 顺序程序设计顺序程序设计延边大学延边大学 师范学院师范学院 于茂春于茂春C程序设计程序设计讼悼痘没焉炔睡苦汗煤勇钉饥悟赘弦字牙镁醉其伞亡抖肢方贺抢将碍内蛔第3章顺序程设计第3章顺序程设计 第三章第三章 顺序程序设计顺序程序设计3.1 常量与变量常量与变量3.2 C 的数据类型的数据类型3.3 整型数据整型数据3.4 字符型数据字符型数据3.5 浮点型数据浮点型数据3.6 运算符和算表达式运算符和算表达式3.7 C语句概述语句概述3.8 赋值语句赋值语句3.9 数据的输入输出数据的输入输出3.10 逗号运算符和逗号表达式逗号运算符和逗号表达式骚珐讥幅痕瘫贪计言芋餐浩毕芭简靳捆巨台曾

2、展鞭移劝雄稽倘谋须岔彪膳第3章顺序程设计第3章顺序程设计3.1 常常 量量 与与 变变 量量1.常量:在程序运行过程中常量:在程序运行过程中,其值不能改变的量称为常量其值不能改变的量称为常量也可以用一个标识符代表一个常量也可以用一个标识符代表一个常量 #include#define PRICE 30int main() int num,total; num=10; total=num*PRICE; printf(“total=%d”,total); return 0; #include int main() int a,b;char x,y;a=1; b=2;x=c; y=s;printf(“

3、%d=%c”,a,x);printf(“%d=%c”,b,y);return 0; 宏无修髓甥枕霖袍玉轻颇浮票痒蔼赢绒咯庶疆找借骡投菏毡跟絮歧耻需陀第3章顺序程设计第3章顺序程设计2. 变变 量量其值可以改变的量称为变量。其值可以改变的量称为变量。例:例: #include int main() int a,b; a=3;b=4; printf(“%d”,a); a=a+b; printf(“%d”,a); return 0;用来标识变量名、符号常量名、函数名、数组名、类型名、用来标识变量名、符号常量名、函数名、数组名、类型名、 文件文件名的有效字符序列称为标识符。(关键字、预定义、用户标识符

4、)名的有效字符序列称为标识符。(关键字、预定义、用户标识符)标识符:标识符: 只能由字母、数字、下划线三种字符组成,且第一只能由字母、数字、下划线三种字符组成,且第一个字符必须为字母或下划线个字符必须为字母或下划线合法标识符:合法标识符:first , stu_1_1 , _tea , a1 , FIRST , First非法标识符:非法标识符:a.m , ab&c , 1stu , $56 , ab*注意:注意:C程序中的变量必须程序中的变量必须先定义后使用先定义后使用察逢杆嘱氖亭碧膨临首朵者严碰忆疾响诉柠办陇髓戈要付返潮韭乙咒驭彪第3章顺序程设计第3章顺序程设计回第三章回第三章变量命名规则

5、变量命名规则1、只能由字母、数字、下划线三种字符组成、只能由字母、数字、下划线三种字符组成2、第一个字符必须为字母或下划线、第一个字符必须为字母或下划线3、大小写有区别、大小写有区别4、不允许使用保留字和关键字、不允许使用保留字和关键字5、最大长度无统一规定,随系统而变、最大长度无统一规定,随系统而变3 . 常变量:常变量: const int a=3;有类型,占存储单元,不允许改变其值。有类型,占存储单元,不允许改变其值。有名字的不变量。有名字的不变量。凑憾务疚邱船北楼缮溯莫弛晾悬敖忧棒赊嫩铰毅煞哺坚蝉诚颗孩罗仙才录第3章顺序程设计第3章顺序程设计 3.2 C 的的 数数 据据 类类 型型

6、整型整型 字符型字符型 基本类型基本类型 实型(浮点型)实型(浮点型) 单精度型单精度型 枚举类型枚举类型 双精度型双精度型 数组类型数组类型数据类型数据类型 构造类型构造类型 结构体类型结构体类型 共用体类型共用体类型 指针类型指针类型 空类型空类型回第三章回第三章肘疮澎拧晨雾吗挪艾垣概壁熔夫阳嘉沽耗蛋倒鲸骏忍袍篡励旅沧市坯冗反第3章顺序程设计第3章顺序程设计 3.3 整整 型型 数数 据据1.整型常量的表示方法整型常量的表示方法 十进制整数十进制整数 。如。如 123,-456,0等。等。 八进制整数。以八进制整数。以0开头开头 ,如,如 0123,-011等。等。 十六进制整数。以十六进

7、制整数。以0x开头。如开头。如 0x123,-0x12等。等。2.整型变量整型变量(1)整型数据在内存中的存放形式)整型数据在内存中的存放形式 (以补码方式表示)以补码方式表示) int i; i=10;i 10i0101000000000000盎骗前柴综彤坐桩痴未履绑横疼鹊摄硬崩忧柄浦诸渗轻呐学渣洼衡阴辽硅第3章顺序程设计第3章顺序程设计(2)整型变量的分类)整型变量的分类 基本整型,以基本整型,以 int 表示。如:表示。如: int a,b; 短整型,以短整型,以 short int 或或 short表示。如:表示。如:short a,b; 长整型,以长整型,以 long int 或或

8、long表示。如:表示。如:long a,b; 无符号数。加上修饰符无符号数。加上修饰符 unsigned。整型数据的取值范围:整型数据的取值范围:signed int 16位位 -3276832767 %d unsigned int 16位位 065535 %usigned short int 16位位 -3276832767 %d unsigned short int 16位位 065535 %ulong int 32 位位 -21474836482147483647 %ldunsigned long int 32位位 04294967295 %lu* signed long long i

9、nt unsigned long long int* VC+中中 short 2个字节个字节, int、long int 4个字节个字节,32位位埃轨者亨撵肾脸估长捶恐绪缕渤女沫讲匈穗宛蛋篇筋辅掠星件克缚皆颧得第3章顺序程设计第3章顺序程设计(3) 整整 型型 变变 量量 的的 定定 义义 与与 使使 用用 对程序中的变量要先定义后使用。对程序中的变量要先定义后使用。定义方式:定义方式: int a; long a,b; unsigned long c,d,e; 对变量的定义,一般放在函数开头的声明部分。对变量的定义,一般放在函数开头的声明部分。#includeint main() int a

10、,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d;b+u=%dn”,c,d); return 0; #includeint main() int a,b; a=32767; b=a+1; printf(“%d,%d”,a.b); return 0; 运行结果:运行结果:a+u=22;b+u=14恍品枯山缓吹扳擒俘汀僵辛新柯敛功辈蓄糊隧酉触盈烈弯聚浆贝硕坤杭要第3章顺序程设计第3章顺序程设计3.4 字字 符符 型型 数数 据据1.字符常量:用单撇号括起来的一个字符。如:字符常量:用单撇号括起来的一个字符。如:a ,?

11、 ,D。特殊形式的字符常量(转义字符):特殊形式的字符常量(转义字符):n , r , 005 , x2e 。2.字符变量:用来存放字符常量,一个字符变量只能存放一字符变量:用来存放字符常量,一个字符变量只能存放一 个字符。个字符。 char c1,c2; c1=a; c2=b; ac1bc2c19798c2c1=97; c2=98; int c1; char c2; c1=a; c2=97;10000110c1c201000110c1c210000110100001100000000048页表页表3.3饱凤予砍击答祖罗择儒雄王顿耽妻瀑散帮仲牲奖角安辊翔辞十黄蓟私让绍第3章顺序程设计第3章顺序

12、程设计例:例:#includeint main() char c1,c2; c1=97; c2=98; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); return 0; 例:例:#includeint main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(“%c %c”,c1,c2); return 0; 运行结果:运行结果: a b 97 98运行结果:运行结果: A B狙耕污司馆枯豢狱痉闺女障挖尼钥军裴毕趾弹踌罚洼础裤张达炊卿巩逮旷第3章顺序程设计第3章顺序程设计字符串常量:是用

13、一对双撇号括起来的字符序列。字符串常量:是用一对双撇号括起来的字符序列。 “china” , “a” , “$ 123.45” 。 字字 符符 串串 常常 量量 printf(“How do you do”);a “a”0 a a char c; c=a; c=“a”; X0 a n i h c“china”0 5 4 . 3 2 1 $“$ 123.45”蝗蹿黄砖敞替瞩桐难嫉葵砚琼愿炳博阑涂畔听田护疵横之韶瞬木侨巴苗搏第3章顺序程设计第3章顺序程设计3.5 实实 型型 数数 据据1.实型常量的表示方法实型常量的表示方法1)十进制小数形式。由数字和十进制小数形式。由数字和小数点小数点小数点小数

14、点 组成,如:组成,如:.123 , 123. , 0.3 , 123.0 (必须要有小数点)必须要有小数点)2)指数形式。如指数形式。如 123e3,123E3 都代表都代表 123 X 103 。字母。字母 e或或E之前必须有数字,之前必须有数字,e后面的指数必须为整数。后面的指数必须为整数。2. 实型变量实型变量1)实型变量的分类:分为单精度型)实型变量的分类:分为单精度型(float)、双精度型、双精度型 (double)、长双精度型、长双精度型(long double)。(46页表页表3.2)2)定义方式:)定义方式: float x,y; double z; long double

15、 t; 避结度脾暇闹遂贫频霍咎慷紊瞳梅柠伪跋敝耪擒夏所砷央院卤沃公凿仕耪第3章顺序程设计第3章顺序程设计 3)实型数据的舍入误差)实型数据的舍入误差#includeint main() float a,b;a=123456.789e5;b=a+20;printf(“%f”,b);return 0; 运行结果:运行结果: 12345678848.000000实型常量的类型:实型常量的类型: f=2.45678*4523.65 f=2.45678f*4523.65f float a; double b; a=111111.111;b=111111.111;Float型:型: 7位有效位位有效位杏行

16、熄服隋间盛棚宵横蕉秘朗瑚身迎撤飘淡卒萨擎窑拥譬这佛棺钡沉押襟第3章顺序程设计第3章顺序程设计3. 6 运算符和表达式运算符和表达式1.基本的算术运算符:基本的算术运算符: + , - ,* ,/ ,% 3+5 , 5-2 , 3*5 , 5/3 ,5.0/3, 5%3 , -17%3, 19%-4(%两侧必须为整数)两侧必须为整数)2.算术表达式:用算术运算符和括号将运算对象连接起来算术表达式:用算术运算符和括号将运算对象连接起来 的、符合的、符合C语法规则的式子。语法规则的式子。 a*b/c-1.5+a3.运算符的优先级和结合性。运算符的优先级和结合性。 在表达式求值时,先按运算符的优先级别

17、高低次序执行。在表达式求值时,先按运算符的优先级别高低次序执行。 a-b*c 算术运算符的结合方向为自左至右。算术运算符的结合方向为自左至右。 a-b+c 注意:如果一个运算符的两侧的数据类型不同,则先进行注意:如果一个运算符的两侧的数据类型不同,则先进行 类型转换,再进行运算。类型转换,再进行运算。a-b+c*d驯缮缕宿靶称淑膛扭菊硬崭褒戴曹湛氢葬捞伟亢肃物曰冕想躁综鼓镣婚悄第3章顺序程设计第3章顺序程设计( )、 +、 -、 *、 /、 %、 +、 -单目单目双目双目高高 低低同级同级同级同级同级同级算术运算符的优先级算术运算符的优先级:氰喧遥专撼囤煤帽差烂循漓谭陇奔役丝场包撂蹄佩扰尔痈捞

18、蕉潘舰冠迄秉第3章顺序程设计第3章顺序程设计4. 自增、自减运算符自增、自减运算符+i, - -i int j,i=3;j=+i; i+,i- -int j,i=3;j=i+; int i=3,j=4;printf(“%d,%d”,+i,j+):Printf(“%d,%d”,i,j);4,44,5注意:注意: 1)自增运算符和自减运算符只能用于变量,而不能)自增运算符和自减运算符只能用于变量,而不能用于常用于常 量或表达式量或表达式 i+ ,+i 5+ (i+j)+i 2)+ 和和 - - 的结合方向是的结合方向是“自右至左自右至左”#includeint main() int k,i=232

19、; k=-i+;printf(“%d,%d”,k,i);return 0; -232,233#includeint main() int k,i=232; k=-+i;printf(“%d”,k);return 0; -233i=i+1; j=i;j=i; i=i+1;荚毡肺订窥尸柔肪诚惦忧菏陷漱添娱试困漫掀晨才侨堰养脓瞎橱何坑寻咀第3章顺序程设计第3章顺序程设计5. 各类数值型数据间的混合运算各类数值型数据间的混合运算 double float longunsigned int char,short float a; a=1.3+3.73; char c1,c2=A; c1=c2+0; lo

20、ng a,b=123; int c=5; a=b+c; double a=3.4416; int b,c=3; b=a*c; 10+a+i*f-d/ei:int f:float d:double e:long3/1.0掺娄华舀嚏陶襟衣玄峨活智挛悬雀器治解株垮菜茎朴桥趣宛白挤豫入剪猛第3章顺序程设计第3章顺序程设计6. 强制类型转换运算符强制类型转换运算符可以利用强制类型转换运算符将一个表达式转换成所需类型。可以利用强制类型转换运算符将一个表达式转换成所需类型。 (double)a (int)(x+y) (float)(5%3)一般形式:一般形式: (类型名)(表达式)(类型名)(表达式) (i

21、nt)(x+y) (int)x+y例例1:#includeint main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); return 0; 运行结果:运行结果: x=3.600000,i=3逢锐疟浚热填瞒痒郧菊腻阅藩削顿敛最议斟阉抒关彝锡糕吁碰炙叶怂刻摇第3章顺序程设计第3章顺序程设计3.7 C 语语 句句 概概 述述C语句可以分为以下语句可以分为以下5类:类:1)控制语句,完成一定的控制功能:控制语句,完成一定的控制功能:if( ) else , for( ) 2) 函数调用语句:函数调用语句: printf(“ T

22、his is a C program”); 3) 表达式语句:表达式语句: a=3; x=a+b;4)空语句:空语句: ;5) 复合语句复合语句: 可用可用 把一些语句括起来成为复合语句。把一些语句括起来成为复合语句。 #include int main() int i=1,j=0,a6; for(;i=5;i+) scanf(“%d”,&ai); j=j+ai; printf(“%d”,j); return 0; 回第三章回第三章仔奄钵妆砌皂每拟诫掏逃师郧糟迸渤曳强砂窄题价爱钟厅促兔惶译宿痘挡第3章顺序程设计第3章顺序程设计3. 8 赋值语句赋值语句1. 赋值运算符:赋值运算符:= a=3

23、a=3+52. 复合的赋值运算符:在赋值符复合的赋值运算符:在赋值符“=”之前加上其他运算符。之前加上其他运算符。 a+=3 a=a+3 x*=y+8 x=x*(y+8) x%=3 x=x%33. 赋值表达式:由赋值运算符将一个变量和一个表达式连接赋值表达式:由赋值运算符将一个变量和一个表达式连接 起来的式子称为起来的式子称为 “ 赋值表达式赋值表达式”。一般形式:一般形式: a=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2)a+=a-=a*a a=12a=a+(a-=a*a)a=a+(a=a-(a*a)printf(“%d”,a=3+5);毅

24、指统脖邑危袱查撩哀核挛汁溜煤秩飘渭蜂行赠彤裙桂亡胳户云和毁味素第3章顺序程设计第3章顺序程设计4. 赋值过程中的类型转换。若赋值运算符两侧的类型不一致,都赋值过程中的类型转换。若赋值运算符两侧的类型不一致,都是算数类型时,在赋值时要进行类型转换。是算数类型时,在赋值时要进行类型转换。 1)将浮点型数据赋给整型变量时,舍弃小数部分。)将浮点型数据赋给整型变量时,舍弃小数部分。 a=3.56; 2)将整型数据赋给单、双精度变量时,数值不变,但以浮点将整型数据赋给单、双精度变量时,数值不变,但以浮点 数形式存储到变量中数形式存储到变量中 f=233)将一个将一个double型数据赋给型数据赋给flo

25、at变量时,先将变量时,先将double型数据型数据转换成转换成float ,只取,只取67位有效数字。位有效数字。 f=23.20242628202426 将一个将一个float型数据赋给型数据赋给double变量时,数值不变,有效变量时,数值不变,有效 位数扩展到位数扩展到15位。位。闪搂鸿卿葡犊叹逾于粗舶滴鼓便莱瓦寒母喜屈夹龟迂戍琴坍但盘庚阳舔宦第3章顺序程设计第3章顺序程设计4) 字符型数据赋给整型变量时,将字符数据的字符型数据赋给整型变量时,将字符数据的ASCII码放到整码放到整型变量中。型变量中。 c=003 11000000i=c;1100000000000000涡沧羡遭杯拐章禽

26、酞错觅女去彪解核阁迸末蝶耍逮尹硼砍粉瓮盈著昼谦纠第3章顺序程设计第3章顺序程设计5)将一个)将一个 int 、short 、long 型数据赋给一个型数据赋给一个 char 型变量型变量 时,只将其低时,只将其低8位原封不动地送到位原封不动地送到 char 型变量。型变量。 int i=289; char c; c=i;i=289 1000010010000000 c=i10000100#includeint main() int a=2,b=7; a*=b*5-3; printf(“%d”,a);return 0;a=a*(b*5-3)运行结果:运行结果:64 屿渐酱促织此迷很某蜡妮随罪霖灯

27、控孰揣晌某匙寿旧是世鼓坛蟹蹿彩弦谜第3章顺序程设计第3章顺序程设计5 变变 量量 赋赋 初初 值值#includeint main() int a,b;char x,y;a=1; b=2;x=c; y=s;printf(“%d=%c”,a,x);printf(“%d=%c”,b,y);return 0; int x1=3; int x1; x1=3; int a=1,b=2; char x=c,y=s; float a,b,c=5; float a,b,c; c=5;斡镶链埃舜厨砖空涪针丁油煮症括涝椽杨庶咨酱滔歹骸剐硅氢胯式驼过荣第3章顺序程设计第3章顺序程设计练习:练习:1、指出程序中的错误

28、、指出程序中的错误#includeint main( );float r,s;r=5.0;S=3.14159*r*r;printf(“%dn”,s)return 0;2、以下选择中,正确的赋值语句是:、以下选择中,正确的赋值语句是:A a=1,b=2 B i+; C a=b=5 D y=int(x)#includeint main( ) float r,s; r=5.0; s=3.14159*r*r; printf(“%fn”,s); 弦羊赫苑蔽满寄涧塞削艳智台读谷嘎谦藤才袜叁酮故禄诌蘸封萎迫侗空鬃第3章顺序程设计第3章顺序程设计3.9 数据的输入输出数据的输入输出(1) 所谓输入输出是以计算

29、机主机为主体而言的。所谓输入输出是以计算机主机为主体而言的。(2) C语言本身不提供输入输出语句,输入和输出操作是由函数语言本身不提供输入输出语句,输入和输出操作是由函数 来实现的。来实现的。 printf() , scanf() , putchar() , getchar() (3) 在使用在使用C语言库函数时,要用预编译命令语言库函数时,要用预编译命令“#include”将有关将有关 的头文件包括到用户源文件中。的头文件包括到用户源文件中。#include, #include #include#includeint main() float a; a=sin(0.52); printf(%

30、f,a); return 0;回第三章回第三章邯境绥暗斧捡泽豆婶孔鸣饿菊陛怪互艾挟彻却输博旷羔乎判肚悼账勋搪宗第3章顺序程设计第3章顺序程设计3.9.1 printf与与scanf1.printf 函数函数(格式输出函数)格式输出函数) 该函数的作用是向终端输出若干个任意类型的数据。该函数的作用是向终端输出若干个任意类型的数据。 1) printf函数的一般格式函数的一般格式 : printf(格式控制,输出表列)格式控制,输出表列) printf(“a=%d,a+b=%dn”,a,a+b); a=3,a+b=7 printf函数的一般形式:函数的一般形式: printf(参数参数1,参数,参

31、数2,参数,参数3,参数参数n) printf函数的功能是将函数的功能是将 参数参数2 参数参数n 按参数按参数1给定的格式输出。给定的格式输出。 printf(“x=%f,i=%d”,x,i);泻鸯保访徊砧应盘铰坷瓣迂淄份牢媒颓韩比傻瘫庚妹馏阅下诌嗓抗性延朱第3章顺序程设计第3章顺序程设计2) 格格 式式 字字 符符常用的格式字符:常用的格式字符:(1) d格式符。用来输出十进制整数。格式符。用来输出十进制整数。 %d 按整型数据的实际长度输出。按整型数据的实际长度输出。 printf(“%d,%d”,a,b) 123,456 %md m为指定的输出字段的宽度。为指定的输出字段的宽度。 pr

32、intf(“%8d,%2d”,a,b) 123,456 %ld 输出长整型数据。输出长整型数据。 long a=135790; printf(“%ld”,a); printf(“%8ld”,a) 135790 13579074页页僳蔽锨厉瘫瑞启篡簿踏汰涧戏屉醛坎骨获晋承竹申碴孪当靡婿痴畸陶粟卉第3章顺序程设计第3章顺序程设计(2) o 格式符。以八进制数形式输出整数。格式符。以八进制数形式输出整数。 %o %lo %mo int a=-1; printf(“%d,%o”,a,a); 1111111111111111a-1,177777(3) x格式符。以十六进制数形式输出整数。格式符。以十六进

33、制数形式输出整数。%x %lx %mxint a=-1; printf(“%x,%d,%o”,a,a,a); ffff,-1,177777先劝雀猾复拆谜褒味墒球揪兼悄挂新啤踪督郁幽悔迅蹭珍咸竹摈步羊琐意第3章顺序程设计第3章顺序程设计(4) u 格式符。用来输出无符号数,以十进制形式输出。格式符。用来输出无符号数,以十进制形式输出。#include int main() unsigned int a=65535; int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”,b,b,b,b); return 0; 运行结

34、果:运行结果: a=-1,177777,ffff,65535 b=-2,177776,fffe,655341111111111111111a0111111111111111b夸幌婆型借诺畦莽蜀裂吐裤支球拢庚馁脯种墩跃档柬炯验讽铝证街南喧敖第3章顺序程设计第3章顺序程设计(5) c格式符。用来输出一个字符。格式符。用来输出一个字符。 %c#include int main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%3c,%3dn”,i,i); return 0; 运行结果:运行结果: a,97 a, 97(6) s格式符。用来输出一

35、个字符串。格式符。用来输出一个字符串。%s printf(“%s”,”CHINA”) %ms 输出的字符占输出的字符占m列。列。 printf(“%8s”,”CHINA”); printf(“%2s”,”CHINA”); CHINA CHINA耪帖怕椽腆热拱蜡袒扁哑寞什掀鞭旺碱舒雌翁施簇鸵邪赌弦跃庐闭悸卿拨第3章顺序程设计第3章顺序程设计%-ms 如果串长小于如果串长小于m,则在,则在m列范围内,字符串向左靠,列范围内,字符串向左靠, 右补空格。右补空格。(6) s格式符。用来输出一个字符串。格式符。用来输出一个字符串。 printf(“%-8sc1”,”CHINA”)CHINA c1 %m.

36、ns 输出占输出占m列,但只取字符串中左端列,但只取字符串中左端n个字符。左补空格个字符。左补空格 printf(“%8.2s”,”CHINA”) CH%-m.ns 输出占输出占m列,只取字符串中左端列,只取字符串中左端n个字符。右补空格个字符。右补空格 若若nm,则,则m自动取自动取n值。值。printf(“%-3.4s”,”CHINA”)CHINprintf(“%-8.3sc1”,”CHINA”)CHI c1掂雌眠笨闹辩击垃口灌拥炳疽嗽城御饱娄狼市剿袄轰熏挡贮媚饿涩丙窒公第3章顺序程设计第3章顺序程设计例例 . 字符串的输出字符串的输出#include int main() printf(

37、“%3s,%7.2s,%.4s,%-5.3scn”,”CHINA”, ”CHINA”,”CHINA”,”CHINA”); return 0; CHINA, CH,CHIN,CHI c霜谭旅帖斟缴糕剔酥吏流逻釉兰裤硼隔时百书谩辩辩贴滥慌擦碎丧决杖欠第3章顺序程设计第3章顺序程设计(7) f格式符。用来输出实数,以小数形式输出。格式符。用来输出实数,以小数形式输出。 %f 整数部分全部输出,并输出整数部分全部输出,并输出6位小数。单精度数的有效位小数。单精度数的有效 位一般为位一般为7为,双精度一般为为,双精度一般为16位。位。 #include int main() float x,y; x=1

38、11111.111;y=222222.222; printf(“%f”,x+y); return 0; 运行结果:运行结果: 333333.328125 #include int main() double x,y; x=1111111111111.111111111; y=2222222222222.222222222; printf(“%lf”,x+y); return 0; 运行结果:运行结果:3333333333333.333010#include int main() float a=123456789.23; printf(“%f”,a); return 0; 123456792.

39、000000沸妇痹扫赞郎鱼森盐印喇悟阁披硅薛离埔排择痛们展峪蓝蔡咆啸土窗班旬第3章顺序程设计第3章顺序程设计%m.nf 指定输出的数据共占指定输出的数据共占m列,其中有列,其中有n位小数。如果位小数。如果 数值长度小于数值长度小于m,则左端补空格。,则左端补空格。% -m.nf 与与%m.nf基本相同,只是使输出的数值向左端靠,基本相同,只是使输出的数值向左端靠, 右端补空格。右端补空格。(7) f格式符。用来输出实数,以小数形式输出。格式符。用来输出实数,以小数形式输出。 main() float f=123.456; printf(“%f,%10f,%10.2f,%.2f,%-10.2fc

40、n”,f,f,f,f,f,); 123.456001,123.456001, 123.46,123.46,123.46 c崖癌氮忍牵捍拭怔鬃啤堂娘中胁绘学玖亲弘暇韶有节棵蜡镀达撂驯摧蝗佛第3章顺序程设计第3章顺序程设计(8) e格式符。以指数形式输出实数。格式符。以指数形式输出实数。 %e printf(“%e”,123.456); 1.23456e+02 %m.ne %-m.ne(9) g格式符。用来输出实数。它根据数值的大小,自动格式符。用来输出实数。它根据数值的大小,自动 选选f格式或格式或e格式。格式。注意:注意:1. 格式字符格式字符 x,e,g 大小写均可,其他格式字符必须用小写。

41、大小写均可,其他格式字符必须用小写。 2. 格式说明以格式说明以%开头,以上述格式字符之一结束。开头,以上述格式字符之一结束。 printf(“c=%cf=%fd=%d”,c,f,d); 3. 连续两个连续两个%输出字符输出字符% printf(“%f%”,1.0/3); 0.333333%回第三章回第三章凡丫下舜讯惊芒拿瓷潍剖沼荧通十暗坤籍围千蔓启铝钻淑鸟失烘咕肋熔裴第3章顺序程设计第3章顺序程设计2. scanf 函数(格式输入函数)函数(格式输入函数)1)一般形式)一般形式 : scanf(格式控制,地址表列)格式控制,地址表列)例例. 用用scanf 函数输入数据函数输入数据#incl

42、ude int main() int a,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“%d,%d,%d”,a,b,c); return 0; 3 4 53,4,5scanf(“%d,%d,%d”,&a,&b,&c);3,4,5scanf(“%da%da%d:,&a,&b,&c);3a4a5腐怂嗣趣裔授姚舱调厉劝评巫铀树吗留私捎唇滴胞擂冶跪赔岗播让双炉盔第3章顺序程设计第3章顺序程设计2) 格格 式式 说说 明明同同fe,E,g,G实数。可用小数形式或指数形式实数。可用小数形式或指数形式f字符串字符串s单个字符单个字符c无符号十六进制整数无符号十六进制整数x,X

43、无符号八进制整数无符号八进制整数o无符号十进制整数无符号十进制整数u有符号十进制整数有符号十进制整数d, i 说明说明格式字符格式字符鬼俘块再汐苇敦袁啼戈胯身熊袒摇瑶敞挖卖贤著萤样英琳犁遮仆赌剁曹碗第3章顺序程设计第3章顺序程设计例例. scanf格式字符格式字符 #include int main() long a;char c1;float f; scanf(“%ld %c %f”,&a,&c1,&f); printf(“%ld,%cf=%f%”,a,c1,f); return 0; 12 a 123.4512,af=123.449997%魂报揖暑早阉以最歪呀权参墓哩胎揽帆笑灶董又巡溪擒拷

44、澳鲜反陶曝幼打第3章顺序程设计第3章顺序程设计 scanf 格式字符说明格式字符说明(1) 对对unsigned 型变量所需的数据,可用型变量所需的数据,可用%u,%d或或%o,%x 格式输入。格式输入。(2) 可以指定输入数据所占列数,系统自动截取所需数据。可以指定输入数据所占列数,系统自动截取所需数据。 scanf(“%3d%3d”,&a,&b);输入:输入: 123456 a=123 b=456(3) 如果在如果在%后面有一个后面有一个“*”附加说明符,表示跳过它指定的列数附加说明符,表示跳过它指定的列数 scanf(“%2d %*3d %2d”,&a,&b); 12 345 67 (4

45、) 输入数据时不能规定精度输入数据时不能规定精度 scanf(“%7.2f”,&a); 1234567较鸿枉主赔溃跪倘熟饲保喷召搅褐壕蔓鸦扬游姜要悲逐噎鸳鱼芽盅旬欺竖第3章顺序程设计第3章顺序程设计3) 使用使用scanf函数时应注意的问题函数时应注意的问题(1) scanf函数中函数中“格式控制格式控制”后面是变量地址,而不是变量名后面是变量地址,而不是变量名 printf(“%d %d”,a,b); scanf(“%d %d”,&a,&b);(2) 在在“格式控制格式控制”字符串中除格式说明外还有其他字符,则在字符串中除格式说明外还有其他字符,则在 输入数据时在对应位置应输入与这些字符相同

46、的字符。输入数据时在对应位置应输入与这些字符相同的字符。 scanf(“%d,%d”,&a,&b); 3,4 scanf(“%d %d”,&a,&b); 3 4 scanf(“a=%d,b=%d”,&a,&b); a=3,b=4(3) 在用在用“%c”格式输入字符时,空格字符和转义字符都作为格式输入字符时,空格字符和转义字符都作为 有效字符输入。有效字符输入。 scanf(“%c%c%c”,&c1,&c2,&c3); a b c联萍叭穷源厨渡涕上铆刹犁匆伎扮糟刘束沁焉农夺弱队笑猫笛几暑断垂邪第3章顺序程设计第3章顺序程设计3) 使用使用scanf函数时应注意的问题函数时应注意的问题(4) 在输

47、入数据时,遇以下情况时该数据认为结束在输入数据时,遇以下情况时该数据认为结束 1、遇空格,或按、遇空格,或按“回车回车”或或“跳格键跳格键” scanf(“%d%d”,&a,&b) 1234 4567 1234 4567 123445672、按指定的宽度结束、按指定的宽度结束 scanf(“%3d%3d”,&a,&b) 123456783、遇非法输入、遇非法输入 scanf(“%d%c%d”,&a,&c1,&b) 123a45o.668回第三章回第三章寄煤侮伏失钦辨档块涅侯区乔鸿美技糊扛荔息已捆甄给塌戳腕酝险寺纳美第3章顺序程设计第3章顺序程设计3.9.2 字符数据的输入输出字符数据的输入输出

48、 1)putchar 函数(字符输出函数),其作用是输出一个字符。函数(字符输出函数),其作用是输出一个字符。 putchar(c); #include int main() char a,b,c; int x=42; a=B; b=O; c=Y; putchar();putchar(a); putchar(b); putchar(c); putchar(x); return 0; 运行结果:运行结果: BOY*渭护爵邢淄叉酪嘴房灿更破馋埋溉檬抱架虏庆钝径斜埠骑冻均搓汪质六蛔第3章顺序程设计第3章顺序程设计2) getchar 函数(字符输入函数)函数(字符输入函数)该函数的作用是从终端输入一

49、个字符。该函数的作用是从终端输入一个字符。一般形式:一般形式: getchar() #include int main() char c; c=getchar(); putchar(c); return 0; putchar(getchar();aa printf(“%c”,getchar();回第三章回第三章败塘该尽秃抠染囚也寄菇畅忠幼腑敬介贡勉背掳哩菩渡花欠肾解炮酷玛馅第3章顺序程设计第3章顺序程设计#include int main()long a;char c1;float f;scanf(%li %c %f,&a,&c1,&f);printf(%ld,%c,%f,a,c1,f);re

50、turn 0; 12 3 45612,3,456.00000012 34 56712,3,4.000000练习:练习:颖吼城蜡但渊摇潘咎画骗侨烈沈悸锑匡访咕紧嗜囱追延缠肌霓查瑞勒斡殃第3章顺序程设计第3章顺序程设计3.10 逗号运算符和逗号表达式逗号运算符和逗号表达式 逗号运算符:又称为顺序求值运算符,用来将两个表达式连接逗号运算符:又称为顺序求值运算符,用来将两个表达式连接 起来。起来。逗号表达式的一般形式:逗号表达式的一般形式: 表达式表达式1,表达式,表达式2 3+5,6+8求解过程:先求解表达式求解过程:先求解表达式1,再求解表达式,再求解表达式2。整个逗号表达。整个逗号表达 式的值是

51、表达式式的值是表达式2的值。的值。 a=3*5,a*4一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式 (a=3*5,a*4),a+5逗号表达式的扩展形式:逗号表达式的扩展形式: 表达式表达式1,表达式,表达式2,表达式,表达式3,表达式表达式 n逗号表达式的优先级别:逗号表达式的优先级别:在所有运算符中级别最低。在所有运算符中级别最低。 x=(a=3,6*3) x=a=3,6*a注意:并不是所有的逗号注意:并不是所有的逗号都作为逗号运算符。都作为逗号运算符。如:如: printf(“%d,%d”,a,b);糠耍斜甫蹬颅宝啦拴心变朵先纹蚤船蔷佃祈汪透荧拂驮赖亦吞袜昌蛊理堵第3章顺序程设计第3章顺序程设计

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

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