




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3,简单程序设计,本章导读,程序结构:顺序结构、选择结构、循环结构顺序结构:最简单的也是最基本的程序结构,其特点是按语句书写的顺序依次执行本章介绍:C语言中的语句类型、程序结构、赋值语句、字符输入/输出函数、格式输入/输出函数、格式控制符等学习要求:理解顺序结构的程序执行过程,掌握赋值语句和基本输入/输出函数的使用,能够用正确的格式进行输入与输出。掌握简单程序设计的一般方法,能够根据要求编写出简单的程序,C语句可分为以下5种类型:1.表达式语句由表达式组成的语句称为表达式语句,其作用是计算表达式值或改变变量值。它的一般形式是:表达式;2.函数调用语句由一个函数调用加上一个分号构成函数调用语句,其作用是完成特定的功能。它的一般形式是:函数名(参数列表);,3.1C语言语句,3.控制语句控制语句用于完成一定的控制功能,以实现程序的各种结构方式。C语言有9种控制语句,可分为三类:(1)条件判断语句:if语句、switch语句(2)转向语句:break语句、continue语句、goto语句、return语句(3)循环语句:for语句、while语句、dowhile语句,3.1C语言语句,4.复合语句复合语句是用大括号将若干语句组合在一起,又称分程序,在语法上相当于一条语句。注意:复合语句中最后一个语句的分号不能省略不写。5.空语句只有一个分号的语句称为空语句。它的一般形式是:;空语句是什么也不执行的语句,常用于循环语句中的循环体,表示循环体什么都不做。,3.1C语言语句,3.2程序结构,3.2.1程序结构简介,程序结构:顺序结构、选择结构、循环结构任何复杂的程序都是由这三种基本结构组成,main()intx,y,z;/*定义三个整型变量,是C语言中的声明部分*/x=123;y=234;/*以下语句是C语言中的语句,是执行部分*/z=x-y;printf(x-y=%dn,z);,【问题3-1】简单的程序结构。,【问题3-2】,由多个函数构成的程序结构,main()/*主函数*/intx,y,z;/*声明部分,定义变量的类型*/scanf(%d,%d,/*将变量c的值通过返回语句带回调用处*/,C语言程序结构,图,顺序结构是程序设计中最简单、最基本的结构,其特点是程序运行时,按语句书写的次序依次执行,其结构如图所示。,顺序结构流程图,3.2.2顺序结构,/*EX3-1.C*/#includemain()inta,b,c;scanf(%d,%d,分析下面程序结构,【例3-1】,例3-1的流程,从例3-1可以看出,顺序结构的程序框架如下:,分析,#开头的预编译处理命令行main()局部变量声明语句;可执行语句序列;,3.3赋值语句,赋值语句是一个应用十分普遍且最简单的语句。赋值语句的一般形式:x=e;其中:x是变量名,“=”前面已介绍过,是赋值号,e是表达式。赋值语句的功能是将赋值号右边表达式的值计算出来,再赋给赋值号左边变量。,前面我们已经学过了赋值表达式,要注意区分两者的不同点:,小结,(1)赋值表达式不能有分号“;”,而赋值语句一定要有分号“;”,这是最本质的区别。(2)赋值表达式中的赋值号“=”可以连用,而赋值语句中的赋值号“=”不能连用。(3)赋值表达式可以包括在其他表达式之中。,3.4数据输入与输出,printf()函数的功能是向系统指定的设备输出若干个任意类型的数据。,3.4.1格式化输出函数printf(),1.printf()函数调用形式printf函数是一个标准库函数,其调用的一般形式:printf(格式控制字符串,输出列表);,格式说明,一般字符按原样输出,转义字符作用:换行,输出列表,printf(a=%dn,a);,图,printf函数,括号里都是函数的参数。(1)格式控制字符串是用双撇号括起来的字符串,它包括两个信息:格式说明。由“%”开头格式字符结尾,如%d,%c,%f等。它的作用是将要输出的数据转化成指定的格式输出,格式说明都是由“%”字符开始的。一般字符。即按原样输出的字符,在显示时起提示作用。如例题3-1中printf(nc=%dn,c);中双撇号内的换行符、字符c=。(2)输出列表是需要输出的变量、函数、表达式。,说明,格式说明符由“%”开头,以一个英文字母结束,它表明输出数据的类型;其间还可以有一些格式控制字符,用以说明数据输出的长度、位数、对齐方式等。在TurboC中格式说明符的一般形式为:%标志输出最小宽度m.精度n长度类型其中:表示可选项。标志:是由字符构成的,它表示数值输出时按某种格式,常用的字符有、0,其具体含义见表3-1。,格式说明符,表3-1,printf函数常用附加格式符,输出最小宽度m:m是十进制整数,它表示用十进制输出的最少位数,当需要输出的数据长度超过该数时,该选项不起作用,数据按实际位进行输出,当需要输出的数据长度小于该数时,则在该数的左边补空格或0。.精度n:是“.”加上十进制整数n。其含义是:如果输出的是数值,则该数表示小数位数,若实际位数大于所定义的精度,则截去超过部分;如果输出的是字符,则表示输出字符的个数。,printf函数常用附加格式符,数据长度:是字符,它有两种形式:h、l。h表示按短整型量输出,l表示按长整型量输出。类型:是格式说明符中必须要有的,它表示输出列表里要输出的数据类型。表3-2给出了常用的类型格式符及含义。,printf函数常用附加格式符,表3-2,printf函数常用类型格式符表,注意,(1)可以在格式控制字符串中包含前面所讲的“转义字符”,如“n”、“t”、“r”、“b”、“377”等。(2)控制输出类型除X、E、G外,必须是小写字母。如%d不能写成%D。(3)若想输出字符“%”,则在格式字符串中用连续两个%表示。如:printf(%f%,1.0/4);则输出:0.250000%,/*EX3-2.C*/#includemain()inta,b,c;a=10;b=20;c=-30;printf(a=%d,a=%o,a=%+dn,a,a,a);printf(b=%d,b=%x,b=%5dn,b,b,b);printf(c=%d,c=%5d,c=%+dn,c,c,c);,【例3-2】,分析下面程序运行结果,/*EX3-3.C*/#includemain()inta,b,c;a=123;b=234;c=a+b;printf(na+b=%d+%d=%d,a,b,c);printf(na+b=%hd+%hd=%hd,a,b,c);printf(na+b=%2d+%2d=%5d,a,b,c);printf(na+b=%02d+%02d=%05d,a,b,c);,【例3-3】,分析下面程序运行结果,/*EX3-4.C*/#includemain()floatx,y,z;x=123.234;y=0.000345;z=-98.567;printf(x=%.4f,x=%.2f,x=%+en,x,x,x);printf(y=%f,y=%8.4f,y=%10.3en,y,y,y);printf(z=%+f,z=%+e,z=%+gn,z,z,z);,【例3-4】,分析下面程序运行结果,/*EX3-5.C*/#includemain()doublex,y,z;x=123.234;y=-0.000345;z=-98.567;printf(x=%lf,x=%.4lf,x=%2lf,x=%+en,x,x,x,x);printf(y=%lf,y=%+lf,y=%len,y,y,y);printf(z=%fn,z);,【例3-5】,分析下面程序运行结果,/*EX3-6.C*/#includemain()printf(n%c,a);/*输出单个字符*/printf(n%s,abc);/*输出一个字符串*/,【例3-6】,分析下面程序运行结果,3.4.2格式化输入函数scanf,scanf()函数的功能是从键盘上将数据按用户指定的格式输入并赋给指定的变量。1.scanf()函数调用形式scanf(格式控制字符串,地址列表);,其中格式控制字符串的定义与使用方法和printf函数相似,但不能显示非格式字符串,即不能显示提示字符串。地址列表是要赋值的各变量地址。地址是由地址运算符“scanf(%3d%3d%4d,【例3-7】,分析下面程序,/*EX3-8.C*/#includemain()doublea,b,c;scanf(%lf,%lf,【例3-8】,分析下面程序,/*EX3-9.C*/#includemain()charstr1,str2;scanf(%c%c,【例3-9】,分析下面程序,/*EX3-10.C*/#includemain()intx,y;scanf(%2d%*3d%4d,【例3-10】,分析下面程序,/*EX3-11.C*/#includemain()inta;scanf(%d,【例3-11】,分析下面程序,3.4.3字符数据的输入与输出,1.字符输入函数getchar()字符输入函数getchar()的功能是从标准设备(键盘)上读入一个字符。其一般调用形式:getchar();该函数没有参数,但一对圆括号不能省略。getchar()只能从键盘上接收一个字符。,/*EX3-12.C*/#includemain()charstr1,str2;str1=getchar();str2=getchar();printf(n%c,%cn,str1,str2);,【例3-12】,字符输入函数的使用,/*EX3-13.C*/#includemain()intstr;str=getchar();printf(n%d,%cn,str,str);,【例3-13】,字符输入函数的使用,字符输出函数putchar(),字符输出函数putchar()的功能是向标准输出设备(显示器)输出一个字符。其一般调用形式:putchar(c);其中:c是参数,它可以是整型或字符型变量,也可以是整型或字符型常量。当是整型量时,输出以该数值作为ASCII码所对应的字符;当是字符型量时,直接输出字符常量。,/*EX3-14.C*/#includemain()charx,y,z;x=a;y=+;z=b;putchar(x);putchar(y);putchar(z);putchar(n);putchar(132);,【例3-14】,字符输出函数的使用,【例3-15】从键盘上输入两个整数放入变量a,b中,编程将这两个变量中的数据交换。【分析】两个数据交换,不能直接写成a=b;b=a;,因为当执行a=b;后,变量a中的原值就被“冲”掉了,而与变量b中的值相等,因此不能实现交换。正确的做法是另定义一个变量(假设是c)作为暂存单元,在执行a=b;之前,先将变量a的值放入c中保存起来,然后执行a=b;,最后再执行b=c;,由于c中保存的是a的值,这样就将原来a的值赋给了b,从而实现了两个变量中的数据交换。,3.5程序举例,程序,/*EX3-15.C*/#includemain()inta,b,c;a=3;b=5;c=a;a=b;b=c;printf(a=%d,b=%dn,a,b);,【例3-16】,从键盘上输入一个英文小写字母,编程输出该字母所对应的ASCII码和所对应的大写字母,【分析】在ASCII字符集中,大写字母AZ是连续的(ASCII值从6590),小写字母az也是连续的(ASCII值从97122)。因此每对字母的ASCII码值差是相同的,都是32,即a-A、b-B、c-C、z-Z都是32。所以将小写字母的ASCII码值减去32,则得到的是所对应的大写字母ASCII码值。同理,将大写字母的ASCII码值加上32,则得到的是所对应的小写字母ASCII码值。,程序,/*EX3-16.C*/#includemain()chars1,s2;s1=getchar();s2=s1-32;printf(%d,%cn,s1,s1);putchar(s2);,/*EX3-17.C*/#include#includemain()floata,b,c,s,area;scanf(%f%f%f,【例3-17】,输入三角形的三条边,编程求该三角形的面积,【例3-18】,编程求方程的解,/*EX3-18.C*/#include#includemain()floata,b,c,d,x1,x2;a=3;b=-5;c=-7;d=b*b-4*a*c;x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(x1=%.4f,x2=%.4fn,x1,x2);,【例3-19】,分析下面程序的运行结果,/*EX3-19.C*/#includemain()intx=1,y=5;printf(x=%d,y=%d,x,y);,【分析】本程序格式控制字符串中,有两个连续的%。前面已经讲过,两个连续的%表示输出一个%,因此变量x,y没有对应的输出格式,只能输出双引号中的字符。,【例3-20】,分析下面程序的运行结果,/*EX3-20.C*/#includemain()inta,b;a=0103;b=+a;printf(%d,%dn,a-,-b);printf(%c,%cn,+a,b+);,本章介绍了顺序程序结构、赋值语句、基本的输入/输出函数。重点讲解了以下几个方面的内容:1.scanf、printf、getchar、putchar四个函数的使用:(1)scanf和getchar都是输入函数,其功能是接收键盘上输入的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 攀岩指导员工艺创新考核试卷及答案
- 2025理财产品购买合同书范文
- 美术颜料制造工质量管控考核试卷及答案
- 2025房地产买卖合同书范本
- 2025年执业护士考试题库建设试题及答案
- 2025年官方兽医牧运通考试题库附答案详解(培优a卷)
- 2025年计算机实务试题及答案
- 2025年破伤风培训试题及答案
- 2025年施工员考试题库含答案
- 2025年国家司法考试历年试题及答案解析
- 辽宁省盘锦市大洼区田家学校2024-2025学年九年级上学期第四次质量检测语文试卷
- 广东省惠州市联考2024-2025学年上学期12月教学质量阶段性诊断八年级数学试卷(无答案)
- 工程结算协议书
- 砖砌围墙施工方案
- 2024-2030年中国痘痘贴行业营销动态及消费需求预测研究报告
- 《人工智能导论》(第2版)高职全套教学课件
- (高清版)AQ 1075-2009 煤矿低浓度瓦斯往复式内燃机驱动的交流发电机组通 用技术条件
- 疑问句(课件)六年下册英语人教PEP版
- 视力残疾康复服务规范
- HG T 3690-2022 工业用钢骨架聚乙烯塑料复合管
- 医院医保科绩效考核标准
评论
0/150
提交评论