版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章顺序结构程序设计程序在执行时总是从main()函数开始,由上往下一条一条地执行遇到的语句。除非遇到控制语句,程序才会按控制语句的控制关系进行有选择的跳转。C语言的语句可分为5种类型:1、控制语句(9条)2、函数调用语句:3、表达式语句4、空语句5、复合语句8/24/20261精选课件ppt1、控制语句(9条)(1)if(){;}
else{;}(2)switch(){;}(3)goto8/24/20262精选课件ppt1、控制语句(9条)(4)while(){;}(5)do
{;}while()(6)for(;;){;}8/24/20263精选课件ppt1、控制语句(9条)(7)continue;(8)break;(9)returnexp;8/24/20264精选课件ppt2、函数调用语句:函数名(参数列表);3、表达式语句:每一个合法的表达式后面加一个分号(;)便构成了C语言的语句。4、空语句:只有一个单独的分号构成的语句。作用主要用来调试程序。5、复合语句:用一对花括号{}将若干语句括起来构成一条复合语句。逻辑上可以把它当成一条语句来理解。8/24/20265精选课件ppt注:(1)只要是语句,则必须在其后有一个分号(但是if、switch、while、do~while、for除外)。语句是没有值的,而所有表达式都有一个确定的值。(2)复合语句中不仅可以有执行语句,而且可以有定义语句。但定义语句必须在执行语句前。(3)复合语句可以嵌套。(4)复合语句可以由一对单独的花括号{}组成,即在{}内可以没有任何语句。空的{}也是为了用来调试程序。(5);空语句与没有语句是两个不同的概念。空语句表示有一条语句,只是该语句不做任何操作。8/24/20266精选课件ppt函数体主要包括:(1)变量定义语句;(2)输入语句;(3)运算语句;(4)输出语句。
8/24/20267精选课件ppt输入、输出语句C语言本身不提供输入、输出语句,输入、输出操作是由函数来实现的。“标准输入输出函数”是以标准输入输出设备(即键盘和显示器)为输入输出对象,它们都是一些库函数。如:putchar()getchar()printf()scanf()puts()gets()8/24/20268精选课件ppt输入、输出语句使用库函数时必须先用预编译命令#include<头文件名>将相应的头文件包含到所编程文件中。预编译命令#include的功能:是将头文件的代码放到所编写的程序文件中,以便在程序中能够引用头文件中的变量或函数。printf()、scanf()对应的头文件<stdio.h>可以省略。#include<stdio.h>#include<math.h>#include<string.h>8/24/20269精选课件ppt输入、输出语句一、字符数据的输入输出1)putchar()格式:putchar(字符常量或字符变量)功能:输出一个字符但不输出单引号。其中“字符”可以是一切合法的字符型或整型数据(它会自动将整型数据转换成相应字符后输出)如: putchar(‘a’); putchar(‘\n’); putchar(100); putchar(‘100’);非法字符8/24/202610精选课件ppt输入、输出语句一、字符数据的输入输出2)getchar()格式:getchar()功能:接收一个从键盘输入的字符。注:(1)此函数没有任何参数,函数的返回值就是输入的字符。(2)可以接收从键盘上输入的任何字符包括回车符、空格符、制表符等。(3)任何输入都是在回车后按顺序送入内存中,即才能被函数所接收。如:chara,b;a=getchar();b=getchar();若输入为:1<回车>则变量a的值为字符’1’,变量b的值为回车符。8/24/202611精选课件ppt二、格式输入输出函数1.printf()函数[例]已知圆半径radius=1.5,求圆周长(2πr)和圆面积(πr2)。8/24/202612精选课件ppt#include<stdio.h>main()
{floatr=1.5,l,s,pi=3.14;l=2*pi*r;
s=pi*r*r;
printf(“r=%f\n”,r);
printf(“l=%7.2f,s=%7.2f\n”,l,s);}r=1.500000l=9.42,s=7.078/24/202613精选课件pptprintf()格式:(1)printf(“格式控制”,输出列表)(2)printf(“格式控制”)功能:按格式控制指定的格式输出数据。其中:“格式控制”是用双引号括起来的字符串,其中包含以%开始的“格式说明符”和原样输出的“普通字符”两部分内容。输出列表是需要输出的一批用逗号隔开的数据(常量、变量、表达式)。如:printf(“c=%d,d=%d”,3,4+7);输出结果:c=3,d=11注:这里并不表示c的值为3,d的值为11。c=和d=还有“,”是格式控制中要原样输出的普通字符,3和11是分别由两个%d控制输出的数据。8/24/202614精选课件ppt格式字符:(1)d或i说明:控制输入输出带符号的十进制形式整数,其中不输出正号。(2)u说明:控制输入输出无符号的十进制整数(3)o说明:控制输入输出无符号的八进制整数(4)X或x说明:控制输入输出无符号的十六进制形式整数,不输出前导符号0x.输出时小写x对应小写a,b,c,d,e,f,大写X对应A,B,C,D,E,F(5)c说明:控制输入输出一个字符,不输出单引号。8/24/202615精选课件ppt格式字符:(6)s说明:控制输入输出一个字符串。在输入时以第一个非空字符开始接收,并以碰到的第一个空白字符(包括空格、回车符)结束,输出时不输出双引号。(7)f说明:控制输入输出一个实型数。输入时可以用小数形式亦可用指数形式;输出时以小数形式输出,并隐含输出6位小数。(8)E或e说明:控制输出指数形式的实型数,输入时与f相同。(9)G或g说明:控制输出时自动选用%f或%e格式中输出宽度较短的一种格式,且不输出无意义的0,输入时与f相同。8/24/202616精选课件ppt补充:附加格式说明符表:(附加符写在百分号%与格式字符之间)(1)l说明:用于输入输出长整型数据或双精度数据(2)-说明:用于在输出时靠左输出,没用该符号时采用靠右输出(3)#说明:用于输出时输出八进制数的前导0,输出十六进制的前导0x(4)*用于表示输入时本输入项指定的数据被跳过。8/24/202617精选课件pptprintf()函数举例:(1)、d、i格式:1)%d按整型数据的实际长度输出。2)%md输出项占用m列,若整数的实际长度小于m,则输出时左边用空格补足m列;若整数的实际长度大于m,则按整数的实际长度输出。3)%-md输出项占用m列,若整数的实际位数小于m,则输出时右边用空格补足m列;若整数的实际位数大于m,则按整数的实际输出。4)%ld用于输出长整型数据。输入输出长整型数据时必须使用该格式。(2)u格式:%u以无符号的十进制形式输出整数。printf(“%u”,-1);结果:8/24/202618精选课件pptprintf()函数举例:(3)o格式:%o以无符号的八进制形式输出整数。不输出前导符0.printf(“%d,%o”,-1,-1);结果:(4)x或X:%x以无符号的十六进制形式输出整数。不输出前导符0x或oX,小写对小写,大写对大写。printf(“%d,%x,%X”,-1,-1,0xaBc);结果:-1,ffff,ABC8/24/202619精选课件pptprintf()函数举例:(5)c格式:%d和%c可以交换使用,它们会自动进行数据转换。printf(“%c,%d”,’a’,’a’);printf(“%c,%d”,100,100);(6)s格式:string1)%s输出字符串的有效字符。printf(“%s”,“China”);2)%ms输出时共占m列,若实际长度小于m,则左端用空格补足,若实际长度大于m,则按字符实际长度输出。printf(“%5s,%-5s,%5s”,“LJL”,“LJL”,”4332567”)3)%m.ns输出时共占m列,但只输出字符串的左n个字符到m列的右端。printf(“%8.5s”,”zhaohaiying”);8/24/202620精选课件pptprintf()函数举例:(7)f格式:按小数形式输出一个实型数据。1)%f默认输出6位小数。printf(“%f,%f”,123.4,123.4E-2)2)%m.nf输出时共占m列,其中有n位小数。若输出数据超过m列,则在确保n位小数后按实际输出。printf(“%7.3f,%-7.3f,%3.1f”,34.67893,34.67893,1234.567);(8)e格式:以指数形式输出一个实数。输出时以规范化指数形式输出,即小数点前有且只有1位非零数。共有5位小数,3位指数。printf(“%e,%e”,123.4,123.45e-7);(9)g格式:自动选用%f和%e格式中输出较短的一种输出,对于小数部分不输出无意义的零。printf(“%g,%g,%g”,123.45,123.45e-2,123000000.0);8/24/202621精选课件pptprintf()函数举例:注:(1)格式说明均是以百分号%开头,格式字符结束。若有两个连续的%则输出一个%。printf(“%%d=%d”,6,5);结果:%d=6printf(“score=%d%%”,50);score=50%(2)除格式x、e、g大写小写均可外,其它都只能用小写字母。printf(“%d=%D”,5,6);结果:5=%D(3)输出时格式说明符所能操作的数据类型与对应的输出项类型必须相同。但%d与%c除外。printf(“%d”,5.0);printf(“%f”,5);printf(“%c”,”a”);8/24/202622精选课件ppt2、scanf()函数格式:scanf(“格式控制”,地址列表)功能:其中的“格式控制”与printf()中使用方法相同,地址列表是一些用逗号隔开的变量地址。取变量地址的方法是在变量名前面加上地址运算符&,如:变量a的地址:&a如:intx;floaty;charc;scanf("%d%f%c",&x,&y,&c);8/24/202623精选课件ppt2、scanf()函数注:1)可以指定数据所占的列数,输入后由系统自动截取相应的位数。scanf(“%3d%2d”,&a,&b);输入:结果:a=136b=92)在%后加一个星号,表示跳过它指定的列数不读。scanf(“%3d%*3d%4d”,&a,&b);输入:1234567890输出:a=123b=78903)不能在scanf()函数中指定输入数据的小数位数,否则会出现异常。scanf(“%7.2f”,&a);出现异常8/24/202624精选课件ppt2、scanf()函数注:4)”格式控制”中除格式说明符外,若还有其它字符,则在输入时这些字符必须原样输入。scanf(“%d,%d”,&a,&b);scanf(“a=%d,c=%d”,&a,&b);printf("a=");scanf("%d",&a);printf("b=");scanf("%d",&b);5)”格式控制”中若两个格式说明符之间没有其它字符,则在输入数据时,两数据之间用空格或回车来分隔(空格或回车可以有多个)。%c格式除外。scanf(“%d%d”,&a,&b);8/24/202625精选课件ppt2、scanf()函数注:6)由于%c格式可以将从键盘上输入的任何按键作为有效字符赋给相应的变量。所以即使两个%c之间没有其它字符,输入时两个字符之间不能用空格或回车来分隔。scanf(“%c%c%c”,&a,&b,&c);7)输入时也要求格式说明符所能操作的数据类型与其对应变量的类型相同。inta;scanf(“%f”,&a);出错floatx;scanf("%d",&x);8/24/202626精选课件ppt小结:(1)输出列表和地址列表都不能出现“空项”,即不能出现多余的逗号。printf(“%d,%d,%d”,a,,b);(2)在输出时若格式说明符个数多于输出列表中的项数,则多余说明符随机输出;若格式说明符个数少于输出列表中的项数,则输出列表中多余的输出项不输出。(采用从左到右一一对应的方式)。printf(“%d,%d,%d”,1,2);printf(“%d,%d,%d”,1,2,3,4,5);8/24/202627精选课件ppt小结:(3)在输入时若格式说明符个数多于地址列表中的项数,则运行时出现异常;若格式说明符个数少于地址列表中的项数,则多余的地址保留原值。若有定义inta=5,b=6;scanf(“%d”,&a,&b);输入:3040输出:a=30b=6(4)对于double,longdouble输入时必须在格式字符(f,e,g)前加字母l,输出时可以加也可以不加。对于float在输入时不能加字母l,输出时可以加也可以不加。对于longint在输入输出时都必须在d格式字符前加字母l,int型输出时不能在d前加l,输入时最好不加。8/24/202628精选课件ppt给计算机提供数据,可以使用:(1)赋值语句。只能解决1个特定的问题。(2)输入函数scanf()。能解决1类特定的问题。显然,采用scanf()函数,使得程序具有更好的适应性。8/24/202629精选课件ppt3.2.2数据输入操作(假设num1=12、num2=36)1.默认分隔符——空格、Tab键、回车如果不指定分隔符(例如逗号、冒号),则使用默认分隔符。例如,scanf("%d%d",&num1,&num2);正确的输入操作为:
12□36↙
或者:12↙36↙8/24/202630精选课件ppt2.普通字符——务必原样输入。(1)scanf("%d,%d",&num1,&num2);正确的输入操作为:12,36↙(2)scanf("num1=%d,num2=%d\n",&num1,&num2);正确的输入操作为:num1=12,num2=36\n↙提示:scanf()格式字符串中,没有转义字符概念。比较(1)、(2)两种设计方式的优缺点?8/24/202631精选课件ppt比较(1)、(2)两种设计方式的优缺点?(1)仅输入数据,输入量小,但人机交互性差(用户不知道该输入什么,以及输入给谁)。(2)同时输入说明和数据,人机交互友好性好,但输入量大。思考:如何改进设计,既保持良好的人机交互性,又不增加输入量?8/24/202632精选课件ppt提高人机交互性的设计思路:先用printf()函数输出提示信息,再用scanf()函数进行数据输入。scanf("num1=%d,num2=%d\n",&num1,&num2);printf("num1=");scanf("%d",&num1);printf("num2=");scanf("%d",&num2);8/24/202633精选课件ppt3.使用“%c”输入时,空格和转义字符均作为有效字符被输入。例如:scanf("%c%c%c",&ch1,&ch2,&ch3);printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3);思考:假设输入“A□B□C”,printf()输出的内容是什么?输出结果:ch1=A,ch2=□,ch3=B[返回]8/24/202634精选课件ppt3.3顺序结构程序设计顺序结构程序一般包括两部分:1.程序开头的编译预处理命令。如果要在程序中使用标准库函数,则必须使用编译预处理命令#include,将相应的头文件包含进来。8/24/202635精选课件ppt2.函数体主要包括:(1)变量定义语句;(2)输入语句;(3)运算语句;(4)输出语句。3.执行流程:各语句是按照物理位置次序,被顺序执行,且每个语句都会被执行到。8/24/202636精选课件ppt[案例]输入3个整数,求它们的和及平均值。#include“stdio.h”#include“conio.h”voidmain()
{intnum1,num2,num3,sum;
floataver;printf("Pleaseinputthreenumbers:");
scanf("%d,%d,%d",&num1,&num2,&num3);sum=num1+num2+num3; /*求累计和*/
aver=sum/3.0; /*求平均值*/printf("num1=%d,num2=%d,num3=%d\n",num1,num2,num3);
printf("sum=%d,aver=%7.2f\n",sum,aver);
getch();}8/24/202637精选课件ppt[案例3.11]设计一个进行加、减、乘、除和求余数运算练习的程序。对程序功能的基本要求如下:(1)使用菜单驱动;(2)随机产生运算所需的2个操作数(0-99);(3)程序自动判断用户的计算结果是否正确。由于所学内容的限制,本案例的设计要求将在本章,以及随后的第4~第7章中分阶段逐步实现并完善。本案例首先实现设计要求(1)。8/24/202638精选课件ppt/*功能:菜单程序段*/#include"stdio.h"#include"conio.h"voidmain(){charoptions;clrscr(); /*清屏。函数原型在"conio.h"中*/8/24/202639精选课件pptprintf("加、减、乘、除和求余数运算练习程序\n");printf("———————————————————\n");printf("+(Addition)——+/a\n");printf("-(Subtraction)——-/s\n");printf("*(Multiplication)——*/m\n");printf("/(Division)——//d\n");printf("%(Remainder)——%/r\n");printf("Exit——e\n");printf("———————————————————\n");printf("Pleasechooseoneoption:");scanf("%1c",&options);getch(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026事业单位工勤技能-江苏-江苏理疗技术员三级(高级工)历年参考题库含答案详解3套试卷
- 2026 年国际消除贫困日公益宣传课件
- 消防安全问题检讨报告
- 2026事业单位工勤技能-新疆-新疆医技工五级(初级工)历年参考题库含答案详解3套试卷
- 年产1万台节能碳纤维电暖器及配套发热线缆项目可行性研究报告模板-立项备案
- 全球AI大会回顾
- 2026年秋季开学高三家校协同主题班会课件
- 2026年秋季开学高中一年级新生军训分列式课件
- 2026年秋季开学初中一年级新生军训停止间转法课件
- 2025年八年级历史期末中国古代史综合测试卷:古代手工业技术传承与创新
- 2026年高考地理(河南卷)真题详细解读及评析
- 2026浙江金华市义乌市机关事业单位编外聘用人员招聘66人笔试参考题库及答案详解
- 2025年新电梯安全员证考试试题及答案
- T/CCASC 6008-2023氯碱行业聚氯乙烯树脂碳排放核算标准
- 中医中风护理查房
- 成本预算绩效分析实施案例
- 创伤救护(1学时-扬州红十字会)
- 《玻璃搬运机器人》课件
- 统编版二年级上册第一单元教学解读与整体构想
- 第06讲 指对运算(教师版) 备战2025年高考数学一轮复习考点帮(天津专用)
- DB33-T 936-2022 公路桥梁整体顶升技术规程
评论
0/150
提交评论