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

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

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

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

选择题

1.有以下程序:

#include<stdio.h>

main()

{

int x=1,y=2,z=3;

if(x>y)

if(y<z)printf(\\(D)

A. 3 3 1

B. 4 1

C. 2

D. 1

解析:else子句总是与最前面最近的不带else的if相结合,与书写格式无关,所以本题中的else语句与第二个if语句配对,且if和else都在第一个if的控制范围内。首先判断x>y不成立,直接退出第一个if语句,执行printf(\\

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

#include

main()

{ int a=8,b=6,m=1;

switch(a%4)

{ case 0:m++;

break;

case 1:m++:

switch(b%3)

{default:m++;

case 0:m++:break;

}

}

printf(“%d\11”,m);}(B)

A. 1

B. 2

C. 3

D. 4

解析:本题考查switch语句。因为a=8,a%4=0,所以执行case 0后面的语句,将m加1,遇到break语句跳出SWitch。

3.有以下程序:

#include<stdio.h>

main()

{ int x;

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

if(x<=0);else

if(x!=5)printf(’’%d\n’’,x);

}

程序运行时,输入的值在哪个范围才会有输出结果( )。(B)

A. 不等于5的整数

B. 大于0且不等5的整数

C. 大于0或等于5的整数

D. 小于5的整数

解析:题目中,虽然else和第二个if不在同一行上,但等价于在同一行上,因此,程序的意思是当x大于0且不等于5时将其打印出来。

4.定义如下变量和数组:

int i,x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是( )。

for(i=0;i<3;i++)printf(\\(C )

A. 159

B. 147

C. 357

D. 369

解析:本题主要考查二维数组的使用。题中利用for循环来输出x数组中的指定元素:

①当i=0时,输出x[0][2]=3;

②当i=1时,输出x[1][1]=5;

③当i=2时,输出x[2][0]=7。

5.若函数中有定义语句:int a;,则( )。(B)

A. 系统将自动给a赋初值0

B. 这时a中的值是和随机数

C. 系统将自动给a赋初值-1

D. 这a中无任何值

解析:本题考查变量赋值基本概念。在声明一个变量后,如果未显式的对其进行赋值,则它的值是一个随机值。

6.若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是( )。(D)

A. 函数的实参和其对应的形参共占同一存储单元

B. 形参只是形式上的存在,不占用具体存储单元

C. 同名的实参和形参占同一存储单元

D. 函数的形参和实参分别占用不同的存储单元

解析:在C语言中,函数的实参单元与形参单元在内存中分配不同的存储单元。在调用函数时,给形参分配临时存储单元,并将实参对应的值传递给形参,在被调用函数中对形参存储单元中的值进行运算,最后通过return语句把函数值返回调用函数。当调用结束后,形参单元被释放,实参单元仍保留并维持原值。

7.开发大型软件时,产生困难的根本原因是 ( )。(A)

A. 大型系统的复杂性

B. 人员知识不足

C. 客观世界千变万化

D. 时间紧、任务重

解析:随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的“软件危机”。

8.有以下程序

#include<stdio.h>

main()

{int k=5,n=0;

while(k>0)

{switch(k)

{default:break;

case1:n+=k;

case2:

case3:n+=k;

}

k–;}

printf(\\(D)

A. 0

B. 4

C. 6

D. 7

解析:因为没有break语句,当k=2的时候,会顺序执行两条语句,k=1的时候,会顺序执行3条语句。

9.有以下程序:

#include<stdio.h>

main()

{

int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;

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

for(k=i+1;k<4;k++)

if(a[i][i]<a[k][k])

{t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;}

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

printf(\\(C)

A. 1,1,2,6,

B. 6,2,1,1,

C. 6,4,3,2,

D. 2,3,4,6,

解析:首先对二维数组进行赋值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值为1、4、…、6、1。通过for嵌套循环语句和if条件语句,对二维数组对角线元素进行由大到小的排序操作,程序最后通过for语句输出二维数组第1行的4个元素。因此C选项正确。

10.有以下程序:

#include

main()

{

int i,data;

$canf(\\(A)

A. 3,4,

B. 1,2,3,4,

C. 0,1,2,3,4,5,

D. 0,1,2,

解析:continue语句的作用是结束本次循环,即不再执行循环体中continue语句之后的语句,而是立即转入下次循环对循环条件的判断与执行。本题执行过程为:输入3,则data:3;执行for循环,i=0,if条件成立,结束本次循环,不输出i值,执行下一次循环;直到i>=3,if条件不成立,依次输出i值3、4,直到i=5退出for循环。

11.如果进栈序列为A,B,C,D,则可能的出栈序列是( )。(B)

A. C,A,D,B

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号