您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页中国海洋大学 2011学年 春季学期 期末考试试卷

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

来源:爱够旅游网
中国海洋大学 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);} 9.在以下定义和语句,能给w中year成员赋值1990的语句是_______。A)b,B,b,A B)b,B,B,A C) b,B,b,B D)

b,B,a,A

struct workers 第1页共2页

{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;

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

int fun(int *x,int n) {int k=0,i; for(i=0;iif(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++;

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

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);}} 5. void main()

{ char a[]=\"YouAndMe\",*p=a; p+=3; puts(p);} 6. int a, b;

void fun()

{ a=100; b=200; } void main()

{ int a=5, b=7; fun();

printf(\"%d %d \\n\", a,b); } 第2页共2页

7. void main() {char str[]=\"05326678\"; int i; for(i=0;str[i];i++)

str[i]=(str[i]-48+5)%10+48;

puts(str);} 8. void main()

{ char s[20]=\"abcd\"; char *p=s; p++;

puts(strcat(p,\"ABCD\"));} 9. #include

void main()

{ int sum=0,i;

for(i=1;i<=10;i++) if(i%2) sum+=i; printf(\"sum=%d\\n\",sum);}

10.void main()

{char a[30]=\"ONE WORLD,one dream!\ int i;

for(p=a;*p;p++) {if(*p>='a'&&*p<='z') *p=*p-32; if(*p>='A'&&*p<='Z') *p=*p+32; }

puts(a); 四、编程题(分值依次为6、7、8、9、10分,共40分) 1.商场促销,购物每满100元减20元,而每满500则再减20元。如购770元商品,折扣后只需要付款610元。编程实现:输入一个购物金额,计算输出实付款值。(6分)

2.编写函数 double fun(double x,double y),计算两参数平方差的绝对值|x2y2|,做为函数返回值。

(7分) 3. 编程实现:键盘输入数据到变量n,计算并输出n~2*n之间的所有奇数和。例如,当输入n=7时,输出7+9+11+13=20。 (8分)

4.输入一个英语的句子(以回车结束输入),将句子中各单词分行打印出来,一行打印一个单词。单词之间只以空格分隔。(9分) 5. 编程输出[m,n]之间所有的素数,m,n通过键盘输入。 (10分)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务