二级C语言笔试342

上传人:夏** 文档编号:431730675 上传时间:2022-10-09 格式:DOC 页数:21 大小:215.50KB
返回 下载 相关 举报
二级C语言笔试342_第1页
第1页 / 共21页
二级C语言笔试342_第2页
第2页 / 共21页
二级C语言笔试342_第3页
第3页 / 共21页
二级C语言笔试342_第4页
第4页 / 共21页
二级C语言笔试342_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《二级C语言笔试342》由会员分享,可在线阅读,更多相关《二级C语言笔试342(21页珍藏版)》请在金锄头文库上搜索。

1、二级 C 语言笔试 -342( 总分: 110.00 ,做题时间: 90 分钟 )一、选择题 (总题数: 50,分数: 66.00)1. 若变量已正确说明为float 型,要通过scanf(%f%f%f , &a, &b, &c);给a赋值10.0, b赋值22.0, c赋值 33.0,下列不正确的输入形式是 ( ) 。A) 10 v 回车22 v 回车33v 回车B) 10.0, 22.0 , 33.0 v 回车C) 10.0 v 回车22.0 33.0 v 回车D) 10 22 v 回车33v 回车(分数: 1.00 )A.B. VC.D.解析:解析在scanf(%f%f%f , &a,

2、&b, &c);中,格式描述为%f%f%f,当输入数据时,数据之间可用 空格、制表符和回车符作为间隔符,而逗号不是合法的间隔符。2. 有下列程序:#include v stdio.h main()int a=6,b=7,m=1;switch(a%2)case 0:m+;break;case 1:m+;switch(b%2)defaut:m+;case0:m+;break;printf(%d/n,m);程序运行后的输出结果是 ( )A) 1 B) 2 C) 3 D) 4(分数: 2.00 )A.B. VC.D.解析:解析本题考查switch语句。第一个switch语句,因为a=6, a%2=0所

3、以执行caseO,将m加1, 遇到 break 语句跳出 switch 语句,结束循环。3. 有以下程序段typedef struct node(int data; struct node *next;) *NODE;NODE p;以下叙述中正确的是 。(A) P 是指向 struct node 结构变量的指针的指针(B) NODE p; 语句出错(C) P 是指向 struct node 结构变量的指针(D) P 是 struct node 结构变量(分数: 2.OO )A.B.C. VD.解析:4. 有定义语句doubld a , b;int w ; long c ; 若各变量已正确赋值,

4、则下列选项中正确的表达式是 ( )A) a=a+b=b+ B) w%(int) a+b)C) (c+w)%(int)a D) w=a=b ;分数: 1.OO )A.B.C. VD.解析: 解析 型必须为整型,5. 有定义语句:赋值运算符的左边只能是变量,不能是表达式,选项A)错误;由于“ %两边表达式值的类所以选项B)错误;题目要求的是正确的表达式, 而表达式后面不能有“;”,选项D)错误。int x, y;。若要通过scanf(%d, %d,&x, &y);语句使变量x得到数值11,变量y得到数值 12,下面四组输入形式中,错误的是 ( ) 。A) 11 12 / B) 11, 12 / C

5、) 11, 12,/ D) 11, /12/分数: 1.OO )A. VB.C.D.解析:解析本题的考查点是格式输入函数。格式输入函数的一般形式:scanf(格式控制,地址表列)需要注意的是:如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与 这些字符相同的字符。所以输入的两个数字之间的逗号是不可少的。故本题答案为A)。6. 若有以下定义:struct linkint data ;struct link * next ;a,b,c,*p,*q ;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成新的链表的语句组

6、是A) a . next=c ; c. next=b ; B) p . next=q ; q. next=p . next ;C) p- next=&c ; q- next=p- next ; D) (*p). next=q ; (*q) . next=&b ;(分数:1.00 )A.B.C.D. V解析:解析在本题中指针p指向变量a,q指向变量c。要把c插入到变量a和变量b之间,就应该首 先让变量a的指针域指向变量 c,即(*p).next=q ,然后让变量c的指针域指向变量 b,即(*q).next=&b7. 有如下程序:#define n 2#define m N+1#define NU

7、M 2*m+1main()int i ;for(i=1 ; i v =NUM i+)printf(%d/n ,i);该程序中的for循环执行的次数是 。A) 5 B) 6 C) 7 D) 8(分数:1.00 )A.B. VC.D.解析:解析在C语言中,宏定义在编译时将被直接替换,所以NUM最后会被替换成2*N+1+1,即2*2+1+1,值为6。因此,for循环执行的次数为6。8. 以下叙述中不正确的是()。A) 预处理命令行都必须以#号开始,结尾不加分号B) 在程序中凡是以#号开始的语句行都是预处理命令行C) C程序在执行过程中对预处理命令进行处理D) 预处理命令可以放在程序中的任何位置(分数

8、: 2.00 )A.B.C. VD.解析:解析本题考查预处理命令的特点。编译预处理命令的特点有:为了区分一般的语句,预处理命令行都必须以#开始,结尾不加分号;预处理命令可以放在程序中的任意位置;在程序中凡是以#开始的语句都是预处理命令行。9. 使用白盒测试法时,确定测试数据应该根据( ) 和指定的覆盖标准。A) 程序的内部逻辑 B) 程序的复杂结构C) 使用说明书 D) 程序的功能(分数: 2.00 )A. VB.C.D.解析: 解析 白盒测试是把测试对象看作是一个打开的盒子,允许测试人员利用程序内部的逻辑结构及相 关信息来设计或选择测试用例, 对程序所有的逻辑路径进行测试。 所以,白盒测试的

9、对象基本上是源程序, 以程序的内部逻辑和指定的覆盖标准测试数据。10. 以下程序的输出结果是 。#include #define FUDGE(y) 2.84+y#define PR(a) printf(%d,(int)(a)#define PRINT1(a) PR(a);putchar(/n)main()int x=2;PRINT1(FUDGE(5)*x);A) 11 B) 12 C) 13 D) 15(分数: 1.00 )A.B. VC.D.解析: 解析 在程序中如果有带实参的宏,则按 #define 命令行中指定的字符串从左到右进行置换,如果 串中包含宏中的形参,则将程序语句中相应的实参代

10、替形参。将实参带入已经定义的宏中,可以得出答案 为“12”。11. 以下只有在使用时才为该类型变量分配存储单元的存储类说明是 。A) auto 和 static B) auto 和 registerC) register 和 static D) extern 和 register分数: 1.00 )A.C.D.解析: 解析 auto 变量和 register 变量在使用时,系统自动为其分配存储单元;退出时自动释放这些存 储单元另做它用。12. 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A) 模块间的关系 B) 系统结构部件转换成软件的过程描述C) 软件层次结构 D) 软

11、件开发过程(分数: 1.00 )A.B. VC.D.解析: 解析 软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系 统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件 内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性 描述。13. 有以下程序:main()unsigned char a,b,c;a=0x3; b=a|0x8 ; c=b 1;printf(%d%d/n,b,C);程序运行后的输出结果是 ( ) 。A) -11 12 B) -6 -13 C) 12 24 D) 11

12、 22(分数: 1.00 )A.B.C.D. V解析:解析将a的值用二进制表示:00000011。a与0x8(二进制表示为00001000)按位或,得到结果 00001011赋值给b,b的值为11。再将b左移一位得到:00010110,赋值给c,c的值为22。所以最后输 出的 b, c 的值为 11, 22。14. 在一个 C 语言程序中A) main 函数必须出现在所有函数之前B) main 函数可以在任何地方出现C) main 函数必须出现在所有函数之后D) main 函数必须出现在固定位置(分数: 1.00 )A.B. VC.D.解析:解析本题考核的知识点是 main()函数的位置。一个

13、完整的C语言程序有且仅有一个主函数main()函数)程序总从 main() 函数的第一条语句开始执行,到 main() 函数的最后一条语句结束,其他函数都是 在执行 main() 函数时,通过函数调用或嵌套调用而得以执行的。 C 语言规定, main() 函数在程序中的位置 是任意的,故选项 A、选项C和选项D均不正确。所以,B选项为所选。15. 下列叙述中,不属于测试的特征的是 ( )A) 测试的挑剔性 B) 完全测试的不可能性 C) 测试的可靠性 D) 测试的经济性(分数: 1.00 )A.B.C. VD.解析:16. 在关系数据库中,用来表示实体之间联系的是 。A) 树结构 B) 网结构

14、 C) 线性表 D) 二维表(分数: 1.00 )A.B.C.D. V解析: 解析 在关系数据库中,用二维表来表示实体之间联系。17. 已知函数的调用形式: fread(buf , size , count , fp) ,参数 buf 的含义是 ( )A) 一个整型变量,代表要读入的数据项总数B) 一个文件指针,指向要读的文件C) 一个指针,指向要读入数据的存放地址D) 一个存储区,存放要读的数据项 (分数: 2.00 )A.B.C. VD.解析: 解析 buf 是一个指针。对函数 fread 来说,它是读入数据的存放地址 (指起始地址 ) 。对 fwrite 来说,是要输出数据的地址。18. 有如下程序段int *p,a=10,b=1;p=&a; a=*p+b;执行该程序段后, a 的值为 。A) 12 B) 11 C) 10 D) 编译出错分数: 1.00 )A.B. VC.解析:解析执行p=&a;后,p指向整数a, *p即p的目标变量,也就是 a;所以a=*p+b等价于a=a+b, 可知a的值最终为11。19. 设有如下的程序段:int a= (1 , 2, 3, 4, 5) , *t ;t=a ;则下列说法正确的是 ( )A) a 和 t

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号