《C语言程序设计》期末考试题及答案

发布时间 : 星期五 文章《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

联系合同范文客服:xxxxx#qq.com(#替换为@)