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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言期末模拟试题12.docx

1、C语言期末模拟试题12一、选择题:(20分,每题2分)1以下不正确的C语言标识符是( )。 A. ABC B. abc C. a_bc D. 2C程序是由构成的。A. 主程序与子程序 B. 主函数与若干子函数C. 一个主函数与一个其它函数D. 主函数与子函数3以下说法中正确的是: 。A. 在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D. 在C语言中,形参是虚拟的,不占存储单元。4设n=3;则n+的结果是( )。A. 2 B. 3 C. 4 D. 55设整型变量n=1

2、0,i=4,则赋值运算n%=i+1执行后,n的值是( )。 A. 0 B. 1 C. 2 D. 36凡是函数中未指定存储类别的局部变量其隐含的存储类别是( )。 A. 自动(auto) B. 静态(static) C. 外部(extern) D. 寄存器(register)7在while(x)语句中的x与下面条件表达式等价的是: 。A. x= =0 B. x= =1 C. x!=1 D. x!=08若有以下说明和语句: struct worker int no;char *name; work, *p=&work; 则以下引用方法不正确的是( )。 A. B. (*p).no C. p-no

3、D. work-no9以下对二维数组进行正确初始化的是( )。 a23=1,2,3,4,5,6; a3=1,2,3,4,5,6; a2=1,2,3,4,5,6; a2=1,2,3,4; 10二维数组a有m列,则在aij之前的元素个数为: 。A)j*m+i B)i*m+j C)i*m+j-1 D) i*m+j+1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1#includemain()int i=16,j,x=6;j=i+1;x*=i=j;printf(“%d,%dn”,j,x); 运行结果是:2#include #include main() int a=1,b=4,

4、c=2;float x=,y=,z;z=(a+b)/c+sqrt(double)y)*c+x;printf(“%fn”,z); 运行结果是:3#include main() int a,b,c,d;a=c=0;b=1;d=20;if(a) d=d-10;else if(!b) if(!c) d=25; else d=15;printf(“d=%dn”,d); 运行结果:4main()int i=10;switch(i) case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; printf(“%d”,i);运行结果:5#includ

5、emain() int a=1,2,3,4,i,j,s=0; j=1; for(i=3;i=0;i-) s=s+ai*j; j=j*10; printf(s=%dn,s);运行结果:6func(int x) x=20; main()int x=10;func(x);printf(“%d”,x);运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(20分,每空2分)1已知能被4整除而不能被100整除的或者能被400整除的年份是润年,则判断某一年是否是润年的程序如下:main() int year,leap; scanf(“%d”,&year); if(

6、 ) leap=1; else leap=0; if( ) printf(“是润年”); else printf(“不是润年”);2将100至200间不能被3整除的数输出:main()int n;for(n=100;n=200;n+) if(n%3=0) ;printf(“%d ”,n); 3判断m是否是素数 #include main()int m,i,k;scanf(“%d”,&m); k=sqrt(m);for(i=2;i=k+1) printf(“%d is a prime numbern”,m);else printf(“%d is not a prime numbern”,m);4

7、给定一3*4的矩阵,求出其中值最大的元素的值,及所在的行列号。main() int i,j,row=0,colum=0,max; static int a34=1,2,3,49,8,7,610,-10,-4,4; ;for(i=0;i=2;i+) for(j=0;jmax) max=aij; ; ; printf(“max=%d,row=%d,colum=%dn”,max,row,colum);5下面函数的功能是将两个字符串s和t连接起来。char *conj(char *s, char *t) char *p=s; while(*s) ; while(*t) *s= ;s+;t+;*s=0;

8、 ; 四、编程(40分)1计算1-1/2+1/3-1/4+1/99-1/100+,直到最后一项的绝对值小于10-4为止。(13分)2输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的个数并输出结果。(13分)3任意从键盘输入10个整数,按从小到大的顺序排序,并输出结果。(14分)答案一、选择题1、D,2、B,3、A,4、B,5、A, 6、A,7、D,8、D,9、B,10、B二、给出下列程序的运行结果1、17,1022、3、d=204、135、s=12346、10三、阅读程序,在标有下滑线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。1、(year%4= = 0 & ye

9、ar%100 !=0)| year%400= =0) leap2、continue3、break4、max = a00row = i +1colum = j +15、s+*treturn(p)四、编程 1、#includemain() int i; float sum,sign; i=1; sum=0; sign=; while(i)=1e-4) sum += sign / i ; i+; sign = - sign; printf(sum=%.4f,sum);2、#includemain() char str81; int i ; int letter,space ,num ,other ;

10、 char c; printf (Please enter a string : ); gets(str); letter=space=num=other=0; for( i= 0;stri!=0; i+) c=stri; if(c= A&c=a& c=0 & c=9) num+; else if ( c= ) space+; else other +; printf(In this string : letter =%d,space=%d ,num=%d,other=%d,letter ,space,num,other);3、#includemain() int num10; int i,j

11、,k; int temp; printf(Please enter 10 numbers :n); for(i=0;i10;i+) scanf(%d,&numi); for (i=0;i9;i+) k= i ; for (j=i+1;jnumj) k=j; if(k!=i) temp=numi; numi=numk; numk=temp; printf(After sorted :n); for (i=0;i 6) printf( %dn,m); e1se printf(%dn,-m ); A)4 B)5 C) 7 D) 68、当a=1,b=3,c=5,d=4,执行完下面一段程序后x 的值是

12、: if(ab) if(cd) x=1; else if(ac) if(bd) x=2; else x= 3; else x=6; else x=7; A)1 B)2 C)3 D)69、阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为 main()int x,y,z scanf(%d%d%d,&x,&y,&z );printf(“x+y+z=%dn” ,x+y+z);。 A)x+y+z=48 B)x+y+z=35 C)x+y+z=35 D)不确定值10、已知各变量的类型说明如下 int k,a,b; unsigned long w= 5; double x=;则以下不符合C语言

13、语法的表达式是 :A) x%(-3) B) w+=-2C) k=(a=2,b=3,a+b) D) a+= a-=(b=4)*(a=3)11、设有:int a=1, b=2, c=3, d=4, m=2, n=2;执行 (m=ab)&(n=cd)后n的值为_。A) 1 B) 2 C) 0 D) 412、判断char型变量ch是否为大写字母的正确表达式是_。 A) A =ch = A)&(ch= A )&(ch=Z) D)( A = ch)13、以下描述中正确的是_: A)由于do一while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B) 在while循环体中,循环体至少

14、要执行一次。 C)在do一while循环体中,循环体至少无条件的执行一次 D) do一while循环由do开始,用while结束,在while(表达式)后面不能写分号14、已知int x=10,y=20,z=30; 以下语句执行后x, y, z的值是_。if (xy)z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=20C) x=20, y=30, z=10 D) x=20, y=30, z=30 15、若i为整型变量,则以下循环执行次数是: for ( i=2; i!=0; ) printf(%d,i- - ); A)无限次 B) 0次 C

15、) 1 次 D) 2次16、下面程序段: for (t=1; t=100;t+) scanf(%d,&x); if(x0) continue; printf(%3d,t); A) 当x=0时什么也不输出 C) printf函数永远也不执行 D)最多允许输出100个非负整数17、若有说明:int a34;则对a数组元素的正确引用是_。A) a24 B) a1,3 C) a1+10 D) a(2)(1)18、定义如下变量和数组: int k; int a33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是: for(k=0;k3;k+) printf (%d,a2-k k); A)

16、3 6 9 B) 7 5 3 C) 9 6 3 D) 3 5 719、判断字符串a和b是否相等,应当使用_.A) if (a= =b) B) if (a=b)C)if (strcpy (a,b) ) D) if (strcmp (a,b) )20、对两个数组a和b进行如下初始化 char a =ABCDEF; char b =A,B,C,D,E,F; 则以下叙述正确的是 _. A) a与b数组完全相同 B) a与b长度相同 C) a和b中都存放字符串 D) a数组比b数组长度长21、有两个字符数组a和b,则以下正确的输入语句是_:A) gets(a,b); B) scanf(“%s%s”,a,

17、b);C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”);22、下面程序段的运行结果是_ char str =ABC , *p=str ;printf (%dn,*(p+2); (A) 0 (B) 字符C的ASCII码 (C) 字符C的地址 (D) 字符C 23、下面描述正确的是_。A)两个字符串所包含的字符个数相同时,才能比较字符串B)字符个数多的字符串比字符个数少的字符串大C)字符串”STOP ”(注:有一个空格)与”STOP”相等D)字符串”That”小于字符串”The”24、下面判断正确的是_。A)char *a= “china”; 等价于 c

18、har *a; *a= “china”;B)char str10=“china”;等价于 char str10; str =“china”;C)char *s= “china”; 等价于 char *s; s= “china”;D)char c4= “abc”, d4= “abc”; 等价于 char c4=d4= “abc”;25、若用数组名作为函数调用的实参,传递给形参的是_。A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数26、下面函数调用语句含有实参的个数为_。 y = func ( a, b, max(d ,e));A)5 B) 2 C) 3 D) 42

19、7、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是_。A)float型B)int 型C)long 型D)double 型28、在C语言中,形参的缺省存储类是A) auto B) register C) static D) extern29、以下正确的函数定义形式是_:A)double fun(int x,int y)B)double fun(int x;int y)C)double fun(int x,int y);D)double fun(int x,y);30、在宏定义 #define PI “”中,用宏名PI代替一个_。A) 常量 B)单精度数 C)双精度数 D)字符串31、#d

20、efine ADD(x) x+xmain( ) int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf(“sum=%d”,sum);上面的程序运行结果是_:A) sum=9 B) sum=10 C) sum=12 D) sum=1832、以下有关宏替换和函数的调用叙述不正确的是_:A)宏替换和函数的调用均占用运行时间。B)宏名无类型,函数有类型C)宏替换只是字符替换,不分配内存,但函数调用要分配内存D)再调用宏时程序的长度要加长,而函数调用不变33、以下程序的输出的结果是main( ) int i;for (i=1;i=2;i+) incre();incre()

21、 static int x=1;x*=x+1;printf(%d,x);A) 3 3 B) 2 2 C) 2 6 D) 2 534、有如下定义struct personchar name9; int age;strict person class10=Johu, 17,Paul, 19,Mary, 18,Adam”, 16,;根据上述定义,能输出字母M的语句是A) prinft(%cn,class3.mane);B) pfintf(%cn,class3.name1);C) prinft(%cn,class2.name1)D) printf(%cn,class2.name0);35、以下程序的输

22、出结果是哪一项#include main() int a12=1,2,3,4,5,6,7,8,9,10,11,12, *p4,i; for(i=0;i4;i+) pi=&ai*3; printf(%dn,p32); A. 输出项不合法 B. 6 C. 8 D. 1236、以下程序的输出结果是union myun struct int x, y, z; u;int k; a;main() %dn, 4 B) 5 C) 6 D) 137、以下关于结构体与共用体的说法,其中正确的是A) 共用体同一个内存段可以来存放几种不同类型的成员,但在某一时刻只能存放一个成员。B) 结构体变量所占的内存长度等于最

23、长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和。C) 共用体每个成员分别占有自己的内存单元。D)结构体类型可以出现在共用体类型的定义中,但共用体不能出现在结构体类型定义之中。38、以下程序的输出结果是long fun( int n) long s;if(n= =1 | n= =2) s=2;else s=n-fun(n-1);return s;main() printf(%ldn, fun(5); A) 1 B) 2 C) 3 D) 439、下列程序段的输出结果为int arr=6,7,8,9,10;int * ptr;ptr=arr;* (ptr+2)+=2;printf (

24、%d,%dn,*ptr,*(ptr+2);A) 8,10 B) 6,8 C) 7,9 D) 6,1040、设有如下定义:int (*ptr)( );则以下叙述中正确的是A) ptr是指向一维组数的指针变量B) ptr是指向int型数据的指针变量C) ptr是指向函数的指针变量,该函数返回一个int型数据D) ptr是一个函数名,该函数的返回值是指向int型数据的指针 1-5:BCABC 6-10:CDBDA 11-15:BCCDD 16-20:BCBDD 21-25:BBDBA 26-30:CBAAD31-35:BACDD 36-40:DABD一 单项选择题(每小题1分,共10分) 1.以下4组用户定义标识符中,全部合法的一组是( )A)_total clu_1 sumB)if -max turbC)txt REAL 3COMD)int k_2 _0012.以下程序的输出结果是( ) #include main( )int a = 1, b = 2, c = 3;printf(“%d”, cba); A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是( )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句

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

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