往届c试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011学年春季学期

一、单选题(每题2分,共20分)

1.在C语言中,变量所分配的内存空间大小______。

A)均为一个字节B)由用户定义C)由变量的类型决定D)是任意的

2.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是______。

A)1 B)0 C)2 D)不知道a的值,不能确定

3.下列运算符中优先级最高的是______。

A)!= B)%= C)-> D) ++

4.下面的for语句________。

for(x=0,y=10;(y>0)&&(x<4);x++,y-- );

A)循环执行4次B)循环执行3次C)是无限循环D)循环次数不定

5.以下选项中与if(a==1)a=b;else a++; 语句功能不同的switch语句是______。

A)switch(a) B)switch(a==1)

{case 1:a=b;break; {case 0:a=b;break;

Default:a++; case 1:a++;

} }

C)switch(a) D)switch(a==1)

{ default:a++; break; {case 1:a=b;break;

case 1:a=b; case 0:a++;

} }

6.下面程序的输出结果是_______。

void main()

{int a=10,b=20,c=30;

if(a>b) a=b;b=c;c=a;

printf("%d,%d,%d\n",a,b,c);

}

A)10,20,30 B)10,30,20 C) 10,30,10 D) 30,20,10

7.有定义:char *p[20]; 则p是______。

A)指针数组名B)指针变量名C)字符变量名D)函数名

8.以下程序运行时输出结果是_______。

#include

void fun(char *c,int d)

{ *c=*c+1;d++;

printf("%c,%c,",*c,d);

}

void main()

{ char b='a',a='A';

fun(&b,a); printf("%c,%c\n",b,a);

}

A)b,B,b,A B)b,B,B,A C) b,B,b,B D) b,B,a,A

9.在以下定义和语句,能给w中year成员赋值1990的语句是_______。

struct workers

{int num;char name[20];char sex;

struct

{int day,manth,year;}s;

};

struct workers w,*pw; pw=&w;

A)*pw.s.year=1990 B)w.year=1990

C) pw->year=1990 D) w.s.year=1990

10.有定义:struct

{ long int i;char c;float a;

}test;

则sizeof(test)的值是______。

A)4 B)9 C)13 D)17

二、填空题(每空2分,共20分)

1.表达式a+=a-=a=9的值是______【1】_______。

2.写出C语言中所有的逻辑运算符______【2】______。

3.C语言中break语句的功能是_______【3】_______。

4.下列循环结构的循环体,在程序运行时,将被执行______【4】______次。

for(a=0,p=2;p;a++) p=a;

5.如下程序段执行后,a的值为______【5】_______

int *p,a=10,b=15;

p=&a; a=*p+b;

中国海洋大学2011学年春季学期期末考试试卷

6.函数fun的功能是:在x所指向的有n个数据的一维数组中找出最小值并作为函数值返回。请完善程序。int fun(int *x,int n)

{int k=0,i;

for(i=0;i

if(x[i]

7.以下函数的功能是:求x的y次方,请填空。

#include

double fun( double x,int y)

{ int i; double z;

for(i=1,z=1;i<=fabs(y);i++)

z=______【7】_______;

return y>=0?z:1/z;

}

8.下面程序是从键盘输入一行字符,统计其中单词个数,单词之间用空格分隔。请完善程序。

void main()

{ char s[80];

int i,num=0;

gets(s);

if(______【8】_______) num++;

for(i=1;s[i]!='\0';i++)

if(s[i]!=' '&&s[i-1]==' ')num++;

printf("There are %d words.\n",num);

}

9.以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请完善程序。void main()

{int i,j;

for(i=0; ______【9】_______;i++)

{ j=i*10+6;

if(______【10】_______) printf("%5d",j);

}

}

三、读程序写结果(每题2分,共20分)

1. #define SUB(a) (a)-(a)

void main()

{ int a=2,b=3,c=5,d;

d=SUB(a+b)*c;

printf("%d\n",d);

}

2. #include

int fun()

{ static int x=2;

x*=2;return x;

}

void main()

{ int i,s=2;

for(i=1;i<=2;i++)

{ s=fun(); printf("%d ",s);

}

}

3. void main()

{ if( 2*2 == 5<2*2 == 4) printf("Yes\n");

else printf("No\n");

}

4.void main()

{char c[]="4+"; int s;

switch(c[0])

{case '5':s=100;break;

case '4':switch(c[1])

{ case '+':s=90;break;

case '-':s=70;break;

default:s=80;

}

case '3':s=60;break;

case '2':case '1':s=50;

}

printf("s=%d\n",s);

}

中国海洋大学2011学年春季学期期末考试试卷

计算机基础部《C程序设计》课程试题(A卷)共8 页第 5 页

5. void main()

{ char a[]="YouAndMe",*p=a;

p+=3; puts(p);

相关文档
最新文档