




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章简单程序设计§1.程序结构
程序的一般结构:程序结构=数据结构+控制结构数据结构:控制结构操作的对象现实世界的数据在程序中的表达形式——变量或常量数据用类型定义,以区别不同的处理对象。
数据结构(C语言)简单变量:描述数学上一些算术运算和逻辑运算数组:特殊的数学问题:如矩阵,矢量等。结构:指针:非数学上的处理问题,管理问题等华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第1页!控制结构:以数据结构为操作对象,完成实际问题的算法的求解过程。。
程序控制基本结构由三类组成顺序结构:表达式语句,复合语句,空语句选择结构:if,switch语句循环结构:for,while,do-while语句一般程序结构安排:数据结构说明在前,控制结构语句在后,即“先说明,后操作”的原则。程序结构处理部分由三部分组成输入部分(用输入语句或赋值语句给变量赋初值)处理部分输出部分(用输出设备输出中间结果或最终结果)
华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第2页!§2.顺序结构的语句一.表达式语句形式:exp;其中:exp是C中合法的表达式“;”是语句的结束符,不是分隔符。即:任何合法表达式后写上“;”号都是语句注:若exp缺省,且只有“;”则称为空语句例:x/=y;i++;x=y;;/*空语句*/inta,b=1;/*说明语句*/华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第3页!
三.函数调用语句如:p(x);/*自定义函数调用语句*/printf(“xyz\n”);/*标准函数调用语句*/华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第4页!
2.单个字符输出函数putchar
形式:putchar(c)其中:c为实参,类型可以是char,short或int类型的表达式功能:将字符c输出到显示器上如:putchar(((c=getchar())>’a’&&c<=’z’)?c-‘a’+’A’:c);先输入一个字符存入变量c,如果c中是小写字母,则将转换成对应大写字母后输出,否则直接输出原键入的字符。华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第5页!c—未指定域宽:只允许接受的变量类型为char或int;指定域宽:则按域宽接受多个字符到数组中
s—接受一串字符到字符数组中,机器自动添加串结束标志’\0’(空字符),个字符不能是空格字符。中间插入字符:*——不将数据项读入变量中域宽h——输入的数应为short型l,L——输入的数若为整形,对应的变量应为long型,若读入float型,相应变量应为double型华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第6页!3)用法及注意的问题a.字符数据前面在输入时不留分隔符,若留则使用%1c的说明符。如:inti;charc;scanf(“%d%c”,&i,&c);若输入:345a↙则:345=>i‘a’=>c若输入:345a↙则:345=>i‘’=>c而不是’a’=>c
若是:scanf(“%d%s”,&i,&c);输入:345a↙则:345=>i‘a’=>c而不是‘’=>c
如:charc1,c2;scanf(“%c%c”,&c1,&c1);输入:12↙则:’1’=>c1‘2’=>c2华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第7页!c.如果在“格式控制符”之间使用除格式说明以外的其它字符,输入时应输入与这些字符型同的字符。如:scanf(“%d,%d”,&a,&b);输入:5,6↙scanf(“%d%d”,&a,&b);输入:56↙scanf(“a=%d,b=%d”,&a,&b);输入:a=5,b=6↙d.指定数域宽度:按指定的域宽接收数据,多余域宽则去掉如:scanf(“%3d%d”,&I,&j);输入:12345678↙则:123=>i5678=>je.%后为*,用来表示跳过它相应的数据如:scanf(“%2d%*3d%3d”,&a,&b);输入:12345678↙则:12=>a,345倍跳过,678=>b华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第8页!2.格式输出函数printf
形式:printf(格式字符串,输出参数表)其中:参数表逗号隔开的变量,常量或表达式格式字符串,基本同scanf中的格式字符串
如:inti=15;floatx=-9.3;printf(“%d%8.3f”,i,x);输出:15-9.300/*共8个字符宽度,小数点后3位不足补0,前不足补2个空格*/若:printf(“i=%d,x=%8.3f”,i,x);输出:i=15,x=-9.300华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第9页!
常用的输出格式:带符号整数:%d不带符号整数:%u或%d带符号长整数(或无符号长整数):%ld或%lu实型数:%m.nf字符型:%c字符串:%sprintf(“%-4d,%g”,i,y,x);输出:-6,123.567/*x未被输出值*/华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第10页!例2.输入一个字符,显示该字符的字符码,及前导字符和字符码,后继字符和字符码#include<stdio.h>main(){intc,c1,c2;printf(“inputachar:”);c=getchar();c1=c-1;c2=c+1;printf(“Thevalueof‘%c’is%4d\n”,c,c);printf(“%c:%d--%c:%d--%c:%d\n”,c1,c1,c,c,c2,c2);}输入:inputachar:s↙输出:Thevalueof‘s’is115r:114--s:115--t:116华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第11页!二.复合语句形式:{说明语句/*可缺省*/语句部分}例:{intt;t=a;a=b;b=t;}
注:1.右括号“}”后不能写“;”号。2.“{}”中的语句即是一个整体。凡是一个语句出现的地方它都能出现。3.复合语句可以嵌套。华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第12页!§3.数据的I/O函数数据的I/O处理是通过调用由C编译提供的标准函数而实现的。一.单个字符I/O函数1.
单个字符输入函数getchar形式:getchar()/*无参数*/功能:从键盘上接受一个键入的字符。返回值的类型为int,值为键入的字符ASCII码(序号值)如:#include<stdio.h>main(){charc;c=getchar();/*键入a,c的值为97*/putchar(c);/*输出a*/}华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第13页!
二.格式I/O函数1.
格式输入函数scanf
形式:scanf(格式字符串,变量地址表)功能:从键盘上接受若干个字符或数据按格式字符串的格式送入变量地址表中的对应变量中。
1)
格式字符串用“”括起来,以%开始,并以一个格式字符结束,中间可插入附加的字符组成:
d——十进制整数u——无符号十进制整数f,e,g——浮点数:带符号或无符号的小数形式或指数形式o,x——分别为八进制和十六进制的数
华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第14页!2)变量地址表:由1个或多个(用逗号隔开)组成变量地址表简单变量地址表示:&变量字符串变量地址:用字符数组名(或指向字符串变量的指针)表示例:inti;floatx;charname[10];scanf(“%d%f%s”,&I,&x,name);键入数据形式:2561.37e-1program↙或结果:他们分别被存入I,x,name[10]中注:1.数据之间用空格或回车隔开,不能使用其它字符2.不能将scanf(“%d”,&i)写成scanf(“%d”,i);3.也不能将scanf(“%s”,name)写成scanf(“%s”,&name);25↙61.37e-1↙program↙华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第15页!b.转换说明应与输入参数个数相同,类型一致。如:inti,j;floatx,y;scanf(“%d%d”,&i,&j,&x);scanf(“%f”,&y);若输入:1256.789↙则:执行个scanf时,1=>i,2=>jx未被赋值,scanf返回值为2,(被赋值的输入数据个数)执行第二个scanf时,56.7=>y,89为多余,scanf返回值为1
如:inti,j;scanf(“%d%d”,&i,&j);输入:34a则:34=>i;a与%d不匹配,不能转换,所以j未被赋值scanf返回值为1
华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第16页!常用输入格式:int,short:%d;long:%ldfloat:%fdouble:%lfchar:%cstring:%s华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第17页!%ld输出长整型数据如:longa=123560;printf(“%ld”,a);/*若printf(“%d”,a)则错误*/%f以小数形式输出单精度或双精度浮点数注:转换说明决定输出数据的数目和类型,否则会出错如:inti=-6;doublex=5.7,y=123.4567;printf(“%%d%f”,i,x);输出:%d%f%后是%或非转换字符则原样输出。华中科技大学光电子学院C语言第三章共20页,您现在浏览的是第18页!§4.简单程序设计举例例1.从键盘上输入三个浮点数,显示其中最大值#include<stdio.h>/*文件包含有putchar,getchar,scanf,printf函数*/main(){floatx,y,z,m;/*说明语句*/printf(“inputthreenumber:”);/*显示提示*/scanf(“%f%f%f”,&x,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业种植短期租赁合同
- 2025年保温系统安装合同
- 2024年特许另类投资考试经验总结试题及答案
- 学习资料:2024育婴师试题及答案
- 2025年DNA、RNA疫苗项目建议书
- 2024年注册会计师考试相关政策及试题及答案
- 全媒体营销案例分享试题及答案
- 2025农业生产资料租赁合同
- 2024计算机二级考试重要知识点与试题及答案
- 如何增强宝宝的自信心试题及答案
- 【创意卡通】趣味黄人教育培训模板
- XX学校名师工作室专业发展规划(附学校名师评选方案)
- GB/T 31914-2015电子文件管理系统建设指南
- GB/T 2518-2008连续热镀锌钢板及钢带
- GA 1800.2-2021电力系统治安反恐防范要求第2部分:火力发电企业
- 运输供应商年度评价表
- 电压力锅原理
- 软件著作权申请课件
- 广州市三年级下册英语单词
- 山钢钢板材质单
- 男性公民兵役登记表.docx
评论
0/150
提交评论