专升本C语言试卷_第1页
专升本C语言试卷_第2页
专升本C语言试卷_第3页
专升本C语言试卷_第4页
专升本C语言试卷_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专升本C语言程序设计试卷(一)一单项选择题(130题每小题1分,3145题每小题2分,共60分)1. 以下定义语句中正确的是 (C) A)char a=Ab=B; B)float a=b=10.0; C)int a=10,*b=&a; D)float *a,b=&a; 2. 下列运算符中,优先级最高的是 (A) 。A. - B. + C. & D. =3. 表达式!(x0&y0)等价于 (A) 。A. ! (x0) | ! (y0) B. !x0 | !y0 C. !x0 & !y0 D. !(x0) & ! (y0) 4. 有以下程序 main() int a=666,b=888; printf(%dn,a,b); 程序运行后的输出结果是(B) A)错误信息 B)666 C)888 D)666,888 5. 有以下程序 main() int i; for(i=0;i3;i+) switch(i) case 0:printf(%d,i); case 2:printf(%d,i); default:printf(%d,i); 程序运行后的输出结果是 (C) A)022111 B)021021 C)000122 D)012 6. 若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|10的是 (C) A)abs(x-y)-10& x-y10 C)!(x-y)10 D)(x-y)*(x-y)k=2;B. (*p).k=2; C. x . k=2 D. x-k=29. 不正确的赋值或赋初值的方式是 (B) 。A. char str =”string”;B. char str10; str=”string”;C. char *p=”string”; D. char *p; p=”string”;10. 设程序中不再定义新的变量,写出在函数main中可以使用的所有变量为:(B) #include int z; int p(int x) static int y; return (x+y); void main( ) int a,b; printf(“%dn”, p(a); A. a,bB. a,b,z C. a,b,y,zD. a,b,x,y,z11.有以下程序 main() int i=0,x=0; for (;) if(i=3|i=5) continue; if (i=6) break; i+; s+=i; ; printf(%dn,s); 程序运行后的输出结果是 (D) A)10 B)13 C)21 D)程序进入死循环 12.有以下程序 main() char a,b,c,d; scanf(%c,%c,%d,%d,&a,&b,&c,&d); printf(c,%c,%c,%cn,a,b,c,d); 若运行时从键盘上输入:6,5,65,66。则输出结果是(A) A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6 13. s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时, 执行语句S;则以下选项中正确的是 (D) A)if(s1s2)S; B)if(strcmp(s1,s2)S; C)if(strcmp(s2,s1)0)S; D)if(strcmp(s1,s2)0)S; 14. 有以下定义和语句 int a32=1,2,3,4,5,6,*p3; p0=a1; 则*p0+1)所代表的数组元素是 (C) A)a01 B)a10 C)a11 D)a1215. 程序中对fun函数有如下说明 void *fun(); 此说明的含义是:(C) A)fun了数无返回值 B)fun函数的返回值可以是任意的数据类型 C)fun函数的返回值是无值型的指针类型 D)指针fun指向一个函数,该函数无返回值16.有以下程序 void fun(int *a,int i,int j) int t; if(iJ) t=a;a=aj;aj=t; i+; j-; fun(a,i,j); main() int x=2,6,18,i; fun(x,0,3); for(i=0;inum B)p-num C)(*p).num D)stu3.age18.已定义ch为字符型变量,以下赋值语句中错误的是 (A)A)ch=; B)ch=62+3; C)ch=NULL; D)ch=xaa;19.以下选项中不能正确把cl定义成结构体变量的是 (B)A)typedef struct B)struct color cl int red; int red;int green; int green;int blue; int blue; COLOR; ;COLOR cl;C)struct color D)struct int red; int red;int green; int green;int blue; int blue; cl; cl;20.有以下程序fun(int a, int b) if(ab) return(a);else return(b);main() int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf(%dn, r);程序运行后的输出结果是 (D)A)3 B)6 C)8 D)1221.有以下程序段main() int a=5,*b,*c;c=&b; b=&a;程序在执行了c=&b;b=&a;语句后,表达式:*c的值是 (C)A)变量a的地址 B)变量b中的值 C)变量a中的值 D)变量b的地址22. 设有 int x=11; 则表达式 (x+ * 1/3) 的值是 (A) A) 3 B) 4 C) 11 D) 1223. 下列程序的输出结果是 (C) A) 3 B) 3.2 C) 0 D) 3.07 main() double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(%d n, d*y); 24. 下列变量定义中合法的是 (A) A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1-e-3;25. 以下循环体的执行次数是 (C) A) 3 B) 2 C) 1 D) 0 main() int i,j; for(i=0,j=1; i=j+1; i+=2, j-)printf(%d n,i); 26. 以下叙述正确的是 (D) A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。 C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。27. 下列程序执行后的输出结果是(A) A) G B) H C) I D) J main() int x=f; printf(%c n,A+(x-a+1); 28. 下列程序执行后的输出结果是 (A) A) 6 B) 7 C) 8 D) 9 void func(int *a,int b) b0=*a+6; main() int a,b5; a=0; b0=3; func(&a,b); printf(%d n,b0); 29. 下列程序的运行结果是 (B) A) a=%2,b=%5 B) a=2,b=5 C) a=d, b=d D) a=%d,b=%d #include main() int a=2,c=5; printf(a=%d,b=%dn,a,c); 30. 设有数组定义: char array =China; 则数组 array所占的空间为 (C) A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节31. 下列程序的输出结果是 (B) A) 5 B) 6 C) 7 D) 8 struct abc int a, b, c; ; main() struct abc s2=1,2,3,4,5,6; int t; t=s0,a+s1,b; printf(%d n,t); 32. 若有以下调用语句,则不正确的fun函数的首部是 (C) A) void fun(int m, int x) B) void fun(int s, int h41) C) void fun(int p, int *s) D) void fun(int n, int a) main() int a50,n; fun(n, &a9); 33. 设已有定义: char *st=how are you; 下列程序段中正确的是 (A) A) char a11, *p; strcpy(p=a+1,&st4); B) char a11; strcpy(+a, st); C) char a11; strcpy(a, st); D) char a, *p; strcpy(p=&a1,st+2);34. 下列程序执行后的输出结果是 (A) A) you&ne B) you C) me D) err mai() char arr24; strcpy(arr,you); strcpy(arr1,me); arr03=&; printf(%s n,arr); 35. 下列程序执行后的输出结果是 (B) A) 6 B) 8 C) 10 D) 12 #define MA(x) x*(x-1) main() int a=1,b=2; printf(%d n,MA(1+a+b);36. 变量a所占内存字节数是 (C) A) 4 B) 5 C) 6 D) 8 union U char st4; int i; long l; ; struct A int c; union U u; a;37. 下列关于单目运算符+、-的叙述中正确的是:(D)A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量38. 下列选项中,不能用作标识符的是:(D) A)_1234_ B)_1_2 C)int_2_ D)2_int_39. 有以下程序main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%dn”,s);程序执行后的输出结果是:(D)A) 自然数19的累加和 B) 自然数110的累加和C) 自然数19中的奇数之和 D) 自然数110中的偶数之和40. 若有以下说明和语句,int c45,(*p)5;p=c;能正确引用c数组元素的是:(D)A)p+1 B)*(p+3) C)*(p+1)+3 D)*(p0+2)41. 有以下函数定义:voidfun(intn,doublex) 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是:( C )A) fun(inty, double m); B) k=fun(10,12.5); C) fun(x,n); D) voidfun(n,x);42. 1MB等于:(D)A) 1000字节 B) 1024字节C) 10001000字节 D) 10241024字节43. 有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是:( A )A)scanf(“%d”,pa); B)scanf(“%d”,a);C)scanf(“%d”,&pa); D)scanf(“%d”,*pa);44. 有如下定义:struct skint a;float b;data;int *p;若要使p指向data中的a域,正确的赋值语句是:( C )A) p=&a; B) p=data.a; C) p=&data.a; D) *p=data.a45. 定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&y+z/2的值是:( D )A) 6 B) 0 C) 2 D) 1二、填空题(每题2分,共30分)1. 表达式1015) 的值是 0 。3. 设变量已正确定义,在程序段B中填入正确的内容,使程序段 A 和程序段B等价。 程序段 Afor(k=s=0;k=10;s+=ak+) if(ak0) break; 程序段B for(k=0,s=0; ; s+=ak+) if( ak10 ) break;4. 下列程序的输出结果是 100 。 #define T 10 #define MD 3*T printf(“%d”,30/MD);5. 下列程序的输出结果是 k=5, s=15 。 int k,s; for(k=s=0;k10&s=10;s+=k)k+; printf(“k=%d,s=%d”,k,s);6. 下列程序的输出结果是 5,9 。 #include int f(int m) static int k=2; k+; return k+m;void main( ) int s; s=f(2); printf(“%d,%dn”,s,f(s);7. 对于以下递归函数f,条用f(3)的返回值是 -2 。 f(int n) return(n=0)?n:f(n-1)+f(n-2);8. 下列程序的输出结果是 -10 。 int c =10,0,-10;int *k=c+2;printf(“%d”,*k-);9. 下列程序的输出结果是 2 1 。int k=1,j=2,*p=&k,*q=p;p=&j;printf(“%d %d”,*p,*q);10. 下列程序的输出结果是 un, g 。#include char *f(char *str) return str=”fun”; void main( ) char *str=”one”; printf(“%s,%cn”, f(str)+1,*f(str)+1);11. 下列程序的输出结果是 1,3 。#include void p(int *x,int y) +*x; y-; void main( ) int x=0,y=3; p(&x,y); printf(“%d,%d”x,y);12. 下列程序的输出结果是 1 0 0 1 。#include int j,k,a22; for(k=1;k3;k+) for(j=1;j3;j+)ak-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论