首页 > 全部 > 二级C语言 > 国家二级C语言机试(语言程序设计)模拟试卷32

国家二级C语言机试(语言程序设计)模拟试卷32

本单篇文档共7363字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 4603人下载
价格: 1.10 原价:¥9.60
收藏

国家二级C语言机试(语言程序设计)模拟试卷32

选择题

1.合法的C语言语句是( )。(B)

A. int x=y=10;

B. char c=65;

C. float f=f+1.1;

D. double x=12.3E2.5;

解析:本题主要考查变量的定义和赋值,C语言中变量的定义形式为:类型说明符变量名:初始值:选项A中,x和y只能单独赋初值;选项B正确,定义了一个字符变量c,初值为65;选项C错误,初值设置自身不能参与运算;选项D中字母E后面的指数必须是整数。

2.子函数的功能是通过键盘输入给x所指的整型数组所有元素赋值。在下划线处应填写的是( )。

#include

#defineN 5

void fun(int x[N])

{ int m;

for(m=N一1;m>=0;m一一)scanf(’’%d’’,__);}(A)

A. x+m

B. x[++m]

C. x+(m++)

D. x[m+1]

解析:本题用for循环给数组赋值,与上题类似,选项B和选项D不是地址,错误。选项A和选项C是地址,但是选项C的m值会++自增,然后for循环里面又m一一自减,会导致死循环,不满足要求,选项A正确。

3.执行以下程序段后,k的值是( )。

int k=0,a=1,b=2,c=3;k=a<b?b:a;k=k<c?C:k;(B)

A. 1

B. 2

C. 3

D. 0

解析:本题主要考查条件表达式。k=a<b?b:a中a<b为真,因此k的值为b,因此结果为2。

4.若char s[10]=’’Chinese\0\0’’;,则strlen(s)的值是( )。(A)

A. 7

B. 8

C. 9

D. 10

解析:本题考查字符串数组和字符串函数。数组的末尾会有一个结束符,题目中s有7个字符,然后跟着结束符’’\0’’,因此数组s的长度为7。

5.为使以下程序段不陷入死循环,从键盘输入的数据应该是( )。

int n,t=1,s=0;

scanf(’’%dt’’,&n);

do{s=s++;t=t一2;}while(t!=n);(D)

A. 任意自然数

B. 任意小数

C. 任意正偶数

D. 任意负奇数

解析:本程序代码的功能是通过scanf给变量n赋值,在do…while循环中,s变量自增,t变量每次减2,t的初值为1,循环执行一次后t的值变成一1,然后是一3、一5、…,直到t的值和n的值相同循环结束。从t的值的变化可知,t是一个变化的负奇数,因此输入的n如果是负奇数,则循环能退出,否则是死循环,程序不会退出。

6.要通过scanf。(’’%d%c%d%c’’,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值1和2,为变量c1和c2赋字符a和b。以下所示的输入形式中正确的是( )。(C)

A. 1口a2口b

B. 1口a2口b口

C. 1a 2b

D. 1口a口2口b

解析:在使用scanf函数进行输入数据时,必须严格按照格式输入数据。而按照格式符’’%d%c%d%c’’说明,数值型数据和字符数据输入之间不要加入空格间隔,而字符型数据和数值型数据的输入却可以加入任意的空格、回车和跳格。

7.若int a,b;通过语句scarf(’’%d;%d’’,&a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是( )。 (C)

A. 3,5

B. 35

C. 3;5

D. 3 5

解析:在用scanf这个函数输入数据时,必须严格遵守其输入的规则定义。本题此函数定义的规则是,在两个整数之间加分号输入。

8.设有定义:double a,b,c;若要求通过输入分别给a、b、c输入2、3、4,输入形式如下2.03.0 4.0则能进行正确输入的语句是( )。(C)

A. Scanf(’’%1f%1f%1ft’’,a,b,c);

B. Scanf(’’%f%f%f’’,&a,&b,&c);

C. scanf(’’%1f%1f%1f’’,&a,&b,&c);

D. scanf(’’%5.11f%5.11f%5.11f’’,&a,&b,&c);

解析:输入函数scanf不可以用实数指定小数位的宽度。输入double型数据,格式控制必须用%lf(或%le)。否则,数据不能正确输入。由于输入的是一个字符流,scanf函数从这个字符流中按照格式控制指定的格式解析出相应数据。

9.关于Scanf和printf的叙述中正确的是( )。(A)

A. 在Scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上

B. 在使用Scanf函数输入整数或实数时,输入数据之间只能用空格来分隔

C. 在printf函数中,各个输出项只能是变量

D. 使用printf函数无法输出百分号%

解析:scanf函数中的格式控制字符串不会输出,选项A正确;在使用scanf函数输入整数或实数时,输入数据之间可以用空格、跳格、回车来分隔,选项B错误;printf输出项不但可以为变量,还可以为表达式或者常量,选项C错误;如果要输出“%”,可以在格式控制中用“%%”表示,选项D错误。

10.设s1和s2分别指向两个字符串。若要求:当s1所指字符串大于s2所指字符串时,执行语句S;则以下选项中正确的是( )。(D)

A. if(s1>s2)S;

B. if(strcmp(s1,s2))S;

C. if(strcmp(s2,s1)>0)S;

D. if(strcmp(s1,s2)>0)S;

解析:C语言的库函数strcmp有两个参数分别是需要比较大小的两个字符串s1和s2,如果s1大于s2则返回值大于0,如果s1小于s2则返回值小于0,否则s1和s2相同返回0。题目要求s1大于s2时执行语句S,因此strcmp(s1,s2)的返回值大于0时执行S。

11.关于if(表达式)中的“表达式”叙述正确的是( )。(D)

A. 必须是整数表达式

B. 必须是关系表达式

C. 必须是逻辑表达或关系表达

D. 可以是任意合法的表达式

解析:本题考查if语句,C语言中if语句中的表达式可以是任意合法的表达式,有多余语句时用{}括起来。

12.以下程序的输出结果是( )。

main(){int x=1,y=0;

if(!x)y++;

else if(x==0)

if(x)y+=2;

else y+=3;

printf(’’%d\n’’,y);}(B)

A. 一1

B. 0

C. 1

D. 2

解析:如果不满足if语句的条件,函数将不执行本题中x=1,if和else if的条件都不满足,故y值不改变输出。

13.以下程序段的输出结果是( )。

int a,b,c;

a=10;b=50;c=30;

if(a>b) a=b,b=c;c=a;

printf(’’a=%d b=%d c=%d\

本文档预览:3600字符,共7363字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(语言程序设计)模拟试卷32

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号