C语言期末考试试卷byYin5 - 31 联系客服

发布时间 : 星期四 文章C语言期末考试试卷byYin5 - 31更新完毕开始阅读7286e06c7e21af45b307a8c3

z

C语言程序设计期末考试

2006 . 06.12

计056、计057、网络053、网络054

一.单选题:(1分/题, 共20分)

1. C语言程序中,每个语句最后必须有一个( )。

A)分号 B)逗号

C)空格

D)冒号

2. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是

A) a>=10 or a=0 || a=10 B) a>=10 && a<=0 C) a>=10 || a<=0 D) a>=10 and a<=0 3. 能正确表示[-1,10]的C语言表达式是

A)10≥x≥-1 B)x>=-1&&x<=10

C) x>=-1||x<=10 D) 10>=x>=-1

4. C语言中,执行中断全部循环的语句是( )。

A)break;

B)continue; C)stop;

D)goto;

5. 不合法的C语言变量名是( )。

A) _inst

B) insert

C) include

D) $xy

6. 不正确的变量定义是( )。

A) unsigned x;B) short int s; C) double int A; D) int i, j;

7. 请读程序片段:

int key=-1; printf ( “%o\n”, key);

这个程序片段在16位系统下的输出结果是( )。 A)-1

B)177777

C) ffff

D) 有语法错误,无输出结果

8. 不合法的字符常量是

A) ?2?

B) ?\\t?

C) ?abc?

D) ?\\b?

9. 设a=11,则赋值表达式a+=a–=a*a的值是( )。

A) –90

B) -220

C) 220

D) 90

10. 设a=50,b=20,c=12,执行如下语句后,则c的值是( )。

x=a*b,c=a,++c; A)20 B) 50 C)51 D)13

1

11.有以下程序

main()

{char c1,c2; c1=97; c2=98;

printf(\,c1,c2); printf(\,c1,c2);

已知‘A’=65;程序运行后的输出结果是

A)9798ab C)9798AB 12.有以下程序

main()

{ int i=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3)) printf(\}

程序运行后的输出结果是:A) 1 2 3 13.字符1的ASCII值为49,若有以下程序

main()

{ char a='1', b='2';

printf(\printf(\}

程序运行后的输出结果是 A) 3,2

B) 50,2

C) 2,2

D) 2,50

B) 2 3 4

C) 2 2 3

D) 2 3 3

B) ab9798

D) AB9798

14. 若整型变量a、b、c、d中的值依次为:4、1、3、2。则条件表达式a

A) 1

B) 2

C) 3

D) 4

15. 有以下程序

main()

{ char s[]=\ p=s;

printf(\}

程序运行后的输出结果是:A) 1

B) 9

C) 5

D)159

2

z

16. 有以下程序 main() { int a=5; a+=a+=a-=a+a; printf(“%d\\n”,a); }

程序运行后的输出结果是: A) -10 B) -20 C) -15 D) 0 17. 有以下程序 main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1);

printf(“%d,%d\\n”,a,b); }

程序运行后的输出结果: A) 2,1 B) 2,-1 C) 0,1 D) 0,-118. 已知a=2,b=3,执行下面条件语句后,b的值是( )。 if (a<0) if (b<0) b++; else b--; A) 3

B) 2

C) 4

D) 0

19.阅读以下程序: main()

{ int count; float sum=0.0; for (count=1;count<8;count++) switch (count )

{ case 1:case 4:case 5: sum+=count;break; case 2:case 3:case 7:sum=1.0; }

printf(“%4.1f”,sum); }

程序的执行结果为:A) 23.0 B) 10.0 C) 11.0 D) 1.0 20.如下程序片断:

int a[ ][4]={1,2,3,4,5,6,7,8}; int (*p)[4]=a;

printf(“%d”,*(*(p+1)+2)); 其输出结果为: A) 7 B) 6 C) 5 D) 4

3

二.填空题:(1分/空,共20分)

1. C语言中规定对变量的命名只可使用【1】、【2】、【3】。

2. 设c语言中,int类型占2个字节,则float类型数据占【4】个字节;short类型数据 占【5】个字节;char类型数据占【6】个字节。 3. 字符串必须用【7】括起来。

4. 设float x=12.34, 写出计算x=(int)(x*100+0.5)/10 后x的值是【8】。 5. 设x=4.5,a=8,y=4.3 ,求 y+a%3*(int)((x+y)/4+0.05)/3 的值是【9】。 6. 执行以下程序段后的输出结果是【10】。

int a=010,b=0x10,c=10;printf(“%d,%d,%d\n”,a,b,c) 7.下列程序的输出结果是【11】。 main()

{ int i,j,k,a=3,b=2; i= (--a==b++)?--a:++b; j=++a; k=b++;

printf(“i=%d,j=%d,k=%d\\n”,i,j,k); }

8.for(j=-1;j<2;j++){循环体},则循环执行是【12】次。 9.下列程序的输出结果是【13】。 main()

{ int a=2, b=3,c; c=a>b?a+b:a-b;

printf(“%d%o%x%u\\n”,c,c,c,c); }

10.下列程序运行后的输出结果是【14】。

main()

{ int i,m=0,n=0,k=0;  for(i=9; i<=11;i++)

 switch(i/10){ case 0: m++;n++;break; case 10: n++; break; default: k++;n++;}  printf(\

}

11.int *p[4]表示定义了一个【15】,其元素用于存放【16】。 12.字符串是以【17】作为结尾标识。

13.函数的声明与函数的定义,应该在【18】、【19】、【20】保持一致(答对三个即可)。

4