专升本C语言历年试题及答案_第1页
专升本C语言历年试题及答案_第2页
专升本C语言历年试题及答案_第3页
专升本C语言历年试题及答案_第4页
专升本C语言历年试题及答案_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、专升本 C 语言历年考试题及答案 一、单项选择题 1. D_是合法的用户自定义标识符。 A、 b-b B、 float C、 D、 _isw 2. 若变量已正确定义并赋值,表达式 B_不符合 C 语言语法。 A、 a*b/c; B、 3.14%2 C、2, b D 、 a/b/c 3. C_是不正确的字符常量。 A、 n B、1 C、 a D、101 4. 在 C 程序中,用 _B_ 表示逻辑值 真” 。 A、 B 、非 0 的数 C、非1的数 D、大于 0 的数 5. C 把 x、 y 定义成 float 类型变量,并赋同一初值 3.14。 A、 float x, y=3.14; B、flo

2、at x, y=2*3.14; C、 float x=3.14, y=x=3.14; D 、 float x=y=3.14; 6. 若变量已正确定义, 表达式 C_ 的值不是 2。 A、2 else k=1; ” C等价。 A、 k=(ab)?1:0; B 、 k=ab; C、 k=a=b; D 、 apk B、*p.pk C、 *p-pk D、*x. pk 16.有如下程序 int run c(i nt a,i nt b) return( a+b); mai nO int x=2,y=5,z=8,r; r=fu nc(fun c(x,y),z); printf( “ %dn ” ,r); 该

3、程序的输出的结果是 (D) A) 12 B) 13 C) 14 D) 15 17. 对于基类型相同的两个指针变量之间,不能进行的运算是 A) 2) return(fib( n-1)+fib( n-2); else return(2); mai nO printf( “ %dn” ,fib(3); 该程序的输出结果是 (B) A 2 B 4 C 6 D 8 19. 有如下定义 struct person char n ame9; int age; strict person class10= “Johu” , 17, “ Paul” , 19 “ Mary ” , 18, “ Adam 16,;

4、 根据上述定义,能输出字母 A) prinft( B) pfintf( C) prinft( D) printf( M的语句是(D) “ cn ”,class3.mane); %cn ” ,1); %cn ” ,1); %Acn ” ,O); C语言常量中,错误的是(B) 72 以下所列的 A) OxFF B) 1.2e0.5 C) 2L D) 21. 有以下程序段 精选文库 24 int k=0 while(k=1)k+; while循环执行的次数是(A) A)无限次B)有语法错,不能执行 C) 一次也不执行 D)执行1次 2

5、2.以下程序的输出结果是(C) A) 0 B) 29 C) 31 D) 无定值 fun (i nt X, int y, int z) z=x*x+y*y; main () int a=31; fun (5,2,a); printf( “ d ” ,a); 23.下列程序段的输出结果是(A) A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2 void fun(int *x, i nt *y) printf( “ %d %d ” , *x, *y); *x=3; *y=4; main () int x=1,y=2; fun( printf( “ %d %d ”

6、 ,x, y); (B) 24.当调用函数时,实参是一个数组名,则向函数传送的是 A)数组的长度 B)数组的首地址 C)数组每一个元素的地址D)数组每个元素中的值 25.以下程序的输出结果是 (A) A) 1 B) 2 C) 3 D) 4 long fun( int n) long s; if(n= =1 II n= =2) s=2; else s=n-fun(n-1); return s; main () printf( “ %ldn ” , fun(3); 26.以下程序的输出结果是(B) A) 16 B) 2 C) 9 D) 1 #define SQR(X) X*X main () in

7、t a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf( “ dn ” ,a); 27.以下函数返回a所指数组中最小的值所在的下标值 fun (i nt *a, i nt n) int i,j=0, p; p=j; for(i=j;iN;l+) if(ai y z ”的C表达式是 x=y 3. 下列程序段的输出是_6,90o int k; float s; for (k=0, s=0; k 7; k +) s += k/2; prin tf(%d, %fn, k, s); 4.下列程序段的输出是_5,25. #defi ne f(a, b, x)a*x+b

8、 prin tf(%d, %dn ”, f(3,2,1), f(6, 5, f(3, 2, 1); 5.下列程序段的输出是_*#*# o mai n() int k; for(k=1; k5; k+) if(k % 2)prin tf(*); else con ti nue; prin tf(#); 6. 下列程序段的输出是58。 # in clude int f(int x) static y=1; y+; x += y; return x; void mai n() int k; k=f(3); prin tf(%d%dn, k, f(k); 7. 下列程序段的输出是 int p, *q,

9、 q = p = q ; q = prin tf(%d, * p); 8. 函数 void f(char s , char t) int k=0; while (sk=tk)k+; 等价于 void f(char *s, char *t) while (_*s+=*t+ 9.下列程序段的输出是_ ne,s。 char *a2=o ne, two, * p=a; prin tf(%s, *( p+)+1); prin tf(%c n, * p-1); 10.下列程序编译后生成t.exe,运行t input out put zoo oil的输出结果是_zoo。 void main (i nt ar

10、gc, char * argv) int k; char *p=argv1; for(k=2; k0)p=argvk; prin tf(%s n, p); 11.下列程序调用swap函数交换a和b的值,并输出交换后的 a和b的值。程序的输出结 果是:After swap 5, 3。 void mai n() int a=3, b=5; swa p( swa p( int *p, int *q ) int t; t=* p; *p=*q *q=t 专升本C语言历年考试题及答案-、单项选择题 1. C语言源程序文件经过 C编译程序编译连接之后生成一个后缀为 C 的文件。 2. 3. 4. A” A

11、、 .c “I ” .obj C、 .exe D、“ .bas ” 以下选项中不正确的整型常量是 _G A、 12L B、 -10 C、1,900 D、123U 3%5 表达式 C 的值是0。 B、3/5.0 C、3/5 D、30|y0)等价于_D_。 !x0|!y0 B、!(x0)|!(y0) C、!x0 %x 将得到出错信息。 D、%f 设变量定义为“ int s =hello n; ”,则数组 s中有 B 个元素。 B、13 C、14 D、15 设变量定义为“ int a2=1,3, *p= ”,则 *p 的值是B 。 C、4 D、 int k; p4; A p-k=2 B、pO.s=

12、“abc” C、 p0-k=2 D、p- s= a 14. 下列运算符中,优先级从高到低依次为 A p= q = p = q ; (*p)+; C、10 D、11 16. 以下各选项企图说明一种新的类型名,其中正确的是水量 (C) A) typ edef v1 int; B) typ edef v2=int; C) typ edefv1 int v3; D) typ edef v4: int; 17. 以下选项中,非法的字符常量是(C) xaa A) t B) 17 C)“n” D) 18. 以下程序的输出结果是(C) main() int i, a10; for(i=9;i=0;i-) ai

13、=10-i; printf( “ %d%d%d,a2,a5,a8); A) 258 B) 741 C) 852 D) 369 19. 以下程序的输出结果是(B) main() char st20= printf(%d %d n ”,strlen(st),sizeof(st); A) 9 9 B) 5 20 C) 13 20 D) 20 20 20. 以下程序的输出结果是(D) main() int a, b; for(a=1, b=1; a=10) break; if (b%3= =1) b+=3; continue; printf(“ dn” ,a); A) 101 B) 6 C) 5 D)

14、 4 21. 以下程序的输出结果是(D) union myun struct int X, y,乙 u; int k; a; main() a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(%dn ” ,a.u.x); A) 4 B) 5 C) 6 D) 0 22. 以下程序段的输出结果是 (A) char s=141141abct; printf (%dn,strlen(s); A) 9 B) 12 C) 13 D) 14 23. 以下程序的输出结果是(B) main() char ch35=AAAA,BBB,CC; p rintf(%sn,ch1); A)

15、AAAA B) BBB C) BBBCC D) CC 24. 不合法的main函数命令行参数表示形式是 (C) A) main(int a,char *c) B) main(int arc,char *arv) C) main(int argc,char *argv) D) main(int argv,char *argc) 25. 有以下程序 main() char *s=one,two,three,* p; p=s1; p rintf(%c,%sn,*( p+1),s0); 执行后输出结果是(C) A) n,two B) t,one C)w,one D) o,two 26. 设有如下说明

16、typ edef struct int n; char c; double x;STD; (A) 则以下选项中,能正确定义结构体数组并赋初值的语句是 A) STD tt2=1,A,62,2,B,75; B) STD tt2=1,A,62,2, B,75; C) struct tt2=1,A,2, B; D) structtt2=1,A,62.5,2, B,75.0; 27.若变量c为char类型,则能正确判断出c为小写字母的表达式是(D )o A) a=c= a)|(cv= z) C) (av=c)and (z=c) D) (c= a)else if(x=0)y=0;else y=-1; y=

17、 -1 3. 表达式!!5 4. x0 x=0 x0 的值是 1 下列程序段的输出结果是 12o printf(%xn, (0 x19 1) 5.下列程序段的输出结果是k=4 s=6 int k, s; for(k=0, s=0; kk) break ; else s += k; p rintf(k=%d s=%d, k, s); 6. 下列程序段的输出结果是15 o #define MIN(x,y) (x)(y)?(x) : (y) p rintf(%d,10*MIN(10,15); 7. 下列程序在运行时可能会出错,原因是 指针变量s未赋初值 # include void main() c

18、har *s; gets(s); puts(s); 8. 下列程序段的输出是6 0 # include int f(int m) static int k=0; int s=0; for(; k*s )s=p; retum(*s); main() int x5=12,21,13,6,18; p rintf(%dn,findmax(x,5); 三、程序(段)填空题 1设变量x, y, z已正确定义和赋值,请仔细阅读程序段A,然后在程序段B中填入正确的内容,使程序 段A和程序段B有相同的功能。 程序段A 程序段B x=x+y; y=x-y; x=x-y; z=x+y; z=x x=y y=z; z

19、=x+y; 2. 请仔细阅读函数f1,然后在函数f2中填入正确的内容,使函数 f1和函数f2有相同的功能。 char *f1(char s , char t) int k; for(k=0; tk!= ; k+) sk=tk; sk=; return s; 专升本C语言历年考试题及答案 一、用C语言描述下列命题(共8小题,每小题3分,计24分) 1.y为int型,满足能同时被3,5整除的表达式。 2. 把下列数学表达式转换为C语言表达式。 1 n1 VR2 (WL)2 3. 表示CH不是小写英文字母的表达式。 4. 条件10|a-b| void mai n() int x,y; for(x=1

20、;x3;x+) for(y=1;y int a=0,1,2,3,4,5,6,7,8,9; int f(int n) if(n=1) return a0; else return( n*f(n-1)+a n)/(n+1); void mai n() int n=6; prin tf(f(%d)=%d, n,f(n); 程序运行后的输出结果为: 3. #i ncludevstdio.h struct type int num; int age; float wage; ; void mai n() struct type teac; teac .num=105; teac.age=28; teac.wage=342.5; P r(teac); void p r(struct type p arm) prin tf(%d,%d,%6.2fn,p arm. nu m, parm.age ,p arm.wage); 程序运行后的输出结果为: 4. #i ncludevstdio.h char prn _str(char *str,i nt m,i nt

温馨提示

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

评论

0/150

提交评论