版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构第第3章章 C语言的基本控制结构语言的基本控制结构学习目的与要求:学习目的与要求:F掌握掌握C 语言的格式输入与输出函数语言的格式输入与输出函数scanf和和printf。F熟练掌握选择结构的使用方法熟练掌握选择结构的使用方法F熟练掌握三种循环结构的使用方法熟练掌握三种循环结构的使用方法F根据给定的问题,给出相应的解决方法根据给定的问题,给出相应的解决方法C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构选择结构选择结构循环结构循环结构本章小结本章小结C语言程序设计语言程序设计 第第3章章
2、 C语言的基本控制结构语言的基本控制结构顺序结构顺序结构顺序结构是选择结构和循环结构的基础顺序结构是选择结构和循环结构的基础 。C顺序结构是结构化程序设计中最简单和最常用的结构。顺序结构是结构化程序设计中最简单和最常用的结构。 顺序结构要求按照各语句的书写顺序一条一条地执行顺序结构要求按照各语句的书写顺序一条一条地执行 。C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构C语句语句 一个一个C函数包含声明部分和执行部分,执行部分函数包含声明部分和执行部分,执行部分是由语句组成的,语句的作用是向计算机系统发出是由语句组成的,语句的作用是向计算机系统发出操作指令,要求执
3、行相应的操作。操作指令,要求执行相应的操作。C语言中的语句主语言中的语句主要有控制语句、表达式语句、空语句、复合语句、要有控制语句、表达式语句、空语句、复合语句、函数调用语句等函数调用语句等 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构C语句语句控制语句控制语句 用于完成一定的控制功能。用于完成一定的控制功能。C语言有以下语言有以下9种控制语句:种控制语句: if() else (条件语句)(条件语句) for()(循环语句)(循环语句) while() (循环语句)(循环语句) dowhile() (循环语句)(循环语句) break (中断(中断switc
4、h或循环语句)或循环语句) continue (结束当前循环语句)(结束当前循环语句) switch (多分支选择语句)(多分支选择语句) return (返回语句)(返回语句) goto (转向语句)(转向语句)C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构C语句语句表达式语句表达式语句 表达式是通过运算符号连接操作数得到的式子,表达式表达式是通过运算符号连接操作数得到的式子,表达式可以是算术运算表达式、关系运算表达式、逻辑运算表达式、可以是算术运算表达式、关系运算表达式、逻辑运算表达式、赋值表达式等。一个表达式加上分号就构成表达式语句。赋值表达式等。一个表达
5、式加上分号就构成表达式语句。 例如:例如: x=1; a=3*b-c/4; +i; c=ab?a:b;都是合法的表达式语句。都是合法的表达式语句。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构C语句语句空语句空语句空语句。空语句是只由一个分号空语句。空语句是只由一个分号“;”构成的语句。构成的语句。 空语句不执行任何操作,通常与空语句不执行任何操作,通常与while和和for语句一起使语句一起使用,作为循环语句的循环体(循环体什么也不执行)用,作为循环语句的循环体(循环体什么也不执行) 例如:例如: while(c=getchar()= ) ; C语言程序设计
6、语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构C语句语句复合句复合句 用大括号用大括号“ ”将多条语句括起来得到的语句,又称为将多条语句括起来得到的语句,又称为分程序。复合语句通常用于条件分支结构、循环结构中。分程序。复合语句通常用于条件分支结构、循环结构中。 例如:例如: if(xy) temp=x; x=y; y=temp; C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构C语句语句函数调用句函数调用句在函数调用之后加上分号形成的命令语句。在函数调用之后加上分号形成的命令语句。 例如:调用输出函数例如:调用输出函数 printf(a=%dn,
7、a); C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构数据的输入输出数据的输入输出 C语言没有提供专门的输入输出语句,所有输入和语言没有提供专门的输入输出语句,所有输入和输出的操作都是由函数调用来实现的。在输出的操作都是由函数调用来实现的。在C语言的函数语言的函数库中提供了用来进行输入输出的函数,这些函数被称为库中提供了用来进行输入输出的函数,这些函数被称为“标准输入输出函数标准输入输出函数”。它是以标准的计算机输入输出。它是以标准的计算机输入输出设备(一般为终端设备)作为输入输出对象的。设备(一般为终端设备)作为输入输出对象的。 C语言程序设计语言程序设计 第
8、第3章章 C语言的基本控制结构语言的基本控制结构数据的输入输出数据的输入输出 C语言提供的所有函数都是存放在语言提供的所有函数都是存放在C语言的函数库语言的函数库中,要使用这些函数时,需要通过预编译命令中,要使用这些函数时,需要通过预编译命令#include将以将以“.h”为扩展名的相应库文件包含到源文件中。例为扩展名的相应库文件包含到源文件中。例如,如果要使用标准输入输出函数,需要在源文件的开如,如果要使用标准输入输出函数,需要在源文件的开头包含如下命令:头包含如下命令: #include 或或 #include stdio.h C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语
9、言的基本控制结构字符输出函数字符输出函数putchar 若从计算机向显示器输出一个字符,可以调用系统若从计算机向显示器输出一个字符,可以调用系统函数库中的函数库中的putchar函数。函数。 函数的一般形式为:函数的一般形式为: putchar(ch) 功能:将参数功能:将参数ch的值以字符类型输出到系统的标的值以字符类型输出到系统的标准输出设备(通常是显示器),如果函数调用成准输出设备(通常是显示器),如果函数调用成功,则返回参数字符。功,则返回参数字符。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构putchar函数应用举例函数应用举例编写程序用编写程序用
10、putchar函数输出字符串函数输出字符串“China”。 #include int main() char ch1=C,ch2=h, ch3=i; putchar(ch1); putchar(ch2); putchar(ch3); putchar(n); putchar(97); putchar(n); return 0;putchar(ch)函数中的函数中的ch可可以是字符常量、字符变量、以是字符常量、字符变量、字符允许范围内的整数以字符允许范围内的整数以及表达式。及表达式。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构字符输入函数字符输入函数getcha
11、r 向计算机输入一个字符,可以调用系统函数库中的向计算机输入一个字符,可以调用系统函数库中的getchar函数函数 。 函数的一般形式为:函数的一般形式为: getchar()功能:获得用户从系统的标准输入设备(通常是键功能:获得用户从系统的标准输入设备(通常是键盘)输入的一个字符,并返回该字符的盘)输入的一个字符,并返回该字符的ASCII码。码。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构getchar函数应用举例函数应用举例接收用户输入的字符串,并将其打印出来。接收用户输入的字符串,并将其打印出来。 #include int main() char ch
12、1,ch2,ch3,ch4,ch5; printf(输入一个字符串:输入一个字符串:n); ch1=getchar(); ch2=getchar(); ch3=getchar(); ch4=getchar(); ch5=getchar(); putchar(ch1); putchar(ch2); putchar(ch3); putchar(ch4); putchar(ch5); putchar(n); return 0;getchar函数是一个无参函数是一个无参函数,若要获得该函数函数,若要获得该函数的值,需赋给一个字符的值,需赋给一个字符变量或整型变量。变量或整型变量。C语言程序设计语言程序
13、设计 第第3章章 C语言的基本控制结构语言的基本控制结构格式输出函数格式输出函数printf C语言提供的语言提供的printf函数可以用参数设置格式化输出,函数可以用参数设置格式化输出,并将结果显示到标准输出设备上。并将结果显示到标准输出设备上。 printf函数的一般形式为:函数的一般形式为: printf(格式控制字符串格式控制字符串, 输出对象列表输出对象列表)例如:例如:printf(“a=%d,b=%dn,a,b); C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构格式输出函数格式输出函数printfprintf(格式控制字符串格式控制字符串, 输出对
14、象列表输出对象列表)格式控制字符串格式控制字符串普通字符:原样输出普通字符:原样输出 格式说明格式说明 :%+格式控制符格式控制符转义字符转义字符 其它符号:修饰符,改变输出形式其它符号:修饰符,改变输出形式 “输出对象列表输出对象列表”指定需要输出的数据,可以是常指定需要输出的数据,可以是常量、变量、表达式或函数调用。对象列表中可以有多个量、变量、表达式或函数调用。对象列表中可以有多个表达式,多个表达式之间用逗号分隔。表达式,多个表达式之间用逗号分隔。 printf函数的一般形式可以表示为:函数的一般形式可以表示为: printf(参数参数1, 参数参数2, 参数参数3, , 参数参数n)
15、C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构printf函数中的格式字符函数中的格式字符含含 义义格式字符格式字符d, iox或或Xucsfe或或Eg或或G按整型数据的实际长度输出带符号的十进制整数按整型数据的实际长度输出带符号的十进制整数以八进制形式输出无符号整数(无前导以八进制形式输出无符号整数(无前导0)以十六进制形式输出无符号整数(无前导以十六进制形式输出无符号整数(无前导0 x)以十进制形式输出以十进制形式输出unsigned型数据型数据将参数转换为一个字符输出将参数转换为一个字符输出输出一个字符串,直到遇到输出一个字符串,直到遇到0为止为止以小数形
16、式输出单、双精度的实数以小数形式输出单、双精度的实数以指数形式输出实数以指数形式输出实数用来输出实数,根据数值的大小,自动选用来输出实数,根据数值的大小,自动选f格式或格式或e格式格式(选择输出占宽度较小的一种),不输出无意义的零(选择输出占宽度较小的一种),不输出无意义的零C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构printf函数中的修饰符函数中的修饰符含含 义义附加字符附加字符lhm.n(m、n表表示正整数)示正整数)-输出输出long型数据型数据输出短整型数据输出短整型数据m表示数据最小宽度,对于实数,表示数据最小宽度,对于实数,n表示小数表示小数位数
17、,对于字符串,位数,对于字符串,n表示截取的字符个数表示截取的字符个数输出的数字或字符在域内左对齐输出的数字或字符在域内左对齐C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构printf函数应用举例函数应用举例#include int main() short a=2, c=-6, d=32768; unsigned short m=65535; int b=32768; float f=29.3683; double x=1.583, y=0.992; char ch=B; printf(a=%hd, a=%4hdn,a,a); printf(b=%d, b=%
18、-10d, b=%4dn,b,b,b); printf(c=%hd, c=%ho, c=%hx, c=%hun,c,c,c,c); printf(d=%hd, d=%ho, d=%hx, d=%hun,d,d,d,d); printf(m=%hd, m=%ho, m=%hx, m=%hun,m,m,m,m);C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构printf函数应用举例函数应用举例 printf(f=%f, f=%6.2f, f=%6f, f=%dn,f,f,f,f); printf(ch=%c, ch=%dn,ch,ch); printf(n%6.2f
19、,x); printf(n+%5.2f,y); printf(n-); printf(n%6.2fn,x+y); return 0;注意:注意:printf函数中参数列表中的对象必须与格式控制函数中参数列表中的对象必须与格式控制命令的个数和类型一一对应,两者如果不匹配则无法命令的个数和类型一一对应,两者如果不匹配则无法输出正确结果。输出正确结果。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构格式输入函数格式输入函数scanf scanf函数的功能是在程序运行过程中接收用户输入函数的功能是在程序运行过程中接收用户输入的数据,并将其赋值给已经定义的变量。的数据,并
20、将其赋值给已经定义的变量。 scanf函数的一般形式为:函数的一般形式为: scanf(格式控制字符串格式控制字符串, 变量地址列表变量地址列表)例如:例如:int var; scanf(%d,&var); C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构scanf函数中的格式字符函数中的格式字符f含含 义义格式字符格式字符doxcs输入十进制整数输入十进制整数输入八进制整数输入八进制整数输入十六进制整数输入十六进制整数输入单个字符,接收空白字符输入单个字符,接收空白字符输入字符串输入字符串输入浮点数,转换字符输入浮点数,转换字符e和和f同义。输入的数值可
21、同义。输入的数值可以含有正负号、小数点和包含以含有正负号、小数点和包含e或或E的指数部分。的指数部分。C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构scanf函数中的修饰符函数中的修饰符用于输入长整型数据(如用于输入长整型数据(如%ld或或%lo)或双精度)或双精度浮点数据(如浮点数据(如%lf或或%le)用于输入短整型数据(如用于输入短整型数据(如%hd、%ho或或%hx)含含 义义附加字符附加字符lhm*用于指定输入数据所占列数,用于指定输入数据所占列数,m必须为一个正整必须为一个正整数数用于说明跳过该输入值用于说明跳过该输入值C语言程序设计语言程序设计 第
22、第3章章 C语言的基本控制结构语言的基本控制结构scanf函数应用举例函数应用举例用用scanf函数输入数据函数输入数据 。 #include int main() int a,b,x, y; float f; char ch1,ch2,ch3; printf(输入数据:输入数据:n); scanf(a=%d,b=%d,&a,&b); scanf(%d%d,&x,&y); scanf(%f%c%c%c,&f,&ch1,&ch2,&ch3) ; printf(a=%d,b=%dn,a,b); printf(x=%d,y=%dn,x,
23、y); printf(f=%.2f,ch1=%c,ch2=%c,ch3=%cn,f,ch1,ch2,ch3); return 0;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构scanf函数使用说明函数使用说明“变量地址列表变量地址列表”中的各变量名前必须加上中的各变量名前必须加上“&”符号。符号。 如果如果“格式控制字符串格式控制字符串”中除了格式声明外还有其它字符,中除了格式声明外还有其它字符,则在输入时在对应位置上应输入与这些字符相同的字符。则在输入时在对应位置上应输入与这些字符相同的字符。 例如:例如: scanf(“%d%d”,&x,&
24、amp;y); scanf(%d%d,x, y); 例如:例如: scanf(a=%d,b=%d,&a,&b); 输入时应按照下面的格式进行输入:输入时应按照下面的格式进行输入: a=5,b=9 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构scanf函数使用说明函数使用说明若若scanf函数中有不同类型的数据输入时,要注意数据的输函数中有不同类型的数据输入时,要注意数据的输入格式。若输入项是数值型数据,各输入项之间可以使用空入格式。若输入项是数值型数据,各输入项之间可以使用空格、制表符(格、制表符(Tab)和回车隔开。)和回车隔开。 例如:例如
25、:scanf(%d%d,&x,&y); 下面的输入格式都是正确的下面的输入格式都是正确的 59 (表示空格,表示空格, 表示回车)表示回车)59 (中间使用制表符)(中间使用制表符)5 9 例如:例如:scanf(%f%c%c%c,&f,&ch1,&ch2,&ch3); 若输入若输入12.5ABC ,则,则ch1、ch2和和ch3的的值分别是值分别是“”,“A”和和“” 若输入项中包含字符型数据,空格和回车等都作为有效字若输入项中包含字符型数据,空格和回车等都作为有效字符。输入时一定要注意,否则得不到正确的结果。符。输入时一定要注意,否则得不到正
26、确的结果。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构顺序结构程序举例顺序结构程序举例输入三角形的三条边,编写程序求三角形的面积(保输入三角形的三条边,编写程序求三角形的面积(保留留2位小数)。位小数)。 #include #include int main() float a,b,c,s,area; printf(请输入三角形的三条边:请输入三角形的三条边:n); scanf(%f%f%f,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(三角形的面积:三角形
27、的面积:area=%.2fn,area); /保留两位小数保留两位小数 return 0;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构循环结构循环结构顺序结构顺序结构本章小结本章小结C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构选择结构选择结构 选择结构用于根据条件的成立与否选择下一步要选择结构用于根据条件的成立与否选择下一步要执行的动作,可以从两种或多种候选动作中选择一种执行的动作,可以从两种或多种候选动作中选择一种执行。执行。C语言中的选择语句可以根据表达式的值选择语言中的选择语句可以根据表达式的值选择要执行的分支语句,从而
28、实现流程控制。要执行的分支语句,从而实现流程控制。 C语言中,提供两种选择语句实现流程的控制:语言中,提供两种选择语句实现流程的控制:if语句语句单分支选择,也可以通过一系列嵌套的单分支选择,也可以通过一系列嵌套的if-else语句实现多分支选择。语句实现多分支选择。switch语句语句多分支选择,其中表达式的值与一组常多分支选择,其中表达式的值与一组常量比较。量比较。C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构简单简单if语句语句简单简单if语句的一般形式为:语句的一般形式为: if (表达式表达式) 语句段语句段 例如:例如:if (xy) printf(
29、xy); if语句括号中的表达式一般是关系表达式或逻语句括号中的表达式一般是关系表达式或逻辑表达式,也可以是其它表达式。辑表达式,也可以是其它表达式。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构简单简单if语句举例语句举例通过键盘输入三个整数通过键盘输入三个整数a、b、c,按从小到大的,按从小到大的顺序输出这三个整数。顺序输出这三个整数。 #include int main() int a,b,c,temp; printf(请输入三个整数:请输入三个整数:n); scanf(%d%d%d,&a,&b,&c); if(ab) temp=
30、a; a=b; b=temp; if(ac) temp=a; a=c; c=temp; if(bc) temp=b; b=c; c=temp; printf(三个整数按从小到大的排序结果为:三个整数按从小到大的排序结果为:n); printf(%5d%5d%5dn,a,b,c); return 0;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构if-else语句语句if-else语句的一般形式为:语句的一般形式为: if (表达式表达式) 语句段语句段 1 else 语句段语句段2例如:例如:if (xy) printf(xy); else printf(x=y
31、); C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构if-else语句举例语句举例求两个数值之间的最小值。求两个数值之间的最小值。 #include int a,b; int min1,min2; printf(请输入两个整数值:请输入两个整数值:); scanf(%d%d, &a,&b); if(ab) /用用if语句得到最小值语句得到最小值 min1 = b; else min1 = a; min2 = (ab)?b:a; /用条件运算得到最小值用条件运算得到最小值 printf(if语句求出的语句求出的a、b中的最小值为:中的最小值为:%d
32、n, min1); printf(条件表达式求出的条件表达式求出的a、b中的最小值为:中的最小值为:%dn, min2); return 0;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构 if 语句的嵌套语句的嵌套 在在if-else语句中可以执行一条语句语句中可以执行一条语句,也可以包含任,也可以包含任何有效的何有效的C语言语句块语言语句块,当该语句块又是一个,当该语句块又是一个if-else语语句时句时,则形成了,则形成了if-else语句的嵌套。使用嵌套的语句的嵌套。使用嵌套的if-else语语句可以实现按照不同条件选择两个以上的分支流程。句可以实现按照
33、不同条件选择两个以上的分支流程。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构if 语句的嵌套举例语句的嵌套举例从键盘输入一个从键盘输入一个x的值,编写程序计算下列的值,编写程序计算下列函数的值。函数的值。#include int x,y; printf(请输入请输入x的值:的值:); scanf(%d,&x); if(x=0) if(x0) y=-1+3*x; else y=-1; else y=-1+2*x; printf(函数值函数值y=%dn,y); return 0; C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制
34、结构if 语句的嵌套说明语句的嵌套说明else总是与总是与if成对出现。可以单独使用成对出现。可以单独使用if语句,但是不能单语句,但是不能单独使用独使用else语句。语句。 else总是与它上面最近的未配对的总是与它上面最近的未配对的if匹配。匹配。 例如:例如: y=-1+2*x; if(x!=0) if(x0) y=-1+3*x; else y=-1; C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构 printf, scanf函数的使用; putchar, getchar函数; %的应用 if-elseC语言程序设计语言程序设计 第第3章章 C语言的基本控
35、制结构语言的基本控制结构printf函数应用举例函数应用举例#include int main() short a=2, c=-6, d=32768; unsigned short m=65535; int b=32768; float f=29.3683; double x=1.583, y=0.992; char ch=B; printf(a=%hd, a=%4hdn,a,a); printf(b=%d, b=%-10d, b=%4dn,b,b,b); printf(c=%hd, c=%ho, c=%hx, c=%hun,c,c,c,c); printf(d=%hd, d=%ho, d=%
36、hx, d=%hun,d,d,d,d); printf(m=%hd, m=%ho, m=%hx, m=%hun,m,m,m,m);C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构printf函数应用举例函数应用举例 printf(f=%f, f=%6.2f, f=%6f, f=%dn,f,f,f,f); printf(ch=%c, ch=%dn,ch,ch); printf(n%6.2f,x); printf(n+%5.2f,y); printf(n-); printf(n%6.2fn,x+y); return 0;注意:注意:printf函数中参数列表中的对象必
37、须与格式控制函数中参数列表中的对象必须与格式控制命令的个数和类型一一对应,两者如果不匹配则无法命令的个数和类型一一对应,两者如果不匹配则无法输出正确结果。输出正确结果。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构if 语句的嵌套说明语句的嵌套说明常用的常用的if-else语句嵌套,其嵌套的一般形式是:语句嵌套,其嵌套的一般形式是:if(表达式表达式1) 语句段语句段1else if(表达式表达式2) 语句段语句段2else if(表达式表达式3) 语句段语句段3 else if(表达式表达式n) 语句段语句段nelse 语句段语句段n+1 这种嵌套形式又称作
38、这种嵌套形式又称作elseif结构。结构。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构elseif结构举例结构举例编写程序判定学生成绩,实现从键盘输入一个百分制的成编写程序判定学生成绩,实现从键盘输入一个百分制的成绩,输出相应的等级:优(绩,输出相应的等级:优(90score100)、良)、良(80score90)、中等()、中等(70score80)、及格)、及格(60score70)、差()、差(score60)。)。 #include int score; printf(请输入学生的成绩:请输入学生的成绩:); scanf(%d,&score)
39、; if(score100) printf(输入的成绩非法输入的成绩非法n); else if(score60) printf(该学生的成绩类别为:差该学生的成绩类别为:差n);C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构elseif结构举例结构举例 else if(score70) printf(该学生的成绩类别为:及格该学生的成绩类别为:及格n); else if(score80) printf(该学生的成绩类别为:中等该学生的成绩类别为:中等n); else if(score90) printf(该学生的成绩类别为:良该学生的成绩类别为:良n); els
40、e printf(该学生的成绩类别为:优该学生的成绩类别为:优n); return 0;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构多分支选择结构多分支选择结构switch语句语句 switch语句又称为开关语句语句又称为开关语句 ,是,是C语言提供的专语言提供的专门用于处理多分支结构的条件选择语句门用于处理多分支结构的条件选择语句 。switch语句的一般形式:语句的一般形式: switch (表达式表达式) case 常量表达式常量表达式1: 语句段语句段1 break; case 常量表达式常量表达式2: 语句段语句段2 break; case 常量表达
41、式常量表达式n: 语句段语句段n break; default : 语句段语句段n+1 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构switch语句的执行过程语句的执行过程计算表达式的值计算表达式的值若表达式的值等于某个若表达式的值等于某个case后常量表达式的值,则程序后常量表达式的值,则程序控制转向该控制转向该case后面的语句。后面的语句。 若没有与表达式值相同的值,则执行若没有与表达式值相同的值,则执行default后面的语句后面的语句 。C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构switch语句说明语句说明swit
42、ch后面的表达式类型只能是后面的表达式类型只能是整型、字符型或枚举型整型、字符型或枚举型。 case后面的常量表达式必须是与表达式相对应的整型、字后面的常量表达式必须是与表达式相对应的整型、字符型或枚举型常量,符型或枚举型常量,不能是变量和表达式不能是变量和表达式,并且,并且case和常量和常量表达式之间要有空格表达式之间要有空格。 每一个每一个case后面的常量表达式的值必须互不相同,否则会后面的常量表达式的值必须互不相同,否则会出现互相矛盾的现象。出现互相矛盾的现象。 语句段可以是简单语句也可以是复合语句,且大括号可以语句段可以是简单语句也可以是复合语句,且大括号可以省略。省略。 C语言程
43、序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构switch语句说明语句说明如果表达式的值与所有常量表达式的值都不匹配,就执行如果表达式的值与所有常量表达式的值都不匹配,就执行default后面的语句。如果没有后面的语句。如果没有default,则流程转到,则流程转到switch语语句的下一个语句。句的下一个语句。 case和和default可以出现在任何位置,其前后次序不影响执可以出现在任何位置,其前后次序不影响执行结果行结果 。 若语句段中若语句段中break语句,执行完此语句段后,终止语句,执行完此语句段后,终止switch的的执行。否则,流程控制转到下一个执行。否
44、则,流程控制转到下一个case(包括(包括default)中的)中的语句继续执行。语句继续执行。 case提供了执行某一语句段的入口,起着标号的作用;多提供了执行某一语句段的入口,起着标号的作用;多个个case可以执行同一语句段。可以执行同一语句段。 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构switch语句应用举例语句应用举例编写程序判定学生成绩,实现从键盘输入一个百分制编写程序判定学生成绩,实现从键盘输入一个百分制的成绩,输出相应的等级:优(的成绩,输出相应的等级:优(90score100)、良)、良(80score90)、中等()、中等(70score
45、80)、及格)、及格(60score70)、差()、差(score60)。)。 #include int score; printf(请输入学生的成绩:请输入学生的成绩:); scanf(%d,&score); if(score100) printf(输入的不是一个合理百分成绩输入的不是一个合理百分成绩n); return 0; switch(score/10) C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构switch语句应用举例语句应用举例 case 0: case 1: case 2: case 3: case 4: case 5: printf(
46、学生成绩为:差学生成绩为:差n); break; case 6: printf(学生成绩为:及格学生成绩为:及格n); break; case 7: printf(学生成绩为:中等学生成绩为:中等n); break; case 8: printf(学生成绩为:良学生成绩为:良n); break; case 9: case 10: printf(学生成绩为:优学生成绩为:优n); break; return 0;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构选择结构应用举例选择结构应用举例输入一个年份,判断该年是否为闰年。输入一个年份,判断该年是否为闰年。 #in
47、clude int year,leap; printf(请输入年份:请输入年份:); scanf(%d,&year); if(year%4=0) /能被能被4整除整除 if(year%100=0) if(year%400=0) leap=1; /能被能被400整除整除 else leap=0; /能被能被100整除,不能被整除,不能被400整除整除 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构选择结构应用举例选择结构应用举例 else leap=1; /能被能被4整除,不能被整除,不能被100整除整除 else leap=0; /不能被不能被4整除整除
48、 if(leap) printf(%d年是闰年年是闰年n,year); else printf(%d年不是闰年年不是闰年n,year); return 0; 判断闰年的条件是判断闰年的条件是:year能被能被400整除或者整除或者year能被能被4整除,但整除,但不能被不能被100整除,就是闰年,则可通过逻辑运算将条件组合判断,整除,就是闰年,则可通过逻辑运算将条件组合判断,程序修改如下:程序修改如下:C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构选择结构应用举例选择结构应用举例#include int year,leap; printf(请输入年份:请输入年份
49、:); scanf(%d,&year); if(year%4=0&year%100!=0|year%400=0) printf(%d年是闰年年是闰年n,year); else printf(%d年不是闰年年不是闰年n,year); return 0;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构选择结构应用举例选择结构应用举例编写程序,实现四则运算的简单计算器功能。编写程序,实现四则运算的简单计算器功能。 #include float a,b; char oper; /定义操作符定义操作符 printf(输入输入a、运算符和、运算符和b:n);
50、scanf(%f%c%f,&a,&oper,&b); printf(运行结果为:运行结果为:n); printf(%.2f%c%.2f=,a,oper,b); switch(oper) case +: printf(%.2fn,a+b); break; case -: printf(%.2fn,a-b); break; case *: printf(%.2fn,a*b); break; case /: printf(%.2fn,a/b); break; return 0;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构选择结构选择结构顺序结
51、构顺序结构本章小结本章小结C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构循环结构循环结构 在解决实际问题时,程序中除了使用前面介绍的在解决实际问题时,程序中除了使用前面介绍的输入、输出和分支选择语句外,还需要重复执行相同输入、输出和分支选择语句外,还需要重复执行相同的某些操作,的某些操作,C语言提供了三种循环语句:语言提供了三种循环语句:while语句、语句、do-while语句和语句和for语句。语句。 构成循环的基本要素构成循环的基本要素 循环控制表达式及循环控制变量循环控制表达式及循环控制变量 循环体语句循环体语句初始条件设置语句初始条件设置语句循环变量修
52、改语句循环变量修改语句C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构while语句语句 while循环也称为当型循环,当型循环的特点是循环也称为当型循环,当型循环的特点是“先判断再执行先判断再执行”,即首先判断循环控制表达式,当,即首先判断循环控制表达式,当循环控制表达式为真时,程序控制流执行循环体语句,循环控制表达式为真时,程序控制流执行循环体语句,直到循环条件不成立为止。直到循环条件不成立为止。 while语句的一般形式是:语句的一般形式是: while (表达式表达式) 语句语句C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构
53、while语句应用举例语句应用举例输入两个整数,采用输入两个整数,采用“辗转相除法辗转相除法”求这两个数的最大求这两个数的最大公约数。公约数。 #include int m,m1,n,n1,r; printf(请输入两个正整数请输入两个正整数m和和n:n); scanf(%d%d,&m,&n); m1=m; n1=n; /保留保留m和和n的值的值 r=m%n; while(r!=0) m=n; n=r; r=m%n; printf(正整数正整数%d和和%d的最大公约数是:的最大公约数是:%dn,m1,n1,n); return 0;C语言程序设计语言程序设计 第第3章章 C语言
54、的基本控制结构语言的基本控制结构dowhile语句语句 dowhile循环也称为直到型循环,直到型循环的循环也称为直到型循环,直到型循环的特点是特点是“先执行,后判断先执行,后判断”。即先执行循环体,再判。即先执行循环体,再判断循环条件是否成立,如果循环条件为真则继续执行断循环条件是否成立,如果循环条件为真则继续执行循环体,直到循环条件变为假。循环体,直到循环条件变为假。 dowhile语句的一般形式是:语句的一般形式是: do 语句语句 while (表达式表达式);C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构dowhile语句应用举例语句应用举例用公式用公
55、式 求求的近似值,直到的近似值,直到最后一项的绝对值小于最后一项的绝对值小于10-6为止。为止。 #include #include int sign=1; float n,term,pi; pi=0; term=1; n=1; /变量赋初值变量赋初值 do pi+=term; n=n+2; sign=-sign; term=sign/n; while(fabs(term)=1e-6); pi*=4; printf(pi=%fn,pi); return 0;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构for语句语句 C语言提供的语言提供的for循环语句使用很灵
56、活,既可以用于已循环语句使用很灵活,既可以用于已知循环次数的情况,也可以用于循环次数不确定而只有循知循环次数的情况,也可以用于循环次数不确定而只有循环结束条件的情况,可以代替环结束条件的情况,可以代替while和和dowhile循环。循环。 for语句的一般形式是:语句的一般形式是: for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构for语句执行流程语句执行流程(1)计算)计算 的值。的值。(2)计算)计算的值,若为真(非的值,若为真(非0),则执行循环体,),则执行循环体,然后转向第(然后转向第(3
57、)步。若为假()步。若为假(0)则转向第()则转向第(5)步。)步。 (3)执行循环体)执行循环体 (4)计算)计算的值,然后转向第(的值,然后转向第(2)步。)步。 (5)结束循环,执行)结束循环,执行for循环后的语句。循环后的语句。 for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构for语句应用举例语句应用举例利用利用for语句求语句求1100之间的和。之间的和。 #include int i,sum=0; for(i=1;i=100;i+) sum+=i; printf(sum=%dn,sum
58、); return 0;for语句最容易理解、最常用的形式是:语句最容易理解、最常用的形式是: for(循环变量赋初值循环变量赋初值;循环条件循环条件;循环变量增值循环变量增值) 循环体循环体 C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构 顺序结构 选择结构 循环结构C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构main()int num=0;while(num=1;i-)m=(m+1)*2;printf(“m=%dn”,m);C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构for语句使用说明语句使
59、用说明可以将可以将for语句的形式改写成语句的形式改写成while语句的形式。语句的形式。 for语句中的表达式语句中的表达式1、表达式、表达式2、表达式、表达式3每一个都可以省略,每一个都可以省略,甚至三个表达式都可以同时省略,但是起分隔作用的甚至三个表达式都可以同时省略,但是起分隔作用的“;”不不能省略。能省略。 for(;) printf(%dn,i);等价于:等价于: while(1) printf(%dn,i);C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构for(表达式表达式1;表达式表达式2;表达式表达式3) 语句语句 改成改成while语句:语句
60、:表达式表达式1;while(表达式表达式2) 语句语句 表达式表达式3;for(i=1;i=100;i+) sum+=i; 改成改成while语句:语句:i=1;while(i=100) sum+=i; i+3;如果省略表达式如果省略表达式1,表示不在,表示不在for语句中给循环变量赋初值,语句中给循环变量赋初值,为了能正常执行循环,应在为了能正常执行循环,应在for语句前给循环变量赋初值。语句前给循环变量赋初值。 例如:例如: fac=1.0; i=1; for(;i=n;i+)fac=fac*i;C语言程序设计语言程序设计 第第3章章 C语言的基本控制结构语言的基本控制结构例如:例如: for(i=1,fac=1.0;i+) /省略表达式省略表达式2 fac=fac*i;if(i=n) break; /终止循环终止循环 for语句使用说明语句使用说明如果省略表达式如果省略表达式2,即不存在判断循环终止的条件,也就是,即不存在判断循环终止的条件,也就是认为表达式认为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 链轮制造工岗中应急处理考核试卷含答案
- 下料工岗位安全生产能力考核试卷含答案
- 乙苯装置操作工岗中班组协作考核试卷含答案
- 刨花板工岗位专业综合考核试卷含答案
- 飞机无线电设备安装调试工安全生产能力水平考核试卷含答案
- 2026河北邢台清河县中心医院公开选聘工作人员15名考试参考题库及答案详解
- 2026重庆市綦江区医疗保障局公益性岗位招聘2人笔试模拟试题及答案详解
- 2026四川德阳裕兴公共交通有限责任公司第一次招聘31人考试参考题库及答案详解
- 2025年民和回族土族自治县人民医院医护人员招聘考试题库及答案详解
- 铅山县城市管理局公开选调工作人员考试模拟试题及答案详解
- 23暴风雨来临之前课件
- 2026年上海市闵行区社区工作者招聘考试参考试题及答案解析
- 预防接种工作规范解读2023版
- 统一消息中心行业解决方案
- 中国皮炎湿疹类疾病诊疗指南(2026版)
- 大学美育01大学美育
- 人文关怀在肿瘤护理中的作用
- 2026届西藏自治区拉萨市城关区拉萨中学数学高一下期末检测试题含解析
- GMP 药品生产质量管理规范培训课件
- 酒店维修保养合同协议
- (2025年)《三级综合医院评审标准细则》考核试题附答案
评论
0/150
提交评论