3. 开始 4.
K=100;
K 整除
3 和 7 否 是
输出K K=K+1; 否 K>200 是 结束
四、 用N-S结构化流程图表示的算法
1. 输入A、B 直到A不等于B A>B 是 否 交换A、B 输出A、B
3.
K=100 K整除3和7 且K<=200 输出K K=K+1
开始 S=0 ; N=1; 输入A S=S+A; N=N+1; N>10 否 是 S=S/10; 输出S 结束 2. S=0 N=1 S=S+N N=N+1 直到 S>3600 输出S 4. S=0 且 N=1 N<=10 输入A S= S+ A 输出 N=N+1 S 第三部分 简单程序设计及分支结构
一、单项选择
1.在如下程序段中if 语句中的! a等价于( )。 int a; if (! a) printf(“ok”);
(A)a! =0 (B)a= = 0 (C)a>0 (D)a>=0 2.C语言中,逻辑”真”等价于( )。
(A)大于零的数 (B)大于零的整数 (C)非零的数 (D)非零的整数 3.C语言中, switch后的括号内表达式的值可以是( )。
(A)只能为整型 (B)只能为整型,字符型,枚举型 (C)只能为整型和字符型 (D)任何类型 4.C语言的switch语句中case后( )。
(A)只能为常量 (B)只能为常量或常量表达式 (C)可为常量及表达式或有确定值的变量及表达式 (D)可为任何量或表达式 5.C语言的if语句中,用作判断的表达式为( )。
(A)任意表达式 (B)逻辑表达式 (C)关系表达式 (D)算术表达式 6.在如下程序段中,若输入3,则printf语句( )。
int x;
scanf(“%d\\n”, &x);
printf (x%2= =0? “even number %d”,x,x);
(A)输出odd number3 (B)输出even number3 (B)输出even number3odd number3 (D)格式不正确
7.有字符型变量str,判断str为大写字母或小写字母?如下方式能正确表达题意的是( (1) str> =65&&str< =90| |str> =97&&str< =122 (2) (str> =65&&str< =90)| |(str> =97&&str< =122) (3) 65< =str< =90| |97< =str< =122
(4) ! (str<65| |str>90&&str<97| |str>122) (5) ! (str<65| |90
(6) (str> =65| |str< =90)| |(str> =97| |str< =122)
(A)(1)(2) (B)(1)(2)(4) (C)(1)(4) (D)(2)(4) (E)(6) (F)(5)(6) (G)(1)(2)(3)(4)(5)(6) 8.在上题的逻辑表达式中,放入程序时将报错的是( )。
(A)都不会报错 (B)都报错 (C)(3)(5)报错 (D)(3)报错 9.下列程序执行后的输出结果是(小数点后只写一位)。
(A) 6 6 6.0 6.0 (B) 6 6 6.7 6.7 (C ) 6 6 6.0 6.7 (D) 6 6 6.7 6.0 main()
{ double d; folat f ; long l ; int i;
i= f = l = d = 20/3; printf ( “%d %ld %f %f \\n”, i,l,f,d); }
10.与“ y = ( x > 0 ? 1 : x < 0 ? –1 : 0 ) ; ”的功能相同的if 语句是( )。
)。
(A) if ( x > 0 ) y = 1 ; (B) if ( x )
else if ( x < 0 ) y = - 1 ; if ( x > 0 ) y = 1 ;
else y = 0 ; else if ( x < 0 ) y = - 1 ; else y = 0 ;
(C) y = - 1 ; (D) y = 0 ;
if ( x ) if ( x >= 0)
if ( x > 0 ) y = 1; if ( x > 0) y = 1; else if ( x = = 0) y = 0; else y = - 1 ; else y = - 1 ;
11.语句 printf ( “a\\bre\\?hi\\?y\\\\\\bou\\n“);的输出结果是( )。
(A)a\\bre\\?hi\\?y\\\\\\bou (B) a\\bre\\?hi\\?y\\bou (C) re?hi?you (D) abre?hi?y\\bou 12.以下程序的输出结果是( )。
(A)17,021,0x11 (B)17,17,17 (C)17,0x11,021 (D)17,21,11 main()
{ int x=17; printf(“%d, %o, %x”,x ,x, x); } 13.以下程序的输出结果是( )。
(A)-1 1 (B)0 1 (C) 1 0 (D) 0 0 main()
{ int a = -1 ,b = 1 , k ;
if ( ( ++ a < 0 ) && ! ( b - -< = 0 ) ) printf ( “ % d %d \\n “ , a ,b ) ; else printf ( “ %d %d \\n” , b , a ) ;
}
14.以下程序段中求较大数和较小数,语法、逻辑都正确的是( )。 (A)if ( a
else max = a ; min = b ; (C)max = min = a ;
if ( b < min ) min = b ; if ( a >max ) max = a ; (D)max = a; min = b;
if ( a<=b ) max = b ;
min = a ;
15.当a = 1 , b = 3 , c = 5 , d = 4 时, 执行下面一段程序后, x 的值为( )。
(A) 1 (B)2 (C) 3 (D) 6 if ( a < b )
if ( c if ( a < c ) if ( b < d ) x = 2 ; else x = 3 ; else x = 6 ; else x = 7 ; 16.以下叙述中正确的是( )。 (A)输入项可以是一个实型常量, 如:scanf ( “%f”, 3.5 ) ; (B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf ( “a = %d,b = %d”); (C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数, 例如:scanf ( “%4.2f”,&f); (D)当输入数据时,必须指明变量地址,例如: scanf( “%f “ , & f) ; 17.现有如下程序: #include { printf(\程序的输出是( ). (A) 0 (B) 变量无定义 (C) –1 (D) 1 18. 若有以下定义和语句: int u=010,v=0x10,w=10; printf(\”,u,v,w); 则输出结果是( ). (A) 8,16,10 (B) 10,10,10 (C) 8,8,10 (D) 8,10,10 19. 若有以下定义: float x;int a,b; 则正确的switch 语句是( ). (A)switch(x) (B)switch(x) { case 1.0:printf(\ case 2.0:printf(\ } } (C)switch (a+b) (D) switch(a+b); { case 1:printf(\ case 1+2:printf(\ } } 20. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( )。 (A) c=b=a; (B) (a=c) ‖(b=c) ; (C) (a=c) &&(b=c); (D) a=c=b; 二、填空 1. 在C语言中,实现循环的语句有:if – goto语句.______语句. ______语句和_______语句. 2. 多分支选择可以用嵌套的if语句和________语句来实现. 3. 结构化程序设计的基本结构有三种,分别是顺序结构.______结构和______结构. 4. 在嵌套的if语句中,为了保证在语法上不出现二义性,if 语句总是和_______的else语句相配. 5. break语句只能用于________语句和_________语句. 6. 在循环控制中,break 语句用于结束________, continue语句用于结束_________ . 7. 判断闰年的条件是:若此年是4的倍数但不是100的倍数同时又是400的倍数, 则是闰年,将此条改写成逻辑表达式为_____________________________. 8. 如下语句在编译时______(填”会”或者”不会”)报错. float x ; printf(“%d”,x); 9. 如下语句在编译时_____(填”会”或者”不会”)报错. if(a=b)a+ +; 10. 有如下语句,在编译时_______(填”会”或者”不会”)报错,printf语句______(填”能”或”不能”)打印出正确的结果. int x; x=1900L; printf(“x= %d”,x); 11. 有如下程序,在编译时_____(填”会”或者”不会”)报错,原因是_________. # include”stdio.h” main ( ) { printf(“%c”,null); } 12. 有如下语句,该程序输出结果为__________________. int k= -1; printf(“k1= %d, k2=%u” , k,k); 13. 有如下语句,该程序输出结果为_______________________. float x; double y; x=1234.5678; y=1234.5678; printf(”x=%5.3f, y= %7.3e” ,x, y); 14. 有如下语句,该程序输出结果为__________________________. char s; long int k; s=?A?; k=111; printf(“%d,%x,%o,ld”,s,s,k,k); 15. 若整数m=n>1, 则它们的关系可用表达式 表示。 16. 若 int a =1 ,b =2 ; printf ( “%f “, a/b); 打印结果是 。 17. 若x为int 类型, 请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式 。 18. 若想通过以下输入语句使 a = 5.0 , b = 4 , c =3 , 则输入数据地形式应是 。 int b , c ; float a ; scanf ( “% f , % d , c = % d “, & a , &b ,& c ) ; 三、阅读程序,指出运行结果: 1.# include “stdio.h” main() { int a, b, c; a=2; b=3; c=1; if (a>b) if (a>c) printf(“%d\\n”,a); else printf(“%d\\n”,b); printf(“end\\n”); } 2.# include “stdio.h” main() {int a,b,c,d,x; a=c=0; b=1;d=20; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计习题及答案(3)在线全文阅读。
相关推荐: