C语言顺序结构详解课件.ppt_第1页
C语言顺序结构详解课件.ppt_第2页
C语言顺序结构详解课件.ppt_第3页
C语言顺序结构详解课件.ppt_第4页
C语言顺序结构详解课件.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019/12/13,1,顺序程序设计,2019/12/13,2,结构化程序设计,目标:将学习三种结构的程序设计方法顺序结构程序设计选择结构程序设计循环结构程序设计。,2019/12/13,3,三种控制结构,顺序结构,选择结构,循环结构,2019/12/13,4,C语句概述,实现顺序结构的语句,实现选择结构的语句,实现循环结构的语句,赋值语句,函数调用语句,复合语句,if语句,switch语句,while语句,do-while语句,for语句,2019/12/13,5,实现顺序结构的语句,顺序结构的程序中的语句是按照从上到下的顺序逐行排列的;程序的执行顺序是按语句的排列顺序进行的。完成顺序程序设计的语句包括:赋值语句函数调用语句复合语句,2019/12/13,6,赋值语句,赋值语句,由赋值表达式加上一个分号构成,作用是将一个确定的值赋给一个变量。,语句格式:,例:,;,=,y,sin(x)+cos(x),变量名=表达式;,2019/12/13,7,赋值语句的作用:,将“=”右侧表达式的值送到“=”左侧的变量所对应的单元中。赋值语句中的“=”是赋值号而不是数学意义上的等号;它代表的是一种操作赋值操作;赋值号两侧的内容不能调换;,A=B;,和,B=A;,具有不同的含义;,A=B;,B=A;,意味着将B的值送给A;,意味着将A的值送给B;,2019/12/13,8,赋值的意义:,在计算机内部,一个变量对应一块内存存储空间;具有一个名字。赋值的过程:就是将指定的值送入指定的存储空间的过程。赋值的结果:指定的变量所对应的存储空间具有了指定的值。,x,X=10,10,2019/12/13,9,例:顺序执行以下三个赋值语句,结果如何?,a=0;,b=10;,a=b;,1.a=0;,2.b=10;,3.a=b;,0,10,10,2019/12/13,10,复合语句,由一组语句组成,并放在一对花括号“”中间。,语句格式:说明部分;执行部分;,复合语句,复合语句是一个整体,在语法结构上与一个单一语句相同。,2019/12/13,11,函数调用语句,C程序中,需要使用很多复杂的功能,例如,输入数据、输出数据、数学公式的使用(sinx、cosx、ex等)。这些功能的使用是通过函数调用来实现的。系统把一些独立的功能编制成标准函数,提供给使用者调用的格式。下面我们先介绍两个最常用的标准函数:格式输出函数和格式输入函数,2019/12/13,12,格式输出函数,2019/12/13,13,格式输出函数语句格式:,printf(格式控制,输出变量列表);,函数名,参数表,#include,输出的变量名列表,功能:printf函数可以将任意类型的多个数据,按指定格式输出到标准输出设备上(一般为显示器)。,2019/12/13,14,由双引号括起来的字符串;形式:控制字符,由“%”和格式字符组成,它的作用是将对应的变量按照指定的类型输出。,需要原样输出的字符,用于控制输出,普通字符,格式说明,转义字符,格式控制,printf(格式控制,输出变量列表);,2019/12/13,15,格式说明符:,由%和格式字符组成,作用是将输出的数据按照指定的格式输出。,2019/12/13,16,2019/12/13,17,附加格式说明,例:,%ld,%lf,对应长整型数据的输入输出格式描述,对应double型数据的输入输出格式描述,2019/12/13,18,附加格式说明,例:,%5d,%8.3f,对应的整型数据的输入输出宽度为5,对应float型数据的输出;输出的数据宽度为8个字符,小数点后保留3位。,2019/12/13,19,main()inta,b;floatx;charc;,a=123;b=-1;x=3.14;c=A;,printf(%d,%6dn,a,a);,printf(%d,%x,%o,%un“,b,b,b,b);,printf(%c,%dn,c,c);,printf(%f,%6.1fn,x,x);,写出程序运行结果,2019/12/13,20,printf(%d,%6dn,a,a);,1111,1111,1111,1111,-1在内存中的存放,运行结果,a=123;b=-1;x=3.14;c=A;,printf(%d,%x,%o,%un,b,b,b,b);,printf(%c,%dn,c,c);,123,123,-1,ffff,177777,65535,A,65,printf(%f,%6.1fn,x,x);,3.140000,3.1,2019/12/13,21,转义字符,转义字符是一组以“”开头的特殊字符序列,用单引号括起来。用来表示任何可以输出的字母字符、专用字符、控制字符、图形字符。在printf的格式控制串中,控制输出格式。常用的有:b、f、n、r、t、ooo、xhh、0;,2019/12/13,22,课上练习:写出以下程序段的运行结果,#includevoidmain()charc1=a,c2=b,c3=c,c4=101,c5=116;printf(“a%cb%ctc%ctabcn”,c1,c2,c3);printf(“tbc%c%cn”,c4,c5);,2019/12/13,23,用实验来学习和验证,2019/12/13,24,#includevoidmain()/*没有n时*/printf(thisisoneprograminc);printf(thisisoneprograminc);/*在格式控制串尾有n时*/printf(thisisoneprogramincn);printf(thisisoneprograminc);/*在格式控制串首有n时*/printf(thisisoneprograminc);printf(nthisisoneprograminc);,思考题:转义字符n在格式控制中的作用是什么?,2019/12/13,25,/*转义字符/b在控制串中的作用*/#includevoidmain()/*在控制串中不使用转义字符/b*/printf(thisisoneprograminc);printf(thisisoneprogramincn);/*在控制串中使用转义字符/b*/printf(thisisoneprograminc);printf(bbthisisoneprogramincn);,思考题:转义字符b在格式控制中的作用是什么?,2019/12/13,26,/*转义字符/r在控制串中的作用*/#includevoidmain()/*在控制串中不使用转义字符/r*/printf(thisisoneprograminc);printf(thisisoneprogramincn);/*在控制串中使用转义字符/r*/printf(thisisoneprograminc);printf(rthisisoneprogramincn);,思考题:转义字符r在格式控制中的作用是什么?,2019/12/13,27,/*转义字符/t在控制串中的作用*/#includevoidmain()/*在控制串中不使用转义字符/t*/printf(thisisoneprograminc);printf(thisisoneprogramincn);/*在控制串中使用转义字符/t*/printf(thisisoneprograminc);printf(tsecondprogramn);,思考题:转义字符t在格式控制中的作用是什么?,2019/12/13,28,/*转义字符/ooo和/xhh在控制串中的作用*/#includevoidmain()printf(thisisoneprograminc);printf(101thisisthesecondprogramn);printf(x1athisissecondprogramn);,思考题:转义字符ooo和/xhh在格式控制中的作用各是什么?,2019/12/13,29,普通字符,在printf的格式控制串中,除了以上的特殊字符(%+格式符、转义字符)以外的字符,都是需要原样输出的字符,称为普通字符。例:printf(x1athisissecondprogramn);在一个printf语句的格式控制串中,首先将处理特殊字符(转义字符控制输出的状态、格式控制符(%+d等)控制对应位置的变量的值的显示格式),控制串中的其它字符都将按原样输出。,2019/12/13,30,可编辑,2019/12/13,31,同理,学习和验证每一个格式控制符的作用,2019/12/13,32,标准格式输入函数,2019/12/13,33,格式输入函数格式:,scanf(格式控制,地址表列);,与printf中的含义相同,函数名,将输入的数据放入此变量中,2019/12/13,34,标准格式输入函数的功能:,scanf函数可以从标准输入设备输入任意类型的多个数据(一般为键盘),存入指定的变量单元中。例:scanf(“%d,%f”,scanf(“%d%d“,变量顺序与输入数据顺序对输入结果的影响;,输入数据:读入的数据:输出结果:,输入数据:读入的数据:输出结果:,35,53,a=3b=5,a=5b=3,a=3,b=5,a=5,b=3,2019/12/13,40,#includevoidmain()inta;floatx;scanf(“%d%f”,格式控制字符对输入结果的影响,输入数据:读入的数据:输出结果:,输入数据:读入的数据:输出结果:,35.6,5.63,a=3x=5.6,a=5x=0.6,a=3,x=5.6,a=5,x=0.6,2019/12/13,41,#includevoidmain()inta,b;/*没有显示分格符时*/scanf(“%d%d“,格式控制字符之间有无显示分隔符对输入的影响,输入数据:读入的数据:输出结果:,输入数据:读入的数据:输出结果:,35,3,5,a=3b=5,a=3b=5,a=3,b=5,a=3b=5,3,5,a=3b=?,a=3,b=?,35,a=3b=?,a=3b=?,2019/12/13,42,#includevoidmain()inta,b;scanf(“%d%d“,格式控制字符%后面添加域宽与否对输入的影响,输入数据:读入的数据:输出结果:,输入数据:读入的数据:输出结果:,1235,12456,a=123b=5,a=12b=456,a=123,b=5,a=12,b=456,12456,a=12b=4,a=12,b=4,2019/12/13,43,提示:,格式控制符对输入的结果的影响,还有很多,开动脑筋,可以试验出很多结论,2019/12/13,44,顺序结构程序设计举例,2019/12/13,45,voidmain()charc1,c2;charc;printf(Pleaseenteracharacter:n);c=getchar();c1=c-1;c2=c+1;printf(%c%c%cn,c1,c,c2);,例:给出一个大写字母,要求按字母顺序打印出3个字母,指定的字母是三个字母中间的一个字母。输入的字母不能为A或Z。,求解过程,#includestdio.h,输入一个字母。求出它的前趋和后继。输出三个字母。,2019/12/13,46,输入三角形的三边长,求三角形的面积。,分析:三角形面积计算公式:,area=,s=(a+b+c)/2,安排计算步骤:写出完整的程序,2019/12/13,47,解决问题的步骤:,定义变量,area=,输入:a,b,c;计算s;计算area;输出area;,float,a,b,c,s,area,;,scanf(“%f,%f,%f”,s=(a+b+c)/2.0;,area=sqrt(s*(s-a)*(s-b)*(s-c);,printf(“theareais%fn”,area);,2019/12/13,48,写出完整程序:,#include#includevoidmain()floata,b,c,s,area;scanf(“%f,%f,%f”,2019/12/13,49,设1990年我国工业产值是100,如果每年以7.4%的速度增长,求20年后我国的工业产值是多少?,分析:计算产值的公式是:,安排计算步骤:写出完整的程序,p1=p0(1+r)n其中:p1为n年后的产值,p0为初始值,r为增长率,n为年数。,2019/12/13,50,解决问题的步骤:,定义变量:,输入:p0,n,r;计算p1;输出p0,n,r,p1;,float,p1,p0,r;,p1=p0(1+r)n其中:p1为n年后的产值,p0为初始值,r为增长率,n为年数。,int,n;,2019/12/13,51,写出完整程序:,/*功能:计算工业产值*/#include#includevoidmain()intn;floatp0,p1,r;scanf(%d,%f,%f,2019/12/13,52,例.求华氏温度100F对应的摄氏温度。摄氏温度C=(5/9)(F-32),#includeintmain(void)intcelsius,fahr;fahr=100;celsius=5*(fahr-32)/9.0;printf(fahr=%d,celsius=%dn,fahr,celsius);return0;,编写程序,输入一个F值,输出对应的C值。,scanf(“%f”,2019/12/13,53,扩展阅读,2019/12/13,54,常用数学库函数,库函数C语言处理系统提供事先编好的函数,供用户在编程时调用。scanf(),printf(),exp()在相应的系统文件(头文件)中定义一些必需的信息。#include命令用户调用库函数时,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论