[计算机类试卷]国家二级C语言(结构体、共用体、位运算及文件操作)机试模拟试卷11及答案与解析.doc
《[计算机类试卷]国家二级C语言(结构体、共用体、位运算及文件操作)机试模拟试卷11及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(结构体、共用体、位运算及文件操作)机试模拟试卷11及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(结构体、共用体、位运算及文件操作)机试模拟试卷 11 及答案与解析 一、选择题 1 有以下定义和语句: struct workers int num;char name20;char c; struct int day; int month; int year; s; ; struct workers w,*pw; pw= 能给 w中 year成员赋 1980的语句是 ( A) w.year=1980; ( B) pw- year=1980; ( C) w.s.year=1980; ( D) *pw.year=1980; 2 有以下程序 #include stdio.h st
2、ruct tt int x;struct tt *y;*p; struct tt a4=20,a+1,15,a+2,30,a+3,17,a; main( ) int i; p=a; for(i=1;i =2;i+ +) printf(“%d,“,p- x);p=p- y; 程序的运行结果是 ( A) 20,15, ( B) 30,17 ( C) 15,30, ( D) 20,30, 3 有以下程序 #include stdio.h #include “string.h“ typedef structchar name9; char sex;float score2;STU; void f(ST
3、U 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; 程序的运行结果是 ( A) Qian,m,85,90 ( B) Zhao,m,85,90 ( C) Zhao,f,95,92 ( D) Qian,f,95,92 4 设有定义: struct char mark12; int num1; double num2; t1,t2; 若变量均已正确赋初值,则以下语句中错误的是 ( A) t2.num1=t1.num1; ( B) t2.
4、mark=t1.mark; ( C) t1=t2; ( D) t2.num2=t1.num2; 5 有以下程序 struct A int a; char b10; double c; void f(struct A t); main() struct A a=1001,“ZhangDa“,1098.0; f(a); printf(“%d,%s,%6.1fn“, 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
5、 ( B) 1001,ZhangDa,1098.0 ( C) 1001,ChangRong,1098.0 ( D) 1002,ZhangDa,1202.0 6 若有以下程序 struct stu char *name, gender; int score; ; main() struct stu a=NULL, m, 290, b; a.name=(char *)malloc(10); strcpy(a.name, “Zhao“); b = a; b.gender = f; b.score = 350; strcpy(b.name, “Qian“); printf( “%s,%c,%d,“,
6、a.name, a.gender, a.score ); printf( “%s,%c,%dn“, b.name, b.gender, b.score ); 则程序的输出结果是 ( A) Zhao,m,290,Qian,f,350 ( B) Qian,f,350,Qian,f,350 ( C) Zhao,m,290,Zhao,f,350 ( D) Qian,m,290,Qian,f,350 7 若有以下程序 typedef struct stu char *name, gender; int score; STU; void f(char *p) p=(char *)malloc(10); s
7、trcpy(p, “Qian“); main() STU a=NULL, m, 290, b; a.name=(char *)malloc(10); strcpy( a.name, “Zhao“ ); b = a; f(b.name); b.gender = f; b.score = 350; printf(“%s,%c,%d,“, a.name, a.gender, a.score); printf(“%s,%c,%dn“, b.name, b.gender, b.score); 则程序的输出结果是 ( A) Zhao,m,290,Qian,f,350 ( B) Qian,f,350,Qia
8、n,f,350 ( C) Qian,m,290,Qian,f,350 ( D) Zhao,m,290,Zhao,f,350 8 若有以下程序 typedef struct stu char name10, gender; int score; STU; void f(STU a, STU b) b = a; printf( “%s,%c,%d,“, b.name, b.gender, b.score ); main() STU a=“Zhao“, m, 290, b=“Qian“, f, 350; f(a,b); printf(“%s,%c,%dn“, b.name, b.gender, b.
9、score); 则程序的输出结果是 ( A) Zhao,m,290, Zhao,m,290 ( B) Zhao,m,290,Qian,f,350 ( C) Qian,f,350,Qian,f,350 ( D) Zhao,m,290,Zhao,f,350 9 若有以下程序 typedef struct stu char name10, gender; int score; STU; void f( char *p ) strcpy( p, “Qian“ ); main() STU a=“Zhao“, m, 290, b; b=a; f(b.name); b.gender = f; b.score
10、 = 350; printf(“%s,%c,%d,“, a.name, a.gender, a.score); printf(“%s,%c,%dn“, b.name, b.gender, b.score); 则程序的输出结果是 ( A) Zhao,m,290, Zhao,m,290 ( B) Qian,f,350,Qian,f,350 ( C) Zhao,m,290,Qian,f,350 ( D) Zhao,m,290,Zhao,f,350 10 为了建立如图所示的存储结构(即每个结点含两个域, data是数据域, next是指向结点的指针域),则在 【 】 处应填入的选项是 Struct l
11、inkchar data; 【 】 node; ( A) struct link *next; ( B) link next; ( C) link *next; ( D) struct link next; 11 若有以下程序段 struct st int n; struct st *next; ; struct st a3= 5, p= 则以下选项中值为 6的表达式是 ( A) +(p- n) ( B) (*p).n ( C) p- n+ ( D) p- n 12 以下叙述中正确的是 ( A)结构体类型中的成分只能是 C语言中预先定义的基本数据类型 ( B)在定义结构体类型时,编译程序就为它
12、分配了内存空间 ( C)结构体类型中各个成分的类型必须是一致的 ( D)一个结构体类型可以由多个称为成员(或域 ) 的成分组成 13 以下叙述中正确的是 ( A)结构体类型中的各个 成分均不能是数组或指针 ( B)结构体类型的变量,不能在声明结构体类型组成时一起定义 ( C)使用 typedef定义新类型名后,新类型名与原类型名实际上是等价的 ( D)元素为结构体类型的数组,只能在声明过结构体类型之后,单独进行定义 14 以下叙述中正确的是 ( A)函数的返回值不能是结构体类型 ( B)函数的返回值不能是结构体指针类型 ( C)在调用函数时,可以将结构体变量作为实参传给函数 ( D)结构体数组
13、不能作为参数传给函数 15 以下叙述中正确的是 ( A)结构体变量的地址不能作为实参传给 函数 ( B)结构体数组名不能作为实参传给函数 ( C)即使是同类型的结构体变量,也不能进行整体赋值 ( D)结构体中可以含有指向本结构体的指针成员 16 设有如下的说明和定义 struct int a; char *s; x, *p = x.a = 4; x.s = “hello“; 则以下叙述中正确的是 ( A)语句 +p- a; 的效果是使 p增 1 ( B) (p+)- a与 p+- a都是合语法的表达式,但二者不等价 ( C)语句 *p- s+; 等价于 (*p)- s+; ( D)语句 +p-
14、 a; 的效果是使成员 a增 1 17 有以下程序 struct S int a;int b; ; main() struct S a, *p= a.a=99; printf( “%dn“ , _ ); 程序要求输出结构体中成员 a的数据,以下不能填入横线处的内容是 ( A) a.a ( B) *p.a ( C) p- a ( D) (*p).a 18 若已建立以下链表结构,指针 p、 s分别指向如图所示结点 则不能将 s所指节点插入到链表末尾的语句组是 ( A) s - next=0; p=p- next; p- next=s; ( B) p=p- next; s - next=p; p-
15、next=s; ( C) p=p- next; s - next=p- next; p- next=s; ( D) p=(*p).next; (*s ).next=(*p).next; (*p).next=s; 19 有以下程序 #include stdio.h struct STUchar name9;char sex;int score2; void f(struct STU a) struct STU b=“zhao“,m,85,90; a1=b; main() struct STU c2=“Qian“,f,95,92,“Sun“,m,98,99; f(c); printf(“%s,%c
16、,%d,%d,“,c0.name,c0.sex,c0.score0,c0.score1); printf(“%s,%c,%d,%dn,“,c1.name,c1.sex,c1.score0,c1.score1); 程序运行后输出结果是 ( A) Qian,f,95,92,Sun,m,98,99 ( B) Zhao,m,85,90,Sun,m,98,99 ( C) Qian,f,95,92,Zhao,m,85,90 ( D) Zhao,m,85,90,Qian,f,95,92 20 以下叙述中错误的是 ( A)函数的返回值类型不能是结构体类型,只能是简单类型 ( B)只要类型相同,结构体变量之间可
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 结构 共用 运算 文件 操作 模拟 11 答案 解析 DOC
