ImageVerifierCode 换一换
格式:DOC , 页数:27 ,大小:79.50KB ,
资源ID:503377      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-503377.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级(C语言)笔试模拟试卷213及答案与解析.doc)为本站会员(boatfragile160)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级(C语言)笔试模拟试卷213及答案与解析.doc

1、国家二级( C语言)笔试模拟试卷 213 及答案与解析 1 栈和队列的共同特点是 ( )。 ( A)都是先进先出 ( B)都是先进后出 ( C)只允许在端点处插入和删除元素 ( D)没有共同点 2 数据的存储结构是指 ( )。 ( A)数据所占的存储空间 ( B)数据的逻辑结构在计算机中的存放形式 ( C)数据在计算机中的顺序存储方式 ( D)存储在计算机外存中的数据 3 关系数据库管理系统能实现的专门关系运算包括 ( )。 ( A)排序、索引、统计 ( B)选择、投影、连接 ( C)关联、更 新、排序 ( D)显示、打印、制表 4 已知二叉树后序遍历序列是 dabec,中序遍历序列是 deb

2、ac,它的前序遍历序列是 ( )。 ( A) acbed ( B) decab ( C) deabc ( D) cedba 5 在单链表中,增加头结点的目的是 ( )。 ( A)方便运算的实现 ( B)使单链表至少有一个结点 ( C)标识表结点中首结点的位置 ( D)说明单链表是线性的链式存储实现 6 设有二元关系 R和三元关系 S,下列运算合法的是 ( )。 ( A) RS ( B) R S ( C) RS ( D) RS 7 两个或两个以上模块之间联系的紧密程度称为 ( )。 ( A)耦合性 ( B)内聚性 ( C)复杂性 ( D)数据传输特性 8 设 a=1, b=2, c=3, d=4

3、,则表达式: “a b?a: b b?a: c d?a: d”的结果为( )。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 9 若有定义: “int a=4, b=5; float x=3 4, y=2, 1; ”,则下列表达式的值为( )。 (float)(a+b) 2+(int)x (int)y; ( A) 5 5 ( B) 55 ( C) 5 500000 ( D) 55 00000 10 下列程序的输出结果是 ( )。 main() int a, b, d=25; a=d 10 9; b=a&(-1): printf(“ d, d n“, a, b); ( A) 6, 1

4、( B) 2, 1 ( C) 6, 0 ( D) 2 0 11 有下列程序: main() int x=5; do printf(“ d“, x-=4); ) while(!(-x); 程序的输出结果是 ( )。 ( A) 1 ( B) 2 0 ( C) 14 ( D)死循环 12 若有下列定义,则对 a数组元素地址的正确引用是 ( )。 int a5, *p=a; ( A) p+5 ( B) *a+1 ( C) &a+1 ( D) &a0 13 执行语句 printf(“ u n“, +12345)的输出结果是 ( )。 ( A) 12345 ( B) 0 ( C) -1 ( D)非定值 1

5、4 定义下列结构体 (联合 )数组: struct st char name15; int age; a10=“ZHAO“, 14, “WANG“, 15, “LIU“, 16, “ZHANG“, 17); 执行语句 printf(“ d, c“, a2 age, *(a3 name+2)的输出结果为 ( )。 ( A) 15, A ( B) 16, H ( C) 16, A ( D) 17, H 15 若有定义语句: “char s10=“1234567 0 0“; ”,则 strlen(s)的值是 ( )。 ( A) 7 ( B) 8 ( C) 9 ( D) 10 16 下列 程序的输出结

6、果是 ( )。 char*point(char*pt): main() char b4=a, c, s, f, *pt=b; pt=point(pt); printf(“ c n“, *pt); point(char*p) p+=3; return p; ( A) s ( B) c ( C) f ( D) a 17 下列选项中不会引起二义性的宏定义是 ( )。 ( A) #define S(x) x*x ( B) #define S(x) (x)*(x) ( C) #define S(x) (x*x) ( D) #define S(x) (x)*(x) 18 交换两个变量的值,不允许用临时变量

7、,应该使用下列 ( )位运算符。 ( A) & ( B) ( C) ( D) 19 若有 “double a; ”,则正确的输入语句是 ( )。 ( A) scanf(“ 1f“, a); ( B) scanf(“ f“, &a); ( C) scanf(“ 1f“, &a); ( D) scanf(“le“, &a); 20 设有如下关系表 : 则下列操作中正确的是 ( )。 ( A) T=RS ( B) T=R S ( C) T=RS ( D) T=R S 21 下列程序的输出结果是 ( )。 printf(“ d“, +*x); void main() int y=3; p(&y); (

8、 A) 3 ( B) 4 ( C) 2 ( D) 5 22 若变量 c为 char类型,能正确判断出 c为小写字母的表达式是 ( )。 ( A) a =c =z ( B) (c =a) (c =z) ( C) (a =c)and(z c ( D) (c =a)&(c =z) 23 以下程序的输出结果是 ( )。 main() int num=0: while(num =2) num+: printf( “ d n“, num); ( A) 1 2 3 4 ( B) 1 2 3 ( C) 1 2 ( D) 1 24 以下函数返回 a所指数组中最小的值所在的下标值: fun(int*a, int

9、n) int i, j=0, p; p=j; for(i=j; i n; i+) if(ai aj)_return(p); 在下划线处应填入的是 ( )。 ( A) i=p ( B) ap=ai ( C) p=j ( D) p=i 25 有如下程序段: int a=14, b=15, x: char c=A; x=(a&b)&(c B); 执行该程序后, x的值为 ( )。 ( A) true ( B) false ( C) 0 ( D) 1 26 以下程序的输出结果是 ( )。 main() int i, a44=1, 3, 5), 2, 4, 6, 3, 5, 7; printf(“ d

10、d d d n“, a03, a12, a21, a30; ( A) 0650 ( B) 1470 ( C) 5430 ( D)输出值不定 27 下列程序中函数 sort()的功能是对数组 a中的数据进行由大到小的排序。 #include void sort(int a, int n) int i, j, t; for(i=0; i n-1; i+) for(j=i+1+1; j n; j+) if(ai aj) t=aEi; ai=aj; aj=t; main() int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; sort(&a1, 7); for(i=0;

11、 i 10; i+)printf(“ d, “ai); 程序运行后的输出结果是 ( )。 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( C) 1, 8, 7, 6, 5, 4, 3, 2, 9, 10, ( D) 1, 2, 10, 9, 8, 7, 6, 5, 4, 3, 28 下列判断正确的是 ( )。 ( A) char a=“ABCD“;等价于 char*a; *a=“ABCD“; ( B) char str10=“ABCD“;等价于 char str10; str=“ABCD“);

12、( C) char*s=“ABCD“;等价于 char s; *s=“ABCD“; ( D) char c5=“ABCD“, d5=“ABCD“;等价于 char cs-d5=“ABCD“; 29 有如下程序: main() int n5=0, 0, 0, i, k=2; for(i=0; i&printf(“ d n“, nk); ); 该程序的输出结果是 ( )。 ( A)不确定的值 ( B) 2 ( C) 1 ( D) 0 30 当执行下面的程序时,如果输入 ABC,则输出结果是 ( )。 #include #include main() char ss10=“1, 2, 3, 4, 5

13、“; gets(ss); strcat(ss, “6789“); printf(“ s n“, ss); ( A) ABC6789 ( B) ABC67 ( C) 12345ABC6 ( D) ABC456789 31 以下程序的输出结果是 ( )。 #define M(x, y, z)x*y+z main() int a=1, b=2, c=3; printf(“ d n“, m(a+bb+c, c+a); ( A) 19 ( B) 17 ( C) 15 ( D) 12 32 有以下程序: main() int k=5, n=0; do switch(k) case 1; case 3; n

14、+=1; k-; break; defalut: n=0; k-; case 2: case 4: n+=2; k-; break; printf(“ d“, n); while(k 0&n 5); 程序运行后的输出结果是 ( )。 ( A) 235 ( B) 0235 ( C) 02356 ( D) 2356 33 下面 for语句的循环次数为 ( )。 for(x=1, y=0; (y!=19)&(x 6); x+); ( A)是无限循环 ( B)循环次数不定 ( C)最多执行 6次 ( D)最多执行 5次 34 对下述程序的判断中,正确的是 ( )。 #include main() ch

15、ar *p, s256; p=s: while(strcmp(s, “the end“) printf(“Input the string: “); gets(S); while(*p) putchar(*p+); ( A)此程序循环接收字符串并输出,直到接收到字符串 “the end”为止 ( B)此程序循环接收字符串,接收到字符串 “the end”则输出,否则程序终止 ( C)此程序循环接收字符串并输出,直到接收字符串 “the end”为止,但因为代码有错误,程序不能正常工作 ( D)此程序循环接收字符串并将其连接在一起, 直到接收字符串 “the end”为止,输出连接在一起的字符串

16、 35 下列程序的输出结果是 ( )。 #include main() int i, s=0; for(i=1; i 10; i+) if(!(i 2)&!(i 3)s+=i; printf(“ d n“, s); ( A) 4 ( B) 39 ( C) 45 ( D) 6 36 有以下程序: void fun2(char a, char b) printf(“ c c“, a, b); char a=A, b=B; void funl()a=C b=D; main() funl(); printf(“ c c“, a, b); fun2(E, F); 程序的运行结果是 ( )。 ( A) C

17、DEF ( B) ABEF ( C) ABCD ( D) CDAB 37 有以下程序: #include main() char c1=1, c2=2: c1=getchar(); c2=getchar(); putehar(c1); putchar(c2); 当程序运行时输入 a后,下列叙述中正确的是 ( )。 ( A)变量 c1被赋予字符 a, c2被赋予回车符 ( B)程序将等待用户输入第 2个字符 ( C)变量 c1被赋予字符 a, c2中仍是原有字符 2 ( D)变量 c1被赋予字符 a, c2中将无确定值 38 下述程序的输出结果是 ( )。 #define N 20 void f

18、un(int a, int n, int m) int i, j; for(i=m; i n; i-)ai+1=ai; main() int i, aN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; fun(a, 2, 9); for(i=0; i 5; i+)printf(“ d“, ai); ( A) 10234 ( B) 12344 ( C) 12334 ( D) 12234 39 若要用函数 fopen打开一个新的二进制文件,该文件要既能读也能写,则应以( )方式打开文件。 ( A) wb ( B) wb+ ( C) rb+ ( D) rb 40 下列叙述中错误的是 (

19、 )。 ( A)在 C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 ( B)在 C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 ( C)在 C语言中,外部变量的隐含类型是自动存储类别 ( D)在 C语言中,函数形参的存储类型是自动 (auto)类型的变量 41 按照 “先进先出 ”的原则组织数据的结构是 _。 42 Jackson方法是一种面向 _的结构化方法。 43 下列程序段的输出结果是 _。 int n=c; switch(n+) default: printf(“error“); break; case a: printf(“good“); break; cas

20、e c: printf(“morning“); case d: printf(“class“); 44 下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。 #include #include main() char c; int a, s=0; while(_) if(isdigit(c) a=s-0; s+=a; printf(“s= d“, s); 45 下列程序的输出结果是 _。 #define p(a) printf(“ d, “, (int)(a) #define PRINT(a) p(a); printf(“the end“) main() int i

21、, a=0; for(i=1; i 5; i+) PRINT(a+i); printf(” n”); 46 若有定义: “int a=10, b=9, C=8; ”接着顺序执行下列语句后,变量 b中的值是_。 c=(a-=(b-5): c=(a 11)+(b=3); 47 用以下语句调用库函数 malloc,使字符指针 st指向具有 11个字节 的动态存储空间,请填空。 st=(char*)_。 48 表达式 pot(2 8, sqrt(float(x)值的数据类型为 _型。 49 下列程序段的输出结果是 _。 int n=c; switch(n+) default: printf(“erro

22、r“); break; casea: caseA: caseb: caseB: printf(“good“); break; casec: caseC: printf(“pass“); cased: caseD: print(“warn“); 50 以下程序的输出结果是 _。 main() int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(“ d, d n“, a, b); 51 要求使下列程序输出 5个整数,请填空。 for(i=0; i =_; printf(“ d n“, i+=2); ); 52 在宏定义 #define PI 3 14159中,用宏名

23、 PI代替一个 _。 53 下列程序的输出结果是 _。 #include sb(int s, int b) static int n=3; b=sn; n-: return(b); main() int s=1, 5, 6, 8; int i, x=0: for(i=0; i 4; i+) x=sb(s, x); printf(“ d“, x); printf(“ n“); 54 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。 main() int i, a20, sum, count; sum=count=0; for(i=0; i 20; i+) scanf(

24、“ d“, _); for(i=0; i 20; i+) if(ai 0) count+; sum+=_; printf(“sum= d, count= d n“, sum, count); 国家二级( C语言)笔试模拟试卷 213 答案与解析 1 【正确答案】 C 【试题解析】 栈是限定只在表尾进行插入或删除操作的线性表,因此栈是先进后出的线性表,队列是一行特殊的线性表,它只允许在表的前端 (front)进行删除操作,在表的后端 (rear)进行插入操作,队列具有先进先出 (FIFO)的特点。综上所述可知,栈和队列只允许在端点处插入和删除元素。 2 【正确答案】 B 【试题解析】 数据的存储

25、结构,又称为数据的物理结构是数据的逻辑结构在计算机中的存放形式。 3 【正确答案】 B 【试题解析】 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。 4 【正确答案】 D 【试题解析】 二叉树的遍历有 3种:前序、中序和后序。 前序遍历访问根结点,然后按左右顺序遍历予结点; 中序首先遍历左予树,然后访 问根结点,最后遍历右子树; 后序遍历首先遍历左子树,然后遍历右子树,最舌访问报结点。本题根据后序和中序遍历的结果可以得出二叉树的结构,然后再对其进行前序遍历,正确答案选项为 D。 5 【正确答案】 A 【试题解析】 根据单位链表 (包含头结点 )的结构。只要掌握了表头就能够访

26、问整个链表,因此增加头结意的目的是为了便于运算的实现。 6 【正确答案】 D 【试题解析】 本题给出的两个关系 R与 S 的表结构是不同的 (R是二元关系, S是三元关系 ),它们不能进行 、 、 -运算。而两个不同结梅的关系是可以进 行笛卡尔积 ()运算的。 7 【正确答案】 A 【试题解析】 耦合性用来表示模块间互相连接的紧密程度的度量,它取决于备个模块之间接口的复杂度、调用方式以及哪些信息通过接口。 8 【正确答案】 D 【试题解析】 在三目运算符中优先级相同,按从右到左的结合性计算, ab?a: (c d?a: d)c d成立所以取值 a,同理可得,选择 D选项。 9 【正确答案】 C

27、 【试题解析】 在计算 (float)(a+h) 2时由于通过强制类型转换将 (a+b)转换成了float型,所以应先将 2转换 成 float型,再进行计算,得 4 500000。在计算(int)x (int)y时,先将 x和 y通过强制类型转换成 int型再进行求余运算,结果为 1。又因为 4.500000是 float型,所以将 1和它相加时,先将 1换成 float型,再计算,得到 5.500000。类型转换的一般规则是:低级类型从高级类型,并进行相应的转换。数据类型的级别由低到高的排序表示为:charintunsignedlogfloatdouble 。 10 【正确答案】 B 【试

28、题解析】 当逻辑运算符 “&”两边的值是非零时 ,逻辑表达式的值为真 (即为1)。所以 b=2&(-1)=1, 2 9=2故 a=2,故先算 a 10=25 10=2。 11 【正确答案】 C 【试题解析】 本题考查 do-while循环。先执行 do的内容,也就是 printf 语句,x=x-4=1,输出 1,判断 while循环的控制条件, -x=0,则 !(-x)为非零,循环条件成立,执行下一次循环; x=x-4=-4,输出 -4,判断 while循环的条件, -x= 5,则 !(-x)为零,循环条件不成立,结束循环。 12 【正确答案】 D 【试题 解析】 本题考查数组元素的地址的引用

29、。 A中, p+5引用的是 a5的地址,而数组 a只有 5个元素,即 a0、 a1、 a2、 a3、 a4,所以引用错误 (注:数组元素下标从 0开始 ); B 中, *a+1指的是将数组 a的第一个元素加 1;选项 C中,不存在这种引用方式; D中, &a0引用的是数组的首地址。 13 【正确答案】 A 【试题解析】 u表示输出无符号的整数 (如果输出值前有符号,将自动转化为相应的无符号数输出 )。 14 【正确答案】 C 【试题解析】 本题考查结构体数组。 a2 age为结构体 a2的 age成员,即a3 name为指向结构体 a3的 name成员的第一个元索的指针,即指向 “Z”,(a3

30、 name+2)将指针后移两位指向第三个元素 “A”, *(a3 name+2)是取指针所指向地址的内容。 15 【正确答案】 A 【试题解析】 0表示空字符, strlen 函数求得的是不包括字符串结束符 0的长度。故选 A。 16 【正确答案】 C 【试题解析】 本题考查函数的调用及参数供递,当执行函数 point时,刚开始指针 p 指向 “a”,经过 +3,指针 p 指向 “f”,所以最后的输出结果是 f。 17 【正确答案】 D 【试题解析】 本题考查参数的宏替换。避免二义性有些参数表达式必须加括号,否则在实参表达式替换时,会出现错误。例如 x为 (m+n)时替换 A: m+n*m+n

31、,所以 D最符合条件。 18 【正确答案】 B 【试题解析】 按逻辑位运算特点: 用按位与运算将特定位清为。或保留特定位; 用按位或运算将特定的位置为 1; 用按位异或运算将某个变量的特定位翻转或交换两个变量的值。 19 【正确答案】 D 【试题解析】 本题考查 scanf()函数的调用形式: scanf(格式字符串,输入项地址表 )。 “格式字符串 ”是要输入的变量的格式符; “输入项地址表 ”是要输入的变量的地址。 20 【正确答案】 B 【试题解析】 关系代数中的集合运算分 4种:并、差、交和笛卡尔。 并( )y; 差 (-), R和 S的差是由属于 R但不属于 S 的元组构成的集合;

32、交 ():由既属于 R又属于 S的元组构成的集合; 笛卡尔积 ():对两个关系 R和 S进行合并操作,产生的关系中元组个数为两个关系中元组个数之积。根据关系 T中的元组可知, T关系是关系 R和关系 S 进行合并操 作所得到的。 21 【正确答案】 B 【试题解析】 本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则 printf的执行结果为 +x; x=3,则 3+1=4。 22 【正确答案】 D 【试题解析】 在判断小写字母时,必须判断在某一范围内成立,因此用与,即&,即 c在 a与 z之间。 23 【正确答案】 B 【试题解析】 当 num=0时,循环成立,执行 n

33、um+后; num的值为 1,因此输出 1,接着返回 while中的表达式;当 num=1 时,循环成立,执行 num+后 ,num的值为 2,输出 2,再返回 while中的表达式;当 num=2 时,循环成立,执行num+后, num的值为 3输出 3,最后返回 while中的表达式,当 num=3,循环不成立,退出。 24 【正确答案】 D 【试题解析】 p 是存放最小下标的变量,而 if后的表达就是实现这个目的的,当if 成立时,就把小的下标放到 p 中,故选择 D选项。 25 【正确答案】 D 【试题解析】 在 C语言中,当表达式成立时用 1表示,不成立时用 0表示,即x=(a&b)

34、&(c B)=(14&15)&(A B)=1&1=1。故选择 D选项。 26 【正确答案】 A 【试题解析】 当所赋不够其列的宽度时,系统在其后自动补 0,因此 a03=0,a12=6, a21=5, a30=0,故选择 A选项。 27 【正确答案】 C 【试题解析】 本程序中的函数 sort(int a, int n)实现的功能是将数组 a中的前 n个数进行从大到小排序。 sort(&a1, 7)是将数组中从 a1 a7j这 7个数进行从大到小排序,其他数不变。 28 【正确答案】 D 【试题解析】 a=“ABCD”书写错误,因为 “=”左边不能出现常量;数组名 s是代表 s数组首地址常量,

35、而不是变量;字符串只有在定义时维数可以省略。 29 【正确答案】 D 【试题解析】 本题 for循环中,当 i=0时,判断条件 i&printf(“ d n“, nk),此时 i的值是 0,输出 nk的值也为 0, 0&0结果还是 0,条件不成立,退出循环。所以最后输出结果为 0。 30 【正确答案】 A 【试题解析】 当执行 gets(ss)后, ss数组中的元素为 ABC,再执行 strcat(ss,“6789“), strcat的作用,是把 6789连接到了 ss 数组后面,执行完后 ss数组为ABC6789,故选择 A选项。 31 【正确答案】 D 【试题解析】 M(a+b b+c,

36、c+a)=a+b*b+c+c+a=1+2*2+3+3+1=12,注意 x*y+z而不是 (x)*(y)+z。 32 【正确答案】 B 【试题解析】 本题考查分支语句用法加个句号因为变量的初始值分别为 k=5、n=0,所以程序第 1次进入循环时,执行 default语句,输出 0, k减 1;这时n=0、 k=4,程序进行第 2次循环,执 行 case 4:这个分支,结果是 n=2、 k=3,打印出 2;这时 n=2、 k=3, break 跳出,程序进行第 3次循环,执行 case 3:这个分支,结果是 n=3、 k=2,打印出 3;这时 n=3、 k=2, break 跳出,程序然后进行第4

37、次循环,执行 case 2: case 4:这个分支,结果是 n=5、 k=1,打印出 5, break跳出,这时因为 n=5不满足 n 5的循环条件,因此循环结束。 33 【正确答案】 D 【试题解析】 本题考查 for循环的使用。根据条件考虑 x的取值变化, x从 1取到 5,可以循环 5次,但并不 知道 y是如何变化的,有可能出现 y=19提前跳出循环的情况,所以是最多执行 5次。 34 【正确答案】 C 【试题解析】 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。 35 【正确答案】 D 【试题解析】 if语句的条件是当 i既是 3的倍数又是 2的倍数时

38、成立,所以此程序实现的功能是将 10以内既是 3的倍数又是 2的倍数的数相加。 36 【正确答案】 A 【试题解析】 在函数 funl()之前定义了全局字符变量 a和 b。这两个变量的作用域是从其定义处开始到整个 程序末结束。在函数 funl()之内定义了两个变量 a和b,并且分别初始化为字符 C和 D。 37 【正确答案】 A 【试题解析】 本题考查 getchar()函数,从终端读入一个字符作为函数值。在输入时,空格、回车符都将作为字符读入,而且只有在用户敲入回车键时,读入才开始执行。所以当输入 a后,变量 c1 被赋予字符 a,而变量 c2 被赋予回车符。 38 【正确答案】 B 【试题

39、解析】 函数 fun()的功能是从数组 a中依次将当前值赋给一个元素,所以当函数 fun(a, 2, 9)执行后,数组 a=1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10)。 39 【正确答案】 B 【试题解析】 本题考查文件使用方式标识符。方式 “wb”为输出打开一个二进制文件;方武 “wb+”为读写建立一个新的二进制文件;方式 “rb+”为读写打开一个二进制文件;方式 “rb”为输入打开一个二进制文件。 40 【正确答案】 A 【试题解析】 如果是 static修饰的静态变量,不是每次调用赋初值。 41 【正确答案】 队列。 【试题解析】 队列和钱都是一种特殊的线性表,队

40、列只允许在表的一端插入元素,在 表的另一端删除元素,插入元素的一端叫 “队尾 ”,删除元素的一端叫做 “队首 ”,先插入的元素先被删除,是按先进先出的原则组织数据的。 42 【正确答案】 数据结构。 【试题解析】 Jackson 方法是结构化分析方法的一种,它是一种面向数据结构的结构化方法。 43 【正确答案】 morningclass。 【试题解析】 本题主要考查自加 “+”运算及 switch、 case开关语句。 “+、 -”运算后缀形式是先使用变量原来的值,使用完后再使其增 1或减 1; switch 语句中,当 n-c时,执行 “casec”,输出 morning;因为此句中没有 b

41、reak 语句,则继续执行 “cased; ”,输出 class,最终输出结果为 morningclass。 44 【正确答案】 (c=getchar()!= n。 【试题解析】 由题可知,用函数 c=gelchar()从键盘上读取一行的字符 (即没有换行 ),所以条件为 (c=getchar()!= n。 45 【正确答案】 1, 2 3 4, the end。 【试题解析】 表题考查带参数的定义及运算。 i=1时,第 1次循环,调用PRINT(1), P(1)输出; i+f, i=2,第 2次循环,调用 PRINT(2), P(2)输出 2 i自加为 3第 3次循环,调用 PRIN-r(3

42、), P(3)输出 3,继续加 1为 4,第 4次循环,调用 PRINT(4)输出 4, i自加为 5,不循环, the end。 46 【正确答案】 3。 【试题解析】 当执行完 c=(a-=(b-5)电可写成 c=a-a-(b-5), a的值为 6, c为 6,而当执行完 c=(a 11)+(b=3)后, b 为 3, c为 9,故填 3。 47 【正确答案】 malloc(11*sizeof(shar)。 【试题解析】 本题考查库函数调用的一些方法,要写 11个字节的动态存储空间的库函数是 malloc(11*sizeof(shar)。 48 【正确答案】 float。 【试题解析】 在

43、此表达式中 x是 florat类型的变量, sqrt函数是对其开方,结果仍是 float类型,再和 2 8进行运算时, 2 8的类型为单精度。 49 【正确答案】 passwarn。 【试题解析】 本题考查 switchcase 语句当 n+后。表述式的值力 c, n的值自加为 d,因此执行 casec输出 pass,接着执行 cased,输出 Warn,故填passwarn。 50 【正确答案】 2, 1。 【试题解析】 根据程序依次执行 “a=a+b; b=a-b; a=a-b; ”即 a=1+2=3, b=3-2=1, a=3-1=2最后 a的值为 2, b的值为 1,故填 2 1。 5

44、1 【正确答案】 8。 【试题解析】 本题考查基本的 for循环条件, i+=2也可表示为 i=i+2,表示 i每次递增 2,从 0开始。输出 5个整数姗需要的条件是 i =8。 52 【正确答案】 字符串。 【试题解析】 本题 考查 #define格式, #define标识符和字符串。 53 【正确答案】 8651。 【试题解析】 本题考查程序输出,程序运行时,第一次循环 i=0,调用 sb(x, x)子函数,此时 n=3, x=sn=s3=8, n-变为 2;第二次循环 i=1,调用 sb(s, x)予函数,因此将 n 定义为静态变量,所以此时 n=2,返回 x=sn=s2=6;第三次循环, i=2,调用 sb(s, x)子函数,此时 n=1,返回 x=sn=s1=5;第四次循环,i=3,调用 sb(s, x)子函数,此时 n=0,返回 x=sn=s0=1。 54 【正确答案】 &ai ai。 【试题解析】 输入函数 scanf取的是元素的地址,所以要用取地址运算符 &,这条语句实现对正数求和,因此填 &ai, ai。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1