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

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

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

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

选择题

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

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

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

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

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

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

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

A. 有一个以上根节点的数据结构不一定是非线性结构

B. 只有一个根节点的数据结构不一定是线性结构

C. 循环链表是非线性结构

D. 双向链表是非线性结构

解析:线性结构应满足:①有且只有一个根节点;②每个节点最多有一个前件,也最多有一个后件,所以有一个以上根节点的数据结构一定是非线性结构,所以A错误,B正确。循环链表和双向链表都是线性结构的数据结构。

3.有以下程序:

#include<stdio.h>

typedef struct{int b,p;}A;

void f(A c)/*注意:c是结构变量名*/

{int j;

c.b+=1;c.p+=2;

}

main()

{int i:

A a={1,2};

f(a);

pfinff(\\(B)

A. 2,4

B. 1,2

C. 1,4

D. 2,3

解析:结构体变量可以作为函数的参数和返回值。作为函数的实参时,可以实现函数的传值调用。当使用结构体变量作为函数的形参时,实参也应该是结构体变量名以实现传值调用,实参将拷贝副本给形参,在被调用函数中改变形参值对于调用函数中的实参没有影响。所以选择B。

4.以下叙述中不正确的是( )。(D)

A. 在不同的函数中可以使用相同的名字的变量

B. 函数中的形式参数是局部变量

C. 在一个函数内定义的变量只在本函数范围内有效

D. 在一个函数内的复合语句中定义的变量在本函数范围内有效

解析:此题考查的是变量的作用范围。选项D)qp,在一个函数的复合语句中定义的变量是局部变量,只在定义此变量的复合语句内有效,并不是在整个函数体内都有效。

5.有以下程序:

#include<stdio.h>

main()

{

int k,n=0;char c,str[]=\\(C)

A. Ne1NN

B. e1a2e3

C. Ne1Nc2N

D. Na1NNNN

解析:k=0时,选择default分支,输出N;k=1时,c=str[1]=e,选择case1分支,因为没有遇到break语句,故继续执行case3、case5分支,输出c和++n,即输出e和1,依次往下执行,最终输出Ne1Nc2N。

6.union dt

{

int a;char b;double c;

}data;

以下叙述中错误的是( )。(C)

A. data的每个成员起始地址都相同

B. 变量data所占内存字节数与成员C所占字节数相等

C. 程序段:data.a=5;printf(\\

D. data可以作为函数的实参

解析:输出不会是5.00000的,因为单精度浮点数和双精度浮点数在内存中的存储形式不一样。

7.若有定义语句:int x=10; ,则表达式x-=x+x的值为(  )。(C)

A. 0

B. -20

C. -10

D. 10

解析:算术运算符+的优先级高于-= ,且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成x=x-(x+x)=10-(10+10)=-10,选择C。

8.以下选项中,当x为大于l的奇数时,值为0的表达式是( )。(A)

A. x%2==0

B. x/2

C. x%2!1=0

D. x%2==1

解析:算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是0。C选项的值为真,即1。D选项的值为真,即1。

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

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

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

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

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

解析:本题重点考察的是函数的形参和实参。在定义函数时函数名后面括弧中的变量名称为“形式参数”(简称形参),在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是一个表达式)称为“实际参数”(简称实参)。C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。因此A选项正确。

10.以下数组定义中错误的是( )。

A

解析:二维数组的第一维数据表示行数,第二维数据表示列数,所以x[2][3]中的数据应为两行三列,和定义内容不符,选项A)错误,答案选A)。

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

#include<stdio.h>

void prt(int *x,int *y,int *z)

{printf(’’%d,%d,%d\n’’,++ * x,++*y,*(z++));}

main()

{int a=10,b=40,c=20;

prt(&a,&b,&c);

prt(&a,&b,&c);}(B)

A. 11,42,31

12,22,41

B. 11,41,20

12,42,20

C. 11,21,40

11,21,21

D. 11,41,21

12,42,22

解析:本题考查的是函数参数的传递及自加运算符。主函数中第一次调用函数“prt(&a,&b,&C;”,此函数中的输出语句“printf(’’%d,%d,‰\n’’,++*x,++*y,*(z++));”使得a和b的值均加1,而“*(z++)”由于先执行“z++”所以c的值不变;第二次调用函数“pn(&a,&b,&c);”使得a和b在上一次的基础上再各自加1(因为形参和实参进行的是地址传递),而c的值仍不变。

12.有以下程序:

#include<stdio.h>

#include<string.h>

typedef struet{char name[9];char sex;float score[2];}STU;

void f(STU a)

{

STU b={\\(D)

A. Zhao,m,85,90

B. Qian,m,85,90

C. Zhao,f,95,92

D. Qian,f,95,92

解析:本题考查结构体

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号