[工学]C语言练习题3

上传人:沈*** 文档编号:146658334 上传时间:2022-08-31 格式:DOC 页数:270 大小:6.30MB
收藏 版权申诉 举报 下载
[工学]C语言练习题3_第1页
第1页 / 共270页
[工学]C语言练习题3_第2页
第2页 / 共270页
[工学]C语言练习题3_第3页
第3页 / 共270页
资源描述:

《[工学]C语言练习题3》由会员分享,可在线阅读,更多相关《[工学]C语言练习题3(270页珍藏版)》请在装配图网上搜索。

1、269第一章 绪论1.1语言的发展及特点1.2程序的基本结构习 题一、选择题1.1 在每个C程序中都必须包含有这样一个函数,该函数的函数名为A#) main B) MAIN C) name D) function1.2 以下叙述不正确的是A#) C程序书写格式规定,一行内只能写一个语句;B) main( )函数后面有一对花括号,花括号内的部分称为函数体;C) 一个C程序必须有main( )函数;D) C规定函数内的每个语句以分号结束;1.3 C语言程序的基本单位是()。A#)函数 B)过程 C)子程序 D)子例程1.4 一个C程序的执行是从 。A) 本程序的main函数开始,到main函数结束

2、B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D#) 本程序的main函数开始,到本程序文件的最后一个函数结束1.5 以下叙述不正确的是 。A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D#) 在C程序中,注释说明只能位于一条语句的后面1.6 一个C语言程序是由 。A)一个主程序和若干个子程序组成B#) 函数组成C) 若干过程组成D) 若干子程序组成二、判断题1.7 一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。F1.8 ma

3、in函数必须写在一个C程序的最前面。 F1.9 一个C程序可以包含若干个函数。 T1.10 C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。 T1.11 C程序的注释只能是一行。 F三、编程题1.12 上机运行本章三个例题,熟悉使用Turbo C 2.0编译和运行一个程序的步骤。1.13 试编写一个C程序,输出两个数的乘积。第二章 基本数据类型、运算符和表达式2.1 C语言的数据类型C语言包括以下一些数据类型。 2.2 标识符、常量和变量C语言规定,标识符只能由字母、数字、下划线“_” 三种字符组成,并且第一个字符只能是字母或下划线,数字不

4、能作为标识符的第一个字符。习 题一、选择题2.1 以下不合法的用户标识符是A ) f2_G3 B) If C#) 4d D )_8 2.2 以下选项中合法的用户标识符是A) long B )_2Test C#) 3Dmax D )A.dat 2.3 以下不是关键字的标识符是A )continue B) char C) If D#) default 2.4 C语言提供的合法数据类型为A) 复数型 B) 逻辑型 C#) 双精度型 D) 集合型 2.5 以下选项中不合法的int整型常数是A#) 32768 B) -56 C) 03 D) 0xAF2.6 下列字符串中,可以作为“字符串常量”的是A)

5、ABC B#)ABC C)abc D) a2.7 以下字符串中,合法的长整型常数是A#) 0L B) 4962710 C) 0.054838743 D) 2.1869e102.8 在下面的运算符中,优先级最高的运算符是A) % B) & C) D#) !2.9 逗号表达式(x=2*3,x+8,x+12),x+x的值是A)6 B)26 C#)52 D)122.10 设int n=6;表达式n%=n+=n-=n*n的值为 A)10 B)0 C)12 D#)6 2.11 TURBO C中 ,int 类型变量所占字节数是A)1 B#)2 C)3 D)42.12 在 C语言中,下列合法的字符常量是A)0

6、39 B#)x76 C)ab D)o二、填空题 2.13 下列程序执行后的结果是_70_。main( ) int x=f ;printf(%dn,A-a+x);2.14 把a1、a2定义成长整型变量的定义语句是int a1,a2。2.15在C语言中,实型变量分为两种类型,它们是_float_double flaot_。2.16已有定义:int x; float y;double z;,则计算表达式:x+y*z后,所得数据的类型是_float_。2.17已有定义:float f=13.8;,则表达式:(int)f3的值是_。2.18 若s是int型变量,且s6,则下面表达式的值为_。s%2+(s

7、+1)%22.19 若a是int型变量,则计算下面表达式后a的值为_。 a=25/3%32.20 若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为_,n的值为_。x+=n+2.21 若有定义:char c=010;则变量c中包含的字符个数为_。2.22 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为_。 (x+y)%2+(int)a/(int)b2.23 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式的值为_。ch=a+8-3 三、分析以下程序运行结果。 2.24main ( )int a,b,x,y;a=

8、5;b=7; x=+a; y=b+; printf(“%d,%d,%d,%d”,a,b,x,y);四、简答题2.25 假设m是一个三位数,写出将m的个位,十位,百位反序而成的三位数(例如:123反序为321)的C语言表达式。2.26 已知int x=10,y=12;写出将x和y的值互相交换的表达式。 第三章 顺序结构3.1 格式输入与输出3.1.1 printf函数(格式输出函数)printf格式控制字符格式字符说 明d,i以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀0x)u以十进制形式输出无符号整数f以

9、小数形式输出单、双精度实数,隐含输出6位小数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串在格式命令的和格式控制字符之间可以加上一些任选的修饰符,用来对输出格式作进一步的限定。这些修饰符如下所示:附加格式说明符(修饰符)修饰符功 能例 子m输出数据域宽度,数据长度m,左补空格;否则按实际输出%4d:表示输出至少占4列.n对于实数:指定小数点后小数位数(四舍五入)%6.2f:表示输出2位小数对于字符串:表示只输出字符串的前n 个字符%.3s:表示输出字符串前3个字符输出数据在域内左对齐(缺省右对齐)%16d:表示输出数据左对齐+输

10、出有符号正数时,在其前面显示正号(+)%+d:表示输出整数的正号0输出数值时,指定左边不使用的空位置自动填0%08d:表示输出十进制整数,不足8位时左补0#对于无符号数:在八进制和十六进制数前显示前导0,0x或0X%#X:表示输出的十六进制前显示前导0Xl在d、o、x、u前,指定输出为long int型%ld:表示输出长整型数在e、f、g前,指定输出精度为double型(缺省也为double)%lf:表示输出为double型数。 3.1.2 scanf函数(格式输入函数)scanf函数的格式控制符格式控制符字符意义d,i输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数f或

11、e输入实型数(用小数形式或指数形式)c输入单个字符s输入字符串使用scanf函数注意事项 :(1) 如果相邻两个格式控制符之间,不指定数据分隔符(如逗号、冒号等),则相应的两个输入数据之间,至少用一个空格分隔,或者用Tab键分隔,或者输入一个数据后,按回车,然后再输入下一个数据。例如: scanf (%d%d, &a, &b);假设给a输入2,给b输入6,则正确的输入操作为:2 6 或者 2 6 (2) 格式控制字符串中出现的常规字符(包括转义字符),务必原样输入。 例如:scanf (%d:%d:%d, &h, &m, &s); 假设要给h输入12,给m输入30,给s输入10,正确的输入操作

12、应为: 12:30:10 3.2 字符数据的输入输出 3.2.1 putchar函数(字符输出函数)3.2.2 getchar函数(字符输入函数)3.3 复合语句和空语句1、复合语句。可以用 把一些语句括起来成为复合语句。复合语句的语句形式如下: 语句1;语句2; ; 语句n; 习 题一、选择题3.1 定义变量如下:int x; float y;则以下哪一个输入语句是正确的A)scanf(“%f%f”,&x,&y); B)scanf(“%f%d”,&x,&y);C)scanf(“%f%d”,&y,&x); D)scanf(“%5.2f%2d”,&x,&y);3.2 putchar函数可以向终端

13、输出一个A)字符或字符变量的值 B)字符串C)实型变量 D)整型变量的值3.3 下列叙述正确的是( )。A)赋值语句中的“=”是表示左边变量等于右边表达式B)赋值语句中左边的变量值不一定等于右边表达式的值C)赋值语句是由赋值表达式加上分号构成的D)x+=y;不是赋值语句3.4 执行下列程序片段时输出结果是unsigned int a=65535;printf(“%d”,a);A)65535 B)1 C)32767 D)13.5 对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按那一种方式输入数据。int k1,k2,k3,k4;scanf(“%d%d”,&k1,&k2)

14、;scanf(“%d,%d”,&k3,&k4);A)1020 B)10 20 C)10,20 D)10 201020 10 20 10,20 10,203.6 执行下列程序片段时的输出结果是int x=13,y=5;printf(“%d”,x%=(y/=2);A)3 B)2 C)1 D)03.7 下列程序的输出结果是main ( ) int x=023;printf(“%d”,-x);A)17 B)18 C)23 D)243.7已有如下定义和输入语句,若要求a1、a2、c1、c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的输入方式是int a1,a2; char c1,c2;

15、scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);A)1020AB B)10 20 C)10 20 AB D)10 20AB AB3.8 若定义x为double型变量,则能正确输入x值的语句是A)scanf(“%f”,x); B)scanf(“%f”,&x);C)scanf(“%lf”,&x); D)scanf(“%5.1f”,&x);3.9 若运行时输入:12345678,则下列程序运行结果为。main ( ) int a,b; scanf(“%2d%2d%3d”,&a,&b); printf(“%dn”,a+b);A)46 B)579 C)5690 D

16、)出错3.10有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量 a的值为1,b的值为3,c的值为2,则正确的数据输入方式是 。A)132 B)1,3,2C)a=1 b=3 c=2 D)a=1,b=3,c=2二、填空题3.11 一个C程序由若干个_文件组成,而一个这样的文件可以由若干个_ 组成。3.12 一个表达式要构成一个C语句,必须_。3.13 复合语句是用一对_界定的语句块。3.14 printf函数和scanf函数的格式说明都使用_字符开始。3.15 scanf处理输入数据时,遇到下列情况时该数据认为结束:(1)_,(2)_ ,(3)_。3.16 C

17、语言本身不提供输入输出语句,其输入输出操作是由_ 来实现的。3.17一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令_。三、程序阅读题3.18 用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=A,c2=a,问在键盘上如何输入?main ( ) int a,b; float x,y;char c1,c2; scanf(“a=%d b=%d”,&a,&b); scanf(“ %f %e”,&x,&y);scanf(“ %c%c”,&c1,&c2);3.19 写出以下程序的输出结果。main ( ) int a=12345;float b=-

18、198.345, c=6.5;printf(“a=%4d,b=%-10.2e,c=%6.2fn”,a,b,c);3.20写出下列程序的输出结果main()int x=12; printf(“%d,%o,%x,%u,”,x,x,x,x);3.21写出下列程序的输出结果main()printf(“*n*n*n*n”);3.22写出下列程序的输出结果main()char x=a,y=b; printf(“%e%cn”,x,y); printf(“x=%3x,%-3xn”,x,x); 四、编程题3.23已知一名学生的三门课程考试成绩,计算他总成绩和平均成绩。试编写程序,并画出算法的N-S结构图。 3.

19、24 从键盘上输入公里数,将其转换成米。试编写程序,并画出算法的N-S结构图。3.25 根据商品的原价和折扣率,计算商品的实际售价。试编写程序,并画出算法的N-S结构图。第四章 选择结构程序总是为解决某个实际问题而设计的,而问题往往包含多个方面,不同的情况需要有不同的处理,所以选择结构在我们的实际应用程序中可以说是无处不在,离开了选择结构很多情况将无法处理。C语言提供了可以进行逻辑判断的选择语句,由选择语句构成的选择结构,将根据逻辑判断的结果决定程序的不同流程。 4.1 关系运算符和关系表达式4.1.1 关系运算符在程序中经常需要比较两个数据的大小关系,以决定程序下一步的工作。比较两个数据的运

20、算符称为关系运算符。 在语言中有以下关系运算符: 小于 大于 = 大于或等于 = = 等于 != 不等于关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,、=的优先级相同,高于= =和!=,= =和!=的优先级相同。例:ca+b 等价于c(a+b) ab!=c 等价于 (ab)!=c a= =bc 等价于a= =(bc 等价于 a=(bc)4.1.2 关系表达式用关系运算符将两个表达式(算术表达式或关系表达式,逻辑表达式,赋值表达式,字符表达式)连接起来的式子,称关系表达式。关系表达式的一般形式为:表达式 关系运算符表达式例如:

21、a - bc +dxy+6b+2b)= =c都是合法的关系表达式。关系表达式的值是真”和“假”,用“1”和“0”表示。如72的值为“真”,即为1。 3b /* 表达式值为1 */(ab)=c /* 表达式值为1 */b+cb /* d = 1 */f=abc /* f = 0 */(a=3)(b=5) /* 由于35不成立,故其值为假,即为0*/关系表达式通常用于C程序设计的逻辑判断语句的条件表达式中。使用关系表达式要注意以下几点:(1)C语言中,非0值即为“真”,0值即为 “假”;(2)运算符= 、= =、!=、y & mn 等价于 (xy)&(mn)!b= =c|ad 等价于 (!b)=

22、=c)|(ad)a-bc&x+yz 等价于 (a-b)c)&(x+y)3 & 82 由于63为真,82为真,与运算的结果也就为真。48|52 由于48为假,52为真,或运算的结果也就为真。!(91) 由于91为真,非运算的结果也就为真。虽然编译系统在给出逻辑运算值时,以“1”代表“真”,“0 ”代表“假”。 但在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。即将一个非零的数值作为“真”。例:a = 4; b = 5;!a /* 值为0 */a & b /* 值为1*/a | b /* 值为1*/!a | b /* 值为1*/4 & 0 | 2 /* 值为1

23、 */5 3 & 2 | 8 b) & (n = c d) 运行结果:m = 0, n = 14.3 if 语句 if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)来选择执行相应的操作。4.3.1 if语句的三种形式1不含else子句的if语句语句形式为:if(表达式) 语句该语句执行过程为:如果表达式的值为真,则执行其后的if 子句,然后去执行if语句后的下一个语句。否则跳过if 子句,直接执行if语句后的下一个语句。其过程可表示为图4-3。 图4-3例如:(1) if (xy) printf(“%d”,x); /*如果xy,则输出x */(2) if (ab) t=a;a=b

24、;b=t; /*如果ab,则将a、b相互交换 */if是C语言的关键字,表达式两侧的括号不可缺少,如果在条件成立时需要执行多条语句,则应该使用花括号把一组语句括起来组成复合语句,它等效于一条语句。例4.1 输入两个整数,输出其中的小数。#include “stdio.h”main() int x,y,min; printf(n input two numbers: );scanf(%d%d,&x,&y);min=x; if ( y=A & ch=A & ch=Z)是判断ch是否是大写字母,如果是就将ch加32,转换成小写字母,否则不转换。2. ifelse语句语句形式为:if(表达式) 语句1

25、else 语句2该语句执行过程为:如果表达式的值为真,则执行其后的语句1,否则执行else后的语句2。无论如何,对于一次条件判断,语句1和语句2只能有一个被执行,不能被同时执行。这里的语句1和语句2可以是一条语句,也可以是用花括号括起来的复合语句。其执行过程可表示为图4-4。 图4-4例如:下面的程序段同样是输出两个整数中的小数。int x,y,min ;printf(n input two numbers: );scanf(%d%d,&x,&y);if (x y) printf (min = %dn, x);else printf (min = %dn,y);例4.3 输入一个数,判别它是否

26、能被7整除,若能被7整除,则输出YES,不能被7整除,则输出NO。#include “stdio.h”main() int num; printf(“input num:”); scanf(“%d”,&num); if ( num%7= =0) printf(“YES”); else printf(“NO”);运行情况:input num:21YES3、if-else-if形式。实际的程序设计中常常面对更多的选择,当有多个分支需要选择时,可采用if-else-if语句,其一般形式为:if(表达式1)语句1else if(表达式2) 语句2else if(表达式3) 语句3 else if(表达

27、式m) 语句melse 语句n其执行过程是:依次判断表达式的值,当出现某个值为真时,则执行其后对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 if-else-if语句的执行过程如图4-5所示。 图4-5例4.4从键盘上输入某个学生某一门课程的成绩。当成绩高于90分时,输出A;成绩在8089之间,输出B;成绩在7079之间,输出C;成绩在6069之间,输出D;而成绩不及格(小于60分)时输出E。程序分析:要想将成绩按等级分类,就必须将输入的成绩与对应的范围进行比较,检查其值是否在对应的范围之内。程序编写如下:#include “s

28、tdio.h”main() float score;scanf(“%f”,&score);if (score=90) printf(“A”);else if (score=80) printf(“B”);else if (score=70) printf(“C”);else if (score=60) printf(“D”);else printf(“E”);运行情况如下:88B对应于题中的ifelse if.的语句格式,也可以采用if语句处理:if (score = 90) printf(A);if (score = 80 & score = 70 & score = 60 & score

29、= 69) printf(D);if (score =0&c=A&c=a&cy) a+; b+;else a-;b-;4.3.2 if语句的嵌套在if语句中又包含一个或多个if语句称为if语句的嵌套。一般有如下形式:(1)if (表达式1) 内嵌if if(表达式2) 语句1 else 语句2else内嵌if if(表达式3) 语句3 else 语句4 (2) if (表达式1) if (表达式2) 语句1 内嵌ifelse 语句2 (3) if (表达式1) 语句1else内嵌if if(表达式2) 语句2 else 语句3 (4) if (表达式1)内嵌if if (表达式2) 语句1 e

30、lse 语句2嵌套中的if语句可能又是if-else语句,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。例如: if (表达式1) if (表达式2) 语句1 else 语句2其中的else究竟是与哪一个if配对呢?应该理解为:if (表达式1) if (表达式2) 语句1 else 语句2还是应理解为:if (表达式1) if (表达式2) 语句1 else 语句2为了避免这种二义性,语言规定,else总是与它上面的,离它最近的,未曾配对的if语句配对。因此对上述例子应按前一种情况理解。 例4.6 判断下列两个程序运行结果。 (1)#include ma

31、in ( ) int a = 1, b = -1; if (a 0) if (b 0) a+; else a-; printf (a = %dn,a); 运行结果:a = 0(2)#include main ( ) int a = 1, b = -1; if (a 0) if (b 0) a+; else a-; printf (a = %dn,a); 运行结果:a = 1实现if-else正确配对方法,可以用加 来清楚表示配对关系,避免匹配错误。例4.7 输入两数并判断其大小关系。 (1)第一种方法#include main() int x,y;printf(Enter integer x,

32、y:);scanf(%d,%d,&x,&y);if(x!=y) if(xy) printf(XYn); else printf(XYn); else printf(X=Yn);运行结果:Enter integer x,y:15,37XYEnter integer x,y:21,21X=Y选择结构判断情况如下图4-6所示 图4-6 这种方法,嵌套结构放在if语句部分。(2)第二种方法#include main() int x,y;printf(Enter integer x,y:);scanf(%d,%d,&x,&y);if(x = y) printf(X=Yn); else if(xy) pr

33、intf(XYn); else printf(Xb) max=a;else max=b;来实现。当ab时将a的值赋给max,当ab时将b的值赋给max,可以看到无论ab是否满足,都是向同一个变量赋值。可以用下面的条件表达式来处理: max=(ab)?a:b;执行该语句的语义是:如ab为真,则把a赋予max,否则把b 赋予max。使用条件表达式时,还应注意以下几点:(1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值运算符。因此max=(ab)?a:b;可以去掉括号而写为 max=ab?a:b;(2)条件运算符?和:是一对运算符,不能分开单独使用。(3)条件运算符的结合方向是自右至

34、左。例如:ab?a:cd?c:d应理解为ab?a:(cd?c:d)这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条件表达式。 (4)“表达式2”和“表达式3”不仅可以是数值表达式,还可以是赋值表达式或函数表达式。(5)条件表达式中,表达式的类型可以与表达式和表达式的类型不同,此时条件表达式的值的类型为二者中较高的类型。例如:x0?y:n /*若x0,表达式值为y; 若xy?2:3.7 /*若xy ,值为2.0; 若xy ,值为3.7*/例4.8 在小写字母转盘中,输出一小写字母的前驱和后继。#include main ( ) char ch, ch1, ch2; /*变量定义*/ ch

35、 = getchar ( ); /*读取一字符*/ putchar (n); /*换行*/ if (ch=a & ch=z) /*判断ch是否小写字母*/ ch1 = (ch = a ? z : ch 1); /*求前驱字符*/ ch2 = (ch = z ? a : ch + 1); /*求后继字符*/ printf (ch1 = %c, ch2 = %cn, ch1, ch2); /*显示结果*/运行情况:wch1 = v, ch2 = x在小写字母转盘中,a的前驱是z,z的后继是a。如下图4-8所示。 图4-84.5 switch语句语言还提供了另一种用于多分支选择的switch语句,其

36、一般形式为:switch(表达式) case常量表达式:语句 case常量表达式:语句 case常量表达式:语句 default :语句 switch语句执行过程是:计算switch后圆括号中表达式的值。并逐个与case后的常量表达式值进行比较,当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式值均不相同,则执行default后的语句。例4.9 分析下面程序运行结果。#include “stdio.h”main() int score;scanf(“%d”,&score

37、);switch(score) case 5: printf(“Very good!”);case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); 运行结果如下:3Pass! Fail! data error!本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Pass! 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch

38、语句中,“case 常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。这是与前面介绍的if语句完全不同的,应特别注意。为了避免上述情况,语言还提供了一种break语句,专用于跳出switch语句。修改例4.9的程序,在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免出现错误的结果。程序修改如下:#include “stdio.h”main() int score;scanf(“%d”,&score);switch(scor

39、e) case 5: printf(“Very good!”); break;case 4: printf(“Good!”); break; case 3: printf(“Pass!”); break; case 2: printf(“Fail!”); break; default : printf(“data error!”); break; 运行结果:3Pass! 在使用switch语句时还应注意以下几点:(1)在case后的各常量表达式的值彼此不能相同,否则会出现错误。(2)在case后,允许有多个语句,可以不用括起来。(3)switch后面的“表达式”,可以是int、char和枚举型

40、中的一种,但不可为浮点型。例如:float a, b = 4.0;scanf (%f, &a);switch ( a ) case 1: b = b + 1; break;case 2: b = b - 1; break;switch后的a是float型,所以用法是错误的。 (4)每个case后面必须是“常量表达式”,表达式中不能包含变量。 (5)多个case子句,可以共用一组执行语句。例:当a的值是1、2、3时,将b的值加2,当a的值是4、5、6时,将b的值减2,否则,将b的值乘2。程序编写如下:int a, b = 4;scanf (%d, &a);switch (a) case 1: c

41、ase 2:case 3: b += 2; break;case 4: case 5: case 6: b -= 2; break; default: b*= 2; break; printf (b = %dn, b);(6)case子句和default子句如果都带有break子句,那么它们之间顺序的变化不会影响switch语句的功能。分析如下两个程序的运行结果:例4.9#include main ( ) char ch; ch = getchar ( ); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (Yes,No or Alln); break; 例4.10#include main ( ) char ch; ch = getchar ( ); switch ( ch ) case Y : printf (Yesn); break; default : printf (Yes,No or Alln

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

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

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


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