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

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

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

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

选择题

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

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

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

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

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

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

2.以下选项中不合法的标识符是( )。(A)

A. &a

B. FOR

C. 13rint

D. _00

解析:C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。因为C语言中区分大小写,所以B选项中的“FOR”可以作为标识符来用。A选项中含有非法字符&,所以选择A。

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

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

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

for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);(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。

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

#include<stdio.h>

main()

{ int a=1,b=3;

ifi[(++a<0)&&!(b–<=0))

printf(’’%d,%d\n’’,a,b);

else

printf(’’%d,%d\n’’,b,a);

}(C)

A. 2,2

B. 1,3

C. 3,2

D. 3,1

解析:解答本题的关键在于if语句条件中的表达式。初始时“a=1,b=3”,所以“++a=2>0”,因此“++a<0”为假;因为是进行逻辑与(&&)运算,在&&的一个运算对象为假的前提下不用判断第二个运算对象的真假,就可以直接得出整个表达式的值为逻辑0,所以执行else语句。

5.有以下程序:

#include<stdio.h>

int fun(int x[],int n)

{

static int sum=0,i;

for(i=0;i<n;i++)sum+=x[i];

return sum;

}

main()

{

int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);

printf(\\(D)

A. 55

B. 50

C. 45

D. 60

解析:内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。fun(a,5)的值是15,再次调用后sum=15,所以fun(b,4)=45,s:45+15=60。因此D选项正确。

6.下列程序的运行结果是( )。

#include

void sub(int*s,int*y)

{ static int m=4;

*y=s[m];

m–;

}

void mainO

{ int a[]={1,2,3,4,5),k,x;

printf(\\(A )

A. 5,4,3,2,1,

B. 1,2,3,4,5,

C. 0,0,0,0,0,

D. 4,4,4,4,4,

解析:本题考查的是静态变量以及函数的实参与形参之间的地址值传递。sub()函数中定义的变量m是一个静态变量,系统可为其分配固定的存储空间,重复使用时,变量的值保留;所以当main()函数中的for循环中语句sub(a,&x);执行时,sub函数中m的值依次是4,3,2,1,0;因为变量x进行的是地址值传递,所以最后依次输出的是数组a的元素a[4]、a[3]、a[2]、a[1]、a[0]。

7.有以下程序:

#include<stdio.h>

main()

{unsigned char a=8,c;

e=a>>3:

printf(\\(B)

A. 16

B. 1

C. 32

D. 0

解析:无符号整型变量a的值为8,二进制表示为00001000,右移3位后为00000001,即十进制的1,所以输出1。

8.读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是( )。(D)

A. 一个内存块的字节数

B. 一个整型变量,代表待读取的数据的字节数

C. 一个文件指针,指向待读取的文件

D. 一个内存块的首地址,代表读入数据存放的地址

解析:fread(void*buffer,size_t size,size_t count,FILE*stream);功能是从一个文件流中读数据,读取count个元素,每个元素size字节,如果调用成功返回count。buffer:用于接收数据的内存地址,大小至少是size*count字节;size:单个元素的大小,单位是字节;count:元素的个数,每个元素是size字节;stream:输入流。

9.有以下程序

#include<stdio.h>

void main()

{ int a=1,b=0;

printf(’’%d,’’,b=(a++)+(a++));

printf(’’%d\n’’,a+b);}

程序运行后的输出结果是( )。(B)

A. 4,6

B. 2,5

C. 3,5

D. 2,6

解析:在主函数中定义了两个整型变量a和b,并把它们的初值分别设置为1和0;在第二条语句中,首先计算b=a+a,然后a自增两次,因此第二句结束时,b=2,a=3,然后第三句,a+b=5。

10.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )。(C)

A. if(x++);

B. if(x>y&&y!=0);

C. if(x>y)x-else y++;

D. if(y<0){;)else x++;

解析:选项C中,if(x>y)后面的“x–”是一个表达式而不是一个语句,所以在编译时会产生错误信息。

11.若有说明“int m[3][4]={3,9,7,8.5},(*q)[4];”和赋值语句“q=m;”,则对数组元素“m[i][j](

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号