[计算机类试卷]国家二级C语言(结构体、共用体、位运算及文件操作)机试模拟试卷10及答案与解析.doc
《[计算机类试卷]国家二级C语言(结构体、共用体、位运算及文件操作)机试模拟试卷10及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(结构体、共用体、位运算及文件操作)机试模拟试卷10及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(结构体、共用体、位运算及文件操作)机试模拟试卷 10及答案与解析 一、选择题 1 以下叙述中错误的是 ( A)可以用 typedef将已存在的类型用一个新的名字来代表 ( B)可以通过 typedef增加新的类型 ( C)用 typedef定义新的类型名后,原有类型名仍有效 ( D)用 typedef可以为各种类型起别名,但不能为变量起别名 2 以下关于 typedef的叙述错误的是 ( A) typedef只是将已存在的类型用一个新的名字来代表 ( B)用 typedef可以为各种类型说明一个新 名,但不能用来为变量说明一个新名 ( C)用 typedef可以增加新类型 (
2、 D)用 typedef为类型说明一个新名,通常可以增加程序的可读性 3 以下结构体类型说明和变量定义中正确的是 ( A) typedef struct int n; char c; REC; REC t1,t2; ( B) struct REC ; int n; char c; ; REC t1,t2; ( C) typedef struct REC; int n=0; char c=A; t1,t2; ( D) struct int n; char c; REC; REC t1,t2; 4 以下叙述中错误的是 ( A)可以用 typedef将已存在的类型用一个新的名字来代表 ( B)可以通
3、过 typedef增加新的类型 ( C)用 typedef定义新的类型名后,原有类型名仍有效 ( D)用 typedef可以为各种类型起别名,但不能为变量起别名 5 若有定义 typedef int* T; T a10; 则 a的定义与下面哪个语句等价 ( A) int *a10; ( B) int (*a)10; ( C) int *a; ( D) int a10; 6 若有定义 typedef char T10; T *a; 上述定义中 a的类型与下面选项中完全相同的是 ( A) char (*a)10; ( B) char *a; ( C) char a10; ( D) char *a1
4、0; 7 以下结构体说明和变量定义中 ,正确的是 ( A) typedef struct abc int n;double m; ABC; ABC x,y; ( B) struct abc int n;double m ; struct abc x, y; ( C) struct ABC int n;double m; struct ABC x, y; ( D) struct abc int n;double m; ; abc x, y; 8 以下叙述中正确的是 ( A)使用 typedef说明新类型名时,其格式是: typedef 新类型名 原类型名 ; ( B)使用 typedef 说明新
5、类型名时,后面不能加分号 ( C)在程序中,允许用 typedef来说明一种新的类型名 ( D)在使用 typedef改变 原类型的名称后,只能使用新的类型名 9 以下叙述中错误的是 ( A) typedef的作用是用一个新的标识符来代表已存在的类型名 ( B) typedef说明的新类型名必须使用大写字母,否则会出编译错误 ( C)可以用 typedef说明的新类型名来定义变量 ( D)用 typedef可以说明一种新的类型名 10 下面结构体的定义语句中,错误的是 ( A) struct ord int x;int y;int z; struct ord a; ( B) struct or
6、d int x;int y;int z; struct ord a; ( C) struct ord int x;int y;int z; a; ( D) struct int x;int y;int z; a; 11 有以下程序 #include stdio.h typedef struct int b, p; A; void f(A c) /* 注意: c是结构变量名 */ int j; c.b += 1; c.p+=2; main() i; A a=1,2; f(a); printf(“%d,%dn“, a.b, a.p); 程序运行后的输出结果是 ( A) 2,4 ( B) 1,2 (
7、 C) 1,4 ( D) 2,3 12 有以下程序 struct S int a, b; data2=10,100,20,200; main() struct S p=data1; printf(“%dn“, +(p.a) ); 程序运行后的输出结果是 ( A) 11 ( B) 20 ( C) 21 ( D) 10 13 设有定义: struct complex int real,unreal; data1=1,8,data2; 则以下赋值语句中错误的是 ( A) data2=(2,6); ( B) data2=data1; ( C) data2.real=data1.real; ( D) d
8、ata2.real=data1.unreal; 14 有以下程序 struct Sint n;int a20; voidf (struct S *p) int i,j,t; for(i=0; i p- n-1;i+ +) for(j=i+1;j p- n;j+ +) if(p- ai p- aj)t=p- ai;p- ai=p- aj;p- aj=t; main( ) int i; struct S s=10,2,3,l,6,8,7,5,4,10,9; f( for(i=0;i s.n;i+ +) printf(“%d,“,s.ai); ( A) 10,9,8,7,6,5,4,3,2,1, (
9、 B) 2,3,1,6,8,7,5,4,10,9, ( C) 10,9,8,7,6,1,2,3,4,5, ( D) 1,2,3,4,5,6,7,8,9,10, 15 有以下程序 #include stdio.h #include string.h typedef structchar name9; char sex; int score2; STU; STU f(STU a) STU b=“Zhao“,m,85,90; int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i 2;i+) a.scorei=b.scorei; return a;
10、main() STU c=“Qian“,f,95,92,d; d=f(c); printf(“%s,%c,%d,%d,“,d.name,d.sex,d.score0,d.score1); printf(“%s,%c,%d,%d,“,c.name,c.sex,c.score0,c.score1); ( A) Zhao,m,85,90, Zhao,m,85,90 ( B) Qian,f,95,92, Qian,f,95,92 ( C) Zhao,m,85,90, Qian,f,95,92 ( D) Qian,f,95,92, Zhao,m,85,90 16 程序中已构成如下图所示的不带头结点的单向
11、链表结构,指针变量 s、 p、 q均已正确定义,并用于指向链表结点,指针变量 s总是作为头指针指向链表的第一个结点。 若有以下程序段: q=s; s=s- next; p=s; while(p- next) p=p- next; p-next=q; q- next=NULL;该程序段实现的功能是 ( A)尾结点成为首结点 ( B)首结点成为尾结点 ( C)删除首结点 ( D)删除尾结点 17 有以下结构体说明、变量定义和赋值语句 struct STD char name10; int age; char sex; s5,*ps; ps= 则以下 scanf函数调用语句有错误的是 ( A) sc
12、anf(“%d“, ( B) scanf(“%c“, ( C) scanf(“%s“,s0.name); ( D) scanf(“%d“,ps- age); 18 若有以下语句 typedef struct S int g; char h; T; 以下叙述中正确的是 ( A)可用 S定义结构体变量 ( B) S是 struct 类型的变量 ( C) T是 struct S类型的变量 ( D)可用 T定义结构体变量 19 有以下程序 # include stdio.h # include string.h Struct A int a; char b10; double c; struct A
13、f(struct A t); main() struct A a=1001,“ZhangDa“,1098.0; a=f(a); printf(“%d,%s,%6.1fn“,a.a,a.b,a.c); struct A f(Struct A t) t.a=1002; strcpy(t.b,“ChangRong“);t.c=1202.0;return t; 程序运行后的输出结果是 ( A) 1002,ZhangDa,1202.0 ( B) 1002,ChangRong,1202.0 ( C) 1001,ChangRong,1098.0 ( D) 1001,ZhangDa,1098.0 20 设有以
14、下语句 typedef struct TT char c; int a4; CIN; 则下面叙述中正确的是 ( A) TT是 struct类型的变量 ( B)可以用 TT定义结构体变量 ( C) CIN是 struct TT类型的变量 ( D)可以用 CIN定义结构体变量 21 有以下程序 #include struct ord int x,y; dt2=1,2,3,4; main() struct ord *p=dt; printf(“%d,“,+(p- x); printf(“%dn“,+(p- y); 程序运行后的输出结果是 ( A) 4,1 ( B) 2,3 ( C) 3,4 ( D)
15、 1,2 22 有以下程序段 struct st int x; int *y; *pt; int a=1,2, b=3,4; struct st c2=10,a,20,b; pt=c; 以下选项中表达式的值为 11的是 ( A) pt- x ( B) *pt- y ( C) +pt- x ( D) (pt+)- x 23 有下列程序: struct Sint n;int a20; void f(int *a,int n) int i; for(i=0;i n-1;i+ +) ai+ =i; main( ) int i; struct S s=10,2,3,1,6,8,7,5,4,10,9; f
16、(s.a,s.n); for(i=0;i s.n;i+ +) printf(“%d,“,s.ai); 程序运行后的输出结果是 ( A) 3,4,2,7,9,8,6,5,11,10, ( B) 2,3,1,6,8,7,5,4,10,9, ( C) 2,4,3,9,12,12,11,11,18,9, ( D) 1,2,3,6,8,7,5,4,10,9, 24 有下列程序: #include stdio.h #include string.h typedef struct char name9;char sex;float score2; STU; STU f(STU a) STU b=“Zhao“
17、,m,85.0,90.0;int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i 2;i+ +) a.scorei=b.scorei; return a; main( ) STU c=“Qian“,f,95.0,92.0,d; d=f(c); printf(“%s,%c,%2.0f,%2.0fn“,d.neme,d.sex,d.score0,d.score1); 程序的运行结果是 ( A) Qian,m,85,90 ( B) Zhao,f,95,92 ( C) Zhao,m,85,90 ( D) Qian,f,95,92 25 假定已建立以下链
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 结构 共用 运算 文件 操作 模拟 10 答案 解析 DOC
