【计算机类职业资格】国家二级(C语言)机试模拟试卷150及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷150及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷150及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 150 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.线性表常采用的两种存储结构是( )。(分数:2.00)A.散列方法和索引方式B.链表存储结构和数组C.顺序存储结构和链式存储结构D.线性存储结构和非线性存储结构2.软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和( )。(分数:2.00)A.阶段性报告B.需求分析C.需求总结D.都不正确3.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。(分数:2.00)A.需求分析B.详细设计C.软件
2、设计D.概要设计4.对建立良好的程序设计风格,下面描述正确的是( )。(分数:2.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无5.下列工具中,不属于结构化分析的常用工具的是( )。(分数:2.00)A.数据流图B.数据字典C.判定树D.N-S 图6.在软件生产过程中,需求信息的来源是( )。(分数:2.00)A.程序员B.项目经理C.设计人员D.软件用户7.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为( )。(分数:2.00)A.并运算B.交运算C.差运算D.积运
3、算8.设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值 B 在序列中的序号是( )。(分数:2.00)A.1B.3C.7D.99.数据库的故障恢复一般是由( )来执行恢复。(分数:2.00)A.电脑用户B.数据库恢复机制C.数据库管理员D.系统普通用户10.下列选项中,不属于数据模型所描述的内容的是( )。(分数:2.00)A.数据类型B.数据操作C.数据结构D.数据约束11.程序设计的任务包括( )。(分数:2.00)A.编写程序代码并上机调试B.确定所用数据结构C.确定所用算法D.以上选项均正确12.下列合法的标
4、识符是( )。(分数:2.00)A.123B.#256C.a55D.abhj1_2_313.以下程序的运行结果是( )。 #include main() int a=3,b=4,c=8,d=4,m=1,n=3; printf(“dn“,(m=ab)&(n=cd);(分数:2.00)A.0B.1C.2D.314.以下选项中,能用作数据常量的是( )。(分数:2.00)A.018B.ol 1C.08e25D.25L15.有下列程序: main() int m,n,p; scanf(“m=dn=dp=d“,&m,&n,&p); printf(“0dddn“,m,n,p); 若想从键盘上输入数据,使变
5、量 m 中的值为 123,n 中的值为456,P 中的值为 789,则正确的输入是( )。(分数:2.00)A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456p=789D.123 456 78916.以下关于 long、int 和 short 类型数据占用内存大小的叙述中正确的是( )。(分数:2.00)A.均占 4 个宁节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由 C 语言编译系统决定17.有以下程序 #include main() int k=5,n=0; while(k0) switch(k) default:brea
6、k; case 1 :n+=k; case 2 : case 3 :n+=k; k-; printf(“dn“,n); 程序运行后的输出结果是(分数:2.00)A.0B.4C.6D.718.有以下程序段 int j;float y; char name50; scanf(“2dfs“,&j,&y,name); 当执行上述程序段,从键盘上输入 55566 7777abc 后,y 的值为( )。(分数:2.00)A.555660B.5660C.77770D.566777019.若变量已正确定义,有以下程序段: i=0: do printf(“d,“,i);while(i+); printf(“dn
7、“,i); 其输出结果是( )。(分数:2.00)A.0,0B.0,1C.1,1D.程序进入无限循环20.设有条件表达式:(EXP)?i+;j-,则以下表达式中(EXP)完全等价的是( )。(分数:2.00)A.(EXP=0)B.(EXP!=0)C.(EXP=1)D.(EXP!=1)21.有以下程序 #include main() int y=9; for(;y0;y-) if(y3=0)printf(“d“,-y); 程序的运行结果是( )。 A)741 B)963 C)852 D)875421(分数:2.00)A.741B.963C.852D.87542122.若要求从键盘读入含有空格字符
8、的字符串,应使用函数( )。(分数:2.00)A.getc()B.gets()C.getchar()D.SCallf()23.当 a=4,b=5,c=7,d=6 时,执行下面一段程序: if(aA.1B.2C.3D.424.在 C 浯言程序中,以下说法正确的足( )。(分数:2.00)A.函数的定义和函数的调用均不可以嵌套B.函数的定义不可嵌套,但函数的调用可以嵌套C.函数的定义可以嵌套,但函数的调用不可以嵌套D.函数的定义和函数的调用均可以嵌套25.以下程序运行后的输出结果是( )。 #includestdioh main() void reverse(int a,int n) int b1
9、0=10,9,8,7,6,5,4,3,2,1;int i,s=0; int i,t; reverse(b,10); for(i=0;in2;i+) for(i=0;i3;i+)s+=bi; t=ai;ai=an-1-i;an-1-i=t; printf(“d1n“,s);(分数:2.00)A.27B.6 c)25C.3026.设 y 为整型变量,a=6,a 的地址为 E2000,b=14,b 的地址为 E2001;执行语句 b=&a;y=&a;后 Y 的值为( )。(分数:2.00)A.E2000B.E2001C.6D.1427.若有以下程序段: struct st main() int n;
10、 struct st*p; int*m; p=s; ; int a=2,b=3,c=5; struct st s3=(101,&a),102,&c,103,&b; 则以下表达式中值为 5 的是( )。(分数:2.00)A.(*p)mB.*(p+1)-mC.*(p+)-nD.(p+)(*m)28.在下列叙述中,错误的是( )。(分数:2.00)A.C 语言中,二维数组或多维数组是按行存放的B.赋值表达式 b12=a23是正确的C.char a1;a0=A与 int a1;a0=A等价D.数组名后的方括号内可以为常量表达式,也可以为变量29.若已包括头文件和,运行下面程序的输出结果是( )。 ch
11、ar sl10=“12345“,s210=“089“,s3=“67“; strcat(strcpy(s1,s2),s3); puts(s1);(分数:2.00)A.08967B.0894567C.089567D.08956730.下列说法正确的是( )。(分数:2.00)A.auto 和 register 将声明的对象说明为自动存储类对象,这些对象可用在函数中或函数外B.将变量其定义为 static 类型,则其初值默认为随机值C.typedef 说明符并不会为对象预留存留空间D.如果一个对象被声明为 register,则对它应用一元运算符&,意在取得其存储的地址31.以下有关宏的描述不正确的是
12、( )。(分数:2.00)A.宏定义不做语法检查B.双引号中出现的宏名不进行替换C.宏名无类型D.宏名必须用大写字母表示32.以下程序段的输出结果为( )。 static char a=“programme“; char*p; p=a; for(p=a;pA.programmeB.pormC.有语法错误D.prog33.下列关于 C 语言数据文件的叙述中正确的是( )。(分数:2.00)A.文件由 ASCII 码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件出数据流形式组成
13、,可按数据的存放形式分为二进制文件和文本文件34.已知 char*s,下面正确的语句是( )。(分数:2.00)A.s=“ABCDEF“:B.*s=“ABCDEF“;C.*s=“ABCDEF“;D.*s=A;35.下列程序的运行结果是( )。 #include void main() void fun(int*s,int*p) int a=2,3,4,5,k,x; static int t=3; for(k=0;kA.5 94,3,2,B.2,3,4,5,C.2,2,2,2,D.5,5,5,5,36.以下函数 findmin 拟实现在数组中查找最小值并作为函数值返回,但程序中有错导致不能实现预
14、定功能 #define MAX 2147483647 int findmin(int x,int n) int i,min; min=MAX; for(i=0;iA.定义语句 int i,min;中 min 未赋初值B.赋值语句 min=MAN;中,不应给 min 赋 MAX 值C.语句 iffminD.赋值语句 min=MAX;放错了位置37.以下程序的输出结果是( )。 #include main() struct st p=aa; int x;int*y;*p; printf(“dn“,+(p-x); int dt4=1,2,3,4; struct st aa4=2,&dt0,3,&dt
15、0,4, &dt0,5,&dt0,;(分数:2.00)A.1B.2C.3D.438.有以下定义和语句: struct students int num;char name20;char c; struct int gradel;int grade2; s; ; struct students w*pw; *pw=w; 下列赋值语句不正确的是( )。(分数:2.00)A.wnum=1002;B.wgradel=85;C.pw-num=1002;D.wsgrade2=85;39.设有以下语句: char x=3,y=6,z; z=xyb)&(n=cd);(分数:2.00)A.0 B.1C.2D.3
16、解析:解析:逻辑与(&)运算符的功能是:当“&”运算符两边的运算对象均为 1 时,整个表达式的值为1,否则为 0。因为 a=314.以下选项中,能用作数据常量的是( )。(分数:2.00)A.018B.ol 1C.08e25D.25L 解析:解析:本题考查常量定义。数据常量可有 10 进制、8 进制、16 进制、指数法等,8 进制数字为 0-7,第一个字符为 0,而不是 o,因此选项 A 和 B)错误。为指数法时,指数部分须为整形,因此选项 C 错误,选项 D 中数字后加入 L 是说明此变量为长整型。15.有下列程序: main() int m,n,p; scanf(“m=dn=dp=d“,&
17、m,&n,&p); printf(“0dddn“,m,n,p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为456,P 中的值为 789,则正确的输入是( )。(分数:2.00)A.m=123n=456p=789 B.m=123 n=456 p=789C.m=123,n=456p=789D.123 456 789解析:解析:scanf()函数中格式控制字符串是为了输入数据用的,无论其中有什么字符,在输入数据时,按照一一对应的位置原样输入这些字符。16.以下关于 long、int 和 short 类型数据占用内存大小的叙述中正确的是( )。(分数:2.00)A.均占 4 个
18、宁节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由 C 语言编译系统决定 解析:解析:不同的编译系统或计算机系统对儿类整型数所占用的字节数有不同的规定。long、int 和short 类型数据占用内存大小是由选择何种 C 编译系统决定的。17.有以下程序 #include main() int k=5,n=0; while(k0) switch(k) default:break; case 1 :n+=k; case 2 : case 3 :n+=k; k-; printf(“dn“,n); 程序运行后的输出结果是(分数:2.00)A.0B.4C.6D.7 解析:解析:因为没
19、有 break 语句,当 k=2 的时候,会顺序执行两条语句,k=1 的时候,会顺序执行 3 条语句。18.有以下程序段 int j;float y; char name50; scanf(“2dfs“,&j,&y,name); 当执行上述程序段,从键盘上输入 55566 7777abc 后,y 的值为( )。(分数:2.00)A.555660B.5660 C.77770D.5667770解析:解析:因为在输入格式控制符中指定变量 i 的输入格式控制符为“2d”,即变量 j 所占的宽度为2,所以变量 j 只接收输入数据的前两位,从第 3 位开始直到空格之间的输入整数都会被保存到变量 y 中,因
20、为 y 为浮点型数据,所以输出结果为选项 B。19.若变量已正确定义,有以下程序段: i=0: do printf(“d,“,i);while(i+); printf(“dn“,i); 其输出结果是( )。(分数:2.00)A.0,0B.0,1 C.1,1D.程序进入无限循环解析:解析:dowhile 循环的执行过程如下:执行 do 后面的循环体中的语句。计算 while 后一对圆括号中表达式的值。当值为非 0 时,转去执行步骤;当值为 0 时,执行步骤。退出 dowhile 循环。对于本题变量 i 的初始值等于“0”,接着执行 do 后面的循环体中的语句,输出变量 i 的值 0。再判断 wh
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 150 答案 解析 DOC
