[计算机类试卷]国家二级C语言(结构体和共用体、文件)机试模拟试卷3及答案与解析.doc
《[计算机类试卷]国家二级C语言(结构体和共用体、文件)机试模拟试卷3及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(结构体和共用体、文件)机试模拟试卷3及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(结构体和共用体、文件)机试模拟试卷 3及答案与解析 一、选择题 1 若有语句 typedef struet Sint g; char h; T;,则下列叙述中正确的是 ( )。 ( A)可用 S定义结构体变量 ( B)可用 T定义结构体变量 ( C) S是 struet类型的变量 ( D) T是 struet S类型的变量 2 设有语句 typedef struet TTchar c; int a4; CIN;,则下列叙述中正确的是( )。 ( A) CIN是 struet TT类型的变量 ( B) TT是 struet类型的变量 ( C)可以用 TT定义结构体变量 ( D)
2、可以用 CIN定义结构体变量 3 下列叙述中错误的是 ( )。 ( A)可以用 typedef将已存在的类型用一个新的名字来代表 ( B)可以通过 typedef增加新的类型 ( C)用 typedef定义新的类型名后,原有类型名仍有效 ( D)用 typedef可以为各种类型起别名,但不能为变量起别名 4 有以下程序: #include stdio h main( ) struet STU char name9; char sex; double score2; ; struet STU a=“Zhao“, m, 85 0, 90, 0, b=“Qian“, f, 95 0, 92 0; b
3、=a; prinff(“ s, c, 2 0f, 2 0f n“, b name, b sex, b score0,b score1); 程序的运行结果是 ( )。 ( A) Qian, m, 85, 90 ( B) Zhao, m, 85, 90 ( C) Zhao, f, 95, 92 ( D) Qian, f, 95, 92 5 下列结构体类型说明和变量定义中正确的是 ( )。 ( A) struet REC; int n; char c; ; REC t1, t2; ( B) typedef struet int n; char c; REC; REC t1, t2; ( C) typ
4、edef struct REC; int n=0; char c=A; t1, t2; ( D) struet int n; char c; REC; REC t1, t2; 6 下列结构体的定义语句中错误的是 ( )。 ( A) struet ordint x; int y; int z; struet ord a; ( B) struet ordint x; int y; int z; ; struet ord a; ( C) struet ordint x; int y; int z; a; ( D) struetint x; int y; int z; a; 7 设有定义: strue
5、t complex int real, unreal; data1=1, 8, data2; 则下列赋值语句中错误的是 ( )。 ( A) data2=(2, 6); ( B) data2=data1; ( C) data2 real=data1 real; ( D) data2 real=data1 unreal; 8 有以下程序: struet stint x; int*y; *pt; int a=1, 2, b=3, 4; struet st c2=10, a, 20, b; pt=c; 以下选项中表达式值为 11的是 ( )。 ( A) +pt- x ( B) pt- x ( C) *
6、pt- y ( D) (pt+)- x 9 有以下定义和语句: struet workers int num; char name20; char c; struet int day; int month; int year; s; ; struet workers w, *pw; pw=&w: 能给 w中 year成员赋 1980的语句是 ( )。 ( A) pw- year=1980; ( B) w year=1980; ( C) w s year=1980; ( D) *pw year=1980; 10 有以下程序: #include stdio h struet ttint x; st
7、ruet*y; *p; struet tt a4=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- x); p=p- y; 程序的运行结果是 ( )。 ( A) 20, 30, ( B) 30, 17, ( C) 15, 30, ( D) 20, 15, 11 设有定义: struetchar mark12; int num1; double num2; t1, t2;,若变量均已正确赋初值,则下列语句中错误的是 ( )。 ( A) t1=t2; ( B) t2
8、num1=t1 num1; ( C) t2 mark=t1 mark; ( D) t2 num2=t1 num2; 12 有以下程序: #include stdio h struet S int a, b; data2=10, 100, 20, 200; main( ) struet S p=data1; prinff(“ d n“, +(p a); 程序的运行结果是 ( )。 ( A) 10 ( B) 11 ( C) 20 ( D) 21 13 有以下结构体说明、变量定义和赋值语句: struet STDchar name10; int age; char sex; s5, *ps; ps=
9、&s0; 则下列 scartf函数调用语句有错误的是 ( )。 ( A) seanf(“ s“, s0 name); ( B) scanf(“ d“, &s0 age); ( C) scanf(“ c“, &(ps- sex); ( D) scanf(“ d“, ps- age); 14 有以下程序: #include stdio h typedef structint b, p; A; void f(Ac) *注意: c是结构变量名 * int j; e b+=1; c p+=2: main( ) int i; A a=1, 2; f(a); prinff(“ d, d n“, a b, a
10、 p); 程序的运行结果是 ( )。 ( A) 2, 4 ( B) 1, 2 ( C) 1, 4 ( D) 2, 3 15 有以下程序: #include stdio h struct S int n; int a20; ; void f(struetS*p) int i, i, 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, 1, 6, 8, 7, 5, 4, 10, 9; f(
11、&s ( A) 2, 3, 1, 6, 8, 7, 5, 4, lO, 9, ( B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( C) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( D) 10, 9, 8, 7, 6, 1, 2, 3, 4, 5, 16 程序中已构成如下不带头节点的单向链表结构,指针变量 s、 p、 q均已正确定义,并用于指向链表节点,指针变量 s总是作为指针指向链表的第一个节点。若有以下程序段: q=s; s=s- next:p=s; while(p- next)p=p- next; p- next=q; q- next=NULL
12、;该程序段实现的功能是 ( )。 ( A)删除尾节点 ( B)尾节点成为首节点 ( C)删 除首节点 ( D)首节点成为尾节点 17 假定已建立以下链表结构,且指针 p和 q已指向如图所示的节点。则下列选项中可将 q所指节点从链表中删除并释放该节点的语句组是 ( )。 ( A) p- next=q- next; free(q); ( B) p=q- next; free(q); ( C) p=q; free(q); ( D) (*p) next=(*q) next; free(p); 18 下列关于 C语言文件的叙述中正确的是 ( )。 ( A)文件由一系列数据依次排列组成,只能构成二进制文件
13、 ( B)文件由结 构序列组成,可以构成二进制文件或文本文件 ( C)文件由数据序列组成,可以构成二进制文件或文本文件 ( D)文件由字符序列组成,其类型只能是文本文件 19 下列叙述中正确的是 ( )。 ( A)当对文件的读 (写 )操作完成之后,必须将它关闭,否则可能导致数据丢失 ( B)打开一个已存在的文件并进行写操作后,原有文件中的全部数据必定被覆盖 ( C)在一个程序中对文件进行写操作后,必须先关闭该文件然后再打开才能读到第一个数据 ( D) C语言中的文件是流式文件,因此只能顺序存取数据 20 有以下程序: #include stdio h main( ) FILE*fp; int
14、 a10=1, 2, 3, i, n; fp=fopen(“d1 dat“, “w“); for(i=0; i 3; i+) fprintf(fp, “ d“, ai); fpr4ntf(fp, “ n“); fclose(fp); fp=fopen(“d1 dat“, “r“); fscanf(fp, “ d“, &n); fclose(fp); printf(“ d n“, n); 程序的运行结果是 ( )。 ( A) 321 ( B) 12300 ( C) 1 ( D) 123 21 设文件指针 fp已定义,执行语句 fp=fopen(“file“, “w“);后,下列针对文本文件 fi
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 结构 共用 文件 模拟 答案 解析 DOC
