第3章 数据输入输出、赋值、顺序程序设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1C语言—数据输入输出、赋值、顺序结构程序设计孙俏sunqiao0608@163.com2本次课程所讲内容数据的输入输出赋值表达式和赋值语句顺序程序设计举例3本次课程所讲内容数据的输入输出赋值表达式和赋值语句顺序程序设计举例数据输入输出库函数C语言本身不提供输入输出语句,输入输出操作需要调用函数库中的标准输入输出函数格式输入输出函数:scanf,printf字符输入输出函数:getchar,putchar……调用标准输入输出函数时,应该在程序的开头引用“头文件”#includestdio.h5为什么使用库函数?编辑编译连接运行.c.obj.exe库函数中的函数已被编译成目标文件(.obj),到连接阶段再参与调试6格式输出函数7格式输出函数printf的一般形式printf(格式控制,输出列表)printf(%f%f,area,circle)printf(area=%f,circle=%f,area,circle)格式控制格式说明:由“%”和格式字符组成,将数据按照指定的格式输出普通字符:按照原样输出输出列表输出列表中的内容按顺序代替“格式控制”中的“格式字符”8#includestdio.hvoidmain(){inta=1,b;b=a++;printf(a=%d,b=%d\n,a,b);printf(Thesumofa+b=%d\n,a+b);printf(Thestepis%d\n,5);}c4_1.c输出列表中的内容可以是常量、变量或表达式程序运行结果:a=2,b=1Thesumofa+b=3Thestepis59printf格式字符格式字符说明%dint%ffloat,double%cchar%s字符串10c4_2.c#includestdio.hvoidmain(){inta=-1;printf(a=%d,a);}程序运行结果为:a=-111c4_4.c#includestdio.hvoidmain(){charc='a';inti=97;printf(%c,%d\n,c,c);printf(%c,%d\n,i,i);printf(%s\n,CHINA);}程序运行结果:a,97a,97CHINA%c,%s举例12c4_5.c#includestdio.hvoidmain(){floatx,y;x=111111.111;y=222222.222;printf(%f\n,x+y);}程序运行结果:333333.3281257位有效数字无意义整数部分全部输出,并输出6位小数有效位数为7位%f格式输出float型变量举例13c4_6.c#includestdio.hvoidmain(){doublex,y;x=11111111.11111111;y=22222222.22222222;printf(%f\n,x+y);}程序运行结果:33333333.333333有效位数为15~16位%f只能输出6位小数%f格式输出double型变量举例14printf的附加格式说明字符字符说明m输出数据的宽度,空格补齐n输出n位小数-输出的数字或字符向左靠%-m.nf15c4_10.c#includestdio.hvoidmain(){floatf;f=123.456;printf(%-10.2f,%10.2f\n,f,f);}程序运行结果:123.46,123.46%m.nf,%-m.nf举例16格式输入函数17格式输入函数scanf的一般形式scanf(“格式控制”,地址列表)scanf(“%f,&r)scanf(“r=%f,&r)格式控制格式说明:由“%”和格式字符组成,将数据按照指定的格式输入普通字符:按照原样输入地址列表由若干个地址组成的列表18scanf函数举例c4_12.c#includestdio.hvoidmain(){inta,b,c;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}正确做法:空格,回车分割输入数据19scanf函数举例c4_13.c#includestdio.h#definePI3.1415926voidmain(){floatr,area;printf(“Theradiusis:);scanf(%f,&r);area=PI*r*r;printf(area=%f\n,area);}应该输入以下内容:Theradiusis:3.6运行结果:area=40.71503720scanf函数举例c4_14.c#includestdio.hvoidmain(){charc1,c2;scanf(%c%c,&c1,&c2);printf(c1=%c,c2=%c\n,c1,c2);}如果想给c1,c2分别赋值’a’,‘b’,应该输入以下内容:ab(字符之间没有空格)abc之间有空格或者其他符号会怎么样?21scanf格式字符格式字符说明%dint%ffloat%lfdouble%cchar22字符输入/输出函数字符输入函数:getchar()字符输出函数:putchar()23c4_16.c#includestdio.hvoidmain(){charc1,c2;c1=getchar();c2=getchar();putchar(c1);putchar('\n');putchar(c2);putchar('\n');}输入:ab输出:ab24赋值运算符和赋值25赋值运算符赋值运算符“=”复合的赋值运算符a+=3→a=a+3a-=3→a=a-3x*=y+8→x=x*(y+8)x%=3→x=x%326变量赋初值inta=3;inta,b,c=5inta=5,b=5,c=5;#includestdio.hvoidmain(){inta=1,b;b=a+1;charc1='u';printf(%d,%c,b,c1);}错误27顺序结构程序设计28顺序结构所有语句按自上而下的顺序执行不发生流程的跳转ABab29顺序程序结构设计#includestdio.hvoidmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(sumis%d\n,sum);}30下面的程序是顺序结构吗?intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}chargrade;scanf(%c,&grade);switch(grade){case'A':printf(85~100\n);case'B':printf(70~84\n);case'C':printf(60~69\n);case'D':printf(60\n);default:printf(error\n);}31下面的程序是顺序结构吗?(求1+2+…+100=?)#includestdio.hvoidmain(){inti,sum;i=1;sum=0;while(i=100){sum=sum+i;i=i+1;}printf(sum=%d\n,sum);}32课下练习写出课本p67第3题中程序的输出结果33Thanks!

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功