[计算机类试卷]国家二级C语言机试(结构体、共用体与文件)模拟试卷1及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(结构体、共用体与文件)模拟试卷1及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(结构体、共用体与文件)模拟试卷1及答案与解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(结构体、共用体与文件)模拟试卷 1及答案与解析 一、选择题 1 下面结构体的定义语句中,错误的是( )。 ( A) struct ord int x;int y;int z; struct ord a; ( B) struct ord 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; 2 有以下程序 #include typedef struct int b, p; A; void f(A c) /* 注意: c是
2、结构变量名 */ int j; c.b += 1; c.p+=2; main() int i; A a=1,2; f(a); printf(“%d,%dn“, a.b, a.p); 程序运行后的输出结果是( )。 ( A) 1,2 ( B) 2,4 ( C) 1,4 ( D) 2,3 3 有以下程序 #include main() unsigned char a=8, c; c = a3; printf(“%dn“, c); 程序运行后的输出结果是( )。 ( A) 1 ( B) 16 ( C) 32 ( D) 0 4 读取二进制文件的函数调用形式为: fread(buffer,size,co
3、unt,fp); 其中 buffer代表的是( )。 ( A)一个内存块的首地址,代表读入数据存放的地址 ( B)一个整型变量,代表待读取的数据的字节数 ( C)一个文件指针,指向待读取的文件 ( D)一个内存块的字节数 5 以下叙述中错误的 是( )。 ( A)可以通过 typedef增加新的类型 ( B)可以用 typedef将已存在的类型用一个新的名字来代表 ( C)用 typedef定义新的类型名后,原有类型名仍有效 ( D)用 typedef可以为各种类型起别名,但不能为变量起别名 6 有以下程序 #include struct S int a, b; data2=10,100,20
4、,200; main() struct S p=data1; printf(“%dn“, +(p.a) ); 程序运行后的输出结果是( )。 ( A) 21 ( B) 11 ( C) 20 ( D) 10 7 有以下程序 #include main() unsigned char a=2, b=4, c=5, d; d = a | b; d printf(“%dn“, d); 程序运行后的输出结果是( )。 ( A) 4 ( B) 3 ( C) 5 ( D) 6 8 有以下程序 #include #include main() int *a,*b,*c; a=b=c=(int *)malloc
5、(sizeof(int); *a=1;*b=2,*c=3; a=b; printf(“%d,%d,%dn“,*a,*b,*c); 程序运行后的输出结果是( )。 ( A) 3,3,3 ( B) 2,2,3 ( C) 1,2,3 ( D) 1,1,3 9 以下叙述中正确的是( )。 ( A)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失 ( B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖 ( C)在 一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1个数据 ( D) C语言中的文件是流式文件,因此只能顺序存取数据 10 设有
6、定义: struct 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; 11 有以下程序 #include struct Sint n; int a20; ; void f(struct S *p) int i,j, t; for (i=0; in-1; i+) for (j=i+1; jn; j+) if (p-ai p-aj) t= p-
7、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( for (i=0; i #include typedef struct char 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 main() FILE *fp; int a10=1,2,3, i, n; fp = f
8、open(“d1.dat“, “w“); for (i=0; i1 ); 输出结果是( )。 ( A) 4 ( B) 8 ( C) 16 ( D) 2 17 以下叙述中错误 的是( )。 ( A) getchar函数用于从磁盘文件读入字符 ( B) gets函数用于从终端读入字符串 ( C) fputs函数用于把字符串输出到文件 ( D) fwrite函数用于以二进制形式输出数据到文件 18 有以下程序 #include main() FILE *pf; char *s1=“China“, *s2=“Beijing“; pf=fopen(“abc.dat“,“wb+“); fwrite(s2,
9、7,1,pf); rewind(pf); /*文件位置指针回到文件 开头 */ fwrite(s1,5,1,pf); fclose(pf); 以上程序执行后 abc.dat文件的内容是( )。 ( A) Chinang ( B) China ( C) ChinaBeijing ( D) BeijingChina 19 有以下结构体说明、变量定义和赋值语句 struct STD char name10; int age; char sex; s5,*ps; ps= 则以下 scanf函数调用语句有错误的是( )。 ( A) scanf(“%d“,ps-age); ( B) scanf(“%d“,
10、 ( C) scanf(“%c“, ( D) scanf(“%s“,s0.name); 20 若有以下语句 typedef struct S int g; char h; T; 以下叙述中正确的是( )。 ( A)可用 T定义结构体变量 ( B)可用 S定义结构体变量 ( C) S是 struct 类型的变量 ( D) T是 struct S类型的变量 21 有以下程序 #include #include struct A int a; char b10; double c; ; struct A f(struct A t); main() struct A a=1001,“ZhangDa“,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 结构 共用 文件 模拟 答案 解析 DOC
