版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章
主要内容4.1C语句概述4.2赋值语句4.3数据输入输出的概念及在c语言中的实现4.4字符数据的输入输出4.5格式输入与输出4.6顺序结构程序设计举例
4.1C语句概述C程序源程序文件1源程序文件2源程序文件n预处理命令函数n函数1数据声明函数首部函数体数据声明执行语句一个c程序可以有若干个源程序文件组成一个源文件可以有若干个函数和预处理命令以及全局变量声明部分组成一个函数有函数首部和函数体组成函数体由数据声明和执行语句组成C语句分为5类控制语句函数调用语句表达式语句空语句复合语句(一)控制语句完成一定的控制功能 1if()~else条件语句6break间断语句 2for()~循环语句7switch()开关语句 3while()~循环语句8goto转向语句 4do~while();循环语句9return返回语句 5continue继续语句(二)函数调用语句由一个函数调用加一个分号构成一个语句
Printf(“ThisisaCstatement.”);
printf("x=%d,y=%d\n",x,y);sort(a,10);例:(三)表达式语句由一个表达式加一个分号构成一个语句
a=3;例:分号赋值表达式表达式语句+=(四)空语句只有一个分号的语句
(什么也不做,是最简单的C语句)用来做流程的转向点用来作为循环语句中的循环体;(五)复合语句用一对{}括起来的若干条语句
{ z=x+y; t=z/100; printf(“%f”,t); }例:4.2赋值语句赋值语句是由赋值表达式加上一个分号构成例:a=100赋值表达式
a=100;赋值语句4.3数据输入输出的概念及在C语言中的实现(一)所谓输入输出是以计算机主机为主体而言的输出:从内存向外部输出设备(显示器,打印机)传送数据输入:从输入设备(键盘,鼠标,扫描仪)向内存传送数据.输入输出的作用:对于一个完整的程序一般都有输入,这样每次运行中就有不同的处理对象必须要有输出,这样才能知道运行的情况和结果。(二).C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的例如:字符输入函数:getchar字符输出函数:putchar格式输入函数:scanf格式输出函数:printf字符串输入函数:gets字符串输出函数:puts(三).在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中.例如:在调用标准输入输出库函数时,文件开头应该有:#include“stdio.h”或:#include<stdio.h>头文件4.4字符数据的输入输出(一)字符输出函数一般形式:putchar(c)函数作用:在显示器屏幕上输出一个字符c。
c为字符常量、变量或表达式例4.1输出单个字符。
#include<stdio.h>
voidmain()
{
chara,b,c;
a=‘B’;b=‘O’;c=‘Y’;
putchar(a);putchar(b);putchar(c);putchar(‘\n’);
}
运行结果:BOYputchar(a);putchar(‘\n’);putchar(b);putchar(‘\n’);putchar(c);putchar(‘\n’);运行结果:BOY(二)字符输入函数一般形式:getchar()函数作用:从键盘输入一个字符。函数值:从输入设备得到的字符。例4.2输入单个字符。
#include<stdio.h>
voidmain()
{
charc;
c=getchar();
putchar(c);
putchar(‘\n’);
}
运行程序:
从键盘输入字符‘a’
按Enter键
屏幕上将显示输出的字符‘a’
a
a连续使用getchar函数时,要注意字符的输入形式,例如执行如下程序段:charch1,ch2;ch1=getchar();ch2=getchar();必须连续输入两个字符,中间不能有其他字符程序还经常这样输入一批字符:While((ch=getchar())!=‘\n’){……}4.5格式输入与输出(一)格式输出函数函数作用:按指定格式向显示器输出数据。一般格式:printf(格式控制,输出表)输出表:要输出的数据(可以没有,多个时以“,”分隔)格式控制串:包含两种信息格式说明:%[修饰符]格式字符
,用于指定输出格式普通字符或转义序列:原样输出用双引号括起的字符串,用于指定输出数据的类型、格式、个数包括:普通字符和格式说明符照原样输出
printf("c=%d+%d=%d\n",a,b,a+b);格式说明符:指定输出3个十进制整型数,分别为变量a、b、a+b的值d,ix,Xoucse,Efg%%格式字符:十六进制无符号整数不带符号十进制整数十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数e和f中较短一种百分号本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%说明 格式字符要用小写格式字符与输出项个数应相同,按先后顺序一一对应输出转换:格式字符与输出项类型不一致,自动按指定格式输出例
main(){unsignedintu=65535;printf(”u=%d\n",u);}
输出结果:u=-1例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);
例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);输出结果:34a=3,b=4111111111111111165535附加格式说明符(修饰符).n对实数,指定小数点后位数(四舍五入)对字符串,指定实际输出位数修饰符功能m输出数据域宽,数据长度<m,左补空格;否则按实际输出输出数据在域内左对齐(缺省右对齐)-指定在有符号数的正数前显示正号(+)+输出数值时指定左面不使用的空位置自动填00在八进制和十六进制数前显示前导0,0x#在d,o,x,u前,指定输出精度为long型在e,f,g前,指定输出精度为double型l例inta=1234;floatf=123.456;charch=‘a’;printf(“%8d,%2d\n”,a,a);printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);printf(“%3c\n”,ch);运行1234,1234结果:123.456000,123.456000,123.5,123.46,1.23e+02
a例staticchara[]=“Hello,world!”printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a);运行结果:Hello,world!
Hello,world!
HelloHelloHel
例m.n例inta=1234;floatf=123.456;staticcharc[]=“Hello,world!”;printf(“%8d,%-8d\n”,a,a);printf(“%10.2f,%-10.1f\n”,f,f);printf(“%10.5s,%-10.3s\n”,c,c);运行结果:1234,1234
123.46,123.5
Hello,Hel例-例longa=65536;printf(“%d,%8ld\n”,a,a);
例l00000000000000010000000000000000//0,65536(二).格式输入函数函数作用:按照变量在内存的地址将从键盘读入数据存进去。一般格式:scanf(格式控制,地址表列)同printf函数是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址,常用取地址运算符&附加格式说明符(修饰符)l修饰符功能hm*用于d,o,x前,指定输入为short型整数用于d,o,x前,指定输入为long型整数用于e,f前,指定输入为double型实数指定输入数据宽度,遇空格或不可转换字符则结束抑制符,指定输入项读入后不赋给变量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);
输入19991015
则1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);输入12345678765.43
则123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);
输入1234567则12a,67b例scanf(“%3c%2c”,&c1,&c2);
输入abcde
则‘a’c1,‘d’c2输入分隔符的指定一般以空格、TAB或回车键作为分隔符其它字符做分隔符:格式串中两个格式符间字符例scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);输入123123123
输出a=123,b=83,c=291例scanf(“%d:%d:%d”,&h,&m,&s);输入12:30:45
则12h,30m,45s例scanf(“%d,%d”,&a,&b)
输入3,4
则3a,4b例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);输入a=12,b=24,c=36scanf("%c%c%c",&ch1,&ch2,&ch3);要输入:abc不能输入:abc注意数值型数据与char型数据的混合输入注意(续):格式符之间若无普通字符,则:输入的数值型数据用空白符分隔输入的char型数据不必分隔例如:scanf("%d%d",&m,&n);scanf(“%c",&ch);错误输入:3228a
正确输入:3228a
说明:用“%c”格式符时,空格和转义字符作为有效字符输入如scanf(“%c%c%c”,&c1,&c2,&c3);
若输入abc
则ac1,
c2,bc3输入数据时,遇以下情况认为该数据结束:遇空格、TAB、或回车遇宽度结束遇非法输入如scanf(“%d%c%f”,&a,&b,&c);若输入1234a123o.26
则1234a,‘a’b,123c输入函数留下的“垃圾”:例intx;charch;scanf(“%d”,&x);ch=getchar();printf(“x=%d,ch=%d\n”,x,ch);执行:123输出:x=123,ch=10例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);printf(“x=%d,ch=%d\n”,x,ch);执行:123输出:x=123,ch=10解决方法:(1)用getchar()清除(2)用函数fflush(stdin)清除全部剩余内容(3)用格式串中空格或“%*c”来“吃掉”例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);或scanf(“%*c%c”,&ch);
4.6顺序结构程序设计举例#include<math.h>#include<stdio.h>main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口腔技能考试试诊题及答案
- 公司强基培训班管理及培训评价制度
- 2026三年级数学上册 分数的学习方法
- 住培双导师制度
- 2026六年级数学上册 分数除法变式练习
- 企业环保主体制度
- 任务清单、措施清单、责任清单、制度
- 重庆名校联盟2026届高三下学期第一次联考语文(含答案)
- 工作流程及奖惩制度
- 培训学校内部奖惩制度
- RFID技术应用案例
- 2025年华电集团应聘笔试题目及答案
- 2025年高考英语新课标Ⅱ卷点评及2026备考方向 课件
- 有限空间及作业场所隐患图
- 2024年江苏中职职教高考统考语文试卷试题真题(精校打印)
- 长沙学法减分题库及答案
- DB31/T 1363-2022口腔综合治疗台水路卫生管理要求
- 物联网工程专业本科主干课程教学大纲
- 中考道德与法治一轮专题复习课件专题四 生命的思考(含答案)
- 《数学(下册)第8版》中职全套教学课件
- DL∕T 1441-2015 智能低压配电箱技术条件
评论
0/150
提交评论