全国2010年10月高级语言程序设计(一)试题

全国2010年10月高级语言程序设计(一)试题

课程代码:00342

一、单项选择题(本大题共15小题,每小题2分,共30分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.用户自定义标识符正确的是( ) A.3ab B.int C.fa2_a

D.sin(x)

2.关于C语言程序描述正确的是( ) A.函数必须要有return语句 B.主函数必须位于程序的开头 C.程序中每行只能写一条语句

D.一个程序中只能有一个主函数 3.设int i=8,a,b;double x=1.42,y=5.2;,正确的表达式是( ) A.a+=(b=4)*(a=3) B.a=a*3=2 C.x%(-3)+y* *3

D.y=float(i)

4.设int a[][2]={1,2,3,4,5,6,7};,其中缺省的行长度的最小值是( A.2 B.3 C.4

D.5

5.设char c=′A′;int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是( A.0和1 B.1和0 C.1和65

D.2和66

6.设typedef char STRING[255];STRING*s;,则s是( ) A.字符数组 B.字符变量 C.字符指针数组

D.字符指针变量

7.设int x=6;,执行语句X+=X-=X*X;后,x的值是( ) A.-60 B.0 C.6

D.36

8.设int i=3,j=3;,表达式i+++j的值是( ) A.6 B.7 C.8

D.9

9.下列为C语言保留字的是( ) A.real B.long C.pointer

D.integer

第 1 页

) ) 10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( ) A.2 C.8

11.变量定义并初始化正确的是( ) A.int a=l,*p=a; C.int a=3,p=&a;

B.int a=2,p=*a; D.int a=4,*p=&a; B.6 D.10

12.使用递归函数计算n!(n=0,1,2,,3,....)的是( ) A. fac(int n) {int i,f=- 1; if(n==0) return 1; else for(i=1 ;i<=n;i++) f*=i; return f; } C. fac(int n) {int i=l,f=l; if(n==0) return l; else while(i<=n) f*=i++; return f; }

13.设struct{int age;int num;}stu,*p=&stu;

对结构型变量stu的成员age引用错误的是( ) ..A.stu.age C.*p.age

B.p->age D.(*p).age D. fac(int n) {int i=1,f=1; if(n==0) return 1;

else do { f*=i;}while (i++

{

if(n==0‖n==1) return 1; else return n*fac(n-1); }

14.设int a[2]={1,2},*p=a;,则*p是( ) A.元素a[0]的值 C.元素a[1]的值

15.设int a[10];,对数组元素引用正确的是( ) A.a[10] C.a(6)

B.a[′0′] D.a[10-10] B.元素a[0]的地址 D.元素a[1]的地址

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

16.执行语句printf(\%d\\n\,strlen(\后,输出结果是_______。 17.设int a,b,c;,表达式a=2,b=5,b++,a+b的值是__________。

第 2 页

18.设int a=1,b=2,m=2,n=2;,执行表达式(m=a

int x=3;

do{ptintf(\%5d\,x-=2);}while(!(--x));

21.执行语句for(i=10;i>0;i--,);后,变量i的值是___________。

22.设int x,y;,循环语句for(x=0,y=0;(y!=10)&&(x<5);x++);执行的次数是______。 23.若函数内定义变量的存储类别是static,该变量被称为___________静态变量。

24.设int x=3;,执行语句printf((x%2)?(\%d\n\:(\%d\\n\,x);后,输出结果是__________。 25.设char s[3]=\,*p=s;,则*(p+2)的值是_______。 三、程序分析题(本大题共4小题,每小题4分,共16分)

阅读下列程序,将输出结果写到各题右侧的空白处。 26.

void main( ) {

int i=0,j =0,k=0; while (i< 10) i++; while (j++

printf (\} 27.

int a; fun(int i) { a+=2*i; return a; }

void main( ) {

int a=10;

printf(\}

第 3 页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4