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

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

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

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

选择题

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

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

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

C. S是struet类型的变量

D. T是struet S类型的变量

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

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

A. CIN是struet TT类型的变量

B. TT是struet类型的变量

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

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

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

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

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

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

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

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

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

4.有以下程序:

#include<stdio.h>

main( )

{

struet STU

{

char name[9];

char sex;

double score[2];

};

struet STU a={\\(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.设有定义:

struet complex

{int real,unreal;

}

data1={1,8},data2;

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

A. data2=(2,6);

B. data2=data1;

C. data2.real=data1.real;

D. data2.real=data1.unreal;

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

8.有以下程序:

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

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

struet st c[2]={10,a,20,b};

pt=c;

以下选项中表达式值为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选项。

9.有以下定义和语句:

struet workers

{

int num;

char name[20];char c;

struet

{

int day;

int month;

int year;

}

s;

};

struet 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正确。

10.有以下程序:

#include<stdio.h>

struet tt{int x;struet*y;}*p;

struet 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)

A. 20,30,

B. 30,17,

C. 15,30,

D. 20,15,

解析:本题考查结构体变量的引用以及结构体数组。p指向a数组的第一个元素,所以p->x为20,然后p=p->y后,p指向数组a的第二个元素,所以输出15,选项D正确。

11.设有定义:struet{char mark[12];int num1;double num2;}t1,t2;,若变量均已正确赋初值,则下列语句中错误的是( )。(C)

A. t1=t2;

B. t2.num1=t1.num1;

C. t2.mark=t1.mark;

D. t2.num2=t1.num2;

解析:本题考查结构体变量的引用。C选项中mark为结构体中的数组,不能直接赋值,所以C选项错误。

12.有以下程序:

#include<stdio.h>

struet S

{int a,b;

}

data[2]={10,100,20,200};

main( )

{struet S

p=data[1];

prinff(\\(D)

A. 10

B. 11

C. 20

D. 21

解析:声明data是结构s数组,初始化data[0].a=10;data[0].b=100;data[1].a=20;data[1].b=200。主函数中p=data[1];即p.a=data[1].a;p.b=data[1].b;,执行语句printf(\\

13.有以下结

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号