C语言习题答案分析_第1页
C语言习题答案分析_第2页
C语言习题答案分析_第3页
C语言习题答案分析_第4页
C语言习题答案分析_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言章节复习题目录C 语言章节复习题 1第一章C语言概述2第三章 数据类型、运算符和表达式 2第四章 顺序结构程序设计 4第五章 选择结构程序设计 9第六章 循环结构程序设计 16第一章 C 语言概述一、选择题:1、一个 C 程序的执行是从( A)。A 本程序的 main 函数开始,到 main 函数结束B 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C 本程序的 main 函数开始,到本程序文件的最后一个函数结束D 本程序文件的第一个函数开始,到本程序 main 函数结束2、在 C 语言中,每个语句必须以( D )结束。A. 回车符 B. 冒号 C. 逗号 D. 分号3、C

2、语言规定:在一个源程序中,main 函数的位置( C)。A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个 C 语言程序是由( B )。A. 一个主程序和若干子程序组成 B. 函数组成C. 若干过程组成 D. 若干子程序组成5、下列说法中错误的是 (D)。A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。A. 生成可执行目标文件 B. 生成目标文件C. 输出运

3、行结果 D. 自动保存源文件二、填空题:1、C 语言只有 (32)个关键字和 ( 9)种控制语句。2、 每个源程序有且只有一个(main)函数,系统总是从该函数开始执行C语言程序。( ) 符(.obj),3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 (* ) 符号作为开始标记,以 号作为结束标记。4、 C语言中,输入操作是由库函数(scanf)完成的,输出操作是由库函数(printf)完成的。5、系统默认的 C语言源程序文件的扩展名是 (.c),经过编译后生成的目标文件的扩展名是经过连接后生成的可执行文件的扩展名是(.exe ) 。6、 C 语言的标识符只能由字母、数字和(下划线

4、 ) 三种字符组成。第三章 数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的C 语言浮点型常量是( C )。A. 160. B. 0.12 C. 2e4.2 D. 0.02、以下选项中, (D )是不正确的 C 语言字符型常量。A. a B. x41 C. 101 D. a3、在 C 语言中,字符型数据在计算机内存中,以字符的( C )形式存储。A. 原码 B. 反码 C. ASCII 码 D. BCD 码4、 若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。 x=( i=4, j=16 , k=32 )A. 4 B. 16C.32D.525、 算术运算符、赋

5、值运算符和关系运算符的运算优先级按从高到低依次为(B)。A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算6、表达式 !x|a=b 等效于 (D )。A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b)7、设整型变量 m,n,a,b,c,d 均为 1,执行 (m=ab)&(n=cd) 后, m,n 的值是( B)。A. 0, 0 B. 0, 1 C. 1, 0 D. 1, 18、设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a的值是(B)

6、。A. 3 B. 0 C. 9 D. -129、 在以下一组运算符中,优先级最低的运算符是(D)。A. * B. != C. + D. =10、设整型变量 i 值为 2,表达式 (+i)+(+i)+(+i) 的结果是 (B)。A. 6 B. 12 C. 15 D. 表达式出错11、若已定义 x 和 y 为 double 类型,则表达式 x=1, y=x+3/2 的值是 (C)。A. 1 B. 2 C. 2.0 D. 2.512、 设 a=1, b=2,c=3,d=4,则表达式:ab? a : cd? a : d 的结果为(D)。A. 4 B. 3 C. 2 D. 113、设 a 为整型变量,不

7、能正确表达数学关系: 10a15 的 C 语言表达式是 (A)。A. 10a10 & a15 D. !(a=15)14、 设 f 是实型变量,下列表达式中不是逗号表达式的是(D)。A. f= 3.2, 1.0 B. f0, f0 D. f=(3.2, 1.0)15、表达式 18/4*sqrt(4.0)/8 值的数据类型是( C)。A. int B. float C. double D. 不确定16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 C2= A +- 63后;2 中的值是(A )。A. D B. 68 C. 不确定的值 D. C17、 以下用户标识符中,合法的是

8、(B)。A. int B. nit C. 123 D. a+b18、 C 语言中,要求运算对象只能为整数的运算符是(A)。A. % B. / C. D. *19、 若有说明语句:char c=72;则变量c在内存占用的字节数是(A)。A. 1 B. 2 C. 3 D. 420、 字符串ABC在内存占用的字节数是(B)。A. 3 B. 4 C. 6 D. 821、 要为字符型变量a赋初值,下列语句中哪一个是正确的(B)。A. char a=3; B. char a= C.char a=%; D. char a=*;22、下列不正确的转义字符是( C)。A. B. C. 074 D. 0二、填空题

9、:1、 C语言中的逻辑值 真”是用1表示的,逻辑值 假”是用0表示的。2、 若x和n都是int型变量,且x的初值为12, n的初值为5,则计算表达式x%=(n%=2)后x的值 为0。3、设 c=w,a=1,b=2,d=-5,则表达式x+1c, y!=c+2,-a-5*b=d+1, b=a=2 的值为 1、0、1、1。4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4 的值为 2.5。5、 判断变量 a、b的值均不为 0的逻辑表达式为a!=0&b!=0,值为1。6、 求解赋值表达式a=(b=10)%(c=6),表达式值为 4、a、b、

10、c的值依次为1,0,6。7、 求解逗号表达式x=a=3,6*a后,表达式值为18、x、a的值依次为3,3。三、编程题:1、设长方形的高为1.5,宽为2.3,编程求该长方形的周长和面积。2、编写一个程序,将大写字母A转换为小写字母a。1.main ()float x=1.5,y=2.3;p rintf( “ area is %6.2f,x*y);2.main ()char c= A ;printf(“ d ,c+32);第四章顺序结构程序设计基础练习(A)一、填空题1、 c语句分为五种:控制语句、函数调用语句、表达式语句、空语句和一复合语句 。2、 一个基本语句的最后一个字符是。3、 复合语句又

11、称分程序,是用 括起来的语句。4、 使用C语言库函数时,要用于预编译命令#include 将有关的“头文件”包括到用户源 文件中。5、 使用标准输入输出库函数时,程序的开头要有如下预处理命令: #include 6、 a=3;c+=a-b; 在语法上被认为是 1 条语句。7、 getchar函数的作用是从终端输入 1_个字符。&如果从键盘输入字符#i nclude main () putchar(getchar();9、以下程序的输出结果为main ()并按回车键,请写出以下程序运行效果i:dec=-4,oct=177774,hex=fffc,u nsig ned=65532short i;

12、i=-4; printf(n” ,i,i,i,i);10、以下程序的输出结果为main ()*3.140000,3.142*c:dec=120,oct=170,hex=78,ASCII=xprintf(11、以下程序的输出结果为main ()“*%f,%4.3f* ,3.14,3.1415);12、已有定义char c= printf(x ;c:dec=%d,oct=%o,hex=%x,ASCII=%c n”,c,c,c,c);int d=-2;执行以下语句后的输出结果是_*d(4)=177776*d(5)=*d(1)=-2*d(2)= -2*d(3)=-2*177776*d(6)=17777

13、6*printf( “ *d(1)=%d*d(2)=%3d*d(n” ,d,d,d);printf( “ *d(4)=%o*d(5)=%7o*d(6)=% n” ,d,d,d);13、以下程序的输出结果为_x=1 y=2 *sum*=310 Squared is: 100mai n()int x=1,y=2;printf( printf(14、以下程序的输出结果为x=%d y=%d *sum*=%oh”,x,y,x+y); 10 Squared is:%d” ,10*10);(1) 123.456000(2) 123.457(3) 123.4560(4) 8765.456700(5) 口口 8

14、765.457(6) 8765.4567(7) 8765.4567-#in clude main () float a=123.456; double b=8765.4567; printf(“ (1)%f ,a);printf(“ 14.3” ,a);printf(“ 6f4” ,a);printf(“ ”f ,b);printf(“ 14.n” ,b);printf(“ 8.4” ,b);printf(“ n” ,b);二、判断题1、所谓函数体实际上就是一个复合语句。(对)2、C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。(对)3、putchar函数可以向终端输出一个整数数

15、据。(错)4、考虑到 printf和scanf函数使用频繁,系统允许在使用这两个函数时可不加#inelude命令。( 对 )5、任何表达式都可以加上分号而成为有意义的语句。(对)三、选择题1、以下不属于流程控制语句的是( A)。A)表达式语句B) 选择语句C)循环语句D)转移语句2、putchar 函数可以向终端输出一个(D )。D)字符或字符型变量值A) 整型变量表达式值B)实型变量值C)字符串3、getchar 函数的参数个数是 ( B )。A) 1B) 0C) 2D)任意4、以下程序的输出结果是 (D)。main()printf( n“*s1=%15s* ”, “chinabeijing

16、 ”); printf( n“*s2=%- 5s* ”, “chi ”);A ) *s1=chinabeijing*s2=*chi*C ) *s1=*chinabeijing*B ) *s1=chinabeijing*s2=chi *D ) *s1= chinabeijing*s2=chi*s2=chi *5、 printf 函数中用到格式符 则输出按方式 ( B )。;5s ,其中数字 5 表示输出的字符串占用如果字符串长度小于 5,则输出按方式5 列。如果字符串长度大于( C )。5,A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息

17、6、已有定义int a=-2;和输出语句:printf( “ 8lx以下正确的叙述是(D )。A)整型变量的输出格式符只有d 一种B)% x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但8lx是错误的D)%8lx 不是错误的格式符,其中数字8 规定了输出字段的宽度7、以下 C 程序正确的运行结果是 ( C )。main()long y=-43456;printf(“ y=% n” ,y);printf(“ y=% n” ,y);printf(“ y=%08nl”d ,y);printf(“ y=%+8nld” ,y);A) y=-43456B

18、) y=-43456y=- 43456y=-0043456y=-43456y=-43456y=-0043456y=+-43456C ) y=-43456y=-43456y=-0043456D ) y= -43456y=-0043456 y=00043456y=+43456y= -43456&以下C程序正确的运行结果是(D )。mai n()int y=2456;printf(printf(printf(A) y= 2456y=2456y=#2456C) y=2456y=2456y=02456y=%3” ,y);y=%8” ,y);y=%#8O ,y);B) y= 4630 y=4630y=#4

19、630D) y=4630 y= 4630 y= 04630基础练习(B)、填空题1、printf函数的作用是向终端 输出若干个任意类型的数据。2、printf函数中的“格式控制”,包括_格式说明 和 _普通字符 两种信息。3、 seanf函数中的“格式控制”后面应当是变量地址,而不是变量名。4、在用seanf函数中输入数据时,如果在“格式控制”字符传中除了格式说明以外还有其他字符,则应在对应位置输入与这些字符相同的_字符_ 。5、 在用” (格式输入字符时,空格字符和“转义字符”都作为有效字符输入_。6、 在输入数据时,遇以下情况时该数据认为结束:遇空格、或按“回车”或“跳 格”键;按指定的宽

20、度结束;遇非法输入。7、输入数据时不能规定 _精度_ 。&如果在%后有一个“ *”附加说明符,表示跳过它指定的列数 。二、选择题1、右 int a,b; seanf(A), B) 空格)作为输入的分隔符。%d%d,&a,&b);不可以用(AC)回车 D) TAB键2、 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是 ( B )。A) seanf( “ d%lx,%le ”,&x,&y,&z);B) seanf( “ 2d*%d%lf,&x,&y,&z);C) seanf( “ x%*d%”,&x,&y);D) seanf( “ x%o%6.2f,&x,&

21、y,&z);3、 已有如下定义和输入语句,若要求al , a2 , el , e2的值分别为10, 20 , A和B ,当从第一列开始输入数据时,正确的数据输入方式是(D )。int a1,a2; ehar e1,e2;scanf( “ %d%d,&a1,&a2);scanf( “ %e%c ,&e1,&c2);A) 1020ABB) 10 20ABC) 1020 ABD) 10 20AB4、阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为(D )。main ()int x,y,z;seanf( “ %d%d%d,&x,&y,&z);printf( “xn”,x+y+z);A)

22、 x+y+z=48B) x+y+z=35C) x+z=35D) 不确定值5、 已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( D )。main() int a; float f; printf( n“Input number: ” ); 输入语句printf( “n” ,f,a);Input number:4.5 2A) scanf( “ %d,%f” ,&a,&f);B) sc anf( “ %f,%d” ,&f,&a);C) scanf( “ %d%”f ,&a,&f);D) scanf( “ %f%d” ,&f,&a);6、 根据定义和数据的输入方式,输入语句的正确形式

23、为( B )。已有定义: float f1,f2; 数据的输入方式: 4.523.5A) scanf( “ %f,%f ” ,&f1,&f2);B) scanf( “ %f%f”,&f1,&f2);C) scanf( “ %3.2f %2.1f ”,&f1,&f2);D) scanf( “ %3.2f%2.1f ” ,&f1,&;f2)7、 阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是( B )。main()int x; float y;printf( “ enter x,y: ” ); 输入语句 输出语句输入形式enter x,y:2 3.4输出形式x+y=5.40A) sc

24、anf( “ %d,%f” ,&x,&y);printf( n“x+y=%4.2f ” ,x+y);B) scanf( “ %d%”f ,&x,&y);printf( n“x+y=%4.2f ” ,x+y);C )scanf( “ %d%”f ,&x,&y);printf( n“x+y=%6.1f ” ,x+y);D) scanf( “ %d%3.1f” ,&x,&y);printf( n“x+y=%4.2f ” ,x+y);8、以下说法正确的是 ( D )。A) 输入项可以为一实型常量,如scanf( “ f” ,3.5);B) 只有格式控制,没有输入项,也能进行正确输入,如scanf( “

25、a=%d,b=%c” );C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf( “%4.2f” ,&f);D) 当输入数据时,必须指明变量的地址,如scanf( “ f”,&f);9、 有输入语句:scanf( “a=%d,b=%d,c=%d ,&a,&b,&c);为使变量a的值为1, b为3,c为2,从键盘输入数据的正确形式应当是 ( D)。A) 132B) 1,3,2C) a=1 b=3 c=2D) a=1,b=3,c=210、 已有如下定义和输入语句,若要求al,a2,cl,c2的值分别为10, 20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(A )

26、。int a1,a2; char c1,c2;sea nf( “ d%c%d%c, &a1,&c1, &a2,&c2);A) 10A 20BB) 10 A 20 BC) 10A20BD) 10A20 B11、已有定义int x; float y;且执行scanf( “ 3d%”,&x,&y语句,若从第一列开始输入数据12345678,则x的值为(B ),y的值为( B )。(1) A)12345B)123C)45D) 345 A)无定值 B) 45.000000 C) 678.000000 D) 123.000000三、编程:1、编写程序,从键盘上输入三个数分别给变量a、b、c,求它们的平均值

27、。并按如下形式输出:average of *、* and * is *.* 。其中,三个 * 依次表示 a、b、c 的值,*.* 表示 a,b,c 的平均 值。2、输入9时23分并把它化成分钟后输出。(从零点整开始计算)。1、参考答案mai n () float a, b, c, t;printf( “ please in put a n” );scanf (%f, %f, %f, &a, &b, &c);t=(a+b+c)/3;printf (average of %6.2f、%6.2f and %6.2f isn” ,a,b,c,t);2、参考答案mai n () int h,m,s;pr

28、intf( “ please in put h,mn” );scanf (%d,%d, &h, & m);s=h*60+m;printf (total %dn” s);第五章选择结构程序设计基础练习(A)一、填空题1、 关系表达式的运算结果是逻辑值。C语言没有逻辑型数据,以_1_ 代表“真”,以0代 表假 。2、 逻辑运算符!是 单目运算符,其结合性是由右结合性。3、 C语言提供的三种逻辑运算符是_&、| _、. !。其中优先级最高的为 _!_ ,优先级最低的为| 。4、 逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的 数据。系统最终以 0 和非0 _来判定

29、它们属于“真”或“假”。5、设y为int型变量,请写出描述“ y是偶数”的表达式 _(y%2=0) 。6、 设x,y,z均为int型变量,请写出描述“ x或y中有一个小于z”的表达式xz|yz _ 。7、 条件“ 2x3 或 x-10 ”的 C 语言表达式是x2&x= A )&(chbc 的值是0 。10、当 a=5,b=4,c=2 时,表达式 ab!=c 的值是1 。11、 已知 A=7.5,B=2,C=3.6 ,表达式 AB&CA|AB的值是 _0_。12、若 a=6,b=4,c=2,则表达式!(a-b)+c-1 &b+c/2 的值是 1 。13、有 int x,y,z;且 x=3,y=-

30、4,z=5,则表达式(x&y)=(x|z)的值为 _ 1_ 。14、 有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为 1。!(xy)+(y!=z)|(x+y)&(y-z)15、 有int a=3,b=4,c=5,x,y;,则以下表达式的值为 _0_ 。!(x=a)&( y=b)&016、 if (!k) a=3;语句中的!k可以改写为 _ k= =0 _,使其功能不变。二、选择题1、 逻辑运算符两侧运算对象的数据类型(D )。A) 只能是0或1B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据2、 以下关于运算符优先顺序的描述中正确的是(C )

31、。A) 关系运算符 算术运算符 赋值运算符 逻辑与运算符B) 逻辑与运算符 关系运算符 算术运算符 赋值运算符C) 赋值运算符 逻辑与运算符 关系运算符 算术运算符D) 算术运算符 关系运算符 赋值运算符 逻辑与运算符3、下列运算符中优先级最高的是( B )。A)B)+C)&D)!=4、为判断字符变量 c的值不是数字也不是字母时,应采用下述表达式(D )。A) c=57&c=90&c=122B) !(c=57&c=90&c=122)C) c=48&c=65&c=97&c=48&c=65&c=97&c=1)&(x=200)&(x=1)|(x=200)|(x=1)&( x=200)&( x=1)|

32、(x=200)|(x=300)6、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为 0的是(D )。A) x & yB) x=yC) x|y+z&y-zD) !(x=y&chb)&(n=cd)后n的值为(B )A) 1B) 2C) 3D) 49、以下不正确的if语句形式是(C)。A) if(xy& x!=y);B) if(x=y) x+=y;C) if(x!=y) scanf(“ %d,&x) else scanf( “ %d,&y);d) if(xy)z=x; x=y; y=z;A) x=10,y=20,z=30B) x=20,y=30,z=30C) x=20,y=3

33、0,z=10D) x=20,y=30,z=2011、以下if语句语法正确的是( B )A) if(x0)printf(“ f”else printf(,x) “-%f.B)B) if(x0) x=x+y; printf(“ f” x);else printf(“-%f.C)C) if(x0) x=x+y; printf(“ f” x);else printf(“-%f.D)D) if(x0) x=x+y; printf(“ f” x)else printf(“-%f.12、请阅读以下程序:mai n()int a=5,b=5,c=0;if(a=b+c) printf(n”*);else pri

34、ntf(“ $);以下程序(C )。A )有语法错不能通过编译B )可以通过编译但不能通过连接C)输出*D)输出$三、写出下列程序的运行结果1、若运行时输入:2,则以下程序的运行结果是 2nd class postage is 14p#in clude void mai n(void) char Class;printf(“ Enter 1 for 1st class post or 2 for 2nd post” );scanf( “ C,&Class);if(Class= 1)printf(1st class postage is 19p” );else若运行时输入:printf(“ 2n

35、d class postage is 14p” );4.4,则以下程序的运行结果是Selli ng Price(0.30)$5.72#in clude 2、void mai n(void)float CostPrice,Selli ngPrice;printf( “ Enter Cost Price $:” );scanf(“ f ,&CostPrice);if(CostPrice=5)Selli ngPrice=CostPrice+CostPrice*0.25;printf( Selling Price(0.25)$%6.2f” ,SellingPrice); elseSelli ngPri

36、ce=CostPrice+CostPrice*0.30;printf( Selling Price(0.30)$%6.2fPSieilJng3、以下程序的运行结果是_F_。main ()if(2*2=55) printf( “ %d ,m); else print f( “ d ,r);A) 4B) 5C) 6D) 7、根据程序的功能,将以下程序补充完整1、以下程序对输入的四个整数,按从小到大的顺序输出。请在 内填入正确内容。main ()int t,a,b,c,d;printf( “ in put a,b,c,d:”)scanf( “d,%d,%d,%(” , &a.&b.&c.&d);if

37、(ab) t=a;a=b;b=t; if (_ac _)t=a;a=c;c=t;if (ad)t=a;a=d;d=t;if ( _bc_) t=b;b=c;c=t;if (bd) t=b;b=d;d=t;if (cd)t=c;c=d;d=t;printf(“ d,%d,%d,%(” ,a,b,c,d);三、编程:1、试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes ;否则输出no 2、编制程序要求输入整数x、y和z,若x2+y2+z2大于1000,则输出x2+y2+z2千位以上的数字,否则输出三数之和。3、编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要

38、输出数据错误 的提示信息。1、参考答案main () int x;if (x%5=0 & x%7=0)printf(“yes” );elseprintf(no” );2、参考答案main () int x,y, z,a,b;scanf( “ d %d %d,&x,&y,&z);a=x*x+y*y*z*z;if (a1000)b=a/1OOO;printf( “ %d ,b);else pri ntf( “ %d ,x+y+z);3、参考答案#in cludemain () float a,b,c,s,area;scanf( “ f,%f,%f ” ,&a,&b,&c);if (a+bc & b

39、+ca & a+cb) s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“ area=%7.2” ,area);elseprintf( “ bu nenghucheng san jiao xin”);第2讲基础练习(A)一、填空题1、 在if语句中又包含一个或多个if语句称为_if语句的嵌套 。2、 为了避免在嵌套的条件语句 if-else中产生二义性,C语言规定:else子句总是与其之前最近的 未配对的if_配对。如果if与else数目不一样,为实现设计者的企图,可以加花括号 关系。3、 条件运算符是 C语言中唯一的一个 三 目运算符

40、,其结合性为 从右至左。4、假设条件表达式的格式为:表达式 1 ?表达式2:表达式若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较高的类型5、 在switch语句中,switch后面括弧内的表达式”,可以为 任何类型。6、若a=1,b=2,则表达式 ab?a:b+1的值是 _3。7、 若 w = 1、x= 2、y = 3、z= 4,则条件表达式 wx?w:yz?y:z 的值是1 。 &若有以下if语句:if (ab) min=a;else min=b;可用条件运算符来处理的等价式子为 min=(ab)?a:b; 。9、若 x=1,y=2,z=3,则表达式(xb) c=1; e

41、lse if(a=b) c=0; else c=-1;printf( “ ”,c);2、 mai n()int a,b,c; int s,w,t; s=w=t=0;a=-1; b=3; c=3;if(c0) s=a+b;if(a0)if(c0) w=a-b;else t=c; printf(%d %d %d ,s,w,t);switch(grade)caseA:printf( -“ 85” );caseB,:printf( -“ 70 );caseC:printf( -“60 );caseD:printf( n“ 60default: printf(“昴0片的值为C则输出结果是 若 grade

42、60-69 60 error!能力提高(B)一、写出下列程序的运行结果1、#i nclude 551 void mai n(void)int x,y=1,z; if(y!=0) x=5;printf( “ n” ,x);if(y=O) x=4;else x=5; printf( “ n” ,x);x=1;if(y0) x=4;else x=5; printf( “ n” ,x);2、#i nclude 4-2404-2void mai n(void)int x,y=-2,z;if(z=y)0) x=4;else if(y=0) x=5;else x=6;printf( ”n” ,x,z);if

43、(z=(y=0)x=5;x=4;printf(“n” ,x,z);if(x=z=y) x=4;printf(“n” ,x,z);3、#i nclude a=2,b=1main ()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0: a+; break;case 1: b+; break;case 2:a+; b+; break;printf( a=%d,b=%d ,a,b);二、根据程序的功能,将以下程序补充完整以下程序计算某年某月有几天。其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。请在 内填入

44、正确内容。main ()int yy,mm,le n;printf(“year,month= ” );scanf( “ %d %d,&yy,&mm);switch(mm)case 1:case 3:case 5:case 7:case 8:case 10:case 12: len=31 ; break;case 4:case 6:case 9:case 11: len=30; break;case 2:len=29if(yy%4=0&y y%100!=0|yy%400=0) else len=28;break;default: printf(“ in put error ” ); break;

45、printf( “the length of %d %d is %dn”,yy,mm,len);第六章循环结构程序设计基础练习(A)一、选择题1、C语言中while和do-while循环的主要区别是(A)。A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C)C) do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句2、以下描述中正确的是(C)。A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语 句B)do-while循环由do开始,用while结束,在while (表

46、达式)后面不能写分号C)在do-while循环体中,一定要有能使D)do-while循环中,根据情况可以省略3、设有程序段int k=10; while(k) k=k-1;则下面描述中正确的是(A )。A) while循环执行10次C)循环体语句一次也不执行4、下列循环语句中有语法错误的是(DA) while(x=y) 5 ;B) while(0)while后面表达式的值变为零(“假”)的操作whileB )循环是无限循环D)循环体语句执行一次 )。C) do 2 ; while(x=b) ; D) do x+ while(x=10);5、已知int i=1 ;执行语句while (i+4);后,变量i的值为( C )。A) 3B) 4C) 5D) 66、语句while(!E);中的表达式!E等价于( A )。A) E=0B) E!=1 C) E!=0 D)E=17、 下面程序段的运行结果是(A )。a=1; b=2;c=2;while(abc) t=a; a=b; b=t; c-; printf( “ %

温馨提示

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

评论

0/150

提交评论