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