|
|
一、选择题 1.有如下程序 main( ) { int a=2,b=-1,c=2; if(a<b) if(b<0) c=0; else c++; printf("%d\n",c); } 该程序的输出结果是( ) A) 0 B) 1 C) 2 D) 3
2.对do...while语句错误的描述是:( ) A)可构成多重循环结构 B)循环次数不可能为0 C)循环次数可能为0 D)先执行后判断
3.任何复杂的程序,都是由( )构成的。 A)分支结构、顺序结构、过程结构 B)循环结构、分支结构、过程结构 C)顺序结构、循环结构、分支结构 D)循环结构、分支结构
4.设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句( )。 if (x=y) printf(" x is equal to y."); A)语法错 B)不能判断x和y是否相等 C)编译出错 D)能判断x和y是否相等
5.C语言中规定,if语句的嵌套结构中,else总是( )配对。 A)与最近的if B)与第一个if C)与按缩进位置相同的if D)与最近的且尚未配对的if
6.以下有关switch语句的说法正确的是( )。 A)break语句是语句中必需的一部分 B)在switch 语句中可以根据需要使用或不使用break语句 C)break语句在switch 语句中不可以使用 D)在switch 语句中的每一个case都要使用break语句
7.当执行以下程序时,( )。 #include<stdio.h> void main() { int a; while(a=5) printf("%d ",a--); } A)循环体将执行5次 B)循环体将执行0次 C)循环体将执行无限次 D)系统会死机
8.以下if语句错误的是( )。 A)if (x<y) x++; y++; else x--; y--; B)if (x) x+=y; C)if (x<y); D)if (x!=y) scanf (" %d",&x) ; else x++;
9.以下说法错误的是( )。 A)do...while语句与while语句的区别仅是关键词“while”出现的位置不同 B)while语句是先进行循环条件判断,后执行循环体 C)do...while是先执行循环体,后进行循环条件判断 D)while、do...while和for语句的循环体都可以是空语句
二、填空题 1.有程序段: int i=0,a=1; while(i<9) { i++; ++a; } 其中,循环条件是___,循环控制变量是___,循环体是____,修改循环条件的语句是___,该循环条件将执行____次,结束循环时,i的值是___,a的值是___。
2.有程序段: int i=0,a=1; for(i=1;i<10;i++) { a++; } 其中,循环条件是___,循环控制变量是___,循环体是____,修改循环条件的语句是___,该循环条件将执行____次,结束循环时,i的值是___,a的值是___。
3.以下程序的输出结果是_______. #include <stdio.h> main() { int n=12345,d; while(n!=0){ d=n%10; printf("%d",d); n/=10;} }
4.以下程序判断输入的整数能否被3或7整除,请填空。 main() { int x,f=0; scanf( “%d”,&x ); if ( 1 ) ( 2 ) if(f==1) printf(“YES\n”); else printf(“NO\n”); }
三、程序阅读题 1.阅读以下程序,若输入60,写出程序运行结果。 #include<stdio.h> void main() { int x; scanf("%d ",&x); if (x>=60) printf("pass"); else printf("fail"); }
2.阅读以下程序,若输入5,写出程序运行结果。 #include <stdio.h> int main( ) { int i, n; double fact; scanf("%d", &n); fact=1; for(i=1;i<=n;i++) fact*=i; printf("%.0f\n", fact); }
四、程序设计题 1. 输入一个整数,输出它的绝对值 。 2. 编写程序,统计从键盘输入的一行字符的个数。 3. 编写程序,用穷举法输出100以内的素数。 4. 求1!-2!+3!-4! +……+49!-50!的和。 5. 输入10个字符,分别统计出其中空格或回车键、数字和其他字符的个数。 |
|
|