ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:26.91KB ,
资源ID:4599571      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4599571.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言第二学期试题A卷.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言第二学期试题A卷.docx

1、C语言第二学期试题A卷命题教师:成科扬共12页第 1 页江 苏 大 学 试 题学生所在学院 专业、班级 学号 姓名 任课教师 (2014 -2015学年第二学期) 课程名称 程序设计(C语言) 开课学院 计算机学院 使用班级 理工类 考试日期 2015年06月17日 题 号一二三总分核查人签名得 分阅卷教师注意事项: 1. 闭卷考试。考试时间为120分钟。2选择题答案请用2B铅笔填涂至答题卡,其他题目答案请用签字笔或圆珠笔填写在答题纸上。3请将试卷及答题纸分别都写上班级、学号、姓名、任课教师。一、选择题(每题1分,共50分)1以下叙述不正确的是_。A. 在C程序中,注释说明只能位于一条语句的后

2、面B. 一个C源程序可由一个或多个函数组成C. C程序的基本组成单位是函数D. 一个C源程序必须包含一个main函数2以下关于C语言语句的叙述中,正确的是_。A. 所有语句都包含关键字 B. 所有语句都必须在一行内书写完毕 C. 所有语句都可以出现在源程序中的任何位置 D. 复合语句由括住,且在复合语句中也可以定义变量3. C语言程序经过编译以后生成的文件名的后缀是 。A. .cpp B. .c C. .obj D. .exe 4. 下列数据中属于“字符串常量”的是_。A. ABC B. A C. ABC D. A5. 若有以下定义:char a; int b; float c; double

3、 d;则表达式a*b+d-c值的类型为_。A. float B. int C. char D. double6. 设有语句 int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是_。 A. 3 B. 0 C. 9 D. -127设a,b为字符型变量,执行“scanf(a=%c,b=%c, &a , &b); ”后,使变量a的值为字母A,变量b的值为字母B,从键盘上正确的输入是_ 。A.AB B. A , B C. A,B D. a=A,b=B8. 设 int x=1, y=1; 表达式(!x|y-)的值是 。A. 0 B. -1 C. 1 D. 29. 设有以下语句:int x=3

4、,y=4,z=5; 则下面表达式中值为0的是 。A.x&y B.x|y+z&y-z C.!(xy)&!z|1) D.x=b=c) B.(a=b)AND(b=c)C.(a=b)&(b=c) D.(a=b)&(b=c)11数学式在C程序中正确的表示形式为_。Asqrt (a)/2*b B. sqrt (a)/2/b C. sqrt (a)/2b D. sqrt a /(2*b)12putchar ( )函数可以向终端输出一个_。A. 整型变量表达式值 B. 实型变量值C. 字符串 D. 字符常量或字符型变量值13. 以下程序运行后的结果是 。#includevoid main()int i=0;s

5、witch(i) case 0: printf(%d,i);case 2: printf(%d,i);break;default: printf(%d,i);break;A.000 B.022 C.00 D.014对下面三条语句(其中s1和s2为内嵌语句),正确的论断是_。 (1)if(a) s1; else s2; (2)if(a=0)s2; else s1; (3)if(a!=0) s1;else s2;A.三者相互等价 B.(1)和(2)等价,但与(3)不等价C.三者互不等价 D.(1)和(3)等价,但与(2)不等价15. 假定所有变量均已正确定义,下列程序段运行后x的值是 。a=b=c

6、=0; x=35;if(!a) x-; else if(b); if(c) x=3; else x=4;A.34 B.35 C.3 D.416. 以下程序段的输出结果是 。int x=3;doprintf(%3d,x-=2); while(!(-x);A.1 B.3 0 C.1 -2 D.死循环17. 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是 。A.for(i=1,p=1;i=5;i+) p*=i; B.for(i=1;i=5;i+) p=1;p*=i;C.i=1;p=1;while(i=5)p*=i;i+; D.i=1;p=1;dop*=i;i+;while(i

7、=5);18. 以下数组定义中不正确的是_。Aint a23; Bint b 3=0,1,2,3;Cint c100100=0; Dint d3=1,2,1,2,3,1,2,3,4;19. 以下程序段的输出结果是 。#includevoid main()int i,sum;for(i=1;i6;i+) sum+=sum;printf(%dn,sum);A.15 B.14 C.不确定 D.020. 以下程序段的输出结果是 。#includevoid main()int y=10;for(;y0;y-)if(y%3=0)printf(%d,-y);A.741 B.852 C.963 D.87542

8、121. 下列程序的输出为: 。#includevoid main( )int j,k,l=0,m=0; for(j=0;j2;j+)for(k=0;k3;k+)l+; l-=k;m=j+k; printf(%d,%d,l,m);A.0,3 B. 0,5 C.1,3 D.1,522. 以下程序运行后的输出结果是 。#includevoid main()int i=0,x=0,s=0; for(; ;) if(i=3|i=5) continue; if(i=6) break; i+; s+=i;printf(%dn,s);A.10 B. 13 C.21 D.程序进入死循环23. 有定义int a

9、10; 则对a数组元素的正确引用是_。Aa10 Ba-1 Ca(5) Da10-1024. 对以下说明语句的正确理解是_。 int a10=6,7,8,9,10;A将5个初值依次赋给a1至a5B将5个初值依次赋给a0至a4C将5个初值依次赋给a6至a10D因为数组长度与初值的个数不相同,所以此语句不正确25. 合法的数组说明语句是_。Aint a = string; Bchar a = string;Cchar a= string; Dchar a5= 0, 1, 2, 3, 4, 5; 26若有数组A和B的声明“static char A =ABCDEF,B =A,B,C,D,E,F; ”,

10、则数组A和数组B的长度分别是_。A. 7,6 B. 6,7 C. 6,6 D. 7,727. 函数调用“strcat(strcpy(str1,str2),str3)”的功能是_。A将字符串str1复制到字符串str2中后再连接到字符串str3之后B将字符串str1连接到字符串str2之后再复制到字符串str3之后C将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后D将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中28. 若二维数组a有m列,则在存储其中的某一元素aij之前有_个数组元素。Aj*m+i Bi*m+j Ci*m+j-1

11、 Di*m+j+129. 函数返回值的类型应由 决定。 A.return中的表达式类型 B.调用该函数的主调函数类型C.定义函数所指定的类型 D.实参类型30以下函数的类型是_。fun(float x)float y; y=3*x-5.5; return y;A. int B. 不确定 C. void D. float31以下叙述中正确的是_。A函数可以有参数也可以没有参数 BC函数既可嵌套定义又可递归调用C函数须有返回值,否则不能调用D主函数必须书写在子函数之前 32. 在下面有关函数间传递数据的四种方式中,不能把被调用函数的数据带回到主调函数中的是 。A.地址传递 B.值传递 C.返回值传

12、递 D.全局变量33. 以下叙述中不正确的是 。A.在不同的函数中可以使用相同名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效34. 函数调用语句“f(e1,e2),(e3,e4,e5);”中参数的个数是 。A.1 B.2 C.4 D.535若有声明“long fun(int *x, int n, long *s); int a4=1,2,3,4; long b, c;”,则以下函数调用形式中正确的是_。Ac=fun(a,4,b); Bc=fun(a ,4,&b);Cc=fun(a4,4,b); Dc

13、=fun(a,4,&b);36以下是一个自定义函数的头部,其中正确的是_。A. int fun(int x , y) B. int fun(int x , int x)C. int fun(int x , int y) D. int fun(char x ,int y)37. 设函数中的整形变量n,为保证其在未赋初值的情况下初值为0,应选择的存储类别是A.auto B.register C.static D.auto或register38. 下面各语句行中,能正确进行赋字符串操作的语句是_。A. char s5= ABCDE; B. char s5= A, B, C, D, E;C. char

14、 *s; s=ABCDE; D. char *s; scanf(%s, &s);39. 以下程序运行后的输出结果是 。#define N 20void fun(int a,int n,int m)int i;for(i=m; i=n; i-)ai+1=ai;void main()int i,aN=1,2,3,4,5,6,7,8,9,10;fun(a,2,9); for(i=0;ix B. p+ C. (*p).y D. p=&a0.x45. 值为6的表达式为_。 struct stint n; struct st *next; static struct st a3=5,&a1,7,&a2,9

15、,0,*p; p=&a0;A. p+ -n B. p-n+ C. (*p).n+ D. +p-n46. 下列语句中,将c定义为文件型指针的是_。A. FILE c; B. FILE *c; C. file c; D. file *c;47. 有以下程序#includestruct ordint x,y;dt2=1,2,3,4;void main()struct ord *p=dt;printf(%d,+p-x); printf(%dn,+p-y);程序运行后的输出结果是A.1,2 B.2,3 C.3,4 D.4,148标准库函数fputs(p1,p2)的功能是_。A. 从p1指向的文件中读一个

16、字符串存入p2指向的内存空间B. 从p2指向的文件中读一个字符串存入p1指向的内存空间C. 从p1指向的内存空间中读一个字符串存入p2指向的文件D. 从p2指向的内存空间中读一个字符串存入p1指向的文件49. fwrite函数的一般调用形式是_。A. fwrite(buffer, count, size, fp); B. fwrite(fp, size, count,buffer);C. fwrite(fp, count,size, buffer); D. fwrite(buffer, size, count, fp);50. 有以下程序#includevoid main()FILE *f;f

17、=fopen(filea.txt,w);fprintf(f,abc);fclose(f);若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt中的内容为A.helloabc B.abclo C.abc D.abchello二、阅读程序题(每空2分,共20分)1. 以下程序段的输出结果是 。 #includevoid main()int a=4,b=3,c=5,t=0;if(ab) t=a; a=b; b=t;if(ac) t=a; a=c; c=t;printf(%d %d %dn,a,b,c);2. 以下程序的输出结果是 。 void main()

18、char a=programming, b=language; char *p1,*p2; int i; p1=a;p2=b; for(i=0;i7;i+) if(*(p1+i)=*(p2+i) printf(%c,*(p1+i); 3. 以下程序的输出结果是: 。若程序中变量a的值初始化为16,则输出结果是 。#includevoid main()int a=15,b=21,m=0;switch(a%3) case 0: m+;break; case 1: m+; switch(b%2) default: m+; case 0: m+;break;printf(m=%dn,m);4. 以下程

19、序运行时输出结果是 。 #include #include int count(char s) int i=0; if(si=0) return 0; while(isalpha(si)i+; /int isalpha(int ch) 为检查ch是否为字母的库函数 while(!isalpha(si)&si!=0)i+; return 1+count(&si); void main() char line=one world,one dream.; printf(%d,count(line); 5运行下列程序,输入字符串Albert后,输出结果是 ,本程序的功能是 。#include void

20、 main()char a100; int n; gets(a); n=0; while(an!= 0)n+; printf(%dn,n); 6. 下面程序的输出结果是 。#includevoid main() int fun(int a);int a=2,i;for(i=0;i3;i+) printf(%2d,fun(a);int fun(int a)int b=1; static int c=1; b+;c+;return(a+b+c);7. 以下程序运行后的输出结果是: 。#includevoid main()int a=1,b;for(b=1;b=8) break; if(a%2=1)

21、 a+=5;continue; a-=3;printf(%dn,b);8. 以下程序的输出结果是 。 struct ks int a;int *b; void main() struct ks s4,*p; int n=1,j; for(j=0;jb),*s2.b);三、完善程序题(每空2分,共30分)1. 用牛顿迭代法求方程:4x3-3x2+2x-7=0在1.5附近的根。要求前后两次求出的根的差的绝对值小于10-5。#include#include void main() float x,x0,f,f1; x=1.5;do ;f=(4*x0-3)*x0+2)*x0-7; f1=(12*x0-

22、6)*x0+2;x= ; while( );printf(root=%fn,x);2. 以下程序求一组整数的最大公约数。试完善程序以达到要求的功能。 #include int gcd(int a,int b) int r,t; if(ba) t=a;a=b;b=t; while( )a=b;b=r; return b; void main() int x,i,a6=12,56,48,32,16,24; x=a0; for(i=1;i6;i+) x=gcd(x, ); printf(这组整数的最大公约数为:%d,x); 3. 以下程序段的功能是将一个23的矩阵转置生成一个32的矩阵。(即行列互换

23、) 即 1 3 5 1 22 4 6 3 4 5 6void main() int a23,b32,i,j,k; for (k=1,j=0;j3;j+) for(i=0;i2;i+) aij= ; for(i=0;i2;i+) for(j=0;j3;j+) bji= ; for(i=0;i3;i+) for(j=0;j2;j+)printf(%3d,bij); printf(n);4. 以下程序段的功能是用折半查找法判断任意读入的整数是否在有序数组中。#define n 11void main()int x,low,mid,high,find; static int a=2,5,11,18,24,35,42,50,58,86,92; scanf(%d,&x); low=0; high=n-1; find=0; while(lowamid) ; else ; if(find) printf(Its successful:a%d=%dn, mid, x); else printf(Its fail to find %d, x);5. 程序填空:以下程序的功能是计算s=。#includelong fun(int n)int i

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1