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

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

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

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

选择题

1.有以下程序

#include<stdio.h>

main(){char c1,c2,c3,c4,c5,c6;

scanf(\\(C)

A. 1256

B. 1278

C. 1245

D. 1267

解析:当用scanf函数从键盘输入数据时,每行数据的未尾按下回车键(Enter键)之前,可以任意修改。但按下回车键putchar(c1)(Enter键)之后,scanf函数即接受了这一行数据,不能再回去修改。所以本题中,当输入123<CR>时,变量c1、c2、c3的值分别为1、2、3,当输入45678<CR>时,变量c5、c6的值4和5。所以用输出函数putchar(c1)输出1,putchar(c2)输出2,printf(\\

2.若有定义语句:double x,y,*px,*py;执行px=&x;py=&y;正确的输入语句是(C)

A. scanf(\\

B. scanf(\\

C. scanf(\\

D. scanf(\\

解析:本题考查scanf语句。scanf(1函数的一般格式为:scanf(\\

3.以下程序段完全正确的是(A)

A. int k,*p=&k;scantf(\\

B. int*p;scanf(\\

C. int*p;scanf(\\

D. int k,*p;*p=&k;scanf(\\

解析:选项B)没有对指针进行初始化,无效指针。选项C)错在没有对指针进行初始化,无效指针,并且在scanf(\\

4.若在定义语句:int a,b,c,*p=&c;接着执行以下选项中的语句,则能正确执行的语句是(C)

A. scanf(\\

B. scanf(\\

C. scanf(\\

D. scanf(\\

解析:程序语句int a,b,c,*p=&c;定义了三个整型变量a,b,c,和一个整型指针变量p,并且把变量c的地址赋给p。scanf函数的一般形式为“scanf(“格式控制字符串”,地址列表)”,其中的地址列表应当是存放输入数据变量的地址。

5.有以下程序段

int j;float y;

char name[50];

scanf(\\(C)

A. 55566.0

B. 7777.0

C. 566.0

D. 566777.0

解析:因为在输入格式控制符中指定变量j的输入格式控制符为“%2d”,即变量j所占的宽度为2,所以变量j只接收输入数据的前两位,从第三位开始直到空格之间的输入整数都会被保存到变量y中,因为y为浮点型数据,所以输出结果为选项C)。

6.有以下程序段

char name[20];

int num;

scanf(\\(D)

A. name=Lili

B. Lili num=

C. name=Lilinum=1001

D. Lili

解析:在题目中以字符串的形式给字符数组赋值,所以字符数组name的值为Lili。

7.sl和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(strcp(s1,s2)>0)S;

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

8.把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是(D)

A. k%2

B. k%2==1

C. (k%2)!=0

D. !k%2==1

解析:本题考查if语句和if语句构成的选择。选项A)表示k除以2的余数,如果余数为1则if成立,否则不能成立,即if判断k是否为奇数;选项B)是判断k除以2的余数是否等于1,函数和选项A)相同;选项C)表示k除以2的余数不为0,和选项A)一致;选项D)中,!运算符优先级高于%预算符,先计算!k,然后再取余数,并判断余数是否等于1。

9.以下是if语句的基本形式:

if(表达式)语句

其中“表达式”(D)

A. 必须是逻辑表达式

B. 必须是关系表达式

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

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

解析:本题考查if语句,C语言中if语句中的表达式可以是任意合法的表达式。

10.有以下程序

main(){int a=0,b=0,c=0,d=0;

if(a=1)b=1;

c=2:

else d=3;

printf(\\(C)

A. 0,0,0,3

B. 1,1,2,0

C. 编译有错

D. 0,1,2,0

解析:if语句的格式为:

ifr表达式) 语句1

else 语句2

if和else是C语言的关键字。“语句1”称为if子句,“语句2”称为else子句,这些子句只允许为一条语句,若需要多条语句时,则应该使用复合语句。因此题目“if(a=1)b=1;c=2;else d=3;”,if分支有两条语句,没构成复合语句。

11.有以下程序

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

if(!x)y++;

else if(x==0)

if(x)y+=2;

else y+=3;

printf(\\(B)

A. 2

B. 0

C. 1

D. 3

解析:x=1,if和elseif的条件都不满足,故y值不改变输出。

12.若变量己正确定义,在if(W)printf(\\(C)

A. ch=getchar()

B. a==b+c

C. a<>b+c

D. a++

解析:在if()语句的括号是一个合法的C语言表达式即可,如果表达式的值为0,则不执行if语句,否则执行if语句,而在选项C)中,符号<>不是C语言的合法运算符,如果要表达a大于或小于b+c可用a!=b+c或(a>b+c)||(a<b+c)来表达,而不能使用a<>b+c。所以它不是一个合法的C语言表达式。

13.有以下程序段

int a,b,c;

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

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

printf(\\(C)

A. a=10 b=50 c=30

B. a=10 b=30 c=10

C. a=10 b=50 c=10

D. a=50 b=30 c=50

解析:本题的程序段首先定义三个整型变量a,b,c,并且其初始值分别等于10,50,30,然后判断a>b是否成立,如果条件成立,则把b的值赋给a,把c的值赋给b。由a和b的初始

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号