首页 > 全部 > 二级C语言 > 国家二级C语言(结构体和共用体、文件)机试模拟试卷1

国家二级C语言(结构体和共用体、文件)机试模拟试卷1

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

国家二级C语言(结构体和共用体、文件)机试模拟试卷1

选择题

1.若有语句typedef struet S{int g;char h;}T;,则下列叙述中正确的是( )。(B)

A. 可用S定义结构体变量

B. 可用T定义结构体变量

C. S是struct类型的变量

D. T是struet S类型的变量

解析:本题考查typedef重新声明一种结构体类型。那么T为结构体类型,而不是结构体变量,所以B选项正确。

2.设有语句typedef struet Tr{char c;int a[4];}CIN;,则下列叙述中正确的是( )。(D)

A. CIN是struct TT类型的变量

B. TT是struct类型的变量

C. 可以用TT定义结构体变量

D. 可以用CIN定义结构体变量

解析:本题考查typedef重新声明一种结构体类型。其中CIN为结构体类型名,而不是结构体变量,所以D选项正确。

3.下列叙述中错误的是( )。(B)

A. 可以用typedef将已存在的类型用一个新的名字来代表

B. 可以通过typedef增加新的类型

C. 用typedef定义新的类型名后,原有类型名仍有效

D. 用typedef可以为各种类型起别名,但不能为变量起别名

解析:本题考查typedef的用法。typedef并不是增加一种新的类型,而是对已存在的类型用一个新的名字来代表,所以B选项错误。

4.有以下程序:

#include

main()

{

struet STU

{

char name[9];

char sex:

double score[2];

};

struct STU a={“Zhao”,’m’,85.0,90.0},b={\\(B)

A. Qian,m,85,90

B. Zhao,m,85,90

C. ’Zhao,f,95,92

D. Qian,f,95,92

解析:本题考查结构体初始化操作。本题中可以直接将结构体a赋值给b,所以输出的结果和a一样,B选项正确。

5.下列结构体类型说明和变量定义中正确的是( )。

B

解析:本题考查结构体的相关知识。选项A中struct REC后面不能有分号,C选项中typedef struct REC的后面也不能有分号,选项D中REC已经是结构体变量,不能当作结构体类型来使用。

6.下列结构体的定义语句中错误的是( )。

A

解析:A选项错误,不能在定义结构体的同时,又用结构体类型名定义变量,应该写成B选项或者D选项的格式。

7.设有定义:

struct complex

{ int real,unreal;

}

datal={1,8},data2;

则下列赋值语句中错误的是( )。(A)

A. data2=(2,6);

B. data2=datal;

C. data2.real=datal.real;

D. data2.real=datal.unreal;

解析:A选项中可以在声明变量的同时为data2赋值,但是data2=(2,6);应写作data2={2,6};,所以选择A选项。

8.有以下程序:

#include

{ int a;

char b[10];

double c;

};

stmct A f(stmct A t);

main()

{ stmct A a={1001,“ZhangDa”,1098.0};

a=f(a);

prinff(“%d,%s,%6.1f\n”,a.a,a.b,a.e);

}

struct A f(stmct A t)

{t.a=1002;

strcpy(t.b,“ChangRong”);

t.c=1202.0;return t;

}

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

A. 1002,ZhangDa,1202.0

B. 1002,ChangRong,1202.0

C. 1001,ChangRong,1098.0

D. 1001,ZhangDa,1098.0

解析:本题考查结构体变量的引用以及作为函数参数。题目虽然看似复杂,其实比较容易。f函数的参数是结构体变量,然后对参数重新赋值并返回,所以选择B选项。

9.有以下程序:

struct st{int x;int*y;}*pt;

int a[]={1,2},b[]={3,4};

struct st e12]={10,a,20,b};

以下选项中表达式值为11的是( )。(A)

A. ++pt—>x

B. pt一>x

C. *pt一>y

D. (pt++)一>x

解析:本题考查结构体数组初始化以及结构体变量的引用。题目中定义了一个结构体数组c并初始化,指针pt指向c的第一个元素,那么pt一>x为10,++pt一>x为11,*pt一>y为1,(pt++)一>x为20,所以选择A选项。

10.有以下定义和语句:

{

int Rum;

char name[20];char c;

struct

{

int day;

int month;

int year;

}

s;

};

stmct workers w,*pw;

pw=&w:

能给w中year成员赋1980的语句是( )。(C)

A. pw一>year=1980;

B. w.year=1980;

C. w.s.year=1980;

D. *pw.year=1980;

解析:木题考查结构体变量的引用。题目中定义了一个结构体,其中结构休中的变量又是一个结构体,w为外层结构体,如果给内层结构体赋值,先要得到内层结构体变量,即w.s,若要给year赋值,表示为w.s.year即可,选项C正确。

11.有以下程序:

#include

struct tt{int x;struct *y;}*P;

struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};

main()

}

int i;

p=a:

for(i=1;i<=2;i++)

{

prinff(“%d,”,P一>

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

剩余未完,查看全文
收藏
国家二级C语言(结构体和共用体、文件)机试模拟试卷1

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号