c语言课件第4章顺序程序设计.ppt

上传人:max****ui 文档编号:11544898 上传时间:2020-04-28 格式:PPT 页数:48 大小:226.50KB
返回 下载 相关 举报
c语言课件第4章顺序程序设计.ppt_第1页
第1页 / 共48页
c语言课件第4章顺序程序设计.ppt_第2页
第2页 / 共48页
c语言课件第4章顺序程序设计.ppt_第3页
第3页 / 共48页
点击查看更多>>
资源描述
第四章最简单的C程序设计TheSimplestCProgramDesign,顺序程序设计TheSequenceProgramDesign,上机安排,0103班,4-13周周五,下午24点0451班,4-13周周一,下午46点地点:F座214,217,218,220,4.1C语句概述(DescriptionofCsentence),一、C程序结构,二、C语句概述,C语句分类:(Assortment)1.控制语句(Controlsentences)2.函数调用语句(functionCallsentences)3.表达式语句(Expressionsentences)4.空语句(Emptysentences)5.复合语句(Compoundsentences),一条完整的C语句必须以“;”结束。“;”是一个语句不可缺少的一部分。,控制语句(Controlsentences)功能:完成一定的控制功能,C有9种控制语句:条件语句(Conditionsentence)if(表达式)if(表达式)语句1语句块1else语句2else语句块2循环语句(Loopsentence)for()for()语句语句块,当型循环语句(whileLoop)while(表达式)while(表达式)语句语句块直到型循环语句(untilLoop)dodo语句while(表达式);语句块while(表达式);continue(结束本次循环语句)switch(多分支选择语句)break(中止执行switch或循环语句)goto(转向语句)return(从函数返回数值语句),2.函数调用语句(Callingfunction),由一次函数调用加一个“;”构成。,如:printf(“HelloWorld!”);,函数调用,分号,3.表达式语句(Expressionsentences),由表达式加上“;”构成。,如:x+4*y;算术表达式语句4*7,4+8;逗号表达式语句x=4*7;赋值表达式语句(赋值语句),4.空语句(Emptysentences),由一个“;”构成。即:;,作用:程序转向点;什么也不做的循环体。while(ix2)y=x1*x1+x2;printf(y=%d,y);,不能省略,不能加“;”,4.2赋值语句(AssignmentSentences),C语言中的赋值号“=”是一个运算符。赋值表达式和赋值语句不同,赋值表达式可以被包含在其它表达式之中。,如:if(a=b)0)t=a;它等于:a=b;if(a0)t=a;,如果写成:if(a=b;)0)t=a;,错了。在if的条件中不能包含赋值语句,4.3数据输入输出的概念及在语言中的实现(DataInputsandOutputs),一、数据输入输出的概念,计算机的输入输出是以计算机主机为主体而言。,输入:从外部通过输入设备(如,键盘、磁盘、光盘、扫描仪等)向计算机输入数据。,输出:从计算机向外部设备(如,显示屏、打印机、磁盘等)输出数据。,二、数据输入输出在语言中的实现,调用输入输出函数实现输入输出操作,语言本身不提供输入输出语句,输入和输出操作是通过调用语言库函数中输入输出函数来实现的。,如:putchar函数输出字符(CharacterInput)getchar函数输入字符(CharacterOutput)printf函数格式输出(DataInputwithformat)scanf函数格式输入(DataOutputwithformat)puts函数输出字符串(Stringsoutput)gets函数输入字符串(Stringsinput),1)C语言库函数(stdio.h,math.h等)已被编译成目标文件(二进制形式)2)源程序必须先编译成目标文件。源程序中的输入输出函数等库函数,在编译时并不被翻译成目标指令。3)生成好的目标文件(.OBJ)必须与与系统的函数库(以及其他的目标文件)进行连接,形成可执行文件(EXE)。4)运行EXE文件时,调用已被连接的函数库中的系统函数。,main()inta,b;a=10;b=20;printf(“a=%d,b=%d”,a,b);,printf()的目标代码,系统函数库,.,2文件开头应有“#include”命令,在调用标准输入输出库函数时,文件开头应有预编译命令:#include或#include“stdio.h”其中,stdio.h是“头文件”,包含了与用到的标准输入输出函数有关的信息。stdio.h是standardinputa=B;b=O;c=Y;putchar(a);putchar(b);putchar(c);putchar();,输出结果:BOY,一般格式:getchar()没有参数功能从终端输入一个字符。,二、getchar函数(字符输入函数),4.5格式输入输出函数(InputandOutputFunctionwithFormat),4.5.1printf函数(格式输出函数),功能:向终端输出若干个任意类型的数据。,(一)printf函数的一般格式,printf(格式控制,输出表列),举例:main()inta=3,b=4;printf(“a=%db=%dsum=%dn”,a,b,a+b);输出结果:a=3b=4sum=7,格式说明(格式字符),普通字符,输出表列,转义字符,printf(格式控制,输出表列),说明:“输出表列”是需要输出的一些数据(变量、表达式)。“格式控制”是用双引号括起来的字符也称“转换控制字符串”,它包括三种信息:1.普通字符,即需要原样输出的字符。2.格式说明,由“%”和格式字符组成,如%d,%f等。3.转义字符,将后面的字符转换成另外的意义(P48表)。,(二)格式字符(formattedCharacter),对不同类型的数据用不同的格式字符。,1.d格式符用来输出十进制整数。(outputthedecimalinteger),(1)%d:按整型数据的实际长度输出。,如:inta=123;printf(“%d”,a);结果:123,(2)%md:m为指定的输出字段的宽度。若数据位数小于m,则左端补以空格;若大于m,则按实际位数输出。,(3)%mld:输出长整型数据。m是对长整型数据指定字段宽度。,f格式符以浮点数形式输出实数。(outputthefloatingpointrealnumber),(1)%f:不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数。注意float型和double型数据的有效位数,,如:floatx=123456.123;printf(“%f”,x);输出结果:123456.125000,main()doublex,y;x=1111111111111.111111111;y=1111111111111.111111111;printf(“%f”,x+y);2222222222222.222170,(2)%m.nf:指定输出的数据共占m列,其中有n位小数。若数据长度小于m,则左端补空格。,(3)%m.nf:与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。,e格式以指数形式输出实数。(outputtherealnumberinexponent),(1)%e,如:printf(“%e”,123.456);输出结果:1.234560e+002,6位,3位,一般共占13列宽度,(2)%m.ne和%m.ne:m、n和“”字符含义与前相同。此处n指数据的数字部分(又称尾数)的小数位数。,4.g格式符用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。(outputtherealnumberinfloatpointorexponent),5.o格式符以8进制数形式输出整数.,输出的数值不带符号,即将符号也一起作为八进制数的一部分输出。,如:inta=-1;printf(“%d,%o”,a,a);结果:-1,177777,o格式符同d格式符一样,可以输出长整型数据,也可以指定字段宽度。,6.x格式符以16进制数形式输出整数。,同样不会出现负的十六进制数。,7.u格式符以十进制形式输出unsigned型数据,如: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,8.C格式符用来输出一个字符。,一个整数,只要它的值在0255范围内,也可以用字符形式输出,在输出前,将该整数转换成相应的ASCII字符;反之,一个字符数据也可以用整数形式输出。,如:main()charc=a;inti=97;printf(“%c,%dn”,c,c);printf(“%c,%dn”,i,i);输出结果:a,97a,97,9.s格式符用来输出一个字符串。,(1)%s:按原长度输出字符串。如:printf(“%s”,“CHINA”)输出结果:CHINA,(2)%ms:输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出,若串长小于m,则左补空格。,(3)%ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。,(4)%m.ns:输出占m列,但只取字符串中左端n个字符。输出在列的右侧,左补空格。如果nm,则自动取n值,即保证n个字符正常输出。,(5)%m.ns,其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。,4.5.2scanf函数(格式输入函数),(一)一般形式,scanf(格式控制,地址表列),10,15,main()inta,b,c;scanf(“%d,%d”,输入:10,15输出:a=10,b=15,a,b,(二)格式说明与prntf函数中的格式说明相似,以%开始,以一个格式字符结束(表4-3),中间可以插入附加的字符(表4-4)。,如:inta,b,c;scanf(“%d%d%d”,输入形式:10,11,12,scanf(“%3d%3d%c”,输入形式:123456abc结果:a=123b=456ch=a,scanf(“%d%d%c”,输入形式:123456abc结果:a=123b=456ch=a,main()charc1,c2;scanf(“c1=%c,c2=%c”,输入数据:c1=a,c2=b输出数据:ab,有错吗?main()intx,y,z;charch;scanf(“%7.2d%d%d%c”,x,y,z,ch);main()intx,y;scanf(“%5d,%3d”,输入数据:345,567,说明:,1.%后的“*”附加说明符,用来表示跳过它相应的数据。,如:scanf(“%2d,%*3d,%2d”,输入:12,456,67结果:a=12b=67,2.输入数据时不能规定精度。,scanf(“%7.2f”,3.输入的字符、数值要与格式一致scanf(“a=%d,b=%d”,输入:a=12,b=13,4、scanf(“%c%c%c”,输入:abc空格和转义字符都作为有效字符输入,main()inta,b;floatx,y;charc1,c2;scanf(“a=%db=%d”,输入数据:a=10b=203040ab输出数据:10,20,30.00000,40.00000,a,b输入方式2:a=10b=203040ab,main()inta,b;floatx,y;charc1,c2;scanf(“a=%db=%d”,输入数据:a=10b=20 x=10y=10c1=ac2=b输出数据:10,20,10.00000,20.00000,a,b,4.6顺序结构程序设计举例,(顺序结构)(选择结构)(循环结构),特点:程序按语句从上到下的排列顺序依次执行,每条语句必须执行且只能执行一次,没有执行不到或执行多次的语句。,例如:已知圆柱体半径6米,高7米,求体积。,#definePI3.14159main()floatr,h,s,v;r=6;h=7;s=PI*r*r;v=s*h;printf(“V=%fn”,v);,例4.10输入三角形的三条边,求三角形的面积。,开始,给a,b,c赋值,计算s=(a+b+c)/2,计算area=,结果输出,结束,#includemain()floata,b,c,s,area;scanf(“%f%f%f”,例4.11从键盘输入一个大写字母,要求改用小写字母输出。,分析:已知字符变量c1为大写字母。求解将字符变量c2中放入相应的小写字母。计算公式c2=c1+32(小写改成大写字母?),开始,计算c2=c1+32,输出c1,结束,输入一大写字母放入c1中,输出c2,例4.12求ax2+bx+c=0的根,a,b,c由键盘输入,设b2-4ac0,#includemain()floata,b,c,disc,x1,x2,p,q;scanf(%f%f%f,本章作业:,一、做4.2、4.5、4.6、4.7,自己对答案,二、编程上机操作题,熟悉各种类型的输入输出的方法,能正确使用各种格式转换符。1.4.4题、4.8题、4.9题。2.上机调试4.10题并回答问题。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!