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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】二级C语言笔试-143及答案解析.doc

1、二级 C 语言笔试-143 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下述程序的输出结果是( )。#includestdio.hvoid main()char a=3,b=1;char c=ab2;printf(“%d“,c);(分数:2.00)A.1B.7C.3D.22.下面程序段的运行结果是( )。#includestdio.hvoid main()char str=“ABC“,*p=str;pfintf(“%d/n“,*(p+3);(分数:2.00)A.67B.0C.字符C的地址D.字符C3.下述程序的输出结果是( )。#incl

2、udestdio.hvoid main()int a5=1,2,3,4,5;int *p=a,*q=p;printf(“%d,“,*(p+);printf(“%d“,*q);(分数:2.00)A.2,2B.1,1C.3,4D.1,24.下面结构体的定义语句中,错误的是( )。(分数:2.00)A.struct ordint x;int y;int z;struct ord a;B.struct ordint x;int y;int z;ord a;C.struct ordint x;int y;int z;a;D.structint x;int y;int z;a;5.在 E-R 图中,用(

3、)来表示实体之间联系。(分数:2.00)A.矩形B.菱形C.椭圆形D.正方形6.下列程序段选择项,使 i 的运行结果为 3 的程序段是( )。(分数:2.00)A.int i=0,j=O;(i=2,(j+)+i);B.int i=1,j=0;j=i=(i=3)*2);C.int i=0,j=1;(j=1)?(i=1):(i=3);D.int i=1,j=1;i+=j+=1;7.对下列二叉树进行中序遍历的结果是( )。(分数:2.00)A.ABCDEFGHB.ABDGEHCFC.GDBEHACFD.GDHEBFCA8.以下语句段执行后的输出结果是( )。#includestdio.hmain()

4、int k=3;if(k)printf(“#“)elseprintf(“(分数:2.00)A.#B.i4;i+)s+=aai2;printf(“%d“,s);程序运行后的输出结果是( )。(分数:2.00)A.26B.19C.10D.2011.设有输入语句 scanf(“a=%d,b=%d,c=%d“,printf(“%d“,y=x/y);(分数:1.00)A.0B.2C.3D.不确定的值13.有以下程序:#includestring.hint a=4;int f(int n)int t=0;static int a=5;if(n%2) int a=6;t+=a+;elseint a=7;t+

5、=a+;return t+a+;main()int s=a,i=0;for(;i2;i+)s+=f(i);printf(“%d/n“,s);程序运行后的输出结果是( )。(分数:1.00)_14.已知字母 a 的 ASCII 码为十进制数 97,下面程序的输出结果是( )。#includestdio.hmain()char c1,c2;c1=a+6-0;c2=a+3-0;printf(“%c,%c/n“,c1,c2);(分数:1.00)A.输出无定值B.d,eC.e,fD.g,d15.以下函数定义的类型符是( )。fff(double x)printf(“%f“,x+x);(分数:1.00)A

6、.与 x 类型相同B.void 类型C.int 类型D.无法确定16.算法的有穷性是指( )。(分数:1.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用17.有以下程序:#include stdio.hmain()int a=1,b=2;for(;a12;a+) b+=a*2;a+=3;printf(“%d,%d/n“,b,(分数:1.00)A.;18.下面程序的输出结果是( )。#includestdio.h#includestring.hmain()char p1=“WHO“,p2=“who“,str50=“xy

7、z“;strcpy(str+1,strcat(p1,p2);printf(“%s“,str);(分数:1.00)A.xyzWHOwhoB.zWHOwhoC.zWHOwhoD.xWHOwho19.对下述程序的判断中,正确的是( )。#includestdio.hvoid main()char *P,s256;p=s;while(strcmp(s,“the end“)printf(“Input the string:“);gets(s);while(*P)putchar(*p+);(分数:1.00)A.此程序循环接收字符串并输出,直到接收到字符串“the end”为止B.此程序循环接收字符串,接收

8、到字符串“the end”则输出,否则程序终止C.此程序循环接收字符串并输出,直到接收字符串“the end”为止,但因为代码有错误,程序不能正常工作D.此程序循环接收字符串并将其连接在一起,直到接收字符串“the end”为止,输出连接在一起的字符串20.若运行以下程序时,从键盘输入 ADescriptorCR(CR表示回车),则下面程序的运行结果是( )。#includestdio.hmain()char c;int v0=1,v1=0,v2=0;do switch(c=getchar()casea:caseA:casee:caseE:casei:caseI:caseo:caseO:cas

9、eu:caseU:v1+=1:default:v0+=1;v2+=1;while(c!=/n);printf(“v0=%d,v1=%d,v2=%d/n“,v0,v1,v2);(分数:1.00)A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8C.v0=11,v1=4,v2=11D.v0=13,v1=4,v2=1221.下列能正确定义字符串的语句是( )。(分数:2.00)A.char str=/64;B.char str=“kx43“;C.char str=“;D.char str=“/0“;22.详细设计主要确定每个模块具体执行过程,也称过程设计,下列不属于过程设计工具的是(

10、)。(分数:2.00)A.DFD 图B.PAD 图C.N-S 图D.PDL23.下列关于栈的描述中,正确的是( )。(分数:2.00)A.在栈中只能插入元素B.在栈中只能删除元素C.只能在一端插入或删除元素D.只能在一端插入元素,而在另一端删除元素24.若有定义 int(*pt)3;,则下列说法不正确的是( )。(分数:2.00)A.int(*pt)3是一个数组指针B.指针 pt 指向一个有 3 个整型变量的数组C.定义了一个名为*pt、具有三个元素的整型数组D.定义了一个名为 pt 的指针变量,它可以指向每行有三个整数元素的二维数组25.有以下程序:main()int y=1,x=2,z=3

11、;printf(“%d,%d/n“,(+x,y+),z+2);执行后的输出结果是( )。(分数:2.00)A.3,5B.2,5C.3,3D.1,526.下面程序的输出结果是( )。#includestdio.hmain()int a=1,2,3,4,5,6,7,8,7,10,*p;p=a;printf(“%d/n“,*p+8);(分数:2.00)A.0B.1C.10D.927.设有如下关系表,由关系 R 和 S 通过运算得到关系 T,则所使用的运算为( )。(分数:2.00)A.B.C.D.28.若有以下定义和语句:int a=010,b=010,c=10;printf(“%d,%d,%d/a

12、“,a,b,c);则输出结果是( )。(分数:2.00)A.8,10,10B.10,10,10C.8,8,10D.8,16,1029.若有以下定义,则对 a 数组元素的正确引用是( )。int a5,*p=a;(分数:2.00)A.*m=m-n;printf(“%X/n“,m);(分数:2.00)A.0X0B.0X12C.0x0D.032.在数据库系统中,数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述是( )。(分数:2.00)A.外模式B.逻辑模式C.概念模式D.物理模式33.当把 4 个表达式用做 if 语句的控制表达式时,有一个选项与其他 3 个选项含义不同,这个选项是( )。

13、(分数:2.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=134.下列说法正确的是( )。(分数:2.00)A.main 函数必须放在 C 程序的最后面B.main 函数必须放在 C 程序的最前面C.main 函数可以放在 C 程序的中间部分,但在执行 C 程序时是从程序开头执行的D.main 函数可以放在 C 程序的中间部分,但在执行 C 程序时是从 main 函数开始的35.数字字符 0 的 ASCII 值为 48,运行下列程序的输出结果是( )。main()char a=1,b=2;printf(“%c,“,b+);printf(“%d/n“,b-(分数:2.00)A.

14、;A) 3,36.下列不能正确计算代数式 (分数:2.00)A.B.C.D.37.有以下程序:#includestring.hvoid f(char p10,int n) /* 字符串从小到大排序 */char t10;int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(strcmp(pi,pj)0strcpy(t,pi);strcpy(pi,pj);strcpy(i,t);main()char p510=“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“;f(p,5);printf(“%d/n“,strlen(p0);程序运行后的输出结果(

15、 )。(分数:2.00)A.2B.4C.6D.338.下面程序的输 m 结果是( )。typedef union double x3;int y4;char z10;M;M t;main()Printf(“%d/n“,sizeof(t);(分数:2.00)A.32B.26C.24D.439.以下程序的输出结果是( )。#includestdio.hmain()int a=1,b=3;if(+a0)elseprintf(“%d,%d/n“,b,(分数:2.00)A.;A) 2,2B) 1,3C) 3,2D)40.在一棵二叉树中,叶子结点共有 30 个,度为 1 的结点共有 40 个,则该二叉树中

16、的总结点数共有( )个。(分数:2.00)A.89B.93C.99D.100二、填空题(总题数:13,分数:26.00)41.对长度为 8 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_42.软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和 1 的集合。(分数:2.00)填空项 1:_43.软件测试分为白箱(盒)测试和黑箱(盒)测试。基本路径测试方法属于 1 测试。(分数:2.00)填空项 1:_44.一个项目具有一个项目经理,一个项目经理可管理多个项目,则实体“项目经理”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1

17、:_45.在结构化分析使用的数据流图中,使 1 解释其中的图形元素。(分数:2.00)填空项 1:_46.若 s 是 int 型变量,且 s=8,则 s%3+(s+1)%3 表达式的值为 1。(分数:2.00)填空项 1:_47.若 x 和 n 均是 int 型变量,且 x=12,n=5,则执行 y=x%=(n%=2)表达式后 y 的值为 1。(分数:2.00)填空项 1:_48.下列程序的输出结果是_。int t(int x,int y,int cp,int dp)cp=x% y+y*y;dp=x+x-y*y;main()im a=4,b=3,c=9,d=8;t(a,b,c,d);print

18、f(“%d%d/n“,c,d);(分数:2.00)填空项 1:_49.下面 fun 函数的功能是将形参 x 的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为 0 的元素中,其他依此类推。请填空。Fun(int x,int b)int k=0,r;dor=x%2;_=r;x/=2;while(x);(分数:2.00)填空项 1:_50.有以下定义和语句,则 sizeof(a.share)的值是_。struct dateunsigned int day;unsigned int mouth;unsigned int year;unionint share1;fl

19、oat share2;share;a;(分数:2.00)填空项 1:_51.下面程序的功能是:对字符串从小到大进行排序并输出,请填空。#include“string.h“#include“stdio.h“sort(char *a,int n)int i,j;char *p;for(j=1;j=n-1;j+)for(i=0;in-j;i+)if(_)0)p=ai;ai=ai+1;ai+1=p;main()int i;char *book=“itisme“,“itisyou“,“howareyou“,“fine“,“goodnight“,“goodbye“;sort(_);for(i=0;i6;i

20、+)printf(“%s/n“,booki);(分数:2.00)填空项 1:_52.以下程序用以删除字符串中所有的空格,请填空。#includestdio.hmain()char s100=“Our teacher teach C language!“;int i,j;for(i=j=0;si!=/0;i+)if(si!=)_sj=/0;printf(“%s/n“,s);(分数:2.00)填空项 1:_53.下面程序把从终端读入的文本(用作为文本结束标志)复制到一个名为 bi.dat 的新文件中。请填空。#includestdio.hFILE *fp;main()char ch;if(fp=f

21、open(_)=NULL)exit(0);while(ch=getchar()!=)fputc(ch,fp);_;(分数:2.00)填空项 1:_二级 C 语言笔试-143 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下述程序的输出结果是( )。#includestdio.hvoid main()char a=3,b=1;char c=ab2;printf(“%d“,c);(分数:2.00)A.1B.7 C.3D.2解析:解析 本题考查的是位运算符的应用。a 和 b 写成二进制表示分别为 a=00000011,b=00000001,由于左移

22、位运算符“”的优先级高于按位异或运算符“”,左移两位后 b2=00000100,此结果和 x 按位异或后 ab2=00000111。2.下面程序段的运行结果是( )。#includestdio.hvoid main()char str=“ABC“,*p=str;pfintf(“%d/n“,*(p+3);(分数:2.00)A.67B.0 C.字符C的地址D.字符C解析:解析 先定义了一个指向字符型数组 str 的指针 P,指针 P 指向数组 str 的首地址,p+3 将指针指向 str3,又因为字符型数组在存放字符串时会自动在末尾加上/0,所以*(p+3)=0。3.下述程序的输出结果是( )。#

23、includestdio.hvoid main()int a5=1,2,3,4,5;int *p=a,*q=p;printf(“%d,“,*(p+);printf(“%d“,*q);(分数:2.00)A.2,2B.1,1C.3,4D.1,2 解析:解析 题干中,*(p+)就是数组元素 a0,输出 a0,之后指针 p 的值加 1,*q 即是数组元素a1。4.下面结构体的定义语句中,错误的是( )。(分数:2.00)A.struct ordint x;int y;int z;struct ord a;B.struct ordint x;int y;int z;ord a; C.struct ord

24、int x;int y;int z;a;D.structint x;int y;int z;a;解析:解析 在选项 B)中,即使在定义完结构体 ord 后,不能把 ord 看成是一种数据类型。5.在 E-R 图中,用( )来表示实体之间联系。(分数:2.00)A.矩形B.菱形 C.椭圆形D.正方形解析:解析 在 E-R 图中用矩形表示实体集,在矩形内写上该实体集的名字,用椭圆形表示属性,在椭圆形内写上该属性的名称,用菱形表示联系,菱形内写上联系名。6.下列程序段选择项,使 i 的运行结果为 3 的程序段是( )。(分数:2.00)A.int i=0,j=O;(i=2,(j+)+i);B.int

25、 i=1,j=0;j=i=(i=3)*2);C.int i=0,j=1;(j=1)?(i=1):(i=3);D.int i=1,j=1;i+=j+=1; 解析:解析 要解答本题,必须一项一项计算出语句的运算结果,才能选择正确的答案。选项 A):i 被赋初值为 2,在后面的运算中没有发生任何变化还是 2;选项 B)的运算结果为:i=3*2=6;选项 C):初始时给 j 赋值为 1,即 j=1 为真,所以取第一个表达式的值,即 i=1 作为返回值;选项 D)的运算结果为:i=i+(j+1)=3。7.对下列二叉树进行中序遍历的结果是( )。(分数:2.00)A.ABCDEFGHB.ABDGEHCFC

26、.GDBEHACF D.GDHEBFCA解析:解析 遍历就是不重复地访问二叉树的所有结点。 二叉树遍历的方法有 3 种:前序遍历、中序遍历和后序遍历。记住 3 种遍历的顺序:前序,访问根按前序遍历左子树按前序遍历右子树。中序,按中序遍历左子树访问根按中序遍历右子树。后序,按后序遍历左子树按后序遍历右子树访问根。所以对该二叉树的中序遍历结果为 GDBEHACF。8.以下语句段执行后的输出结果是( )。#includestdio.hmain()int k=3;if(k)printf(“#“)elseprintf(“(分数:2.00)A.#B.),因此执行程序时会出错。9.设有表示学生选课的三张表,

27、学生表(学号,姓名,性别),课程表(课程号,课程名),选课成绩表(学号,课程号,成绩),则选课成绩表的关键字为( )。(分数:2.00)A.课程号,成绩B.学号,成绩C.学号,课程号 D.学号,课程号,成绩解析:解析 关键字是指属性或属性的组合,其值能够惟一地标识一个元组,而在选课成绩表中学号和课程号的组台可以对元组进行惟一的标识。所以学号与课程号组合作为选课成绩表的主10.有以下程序:#includestdio.hmain()int aa55=1,2,3,4,5,6,1,8,5,9,10,2,1,2,5,6;int i,s=0;for(i=0;i4;i+)s+=aai2;printf(“%d

28、“,s);程序运行后的输出结果是( )。(分数:2.00)A.26B.19 C.10D.20解析:解析 本题考查二维数组元素的引用。二维数组可以看成是一个矩阵,aai2其实就是第 i 行的第 3 个元素,for 循环内的 s+=aai2其实就是将矩阵第 3 列的数相加,即 s=3+1+10+5=19。11.设有输入语句 scanf(“a=%d,b=%d,c=%d“,printf(“%d“,y=x/y);(分数:1.00)A.0B.2 C.3D.不确定的值解析:解析 程序运行初始时,x 被赋值 7,y 被赋值 3,因为 y 为整型变量,因此表达式:y=x/y=7/3=2。13.有以下程序:#in

29、cludestring.hint a=4;int f(int n)int t=0;static int a=5;if(n%2) int a=6;t+=a+;elseint a=7;t+=a+;return t+a+;main()int s=a,i=0;for(;i2;i+)s+=f(i);printf(“%d/n“,s);程序运行后的输出结果是( )。(分数:1.00)_解析:解析 本题考查的是外部变量的应用。因为程序的初始 int a=4;语句定义了外部变量 a,在以后的执行过程中,当 i=0 时,调用 f(0)函数,执行的语句是 else int a=7;t+=a+;,此处程序中又定义了变

30、量 a,所以原来定义的外部变量在此不起作用,得到 t=7,返回值语句 return t+a+;处,外部变量a 起作用,返回值为 7+5=12:当 i=1 时,调用 f(1)函数,执行的是语句 elseinta=6:t+=a+;14.已知字母 a 的 ASCII 码为十进制数 97,下面程序的输出结果是( )。#includestdio.hmain()char c1,c2;c1=a+6-0;c2=a+3-0;printf(“%c,%c/n“,c1,c2);(分数:1.00)A.输出无定值B.d,eC.e,fD.g,d 解析:解析 C 语言规定,所有字符常量都可以化为整型常量来处理,因而字符常量也

31、可以参与算术运算。注:字符常量参与算术运算时,其实是使用其对应的 ASCII 码值进行计算。本题中,a对应的 ASCII 码值是 97。题中虽然没有给6和0的 ASCII 码值,但应该知道6-0是将字符6转换成整数 6 的表达式,所以 c1=a+6-0=103,c2=a+3-0=100,按照字符型输出分别是 g 和 d。15.以下函数定义的类型符是( )。fff(double x)printf(“%f“,x+x);(分数:1.00)A.与 x 类型相同B.void 类型C.int 类型 D.无法确定解析:解析 在函数定义时,由于函数没有说明其类型,所以系统默认一律自动按整型处理。16.算法的有

32、穷性是指( )。(分数:1.00)A.算法程序的运行时间是有限的 B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用解析:解析 算法的基本特征主要包括以下四个方面:可行性:针对实际问题而设计的算法,执行后能够得到满意的结果。确定性:算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释和多义性。有穷性:算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。拥有足够的情报:要使算法有效必需为算法提供足昭的情报当算法拥有足够的情报时,此算法才最有效的:而当提供的情报不够时,算法可能无效。17.有以下程序:#include stdio.hmain

33、()int a=1,b=2;for(;a12;a+) b+=a*2;a+=3;printf(“%d,%d/n“,b,(分数:1.00)A.;解析:解析 在这段程序中变量 a 的初值等于 1,变量 b 的初值等于 2。第 1 次执行 for 循环语句后,变量 a 的值等于 4,变量 b 的值等于 4。第 2 次执行 for 循环后,变量 a 等于 8,变量 b 的值等于 14。第 3次执行 for 循环后,变量 a 等于 12,变量 b 的值等于 32。第 4 次执行 for 循环后,变量 a 等于 13,不满足循环的条件,这时退出 for 循环,此时变量 b 的值依然等于 32。因而程序输出变

34、量 a,b 的值分别为13,32。18.下面程序的输出结果是( )。#includestdio.h#includestring.hmain()char p1=“WHO“,p2=“who“,str50=“xyz“;strcpy(str+1,strcat(p1,p2);printf(“%s“,str);(分数:1.00)A.xyzWHOwhoB.zWHOwhoC.zWHOwhoD.xWHOwho 解析:解析 程序中,strcat(p1,p2)实现将以 p2 为首地址的字符串连接到以 p1 为首地址的字符串后面,并取消原来 p1 字符串后面的串结束标志,得到 WHOwho:strcpy(str+1,

35、streat(p1,p2)实现将 WHOwho拷贝到以 shr+1 开头的地址单元中,最后得到 xWHOwho。19.对下述程序的判断中,正确的是( )。#includestdio.hvoid main()char *P,s256;p=s;while(strcmp(s,“the end“)printf(“Input the string:“);gets(s);while(*P)putchar(*p+);(分数:1.00)A.此程序循环接收字符串并输出,直到接收到字符串“the end”为止 B.此程序循环接收字符串,接收到字符串“the end”则输出,否则程序终止C.此程序循环接收字符串并输

36、出,直到接收字符串“the end”为止,但因为代码有错误,程序不能正常工作D.此程序循环接收字符串并将其连接在一起,直到接收字符串“the end”为止,输出连接在一起的字符串解析:解析 strcmp(str1,str2)是比较字符串 str1 和 sir2,当两字符串相等时,返回值为 0,不相等时返回值为非 0;所以此段程序的功能是在未接收到字符串“the end”时,读入字符并输出。20.若运行以下程序时,从键盘输入 ADescriptorCR(CR表示回车),则下面程序的运行结果是( )。#includestdio.hmain()char c;int v0=1,v1=0,v2=0;do

37、 switch(c=getchar()casea:caseA:casee:caseE:casei:caseI:caseo:caseO:caseu:caseU:v1+=1:default:v0+=1;v2+=1;while(c!=/n);printf(“v0=%d,v1=%d,v2=%d/n“,v0,v1,v2);(分数:1.00)A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8C.v0=11,v1=4,v2=11D.v0=13,v1=4,v2=12 解析:解析 本题考查的是 switch 语句的应用。分析程序,do-while 语句是先执行 do 后面的语句再判断是否符合 wh

38、ile 的条件。V2+=1;语句无论读入的是什么字母(包括回车符),此语句都要执行,语句default:v0+=1;亦是如此;而语句 caseU:v1+=1;只有在读入的字母是a、A、e、E、i、I、o、O、u、U时才会执行。21.下列能正确定义字符串的语句是( )。(分数:2.00)A.char str=/64;B.char str=“kx43“;C.char str=“;D.char str=“/0“; 解析:解析 字符串常量是用一对双括号括起来的一串字符。它用字符数组来存放,不能用一对大括号对括起来。22.详细设计主要确定每个模块具体执行过程,也称过程设计,下列不属于过程设计工具的是(

39、)。(分数:2.00)A.DFD 图 B.PAD 图C.N-S 图D.PDL解析:解析 DFD 图(数据流图)是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,它是需求分析阶段的图形工具。盒式图(N-S 图)、问题分析图(PAD 图)和 PDL(伪码)是详细设计的常用工具。23.下列关于栈的描述中,正确的是( )。(分数:2.00)A.在栈中只能插入元素B.在栈中只能删除元素C.只能在一端插入或删除元素 D.只能在一端插入元素,而在另一端删除元素解析:解析 栈实际也是线性表只不过是一种特殊的线性表。栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一

40、端为栈项,另一端为栈底。当表中没有元素时称为空栈。栈顶元素总是最后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。24.若有定义 int(*pt)3;,则下列说法不正确的是( )。(分数:2.00)A.int(*pt)3是一个数组指针B.指针 pt 指向一个有 3 个整型变量的数组C.定义了一个名为*pt、具有三个元素的整型数组D.定义了一个名为 pt 的指针变量,它可以指向每行有三个整数元素的二维数组 解析:解析 首先,pt 跟*结合,所以是一个指针,所指向的对象是含有 3 个元素的数组。所定义的指针没加 const,所以是个指针变量,还可

41、以指向类似对象的其他元素,也就是说还可以指向其他含有 3 个元素的数组。25.有以下程序:main()int y=1,x=2,z=3;printf(“%d,%d/n“,(+x,y+),z+2);执行后的输出结果是( )。(分数:2.00)A.3,5B.2,5C.3,3D.1,5 解析:解析 本题考查逗号表达式。逗号表达武的求解步骤是先求解表达式 1,然后依次求解表达式 2,直到表达式 N 的值。整个逗号表达式的值就足最后一个表达式 N 的值。(+x,y+)这个表达式的返回值是y+,先使用 y 的债,然后将 y 加 1,所以输出第一个值为 1。第二个输出的值为 z+2=3+2=5。26.下面程序

42、的输出结果是( )。#includestdio.hmain()int a=1,2,3,4,5,6,7,8,7,10,*p;p=a;printf(“%d/n“,*p+8);(分数:2.00)A.0B.1C.10D.9 解析:解析 “*”号的优先级比“+”的优先级高,所以先执行“*P”:指针 P 指向的是数组的首地址,因此*p=1;再加 8 得 9。27.设有如下关系表,由关系 R 和 S 通过运算得到关系 T,则所使用的运算为( )。(分数:2.00)A.B. C.D.解析:解析 T 就是关系 R 中插入关系 S,合并为 T,即并运算()。28.若有以下定义和语句:int a=010,b=010

43、,c=10;printf(“%d,%d,%d/a“,a,b,c);则输出结果是( )。(分数:2.00)A.8,10,10B.10,10,10C.8,8,10D.8,16,10 解析:解析 以数字“0”开头的是八进制整型常量,以“0x”或“0X”开头的是十六进制整型常量。“%d”代表用十进制整型格式输出。题中的“010”、“0x10”转换成十进制数后分别是 8 和 16。29.若有以下定义,则对 a 数组元素的正确引用是( )。int a5,*p=a;(分数:2.00)A.*m=m-n;printf(“%X/n“,m);(分数:2.00)A.0X0B.0X12C.0x0D.0 解析:解析 格式

44、字符 X 或 x 是以十六进制无符号形式输出整型数(注:输出时不显示前导 0x 或 0X)。32.在数据库系统中,数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述是( )。(分数:2.00)A.外模式 B.逻辑模式C.概念模式D.物理模式解析:解析 外模式也称子模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,它是由概念模式推导出来的,是数据库用户的数据视图,是与某一应用有关的麴据的逻辑表示。一个概念模式可以有若干个外模式。33.当把 4 个表达式用做 if 语句的控制表达式时,有一个选项与其他 3 个选项含义不同,这个选项是( )。(分数

45、:2.00)A.k%2 B.k%2=1C.(k%2)!=0D.!k%2=1解析:解析 整数 k 对 2 求余数的两个结果只能是 0 和 1,所以选项 A)表示 k 除以 2 的余数,其结果是0 或 1。在选项 B)、C)和 D)中包括算术求余运算符“%”,关系等于运算符“*”和关系不等于运算符“!=”以及逻辑非运算符“!”。而逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、printf(“%c,“,b+);printf(“%d/n“,b-(分数:2.00)A.;A) 3,解析:解析 自增运算符“+”,出现在变量之前,表示先使

46、变量的值加 1,再使用变量的值进行运算;出现在变量之后,表示先使用变量的值进行运算,冉使变量的值加 1。例如题中的“b+”,题中第一条语句先输出字符 b 的值,此时变量 b=2,因此输出值为 2;再使 b 的值加 1,b=3,因此第二条语句输出:b-a=3-1=2。36.下列不能正确计算代数式 (分数:2.00)A. B.C.D.解析:解析 在 C 语言中,两个整型相除,其值也是整型。所以 1/2 的结果等于 0,而不是 0.5,所以,选项 A)的表达式计算过程为 1/3*sin(1/2)*sin(1/2)=1/3*sin(0)*sin(0)=0,所以选项 A) 错误。37.有以下程序:#includestring.hvoid f(char p10,int n) /* 字符串从小到大排序 */char t10;int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(strcmp(pi,pj)0strcpy(t,pi);strcpy(pi,pj);strcpy(i,t);main()c

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