[计算机类试卷]国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷6及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷6及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷6及答案与解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(结构体、共用体、位运算及文件操作)模拟试卷 6及答案与解析 一、选择题 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) structint 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*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说明新类型名时,后面不能加分号
5、( C)在程序中,允许用 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 stdio h typedef structint b, p; A; void f(A
7、c) *注意: c是结构变量名 * 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 设有定义: st
8、ruct complexint real, unreal; datal=1, 8, data2; 则以下赋值语句中错误的是 ( A) data2=(2, 6); ( B) data2=datal; ( C) data2 real=data1 real; ( D) data2 real=data1 unreal; 15 有以下程序 struct Sint n; int a20; ; voidf(structS *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
9、 aj=t; main() int i; struct S s=10, 2, 3, 1, 6, 8, 7, 5, 4, 10, 9; f(&s); for(i=0; i s n; i+)printf(“ d, “, s ai); ( A) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( 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, 16 有以下程序 #include stdio h #include string
10、 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; 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,
11、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 17 程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、 p、 q均已正确定义,并用于指向链表结点,指针变量 s总是作为头指针指向链表的第一个结点。 若有以下程序段: q=s; s=s nex
12、t; p=s; while(p next)p=p next; p next=q; q next=NULL;该程序段实现的功能是 ( A)尾结点成为首结点 ( B)首结点成为尾结点 ( C)删除首结点 ( D)删除尾结点 18 有以下结构体说明、变量定义和赋值语句 struct STDchar name10; int age;char sex; s5, *ps; ps=&s0;则以下 scanf函数调用语句有错误的是 ( A) scanf(“ d“, &s0 age); ( B) scanf(“ c“, &(ps sex); ( C) scanf(“ s“, s0 name); ( D) sca
13、nf(“ d“, ps age); 19 若有以下语句 typedef struct S int g; char h; T;以下叙述中正确的是 ( A)可用 S定义结构体变量 ( B) S是 struct类型的变量 ( C) T是 struct S类型的变量 ( D)可用 T定义结构体变量 20 有以下程序 #include stdio h #include string h Struct A int a; char b10; double c; ; struct A f(struct A t); main() struct A a=1001, “ZhangDa“, 1098 0; a=f(a
14、); printf(“ d, s, 6 1 f n“, 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) 1 002, ChangRong, 1202 0 ( C) 1001, ChangRong, 1098 0 ( D) 1001, ZhangDa, 1098 0 21 设有以下语句 typedef struct TTchar c; int a4; )CIN;则下
15、面叙述中正确的是 ( A) TT是 struct类型的变量 ( B)可以用 TT定义结构体变量 ( C) CIN是 struct TT类型的变量 ( D)可以用 CIN定义结构体变量 22 有以下程序 #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*
16、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 24 有下列程序: 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(s a, s n); for(i=0; i s
17、 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, 25 有下列程序: #include stdio h #include string h typedef structchar name9; char sex; float score2; STU; STU f(STU
18、a) STU b=“Zhao“, 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 0f n“, d neme, d sex,d score0, d score1); 程序的运行结果是 ( A) Qian, m, 85, 90 ( B) Zhao, f, 95 92 ( C) Zhao, m, 85
19、, 90 ( D) Qian, f, 95, 92 26 假定已建立以下链表结构,且指针 p和 q己指向如图所示的节点:则以下选项中可将 q所指节点从链表中删除并释放该节点的语句组是 ( A) p=q next; free(q); ( B) p=q; free(q); ( C) (*p) next=(*q) next; free(p); ( D) p next=q next; free(q); 27 有以下程序 #include stdio h #include string h struct A int a; char b10; double c; ; void f(struct A t);
20、 main() struct A 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; 程序运行后的输出结果是 ( A) 1002, ChangRong, 1202 0 ( B) 1001, ChangRong, 1098 0 ( C) 1001, ZhangDa, 1098 0 ( D) 1002, ZhangDa 1202 0 28 有以下定义和语句: struct
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 结构 共用 运算 文件 操作 模拟 答案 解析 DOC
