首页 > 全部 > 二级C语言 > 国家二级(C语言)机试模拟试卷480

国家二级(C语言)机试模拟试卷480

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

国家二级(C语言)机试模拟试卷480

选择题

1.以下能对一维数组a进行初始化的语句是( )。

C

解析:选项A,数组可以看作是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{}对其初始化;选项BD,常量表达式只能放在中括号口中。故C选项正确。

2.下列叙述中,正确的是( )。(A)

A. 软件交付使用后还需要进行维护

B. 软件一旦交付使用就不需要再进行维护

C. 软件交付使用后其生命周期就结束

D. 软件维护是指修复程序中被破坏的指令

解析:软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。而软件生命周期是指软件产品从提出、实现、使用维护到停止使用退役的过程。

3.有如下嵌套的if语句:

if(a<b)

if(a<e) k=a;

else k=c;

else

if(b<c)k=b;

else k=c;

以下选项中与上述if语句等价的语句是( )。(B)

A. k=(a<b)?((b<c)?a:b):((b>c)?b:c);

B. k=(a<b)?((a<e)?a:c):((b<c)?b:c);

C. k=(a<b)?a:b;k=(b<c)?b:c;

D. k=(a<b)?a:b;k=(a<c)a:c;

解析:题目中嵌套语句的含义是当a<b且a<c成立,则将a的值赋给k。如果a<b成立而a<c不成立将c的值赋给k。如果a<b不成立而b<c成立,将b的值赋给k。如果如果a<b不成立且b<c也不成立,将c的值赋给k。判断条件表达式只有B选项可以表示这个含义。

4.以下关于return语句的叙述中不正确的是( )。(A)

A. 一个自定义函数中必须有一条return语句

B. 一个自定义函数中可以根据不同情况设置多条return语句

C. 如果一个函数有多个return语句,那么不论运行到哪一个return语句,该函数将结束

D. 没有return语句的自定义函数在执行完最后一条语句时返回到调用处

解析:return语句主要用于返回函数的值。在一个自定义函数中,可以根据不同的情况设置多条return语句返回函数的值,也可以不包含return语句。

5.设有定义:char p[]={’1’, ’2’, ’3’},*q=p; ,以下不能计算出一个char型数据所占字节数的表达式是(  )。(A)

A. sizeof(p)

B. sizeof(char)

C. sizeof(*q)

D. sizeof(p[0])

解析:根据题目中的定义可以知道sizeof(p),计算的是数组p中所有元素所占用的字节数,而不是char型数据所占字节数。

6.下面关于算法的叙述中,正确的是( )。(B)

A. 算法的执行效率与数据的存储结构无关

B. 算法的有穷性是指算法必须能在执行有限个步骤之后终止

C. 算法的窄问复杂度是指算法程序中指令(或语句)的条数

D. 以上三种描述都正确

解析:算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤后结束。

7.有以下定义语句,编译时会出现编译错误的是( )。(D)

A. char a=’\x2d’;

B. char a=’\n’;

C. char a=’a’;

D. char a=\\

解析:D选项中将字符串常量“aa”赋给字符变量a是错误的。

8.if语句的基本形式为:if(表达式)语句,其中“表达式”( )。(A )

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

B. 必须是逻辑表达式

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

D. 必须是关系表达式

解析:本题考查if表达式。if(表达式)中的表达式可以为任何合法的表达式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(==)误写为赋值号(=)时不会报错的,但是其值恒为1。

9.有以下程序:

#include<stdio.h>

main()

{

int i,j,k,a=5,b=6;

i=(a==b)?++a:–b;

j=a++;k=b;

printf(\\(B)

A. 7,6,5

B. 5,5,5

C. 7,5,5

D. 5,6,5

解析:i=(a==b)?++a:–b;中先执行a==b,为否,根据三元运算符语法规则,执行–b,此时b为5,赋给i,i=5;j=a++,将a=5先赋给j,再进行a++,k=b=5,故最后输出的是5,5,5。

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

#inc1ude

main()

{ int a[3][3]={0,1,2,0,1,2,0,1,2},i,j,s=1;

for(i=0;i<3;i++)

for(j=i;j<=i;j++)

s+=a[i][a[j][j]];

printf(\\(B)

A. 3

B. 4

C. l

D. 9

解析:当外层循环为i时,内层循环i只能取j—i,所以s+=a[0][a[j][j],其实就是s+=a[i][a[i][i]],当i=0时,s=s+a[0][a[0][0]]=s+a[0][0]—1,当i=1时,s=s+a[1][a[1][1]]=s+a[1][1]=1+1=2,当1=2时,s=s+a[2][a[2][2]]=s+a[2][2]=2+2=4。

11.待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。(A)

A. 2

B. 3

C. 4

D. 5

解析:选择排序的基本思想是扫描整个线性表,从中选出最小的元素,将它交换到表的最前面,然后对剩下的子表采用同样的方法,直到子表为空。所以第一趟排序后,将选出最小的元素9放在第一个位置,元素15则放在第二个位置。

12.以下能正确输出字符a的语句是( )。(A)

A. printf(\\

B. printf(\\

C. printf(\\

D. printf(\\

解析:“格式控制串”用来指定每个输出项的输出格式,%s对应字符串,%c对应字符。双引号里面的内容为字符串\\

13.以下不正确的定义语句是( )。

B

解析:本题考查对一维数组的赋值。选项B中,y[5]说明数组中有5个元素,但却给它赋了6个值,数组溢出所以是错误的。

14.有以下程序

#inc1ude

void main()

{ int n=2,k=1;

while(!(k>0||n++));

printf(\\(D)

A. 0 2

B. 1

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号