




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章最简单的c程序设计顺序程序设计,C语言程序设计,3.1C语句概述(熟记)3.2程序的三种基本结构(重点、掌握)3.3赋值语句(熟记)3.4数据输入输出的概念及在语言中的实现(掌握)3.5字符数据的输入输出(掌握)3.6格式输入与输出(掌握)3.7顺序结构程序设计举例(掌握),第3章最简单的c程序设计顺序程序设计,第二章数据类型、运算符与表达式,1.C程序的构成:由一个main主函数和若干个用户自定义的函数构成。2.C函数构成:声明部分、处理(执行)部分、输出部分3.C语言语句的作用:用来向计算机系统发出操作指令,一个语句经编译后产生若干条机器指令。一个实际的程序应当包含若干语句。,3.1C语句概述(熟记),4.注:C语句都是用来完成一定操作任务的,声明部分的内容不应称为语句。如:inta;不是一个c语句,它不产生机器操作,而只是对变量的定义。5.一个函数包含声明部分和执行部分,执行部分即由语句组成。,1.程序的三种基本结构:顺序结构程序:按照书写顺序依次执行语句选择结构程序:按照条件判断选择执行语句循环结构程序:通过条件控制循环执行语句,3.2程序的三种基本结构(重点、掌握),(1)顺序结构,如图所示,虚线框内是一个顺序结构。,特点:按照程序的书写顺序依次执行每条语句,(2)选择结构,或称选取结构,或称分支结构,如图所示:,特点:无论条件p是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框。无论走哪一条路径,在执行完A或B之后,都经过b点,然后脱离本选择结构。A或B两个框中可以有一个是空的,即不执行任何操作。,(3)循环结构,它又称重复结构。分为两种:当型(While型)循环结构,特点:当给定的条件p1成立时,执行A框操作,执行完A后,再判断条件p1是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次p1条件不成立为止,此时不执行A框,而从b点脱离循环结构。,直到型(Until型)循环,特点:先执行A框,然后判断给定的p2条件是否成立,如果p2条件不成立,则再执行A,然后再对p2条件作判断,如果p2条件仍然不成立,又执行A如此反复执行A,直到给定的p2条件成立为止,此时不再执行A,从b点脱离本循环结构。,1.概念:在赋值表达式的尾部加上一个“;”号,就构成了赋值语句。如:赋值表达式:c=a+b赋值表达式:c=a+b;2.形式各异:如:a=3;a=b=c;i+;-i;等,3.3赋值语句(了解),3.注意:1)C中赋值号“=”是优先级最底的一个运算符,其他多数语言略有不同。2)赋值表达式的概念如:if(a=b)0)t=a;若写为:if(a=b;)0)t=a;-错误if(a=b;)0);t=a;-错误,与自然语言对比:如果。,那么。(句子结束才使用句号),1.输出:将数据从计算机内部送到计算机外部设备上的操作。(屏显、打印、磁盘存盘等)2.输入:将数据从计算机外部送到计算机内部设备的操作。(键盘键入、磁盘、光盘、扫描仪等)3.C语言本身不包含输入输出语句,需调用标准输入输出库函数:#include或#includestudio.h“4.studio.h:standardinput则输出结果:123,12345%ld:输出长整型数据。如:longa=135790;printf(%ld,a);,一printf函数中常用的格式说明(重点/掌握),如:longa=135790;printf(%ld,a);上例若用%d输出,就会发生错误,因为整型数据的范围为-3276832767。对long(长整型)数据应当用%ld格式输出,且也可以指定字段宽度,如将上面printf函数中的“%ld”改为“%8ld”,则输出结果:135790(前有两空格)共8列注:一个int型数据既可以用%d也可用%ld格式输出。,(2)o格式符:以八进制数形式输出整数。由于是将内存单元中的各位的值(0或1)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。如:inta=-1;printf(%d,%o,a,a);-1在内存单元中的存放形式(以补码形式存放)如下:1111111111111111结果输出为:-1,177777注:该格式不会输出带负号的八进制整数。对长整数(long型)可以用“%lo”格式输出,同样可以指定字段宽度。如:printf(“%8o”,a)结果输出为177777。,(3)x格式符:以十六进制数形式输出整数。同样不会出现负的十六进制数。如:inta=-1;printf(“%x,%o,%d”,a,a,a);输出结果为:ffff,177777,-1同样可以用“%lx”输出长整型数,也可以指定输出字段的宽度,如“%12x”。,(4)u格式符:用来输出unsigned型数据,即无符号数,以十进制形式输出。一个有符号整数(int型)也可以用%u格式输出;反之,一个unsigned型数据也可以用%d格式输出。按相互赋值的规则处理。unsigned型数据也可用%o或%x格式输出。例4.3无符号数据的输出。main()unsignedinta=65535;intb=-2;printf(a=%d,%o,%x,%un,a,a,a,a);printf(b=%d,%o,%x,%un,b,b,b,b);运行结果为:a=-1,177777,ffff,65535b=-2,177776,fffe,65534,(5)c格式符:用来输出一个字符。如:charc=a;printf(%c,c);输出字符a,请注意:“%c”中的c是格式符,逗号右边的c是变量名。,一个整数,只要它的值在0255范围内,也可以用字符形式输出,在输出前,系统会将该整数作为ascii码转换成相应的字符;反之,一个字符数据也可以用整数形式输出。例:字符数据的输出。main()charc=a;inti=97;printf(%c,%dn,c,c);printf(%c,%dn,i,i);运行结果为:a,97a,97也可指定输出字数宽度:printf(%3c,c)则输出:“a”,即c变量输出占3列,前2列补空格。,(6)s格式符:用来输出一个字符串。%s:输出一个字符串例如:printf(%s,china)结果:china%ms:输出的字符串占列。如字符串本身长度大于m,则突破的限制,将字符串全部输出;若串长小于m,则左补空格(默认靠右对齐)。%-ms,如果串长小于,则在列范围内,字符串向左对齐期,右补空格。%mns:输出占列,但只取字符串中左端n个字符。这n个字符输出在列的右侧,左补空格。%.ns:若n小于字符串实际长度,则只输出字符串的前n个字符。%-mns:其中、n含义同上,n个字符输出在列范围的左侧,右补空格。如果n,则自动取n值,即保证n个字符正常输出。,例字符串的输出。main()printf(%3s,%7.2s,%.4s,%-5.3sn,china,china,china,china)结果输出:china,ch,chin,chi说明:程序中第3个输出项,格式说明为“%.4s”,即只指定了n,没指定,自动使=n=4,故占4列。,(7)f格式符:用来输出实数(包括单、双精度),以小数形式输出。%f:不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数。注意:并非全部数字都是有效数字,单精度实数的有效位数一般为7位。例输出实数时的有效位数。main()floatx,y;x=111111111;y=222222222;printf(%f,x+y);运行结果为:333333328125显然,只有前7位数字是有效数字。千万不要以为凡是打印出来的数字都是准确的。,双精度数也可用%f格式输出,它的有效位数一般为16位,给出小数6位。例输出双精度数时的有效位数。main()doublex,y;x=1111111111111.111111111;y=2222222222222.222222222;printf(%f,x+y);输出结果为:3333333333333.333010可以看到最后3位小数(超过16位)是无意义的。,%nf:指定输出的数据共占列,其中有n位小数。如果数值长度小于,则左端补空格。%-nf:与%nf基本相同,只是使输出的数值向左端靠,右端补空格。例输出实数时指定小数位数。main()floatf=123.456;printf(%f%10f%10.2f%.2f%-10.2fn,f,f,f,f,f);输出结果:123.456001123.456001123.46123.46123.46f的值应为123.456,但输出为123.455994,这是由于实数在内存中的存储误差引起的。,(8)e格式符:以指数形式输出实数。%e:不指定输出数据所占的宽度和数字部分的小数位数,有的c编译系统自动指定给出6位小数,指数部分占5位(如e+002),其中“e”占1位,指数符号占1位,指数占3位。注:数值按规范化指数形式输出(即小数点前必须有而且只有1位非零数字)。如:printf(%e,123.456);输出:1.234560e+002。6列5列/*输出的实数共占13列宽度*/,%m.ne和%-m.ne:、n和“-”字符含义与前相同。此处n指拟输出的数据的小数部分(又称尾数)的小数位数。如:f=123456,则:printf(%e%10e%10.2e%.2e%-10.2e,f,f,f,f,f);输出如下:1.234560e+0021.234560e+0021.23e+0021.23e+0021.23e+00213列13列10列9列10列,(9)g格式符:用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。例如:若f=123468,则printf(“%f%e%g”,f,f,f);结果输出:123.4680001.234680e+002123.46810列13列10列说明:用%f格式输出占10列,用%e格式输出占13列,用%g格式时,自动从上面两种格式中选择短者(今以%f格式为短),故占10列,且按%f格式用小数形式输出,最后3个小数位“0”为无意义的0,不输出,因此输出123.468,然后右补3个空格。%g格式用得较少。,(1)除了X,E,G外,其他格式字符必须用小写字母,如:%d不能写成%D。(2)可以在printf函数中的“格式控制”字符串内包含“转义字符”,如“n”、“t”、“b”、“r”、“a”(beng的响铃)、“377”等。(3)一个格式说明以“%”开头,以上述d、o、x、u、c、s、f、e、g等字符之一作为结束,中间可以插入附加格式字符(也称修饰符)。,二使用printf函数时的注意事项(P56),例如:第一个格式说明为“%c”而不包括其后的f,第二个格式说明为“%f”,不包括其后的s,第三个格式说明为%s。其他的字符为原样输出的普通字符。(4)如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示。如:printf(%f%,10/3);输出:0333333%,(5)格式控制必须与输出项一一对应,即:数目相同,类型匹配,否则就无法正确输出,且系统也不会报错,输出项之间用逗号间隔。printf(格式控制,输出表列)如:printf(“a=%d,b=%cn”,a,b);,输出项,实参,格式控制,1.一般形式:scanf(格式控制,地址表列)如:scanf(“%d,%d,%d”,printf(Inputa,b,c:);scanf(%f,%f,%f,运行情况如下:a=1,b=3,c=2x1=-1.00 x2=-2.00,第三章结束Tobecontinued。,课堂练习:一、选择题:3.1若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是A)a=b=c=100;B)d+;C)c+b;D)d=(c=22)-(b+);3.2以下选项中不是C语句的是A)inti;i+;printf(“%dn”,i);B);C)a=5,c=10D);3.3以下合法的C语言赋值语句是A)A=B=58B)k=int(a+b);C)a=58,b=58D)-i;,3.4以下程序的输出结果是main()intx=10,y=3;printf(“%dn”,y=x/y);A)0B)1C)3D)不确定的值3.5若变量已正确说明为int类型,要给a、b、c输入数据,以下不正确的输入语句是:A)read(a,b,c);B)scanf(%d%d%d,a,b,c);C)scanf(%D%D%D,3.6若变量已正确说明为float类型,要通过输入语句scanf(“%f%f%f”,3.8若有正确定义语句:doublex=5.16894,语句printf(“%fn”,(int)(x*1000+0.5)/(double)1000;以下程序段的输出结果是:A)输出格式说明与输出项不匹配,输出无定值B)5.17000C)5.168000D)5.1690003.9若有以下程序段,c3中的值是:intc1=1,c2=2,c3;c3=c1/c2;printf(“”%dn”,c3);A)0B)1/2C)0.5D)1,3.10若有以下程序段,inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(%d,%d,%dn,a,b,c);执行后的输出结果是A)0,0,-10B)0,0,5C)-10,3,-10D)3,3,-10,3.11当运行以下程序时,main()inta;floatb,c;scanf(%2d%3f%4f,3.13若int类型占两个字节,则以下程序段的输出是inta=-1;printf(%d,%un,a,a);A)-1,-1B)-1,32767C)-1,32768D)-1,655353.14以下程序段的输出是intx=496;printf(*%-06d*n,x);A)*496*B)*496*C)*000496*D)输出格式符不合法3.15以下程序段的输出是floata=3.1415;printf(|%6.0f|n,a);A)|3.1415|B)|3.0|C)|3|D)|3.|,3.16以下程序段的输出是floata=57.666;printf(*%010.2f*n,a);A)*0000057.66*B)*57.66*C)*0000057.67*D)*57.67*3.17若从终端输入以下数据283.1900,表示Enter键,要给变量C赋以283.19,则正确的输入语句是A)scanf(“%f”,c);B)scanf(“%8.4f”,3.18若变量已正确说明,要求用以下语句:scanf(a=%f,b=%f,表示Enter键给a赋予3.12、给b赋予9.0,则正确的输入形式是(代表空格)A)3.129.0B)a=3.12b=9C)a=3.12,b=9D)a=3.12,b=9,二、填空题3.21若有以下定义,请写出以下程序段中输出语句执行后的输出结果。inti=-200,j=2500;printf(1)%d%d,i,j);printf(2)i=%d,j=%dn,i,j);printf(3)i=%dnj=%dn,i,j);(1)_(2)_(3)_3.22变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时scanf(“%d”,当执行第一个输入语句,从键盘输入:12.3表示Enter键则变量i、j、k的值分别是_、_、_。,3.23复合语句在语法上被认为是_。空语句的形式是_。3.24C语句的最后用_结束。3.25以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式_、_、_。intk;floata;doublex;scanf(%d%f%lf,P62课后习题3.4若a=3,b=4,c=5,x=12,y=24,z=-36,u=51274,n=128765,c1=a,c2=b。想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出的结果如下:(:代表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业互联网应用案例解析与企业数字化转型实践经验分享
- 浙江省浙南名校联盟2025-2026学年高二上学期开学联考历史试卷
- 运城市小学考试试题及答案
- 2025年石油公司加油站人员安全操作知识考试题(附含答案)
- 2025年公共文秘教程考试题及答案
- 2025年山西省长治市事业单位工勤技能考试题库(含答案)
- 2025年山东省淄博市事业单位工勤技能考试考试题库及参考答案
- CN120111859A 一种散热组件及电子设备 (南昌华勤电子科技有限公司)
- U型吊安全事故培训课件
- CN120105831B 一种电机铁芯冲压模具装配面高保真快速建模方法及系统 (杭州电子科技大学)
- 2025至2030中国PCIE行业项目调研及市场前景预测评估报告
- 2025广东深圳市光明区统计局招聘(选聘)专干4人笔试参考题库附答案解析
- Unit 1 A new start Starting out 课件(内嵌音视频)高一英语外研版必修第一册
- 2025年人防工程试题及答案
- 安全烹饪知识培训内容课件
- 2025-2026学年道德与法治八年级上册教学计划
- 中小学校长在2025秋季开学第一次全体教师大会上讲话:人心决定温度人格决定高度人品决定厚度
- 技改管理制度
- 2025年中国电信考试真题及答案
- 2025年广西公需真题卷及答案
- 矮小症诊治指南
评论
0/150
提交评论