发布时间 : 星期五 文章《C语言程序设计》期末考试题及答案更新完毕开始阅读
2010-2011学年第二学期期末考试 2010级《C语言程序设计》试卷(A)
(答案一律写在答题纸上,在本试卷上做答无效)
一、选择(每题2分,共30分)
1. 下列选项中,不能用作标识符的是( )。
A. _1234_ B. _1_2 C. int_2_ D. 2_int_ 2. 下列字符常量不合法的是( )。 A. ?2?
B. ?\\101?
C. ?ab?
D. ? \\n?
3. 执行以下程序后的输出结果为( )。 main( ) { int x; float y;
y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y); } A. x=13.6,y=3.600000
B. x=13,y=3.600000
C. x=13,y=3 D. x=13,y=3.6
4. 以下选项中不合法的常量是 ( )。 A. 123L
B. 0x35
C. 018
D. 6e-2
5. 设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。 A. 1
B. 2
C. 3
D. 0
6. 下面程序的输出结果为( )。 main( )
{ int x=10,y=3,z; printf(“%d\\n”,z=(x%y,x/y));} A. 0
B.1
C. 3
D. 4
7. 下面程序的输出结果为( )。 main( )
{ int x=010,y=0x10,z=10; printf(“%d,%d,%d ”,x,y,z);} A. 10,10,10
B. 8,16,10
C. 16,8,10
D. 8,10,10
8. 以下选项中不是C语句的是( )。
A. {int i; i++; printf(\
C. a=5,c=10
1
B. ;
D. { ; }
9. 以下程序的输出结果是( )。 main( )
{ int x=2,y=-1,z=2; if( x B. 1 C. 2 D. 3 10. 不能表达:x为奇数时表达式为“真”,偶数时表达式为“假”的表达式是( )。 A. x%2= =1 B. !(x%2= =0) C. !(x%2) D. x%2 11. 以下程序段中while语句的循环次数是( )。 int i=0;while(i=1) i++; A.无限次 B. 有语法错误,不能执行 C. 一次也不执行 D. 执行一次 12. 假设a,b均为字符数组以下正确的输入语句是( )。 A.gets(a,b); B. scanf(“%s %s”,a,b); C. scanf(“%s %s”,&a,&b); D.gets(“a”); gets(“b”); 13. 若有定义:int a,*p; 则以下正确的赋值表达式是 ( )。 A. p=&a B. p=a C. *p=&a D. *p=*a 14. 以下函数调用语句中,func( (exp1,exp2),(exp3,exp4,exp5));含有的实参个数是( )。 A. 1 B. 2 C. 3 D. 5 15. 有以下定义: struct person{char name[9]; int age;} struct person class[10]={“Johu”,17, “Paul”,19, “Mary”,18, “Adam”,16,}; 则下面能输出字母M的语句是( )。 A. printf(“%c\\n”,class[3].name); B. printf(“%c\\n”,class[3].name[1]); D. printf(“%c\\n”,class[2].name[0]); 2 C. printf(“%c\\n”,class[2].name[1]); 二、填空(每空1分,共15分) 1. C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。 2. 表达式3.5+1/2+56的结果为 。 3. C语言中的三种逻辑运算符按照优先级从高到底分别是 、 、 。 4. 填空完成以下计算s=1+1/2+1/3+??+1/10的程序 main( ) { int n; float s=1.0; for(n=10; ; ) s=s+ ; printf(“%f”,s);} 5. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。 void sort(int b[],int n) { int i,j,t; for(i = 0;i {t = b[i];_______;b[ j]=t;}} main() { int a[]={5,8,6,2,7,4,1,3}; int i; sort(a,8); for(i = 0;i<8;i ++ ) printf(“﹪5d”,a[i]); printf(“\\ n”);} 6. printf(\;输出为_ __。 7. 存储字符串“program”至少需要____个字节。 三、程序阅读(每题5分,共30分) 1. 执行以下程序: main( ) { int i,j,k,t; 3 scanf(“%d”,&t); i=t; t=t/10; j=t; k=t/10; printf(“%d”,i*100+j*10+k);} 当输入123时,输出结果为 。 2. 以下程序的输出结果是 。 main( ) { int i=0,j=0,a=6; if((++i>0)||(++j>0)) a++; printf(“i=%d,j=%d,a=%d”,i,j,a); } 3. 以下程序的输出结果是 。 main( ) { int n=10; while(n>7) { printf(“%d,”n); n-- ;} 4. 以下程序的输出结果是 fun1(int a,int b) { int c; a+=a; b+=b; c=fun2(a,b); return c; } fun2(int a,int b) { int c; c=a*b%3; return c; } main( ) { int x=2,y=4; printf(\} 5. 若有以下程序段,执行后的输出结果是 int a=0,b=0,c=0; 4 。 。