|
|
一、选择题(每小题1分,共10分) 1.以下用户标识符错误的是( )。 A._123 B.For C.2a D.ABC1
2.下列表示回车换行的是( )。 A.\t B.\n C.\b D.\r
3.设a是整型,b是实型,c是双精度型,则表达式2+' a '+b*c值的数据类型是( )。 A.int B.char C.double D.float
4.下列各项中用于构成循环结构的是( ) A.While B.for C.if D.switch
5.C程序由( )组成。 A.过程 B.子程序 C.函数 D.主程序和子程序
6.在TC环境下,C源程序文件名的默认后缀是( )。 A..c B..dsp C..obj D..exe
7.以下程序运行结果是:( ) #include<stdio.h> main() { do { printf("你好!"); } while(3) } A.无限次输出:"你好!" B.输出1次"你好!" C.输出3次"你好!" D.编译错误,不能运行
8.C语言中主函数的个数是( ) A.1个 B.2个 C.3个 D.任意个
9.以下语句错误的是( ) A.if(x>y) x--; y--; else x++; y++; B.if(x<y); C.if(x!=y) scanf ("%d",&x); else x++; D.if(x) x+=y;
10.执行下面的程序段后,变量k中的值是( )。 int k=3,s[2]; s[0]=k;k=s[1]*10; A.33 B.30 C.10 D.不定值
二、填空题(每空1分,共10分) 1.在C语言中,主函数名是 。 2.while循环语句,循环体至少被执行 次。 3.do……while循环语句,循环体至少被执行 次。 4.整形数组a[10][20]有 个元素。 5.定义在函数之外的变量称为全局变量,定义在函数之内的变量称为 变量。 6.表示宏定义的关键字是# 。 7.定义指针变量时,需在变量名前加一个符号: 。 8. 语句表示跳出switch语句或循环语句。 9. 语句只用于循环语句,表示结束本次循环。 10. 语句表示函数返回,多用于函数调用。
三、看程序写结果(共10分) 1.程序1:(2分) #include<stdio.h> main() { int i=0,j; j=i++; printf("%d,%d\n",i,j); } 运行结果是:( )
2.程序2:(2分) #include<stdio.h> main() { int i=2,j; j=--i; printf("%d,%d\n",i,j); } 运行结果是:( )
3.程序3:(3分) #include <stdio.h> main() { int a[50],j,k=0; for (j=0; j<50; j++ ) a[j]=j; for (j=0; j<2; j++ ) k+=a[j]+j; printf("%d\n",k); } 运行结果是: ( )
4、程序4:(3分) #include <stdio.h> int func(int a) { static int i=0,m=1; i++; m+=a+i; return(m); } main() { int k=1,p,q; p=func(k); q=func(k); printf("%d,%d\n",p,q); } 运行结果是:( )
四、程序填空题(每空2分,共20分) 1.下面的程序判断输入的一个年份是否是闰年(闰年的定义:能被4整除但不能被100整除,或者能被400整除),请补充完善。 #include <stdio.h> main() { int i,year; scanf("%d", (1) ); if (year<=0) printf("年份必须是一个正整数。\n"); else { i=(year%4==0 && year%100!=0 (2) year%400==0); switch(i) { case (3) :printf("%d年是闰年。\n",year); (4) ; case (5) :printf("%d年不是闰年。\n",year);break; } } } 2.下面的程序将输出一个二维整型数组,请补充完善。 #include <stdio.h> main() { int i,j,a[2][3]={{1},{0,1},{0,0,1}}; for(i=0;(1);i++) { for(j=0; (2) ;j++) printf("%d ", (3) ); printf("\n"); } }
3.以下函数的功能是:把两个整数指针的存储单元中的内容进行交换。 exchange(int *x,int *y) { int t; t=*y; *y=(1); *x=(2); }
五、编程题(共50分) 1.从键盘输入姓名和年龄,并打印出来。(15分)
2.编写一个程序,计算1+3+5+……+99的值。(15分)
3.设计一个猜字游戏,从键盘输入一个整数,如果等于10,显示“good!”,如果大于10,显示“bigger!”,如果小于10,显示“smaller!”,最多猜3次。(20分) |
|
答案: |
一、选择题(每小题1分,共10分) 题号 1 2 3 4 5 6 7 8 9 10 答题 C B C B C A A A A D
二、填空题(每空1分,共10分) 1、main 2、 0 3、 1 4、 200 5、 局部 6、define 7、 * 8、 break 9、 continue 10、return
三、看程序写结果(共10分) 1、运行结果是: 1,0 2、运行结果是: 1,1 3、运行结果是: 2 4、运行结果是: 3,6
四、程序填空题(每空2分,共20分) 1、(1)&year (2) || (3) 1 (4) break (5) 0 2、(1) i<2(或者i<=1) (2) j<3(或者j<=2) (3) a[i][j] 3、(1) *x (2) t 五、编程题(共50分) 1、从键盘输入姓名和年龄,并打印出来。(15分) #include<stdio.h> main() { char Name[10]; int Age; gets(Name); scanf(“%d”,&Age); puts(Name); printf(“%d\n”,Age); }
2、编写一个程序,计算1+3+5+……+99的值。(15分) 方法1: #include<stdio.h> main() { int i,s=0; i=1; while(i<=99) { s+=i; i=i+2; } printf("%d\n",s); }
方法2: #include<stdio.h> main() { int i,s=0; i=1; do { s+=i; i=i+2; }while(i<=99); printf("%d\n",s);
}
方法3: #include<stdio.h> main() { int i,s=0; for(i=1;i<=100;i=i+2) {s+=i;} printf("%d\n",s); }
3、设计一个猜字游戏,事先随机产生一个一位的整数,再从键盘输入一个整数,如果猜对了,显示“good!”,如果猜大了,显示“bigger!”,如果猜小了,显示“smaller!”,最多猜3次。(20分) #include<stdio.h> main() { int i,a; for(i=0;i<3;i++) { scanf("%d",&a); if(a==10) { printf("good!"); break; } else if(a>10) printf("bigger!"); else printf("smaller!"); } } |
|