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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言模拟测验试题.docx

1、C语言模拟测验试题本次模拟测验是开卷形式,请大家认真对待,不懂得可以看书讨论,下午5:30之前,把答案提交,文件名为:学号(10位)+姓名。一、选择题1. C语言规定:在一个源程序中,main函数的位置。 A. 必须在最开始。 B. 可以任意。C. 必须在系统调用的库函数的后面。D. 必须在最后。2. 以下叙述正确的是。 A. 在C程序中,main函数必须位于程序的最前面。B. C程序的每行中只能写一条语句。C. C语言本身没有输入输出语句。D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误。3. 一个C程序的执行是从。 A. 本程序的第一个函数开始,到本程序main函数结束B.

2、本程序的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序的main函数开始,到main函数结束4. 下面四个选项中,均是不合法的用户标识符的选项是。 A. A , P_0 , do B. float , 1a0 , _A C. b-a , goto , int D. _123 , temp , INT5. 在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列为。 A. charintlong int=floatdoubleB. char=intlong int=floatdoubleC. charintl

3、ong int=float=doubleD. char=int=long int=floatdouble6. C语言中的标识符只能由字母、数字和下划线3中字符组成,且第一个字符。 A. 必须为字母或下划线 B. 必须为下划线 C. 必须为字母 D. 可以是字母、数字和下划线中任一种字符7. 在C语言中,char型数据在内存中的存储形式是。 A. 补码 B. 反码 C. 原码 D.ASCII码8. 若有说明语句:char c = 72;则变量c。 A. 包含1个字符 B. 包含2个字符 C. 包含3个字符 D. 说明不合法,c的值不确定9. 已知字母A的ASCII码为十进制数65,且c2为字符型

4、,则执行语句c2=A+5-3;之后,c2中的字符为。 A. 67 B. B C. 不确定的值 D. C10若有说明语句:int a;char b;,以下输入函数语句正确的是。 A. scanf(%f,%c,&a,&b) ;B. scanf(%f,%c, a, b) ;C. scanf(%d,%c,&a,&b) ;D. scanf(%d,%c, a, b) ;11. 以下针对scanf函数的叙述中,正确的是。 A. 输入项可以为一实型常量,如scanf(“%f”,3.5); B. 只有格式控制,没有输入项,也能正确输入,如scanf(“a=%d,b=%d”); C. 当输入一个实型数据时,格式控

5、制部分必须规定小数点后的位数,如scanf(“%4.2f”,&f); D. 当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);12. 有定义语句:“int x, y ;”,若要通过“scanf(“%d, %d”, &x, &y ) ;”语句使变量x得到数值2,变量y得到数值6,下面四组输入形式中,错误的是。(表示回车) A. 2 6 B. 2, 6C. 2,6 D. 2, 613. 能正确表示“x的取值在1, 10范围内”的表达式是。 A. (x1)&(x=1)|(x=1)&(x=1)|(x=10)14. 判断char型变量ch为大写字母的正确表达式是。 A. A=ch=A)&

6、(ch=A)&(ch=Z) D. (A=ch)15. 设有说明语句:int x=43,y=0; char ch=A; 则表达式(x=y&chB&!y)的值是。 A. 1 B. 语法错 C. 0 D. 假16. 以下程序。 main() int a=5, b=0, c=0;if(a=b+c) printf(*n);else printf($n); A. 有语法错不能通过编译 B. 输出$ C. 输出* D. 可以通过编译但不能通过连接17. 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定else子句总是与配对。 A. 缩排位置相同的if B. 其之后最近的ifC. 其之前最近的i

7、f D. 同一行上的if18. 在C语言中,紧跟在关键字if后一对圆括号里的表达式是。 A. 只能用逻辑表达式 B. 只能用关系表达式 C. 只能用逻辑表达式或关系表达式 D. 可以是任意表达式19. C语言中while和dowhile循环的主要区别是。 A. dowhile的循环体不能是复合语句B. while的循环控制条件比dowhile的循环控制条件严格C. dowhile允许从外部转到循环体内D. dowhile的循环体至少无条件执行一次20. 设有程序段 int k=10; while(k=0) k=k-1;则下面描述中正确的是。 A. while循环执行10次 B. 循环是无限循环

8、C. 循环体语句一句也不执行 D. 循环体语句执行一次21下面程序的运行结果是。 #includemain() int a = 1, b = 6; do b -= a; a+; while( b-0); printf(a=%d,b=%dn, a, b ); A. a=3, b=3 B. a=2, b=4 C. a=1, b=-1 D. a=4,b=222. 下面程序的运行结果是。 #include main() int y;for(y=9;y0;y-) if(y%3) printf(%d,-y); continue; A. 741 B.852 C. 963 D. 87542123. 下面程序的

9、运行结果是。 #include main() int i;for(i=1;i=5;i+) if(i%2) printf (“*”);else continue;printf(“#”); printf(“$n”); A. *#*#*#$ B. #*#*#*$ C. *#*#$ D. #*#*$24. 下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。 #includemain() int a,max=0;scanf(%d,&a);while () if(maxa) max=a;scanf(%d,&a); printf(%d,max); A. a!=0 B. a=0 C.

10、 !a=1 D. !a25. 下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请选择填空。 #includemain() int n=0,c; c=getchar(); while () if (c=0) n+; c=getchar(); A. c!=n B. c=n C. c= =n D. c26. 以下对一维整型数组a的正确说明是。 A. int a(10); B. int n=0,an; C. int n; D. #define SIZE 10 scanf(“%d”,&n); int aSIZE int an;27. 若有定义float x3 = 1.3, 2.4,

11、5.6 , y = 6 ;,则错误的语句是。 A. y = x2; B. y = x2 + 1; C. y=x+1; D. x0=y;28. 若有说明:int a10;,则对a数组元素的正确引用是。 A. a10 B. a3.5 C. a(5) D. a929. 下面程序。(每行程序前面的数字表示行号) 1 #include 2 main()3 4 int a3=0;5 int i;6 for(i=0;i3;i+) scanf(%d,&ai);7 for(i=1;i4;i+) a0=a0+ai;8 printf(%dn,a0);9 A. 第4行有错误 B. 第6行有错误 C. 第7行有错误 D

12、. 没有错误30. 下面程序。(每行程序前面的数字表示行号) 1 #include 2 main()3 4 float a3=0.0;5 int i;6 for(i=0;i3;i+) scanf(%d,&ai);7 for(i=1;i3;i+) a0=a0+ai;8 printf(%fn,a0);9 A. 第4行有错误 B. 第6行有错误 C. 第7行有错误 D. 没有错误31. 下面程序中有错误的行是。(每行程序前面的数字表示行号) 1 #include 2 main()3 4 int a3=1;5 int i;6 scanf(%d,&a);7 for(i=1;i3;i+) a0=a0+ai

13、;8 printf(%dn,a0);9 A. 第4行有错误 B. 第6行有错误 C. 第7行有错误 D. 没有错误32. 对两个数组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长33. 判断字符串a和b相等,应当使用。 A. if(a=b) B. if(a=b)C. if(strcpy(a,b) D. if(!strcmp(a,b)34. 下面程序段的运行结果是。 char a7=abcdef; char b4=ABC; s

14、trcpy(a,b); printf(%cn,a0); A. (表示一个空格) B. 0 C. a D.A 35. C语言规定,函数返回值的类型是由。 A. return语句中的表达式类型所决定 B. 调用该函数时的主调函数类型所决定C. 调用该函数时系统临时决定D. 在定义该函数时所指定的函数类型所决定36. 若用数组名作为函数调用的实参,传递给形参的是。 A. 数组元素的个数 B. 数组第一个元素的值 C. 数组中全部元素的值 D. 数组的首地址37. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A. 地址传递B. 单向值传递 C. 由实参传递给形参,再由形参传回给实

15、参 D. 由用户指定传递方式 38. 以下正确的函数定义形式是。 A. int f ( int x, int y) ; B. int f ( int x; int y) C. int f( int x, int y) D. int f( int x, y ) 39. 在C语言程序中以下正确的描述是。 A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用均不可以嵌套 D. 函数的定义和函数的调用均可以嵌套40. 以下程序的运行结果是。 #include int fun(int n) int m=0,f=-1,i;for(

16、i=1;i=n;i+) m=m+i*f; f=-f; return m; main() printf(%dn,fun(2); A. 1 B. -1 C. 2 D. -241. 以下程序的运行结果是。 #include int fun(int a,int b) if(ab) return (a+b);else return (a-b); main() int x=3,y=8,z=6,r; r=fun(fun(x,y),3*z); printf(%dn,r); A. -22 B. -23 C. 23 D. 2242. 以下程序的运行结果是。 #include int fun(int a,int b

17、) return (a-b)*a; main() int x=3,y=4,z=5,r; r=fun(fun(x,z),fun(z,y); printf(%dn,r); A. -16 B. -66 C. 66 D. 1643. 若已定义 int a = 5; 下面对 、 两个语句的正确解释是。 int *p = &a; *p = a;A. 语句和中的*p含义相同,都表示给指针变量p赋值B. 和语句的执行结果,都是把变量a的地址值赋给指针变量pC. 在对p进行说明的同时进行初始化,使p指向a;将变量a的值赋给指针变量pD. 在对p进行说明的同时进行初始化,使p指向a;将变量a的值赋为*p44. 若

18、需要建立如下图所示的存储结构,且已有说明char *p, a=A; 则正确的赋值语句是。 A. p=&a; B. p=a; C. *p=a; D. *p=&a;45. 有如下语句 int a=10, b=20, *p1, *p2; p1=&a; p2=&b; 如图1所示;若要实现图2所示的存储结构,可选用的赋值语句是。 图1 图2A. *p1=*p2; B. p1=*p2; C. p1=p2; D. *p1=p2;46. 若有定义:int a5; 则a数组中首元素的地址可以表示为。 A. &a B. a C. a+1 D. &a147. 若有定义:int a4 , *p=a; 则对a数组元素的

19、正确引用是。 A. *&a4 B. a+2 C. *(p+4) D. *(a+2)48. 若有定义:int a5 , *p=a; 则对a数组元素地址的正确引用是。 A. p+5 B. *a+1 C. &a+1 D. &a149. 设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是。 A. c=*p1+*p2; B.p2=c; C. p1=p2; D. c=*p150. 下面程序段的运行结果是。 char *s=”abcde”;s+=2; printf(“%d”,s); A. cde B.字符c 的地址 C. 字符c D. 无确定的输出结果51. 下面程序段的

20、运行结果是。 char a=language, *p;p=a;while (*p!= g) printf(%c, *p-32); p+; A. LANGUAGE B. language C. LAN D. language52. 下面程序的运行结果是。 #include void sub(int x , int y, int *z) *z=y+x; main() int a;sub(10,5,&a); printf(%dn, a); A. 5 B. 15 C. 10 D. -1053. 下面程序的运行结果是。 #include void fun(int *x,int *y) printf(%d

21、 %d ,*x,*y);*x=3+*x;*y=4+*y; main() int x=1,y=2; fun(&x,&y); printf(%d %dn, x, y); A. 1 2 4 6 B. 1 2 1 2 C. 1 2 3 4 D. 2 1 1 254. 下面程序的运行结果是。 #include main() int *p1,*p2,a=2,b=3;p1=&a;p2=&b;if(asex); D. scanf(%d, (page);二、程序阅读题1. 下面程序的运行结果是。 #include main() int x=5;switch(x) case 1: case 2:case 3:ca

22、se 4: printf(x5 ); case 5: printf(x=5 ); default: printf(The value of x is unknown.n); 2. 若运行以下程序时输入3 5 * ,则程序的运行结果是。 #include main() int x, y,r;char op;scanf(%d %d %c, &x, &y, &op);switch(op) case +: r=x+y; break; case -: r=x-y; break; case *: r=x*y; break; printf(%dn, r); 3. 若a、b、c均已正确定义且a=0、b=2、c

23、=3,则下面程序段的输出是。 switch(a) case 0: switch(b=2) case 1: printf(&); break; case 2: printf(%); break; case 1:switch(c) case 1: printf($); break; case 2: printf(*); break; default: printf(#); 4. 下面程序的运行结果是。 #includemain() int i,s,t;s=0;t=1;for(i=1;i=3;i+) t=t*i;s=s+t;printf(%dn,s); 5. 以下程序运行的结果是。 #include

24、main() int x=5;If (x=2) printf(OKn);elseif (x2) printf(%dn,x); else printf(QUITn); 6. 当运行以下程序时,从键盘输入1 2,则下面程序的运行结果是。 #include main() int a,b,m,n;m=1;n=1;scanf(%d%d,&a,&b);do if (a0) m=2*n; b+; else n=m+n; a+=2;b+; while (a=b);printf(m=%d,n=%d,m,n); 7. 下面程序的运行结果是。 #includemain() int i; char a=Time,b=Tom; for(i=0;ai!=0 & bi!=0;i+) if(ai=bi) if(ai=a & ai=z) printf(%c,ai-32); else printf(%c,ai+32); else printf(*);8. 下面程序的运行结果是

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2