《C语言模拟试题及答案(共36页).doc》由会员分享,可在线阅读,更多相关《C语言模拟试题及答案(共36页).doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上一、单项选择题 (50分,每题2分)1不合法的字符常量是 ( ) 。A) t B) “A” C) a D)x322假定x和y为double型,则表达式x=2,y=x+3/2的值是 ( ) 。A)3. B)3 C)2. D)3.3putchar ( )函数可以向终端输出一个 ( ) 。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、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)
3、实型变量值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的值为(
4、 ) 。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+;prin
5、tf(“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
6、)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)
7、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(“%d
8、n”,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函数必须写
9、在一个C程序的最前面。( )2自增运算符(+)或自减运算符(-)只能用于变量,不能用于常量或表达式。( )3C语言不允许混合类型数据间进行运算。( )4逻辑运算符 & | ! 的运算顺序是 ! 优先于 & 优先于 |( ) 5多个case可以执行相同的程序段。( )6continue语句只能用于三个循环语句中。 ( )7在while循环中允许使用嵌套循环,但只能是嵌套while循环。( )8在定义数组时,有时可以将该数组的维数省略。( )9数组名代表数组的首地址。( )10在函数的定义和调用过程中,形式参数和实在参数数目可以不一致。( ) 三、填空题 (20分,每题2分)1C语言中基本的数据类
10、型有:整型、_、_ 。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 = u
11、printf (“%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答案BBA
12、BCADCBC题号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,di
13、git=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
14、=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、下
15、列语句中符合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;,以下叙述中正确
16、的是_。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语句必须以分
17、号结束 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 )
限制150内