一、单选题(每题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 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;i 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),计算两参数平方差的绝对值|x2y2|,做为函数返回值。 (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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务