专升本C语言历年试题及答案

上传人:w****2 文档编号:40268345 上传时间:2021-11-15 格式:DOC 页数:20 大小:237.50KB
收藏 版权申诉 举报 下载
专升本C语言历年试题及答案_第1页
第1页 / 共20页
专升本C语言历年试题及答案_第2页
第2页 / 共20页
专升本C语言历年试题及答案_第3页
第3页 / 共20页
资源描述:

《专升本C语言历年试题及答案》由会员分享,可在线阅读,更多相关《专升本C语言历年试题及答案(20页珍藏版)》请在装配图网上搜索。

1、专升本 C 语言历年考试题及答案 一、单项选择题1.D_是合法的用户自定义标识符。A、b-bB、floatC、 D 、 _isw2.A、10 10B 、10, 10C、 a=10b=10D、 a=10, b=10A、a*b/c;B、3.14%2C、 2, bD 、 a/b/c3._C_是不正确的字符常量。A、nB、1C、 aD 、 1014.在 C 程序中,用_B_ 表示逻辑值“真” 。A、1B、非0的数C、非1的数D、大于0 的数5._C 把 x、 y 定义成 float 类型变量,并赋同一初值3.14。A、float x, y=3.14;B、 float x, y=2*3.14;C、flo

2、at x=3.14, y=x=3.14;D、 float x=y=3.14;6.若变量已正确定义,表达式 _C_的值不是 2。A、2&3B 、 1b) k=0; else k=1; ”和_CA、k=(ab)?1:0;B 、 k=ab;C、 k=a=b;D 、 apkB、*p.pkC、 *p-pkD、*x.pk16. 有如下程序int run c(i nt a,i nt b) retur n( a+b);mai nO int x=2,y=5,z=8,r;r=fu nc(fun c(x,y),z); printf( “ dn ” ,r);(D)A) 12 B) 13 C) 14 D) 1517.

3、对于基类型相同的两个指针变量之间,不能进行的运算是(C)A) 2) return(fib( n-1)+fib( n-2);else return(2);mai n0 printf( “ %dn” ,fib(3);(B)A 2 B 4 C 6 D 819. 有如下定义struct pers on char n ame9; int age; strict person class10= “Johu” , 17, iiPaul” , 19iiMary ” , 18,Adam 16,;M的语句是 (D)A) prinft( “ cn ”,class3.mane);B) pfintf( “ %cn ”

4、,class3.name1);C) prinft( “ %cn ” ,class2.name1);D) printf( “ %Acin ” ,class2.name0);20. 以下所列的C语言常量中,错误的是(B)A) OxFF B) 1.2e0.5 C) 2L D) 7221. 有以下程序段int k=0while(k=1)k+;while循环执行的次数是(A)A)无限次B)有语法错,不能执行C) 一次也不执行 D)执行1次22. 以下程序的输出结果是(C)A) 0 B) 29 C) 31 D) 无定值fun (i nt x, int y, int z) z=x*x+y*y; main (

5、) 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 (i nt *x, int *y) printf( “ %d %d ” , *x, *y); *x=3; *y=4;main () int x=1,y=2;fun(&y,& x);printf( “ %d %d ” ,x, y);(B)24. 当调用函数时,实参是一个数组名,则向函数传送的是A)数组的长度 B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值25.

6、 以下程序的输出结果是(A)A) 1 B) 2 C) 3 D) 4long fun( int n) long s;if(n= =1 | 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*Xmain () int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf( “ dn ” ,a);27. 以下函数返回a所指数组中最小的值所在的下标值fun (i nt

7、*a, int n) int i,j=O,p;P=j;for(i=j;iN;l+)if(ai y z ”的 C 表达式是 x=y & y=z2. 下列程序段的输出是_1。printf(%on, 0101A1);3. 下列程序段的输出是_6,90。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+bprintf(%d, %dn, f(3,2,1), f(6, 5, f(3, 2, 1);5. 下列程序段的输出是_*#*# 。m

8、ai n() int k;for(k=1; k5; k+) if(k % 2) printf(*);else continue;printf(#);6. 下列程序段的输出是 _5 8_# include int f(int x) static y=1;y+;x += y;return x;void main() int k;k=f(3);printf(%d %dn, k, f(k);7. 下列程序段的输出是 _5_。int *p, *q, k = 5 , j = 6 ;q = &k ; p = q ; q = &j ;printf(%d, *p);8. 函数void f(char s , ch

9、ar t ) int k=0;while (sk=tk) k+;等价于void f(char *s, char *t) while (_*s+=*t+);9. 下列程序段的输出是 _ ne,s 。char *a2=one, two, *p=a;printf(%s, *(p+)+1);printf(%cn, *p-1);_zoo_10. 下列程序编译后生成 t.exe, 运行 t input output zoo oil 的输出结果是 void main(int argc, char * argv )int k;char *p=argv1;for(k=2; k0) p=argvk;printf(

10、%sn, p);11. 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结是: After swap 5, 3。void mai n() int a=3, b=5;swap( &a, &b );prin tf(After swap %d, %d, a, b);swap( int *p, int *q ) int t;t=*p;*p=*q;*q=t ;专升本C语言历年考试题及答案-、单项选择题1. c语言源程序文件经过 c编译程序编译连接之后生成一个后缀为_c的文件。A、” .c ”B、“ .obj ”C、“ .exe ”D、“ .bas ”2. 以下选项中不正确的整

11、型常量是_C。A、12LB、-10C、1,900D、123U3. 表达式_C_的值是0。A 3%5B、3/5.0C、3/5D、30|y0)等价于 _D_。A !x0|!y0B、!(x0)|!(y0)C、!x0&!y0D、!(x0)&!(y0)5. 若变量已正确定义并赋值,表达式 _D不符合C语言语法。A 4&3B、+aC、a=b=5D、int(3.14)6. 若变量已正确定义,执行语句scanf(%d%d%d ,&k1,&k2,&k3);时,_B正确的输入。A、2030,40B、20 30 40 C、20, 30 40D、20, 30,407. 执行语句printf( ” _D”,2);将得到

12、出错信息。A %dB、%oC、%x D、%f8. 设变量定义为“ int s =hello nworldn;,则数组s中有_B个元素。A 12B、13C、14D、159. 设变量定义为 “ int a2=1,3, *p=&a0+1;”,_则 *p 的值是 _B_。A 2B、3C、4D、&a0+110. 若变量已正确定义并赋值,表达式 -k+等价于 A 。A -(k+)B、(-k)+C、-(k+1)D、-(+k)11. 在C语言程序中,在函数内部定义的变量称为_D。A、全局变量B、 全程变量C、外部变量D、内部变量12. 若x是整型变量,表达式 (x=10.0/4.0) 的值是_D_。A 2.5

13、B、2.0C、3D、213. 对于以下的变量定义,表达式A 是正确的。struct node char s10;int k; p4;A、p-k=2B、pO.s= “abc”C、p0-k=2D、p- s= aC、& | , !D、!,&, |14. 下列运算符中,优先级从高到低依次为_D.A &, ! , |B、| , &,15.下列程序段的输岀结果是 _B。int *p,*q.k = 1, j=10 ;p=&j; q = &k ;p = q ; (*P)+;printf(%d,*q);A 1B、2C、 10D、 11(C)16.以下各选项企图说明一种新的类型名,其中正确的是水量xaaA) 10

14、1 B) 6 C) 5 D) 421. 以下程序的输岀结果是(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) 022. 以下程序段的输出结果是(A)char s=141141abct;printf (%dn,strlen(s);A) 9 B) 12 C) 13 D) 1423. 以下程序的输出结果是(B)main() char ch35=AAAA,BBB,CC;printf(%sn,ch1);A) AAA

15、A B) BBB C) BBBCC D) CC24. 不合法的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;printf(%c,%sn,*(p+1),sO);二| 执行后输出结果是(C)A) n,two B) t,one C)w,one D) o,two26. 设有如下说明typedef struct

16、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 )A) av=c= a)|(c=c)D) (c= a)&(c= A &ch,= Z )|(ch= a &ch0)y=1;else if(x=0)y=0;else y=-1;1x0y=0x=0-1x03.

17、 表达式!5 的值是_1。4. 下列程序段的输岀结果是12。printf(%xn, (0x19 1) & 0x17);5. 下列程序段的输出结果是 _ k=4 s=6_。int k, s;for(k=0, s=0; kk) break ;else s += k;printf(k=%d s=%d, k, s);6. 下列程序段的输岀结果是_15。#define MIN(x,y)(x)(y)?(x) : (y)printf(%d,10*MIN(10,15);7. 下列程序在运行时可能会岀错,原因是_指针变量s未赋初值# includevoid main() char *s;gets(s);puts

18、(s);8. 下列程序段的输岀是60_。# includeint f(int m) static int k=0;int s=0;for(; k=m; k+) s+;return s;void main() int s1, s2;s1=f(5);s2=f(3);printf(%d %dn, s1, s2);9. 下列程序段的输出结果是 _ fgh 。char *st =abcd,efgh,ijkl,mnop;printf(%s, *(st+1)+1);10. 用typedef定义一个含10个元素的整型数组 ARRtypedef int ARR10;11 以下程序调用findmax函数返回数组中

19、的最大值,请填空。findmax(int *a,int n)三、程序(段)填空题1.设变量x, y, z已正确定义和赋值,请仔细阅读程序段A,然后在程序段E中填入正确的内容,使程序 段A和程序段E有相同的功能。程序段A程序段Bx=x+y;y=x-y;x=x_y;z=x+y;z=x ;x=y ;y=z;z=x+y;2请仔细阅读函数fl,然后在函数f2中填入正确的内容,使函数 fl和函数f2有相同的功能。char *f1(char s , char t) int k;for(k=0; tk!= ; k+)sk=tk;sk=;return s;专升本C语言历年考试题及答案一、用C语言描述下列命题(共

20、8小题,每小题3分,计24分)1. y为int型,满足能同时被3,5整除的表达式。2. 把下列数学表达式转换为C语言表达式。11 1.R2 (wL)23. 表示CH不是小写英文字母的表达式。4. 条件10|a-b|20的C语言表达式。5. x,y和z均为int型,x和y中仅有一个小于z。6. 定义一个数组a10,其数组元素为指向float的指针。7. 定义一个交通信号灯(Transportation_light)的枚举类型及其变量light。其中列举 的常量有红,黄,绿(red,yellow,green三色控制灯。8. 写出一个函数f1()的说明部分,函数的返回值为指向int数据的指针。二、根

21、据要求画出NS图或流程图(共1小题,每小题6分,计6分)1. 有一分数序列:2 3 5 8 13? ? ? ? 1 2 3 5 8试求前10项之和。三、程序阅读题(共4小题,每小题5分,计20分)1. #i ncludevoid mai n()int x,y;for(x=1;x3;x+)for(y=1;y3;y+)prin tf(%2d,x*y);prin tf(n); 程序运行后的输出结果为:2. #includeint 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)+an)/(n+1);vo

22、id main()int n=6; printf(f(%d)=%d,n,f(n); 程序运行后的输出结果为:3. #include struct type int num;int age;float wage;void main() struct type teac; teac.num=105;teac.age=28; teac.wage=342.5; pr(teac);void pr(struct type parm) printf(%d,%d,%6.2fn,parm.num,parm.age,parm.wage); 程序运行后的输出结果为:4. #includechar prn_str(c

23、har *str,int m,int n)int i; for(i=1;i=m-n;i+) printf( );for(i=1;i=n;i+) printf(%c,*str+); printf(n); void main() char *p=Teacher;prn_str(p,6,4); 程序运行后的输出结果为:四、程序填空 (共 3小题,每小题 6 分,计 18分)1. #include void main() int a,b,c,i;a=c=0; for(i=0;i=20;i+=2) a+=i;c+=b;printf( 偶数和 =%dn,a); printf( 奇数和 =%dn,);2.

24、#include void sort(char a,int n) int i,j,post;char t;for (i=0;in-1;i+);for(j=i+1;jn;j+) if)post=j;t=apost;apost=ai;ai=t;void main()char s10;int i; for(i=0;i10;i+) scanf(%c,&si);printf(the sorted array:n);for(i=0;i10;i+) printf(%c,si); printf(n);3. #includeint maxvalue(int(*p)4)int i,j,min;min=;for(i

25、=0;i3;i+) for(j=0;j4;j+)if(min)min=;p+;return min;void main()int arr34=4,2,7,2,9,1,-4,24,5,0,12,16;int min;min=maxvalue(_);printf(min=%dn,min);五、程序设计题 (本题共 4 小题,共 32分)1、输出 21世纪所有的闰年。(判断闰年的条件: 能被 4整除但不能被 100整除, 或者能被 400整除)。(8 分)2、对于一个自然数,如果该数所有因子之和正好等于该数,则该数称为完数。 找出 1000 以内的所有完数,并输出它的所有因子。 (10 分)3、编一程序,将字符串的第 m 个字符开始的全部字符复制到另一个字符串中。 要求在主函数中输入字符串及 m 值并输出结果,在被调用函数中完成复制。 (14 分)

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!