C语言模拟试题及答案_第1页
C语言模拟试题及答案_第2页
C语言模拟试题及答案_第3页
C语言模拟试题及答案_第4页
C语言模拟试题及答案_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

一、单项选择题 (50分,每题2分)1不合法的字符常量是 ( ) 。A) t B) “A” C) a D)x322假定x和y为double型,则表达式x=2,y=x+3/2的值是 ( ) 。A)3.500000 B)3 C)2.000000 D)3.0000003putchar ( )函数可以向终端输出一个 ( ) 。A)整型变量表达式值 B)实型变量值C)字符串 D)字符或字符型变量值4在C语言中,要求参加运算的数必须时整数的运算符是 ( ) 。A)/ B)* C)% D) =5执行下列程序片段时输出结果是 ( ) 。 int x=13,y=5;printf(“%d”,x%=(y/=2);A)1 B)2 C)3 D)06已知i,j,k为int型变量,若从键盘输入:1,2,3,使I的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是 ( ) 。A)scanf(“%2d%2d%2d”,&i,&j,&k); B)scanf(“%d_%d_%d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k); D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);7C语言的程序一行写不下时,可以 ( ) 。A)用逗号换行 B)用分号换行C)在任意一空格处换行 D)用回车符换行8putchar ( )函数可以向终端输出一个 ( ) 。A)整型变量表达式值 B)实型变量值C)字符串 D)字符或字符型变量值9执行下列程序片段时输出结果是( ) 。int x=13,y=5;printf(“%d”,x%=(y/=2);A)3 B)2 C)1 D)010逻辑运算符两侧运算对象的数据类型( ) 。A)可以是任何类型的数据 B)只能是0或非0正数C)只能是整型或字符型数据 D)只能是0或1 11C语言对嵌套if语句的规定是:else总是与( ) 。A)其之前最近的if配对 B)其之前最近的且尚未配对的if配对C)缩进位置相同的if配对 D)第一个if配对12设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab) & (n=cd)后n的值为( ) 。A)1 B)2 C)3 D)413以下程序片段( ) 。main ( ) int x=0,y=0,z=0;if (x=y+z) printf(“*”);else printf(“#”);A)输出:# B)输出:*C)可以编译,但不能通过连接,所以不能运行 D)有语法错误,不能通过编译14以下程序输出结果是( ) 。main ( ) int x=1,y=0,a=0,b=0;switch(x) case 1:switch (y) case 0 : a+ ; break ;case 1 : b+ ; break ;case 2:a+; b+; break;case 3:a+; b+;printf(“a=%d,b=%d”,a,b);A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=215下面程序段 int k=2;while (k=0) printf(“%d”,k);k-;则下面描述中正确的是( ) 。A)while循环执行10次 B)循环是无限循环C)循环题语句一次也不执行 D)循环体语句执行一次16下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择( )填空。main ( ) int m=0,n=0;char c;while ( ( ) != n) if (c=A & c=a & c=z) n+;A)c=getchar( ) B)getchar( ) C)c=getchar( ) D)scanf(“%c”,&c)17若有定义:int a10,则对数组a元素的正确引用是( )A)a10 B)a3.5 C)a(5) D)a018定义如下变量和数组:int i; int x33=1,2,3,4,5,6,7,8,9;则语句for(i=0;i3;i+) printf(%d ,xi2-i); 的输出结果是( )。A) 1 5 9 B)1 4 7 C) 3 5 7 D) 3 6 9 19不能把字符串:Hello!赋给数组b的语句是( )。A)char b10=H,e,l,l,o,!; B)char b10; b=Hello!;C)char b10; strcpy(b,Hello!); D)char b10=Hello!;20以下说法中正确的是( )。A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分21若调用一个函数,且此函数中没有return语句,则正确的说法是 ( )。A)该函数没有返回值 B)该函数返回若干个系统默认值C)能返回一个用户所希望的函数值 D)返回一个不确定的值22以下程序的输出结果是( )。 char str15=”hello!”;printf(“%dn”,strlen(str);A) 15 B) 14 C) 7 D) 623在函数中默认存储类型说明符的变量应该是( )存储类型。 A内部静态 B. 外部 C自动 D. 寄存器24C语言规定,函数返回值的类型是由( )决定的。A)return语句中的表达式类型 B)调用该函数时的主调函数类型C)在定义函数时所指定的函数类型 D)调用该函数时由系统临时25以下正确的描述是( ) 。A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义和函数的调用均可以嵌套二、判断题 (10分,每题1分)1main函数必须写在一个C程序的最前面。( )2自增运算符(+)或自减运算符(-)只能用于变量,不能用于常量或表达式。( )3C语言不允许混合类型数据间进行运算。( )4逻辑运算符 & | ! 的运算顺序是 ! 优先于 & 优先于 |( ) 5多个case可以执行相同的程序段。( )6continue语句只能用于三个循环语句中。 ( )7在while循环中允许使用嵌套循环,但只能是嵌套while循环。( )8在定义数组时,有时可以将该数组的维数省略。( )9数组名代表数组的首地址。( )10在函数的定义和调用过程中,形式参数和实在参数数目可以不一致。( ) 三、填空题 (20分,每题2分)1C语言中基本的数据类型有:整型、_、_ 。2C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为_。3一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:_。4设int a; float f; double i; 则表达式10+a+i*f值的数据类型是_ 。5设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为_。6有int x=3,y=-4,z=5;则表达式(x&y)=(x|z)的值为 _ 。7以下程序输出x,y,z三个数中的最小值,请填空使程序完整。main ( ) int x=4,y=5,z=8 ;int u,v;u = xv = uprintf (“%d”,v);8C语言三个循环语句分别while语句、_语句和_语句。9若有定义:int a34=1,2,0,4,6,8,10;则初始化后,a12的值为_,a21得到的值为_。10C语言变量按其作用域分为 全局变量和局部变量。按其生存期分为_存储 和_存储 。四、程序设计(20分 每题10分)1、输入一行字符以n作为输入结束符,分别统计出其中英文字母,空格,数字和其他字符的个数。2、求一个3*3矩阵对角线元素之和。C语言第一套试卷参考答案一、单项选择题 (252分=50分)题号12345678910答案BDDCACDDCA题号11121314151617181920答案BBABCADCBC题号2122232425答案DDCCB二、判断题 (101分=10分)题号12345678910答案FTFTTTFTTF三、填空题 (102分=20分)1(1)实型 (2)字符型2.字母或下划线3.#incude(或#incude“stdio.h”)4. double(双精度型)5. 2.56. 17. (1) x:y (2) u:z8.(1)do-while语句 (2) for语句 9.(1)0 (2)610.(1)动态 (2)静态四、程序设计 (210分=20分)1.#include stdio.hmain() char c; int letters=0,space=0,digit=0,others=0; printf(please input some charactersn); while(c=getchar()!=n) if(c=a&c=A&c=0&c=9) digit+; else others+; printf(all in all:char=%d space=%d digit=%d others=%dn,letters, space,digit,others);2.main() float a33,sum=0; int i,j; printf(please input rectangle element:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%f,&aij); for(i=0;i=y)&(y=z) B) (x=y)AND(y=z) C) (x=y=z)D) (x=y)&(y=z)3、下列数据中为字符串常量的是_。 A) A B) 9 C) How do you do D) $abd4、C语言中,运算对象必须是整型数的运算符是_。 A)% B) / C) %和/ D) * 5、设有如下定义: int x=10,y=3,z; 则语句 printf(%dn,z=(x%y,x/y); 的输出结果是_。 A)1 B)0 C)4 D)36、下面哪一个不是字符常量_。 A) a B) ? C) 9 D) a7、下列语句中符合C语言语法的赋值语句是A) a=7+b+c=a+7; B) a=7+b+=a+7; C) a=7+b,b+,a+7 D) a=7+b,c=a+7;8、以下程序的输出结果是_。 main() int x=10,y=11; printf(%d %dn,x-,-y); A)10 10 B)9 9 C)9 10 D)10 99、定义如下变量: int n=10; 则下列循环的输出结果是_。 while(n7) n-; printf(%dn,n); A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 610、已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是_。A)数组a和b的长度相同 B)a数组长度小于b数组长度C)a数组长度大于b数组长度 D)上述说法都不对11、设函数fun的定义形式为_。 void fun(char ch, float x ) 则以下对函数fun的调用语句中,正确的是 A)fun(abc,3.0); B)t=fun(D,16.5); C)fun(65,2.8); D)fun(32,32);12、下面的程序A) 输出的是1 B) 输出的是1和-2 C) 输出的是3和0 D) 是死循环main() int x=3;do printf(%dn,X-=2);while(!(-x);13、以下叙述中错误的是_。A)C语句必须以分号结束 B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行 D)赋值表达式末尾加分号就构成赋值语句14、设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是_。A)(!a= =1)&(!b= =0) B)(a0?1:x0) y=1; B) if(x) else if(x0)y=1; else y=0; else if(x=0) if(x0)y=1; if(x0)y=1; else if(x=0)y=0; else y=-1; else y=-1;20、执行下列程序时输入:123456789,输出结果是 A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456 main() char s100; int c, i; scanf(%c,&c); scanf(%d,&i); scanf(%s,s); printf(%c,%d,%s n,c,i,s); 21、阅读以下程序:main() int x;scanf(“%d”,&x);if(x-1 ) Return (2); Else s=sqrt (1-x*x);【10】;四、编程题(共20分,每题10分)1.题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 2. 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。参考答案:1.判断题(1)A(2)B(3)A(4)B(5)A(6)A(7)B(8)A(9)A(10)A2.选择题(1)B(2)C(3)C(4)B(5)B(6)D(7)D(8)C(9)C(10)D(11)B(12)D(13)D(14)C(15)A(16)C(17)D(18)D(19)B(20)A(21)C(22)B(23)C(24)D(25)C3.填空题【1】2【2】-2【3】scanf【4】printf【5】32767【6】6.000000【7】49【8】 flag=2 【8】 float 【10】 return(s)4.编程题1. main() int i,j,k,n; printf(water flowernumber is:); for(n=100;n1000;n+) i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(%-5d,n); printf(n); 2.、main() int a,i,aa4,t; scanf(%d,&a); aa0=a%10; aa1=a%100/10; aa2=a%1000/100; aa3=a/1000; for(i=0;i=3;i+) aai+=5; aai%=10; for(i=0;i=0;i-) printf(%d,aai); 一、单项选择题(每题2分,共50分)1.以下变量声明中正确的是_。 A. int B. _str C.6xy D. h7#2. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是A. 3 B. 0 C. 9 D. -123. C语言规定:main函数的位置_。A. 必须在最开始 B. 必须在系统调用的库函数的后面C. 可以任意 D. 必须在最后4. 为了避免嵌套的条件分支语句 ifelse中的else总是与_组成成对关系。A. 缩排位置相同的 B. 在其之前未配对的C. 在其之前未配对的最近的if D. 在同一行上的if5. 下面实现换行功能的格式符为_。A.t B.nC.a D.k6. 下面正确的字符常量是_。A. “d” B. C. D D.7. 已知在ASCII代码中,字母B的序号为66,以下程序的输出的结果是_。# include main() char c1=B, c2=D; printf(%d,%cn,c1,c2); A. B, 66 B. 66,D C. B,D D. 66,688. 下列表达式的结果正确的是_。int a,b,c,d;a=b=c=d=2;d=a+1=3?b=a+2:a+3;printf(%dn,d);A.2 B.4 C.3 D.59. 以下程序的输出结果是_。# includemain() int a ,b,d=241;a=d/100%9;b=(-2)&(-2);printf(%d,%dn,a,b); A. 6,1 B. 2,1 C. 6,0 D. 2,010. 下述对C语言字符数组的描述中错误的是_。A. 字符数组可以存放字符串.B. 字符数组中的字符串可以整体输入、输出.C. 可以在赋值语句中通过赋值运算符=对字符数组整体赋值.D. 不可以用关系运算符对字符数组中的字符串进行比较.11. 在C语言中,存储一个字符型、整型、双精度实型变量所需的字节数是_。A. 1、2、8 B. 1、4、4C. 4、1、4 D. 2、2、812. 定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是_。for(i=0;i3;i+) printf(%d,xi2-1);A. 2 5 8 B. 1 4 7C. 3 5 7 D. 3 6 913. 有数组:char a =“this is an egg”;。请问该数组到底占了几个字节?A.11 B.12 C.14 D.1514. 在C语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是:_。A. switch B. continue C. break D. if15. 以下对二维数组a的正确说明是_。A. int a3 B. float a(3,4)C. double a14 D. float a(3)(4)16. 语句while(!a)中的表达式!a等价于_。A. a=0 B. a!=1 C. a!=0 D. a=117. 执行语句for(i=1;i+4;); 后变量i的值是_。A. 3 B. 4 C. 5 D.不确定。18 以下不能对二维数组a进行正确初始化的语句是_。A. int a23=0;B. int a3=1,2,0;C. int a23=1,2,3,4,5,6;D. int a3 = 1,2,3,4,5,619. 以下建立函数的目的的说法正确的是_。A. 提高程序的执行效率。B. 减少程序的篇幅。C. 减少程序文件所占内存。D. 提高程序的可读性。20以下程序的正确运行结果是_。#includemain()int k=4,m=1,p;p=func(k,m); printf(“%d”,p);p=func(k,m); printf(“%dn”,

温馨提示

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

评论

0/150

提交评论