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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C语言笔试-271 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.以下程序段执行后,a 的值为_。int*p,a=10,b=1;p=a=*p+b;(分数:2.00)A.11B.12C.10D.编译出错2.在 C语言中,要求运算数必须是整型的运算符是_。(分数:2.00)A./B.+C.!=D.%3.设 x和 y均为 int型变量,则以下语句:“x+=y;y=x-y;x-=y;”的功能是_。(分数:2.00)A.把 x和 y按从大到小排列B.把 x和 y按从小到大排列C.无确定结果D.交换 x和 y中的值4.下列形式的常数中,不符合 c

2、语言语法规范的是_。(分数:2.00)A45B.123C.25.6e-2D.4e35.软件危机是指_。(分数:2.00)A.软件开发和软件维护中出现的一系列问题B.计算机出现病毒C.软件的版权得不到法律应有的保护D.以上都不正确6.变量 a所占内存字节数是_。union Uchar st4;int i;long 1;struct Aint c;union U u;a;(分数:2.00)A.4B.5C.6D.87.下面程序的输出是_。fun(char *s,int p1,int p2)char c;while(p1p2)c=sp1;sp1=sp2;sp2=c;p1+;p2-;main()char

3、 a=“ABCDEFG“,k,*p;fun(a,0,2);fun(a,4,6);printf(“%s/n “,(分数:2.00)A.;A) ABCDEFGB) DEFGAB8.sizeof(float)是_。(分数:2.00)A.一种函数调用B.一个双精度型表达式C.一个整型表达式D.一个不合法的表达式9.以下程序的输出结果是_。main()int i,x33=9,8,7,6,5,4,3,2,1,*p=for(i=0;i4;i+=2)printf(“%d “,pi);(分数:2.00)A.5 2B.5 1C.5 3D.9 710.以下程序段的输出结果是_。char *p=“abodefgh“;

4、p+=3;printf(“%d/n“,strlen(strcpy(p,“12345“);(分数:2.00)A.8B.12C.5D.711.若有定义:int a5,*p=a;,则对 a数组元素地址的正确引用是_。(分数:1.00)A.p+5B.*a+1C.s+=2;printf(“%d“,s);(分数:1.00)A.cdeB.字符cC.字符c的地址D.无确定的输出结果13.设有语句:char str1=“string“, str28, *ste3, *str4=“string“;,则下列不是对库函数 strcpy的正确调用的是_。(分数:1.00)A.strcpy(str1,“HELLOI“);

5、B.strcpy(str2,“HELLO2“);C.strcpy(str3,“HELLOY“);D.strcpy(str4,“HELLO4“);14.设有以下说明语句:struct exint x;float y;char z;example;在下面的叙述中,不正确的一条是_。(分数:1.00)A.struct是结构体类型的关键词B.example是结构体类型名C.x,y,2 都是结构体成员名D.struct ex是结构体类型15.以下程序段有错,错误原因是_。main()int *p,i;char *q,ch;p=q=*p=40;*p=*q;(分数:1.00)A.p和 q的类型不一致,不能执

6、行*p=*q;语句B.*p中存放的是地址值,因此不能执行*p=40;语句C.q没有指向具体的存储单元,所以*q 没有实际意义D.q虽指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句16.执行以下语句的结果为_。y=10;x=y+;(分数:1.00)A.x-10,y=10B.x=11,y=11C.x=10,y=11D.x=11,y=1017.能正确表示 C语言的字符常量的是_。(分数:1.00)A./0x41B.“A“C./0D.“/0“18.已知在 ASC代码中,字母 A的序号为 65,以下程序的输出结果是_。#includestdio.hmain()char c1=

7、A,c2=Y;printf(“%d,%d/n“,c1,c2);(分数:1.00)A.65,90B.因输出格式不合法,输出错误信息C.A,YD.65,8919.在 C语言中_。(分数:1.00)A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套20.执行下面的程序段后,b 的值为_。int x=35;char z=A;int b;b=(x(分数:1.00)A.0B.1C.2D.321.设 x为 int型变量,则执行以下语句后,x 的值为_。x=10;x+x-=x-x;(分数:1.00)A.10B.20C.40

8、D.3022.表示关系 x=y=z 的 C语言表达式为_。(分数:1.00)A.(x=y)int age;;struct person class10=“Johu“,17,“Paul“,19,“Mary“,18,“Adam“,16,;根据上述定义,能输出字母 M的语句是_。(分数:1.00)A.printf(“%c/n“,class3.name);B.printf(“%c/n“,class3.name1);C.printf(“%c/n“,class2.name1);D.printf(“%c/n“,class2.nameO);26.若有下面的说明和定义:union unchar s10;long

9、 d3;ua;struet stdchar c10;double d;int a;union un vb;a;则 printf(“%d/n“, sizeof(struct std)+sizeof(union un);输出的值为_。(分数:1.00)A.34B.52C.54D.6427.若输入 ab,程序运行结果为_。main()static char a2;scanf(“%s“,(分数:1.00)A.;for(i=0;i3;i+)for(j=0;j=i;j+) s+=aij;printf(“%d/n“,s);(分数:1.00)A.18B.19C.20D.2130.设 x=2.5、a=7、y=4

10、.7,算术表达式 x+a%3*(int)(x+y)%2/4的值为_。(分数:1.00)A.2.5B.7C.4.7D.2.7531.设有说明 int(*ptr)M;其中的标识符 ptr是_。(分数:1.00)A.M个指向整型变量的指针B.指向 M个整型变量的函数指针C.一个指向具有 M个整型元素的一维数组的指针D.具有 M个指针元素的一维指针数组,每个元素都只能指向整型变量32.E-R图是数据库设计的工具之一,它一般适用于建立数据库的_。(分数:1.00)A.概念模型B.结构模型C.物理模型D.逻辑模型33.请选出以下程序段的输出结果_。#includestdio.h#define MIN(x,

11、y) (x)(y)?(x):(y)main()int i,j,k;i=10;j=15;k=10*MIN(i,j);printf(“%d/n“,k);(分数:1.00)A.15B.100C.10D.15034.微型计算机的性能主要取决于_。(分数:1.00)A.内存B.硬盘C.中央处理器D.显示卡35.若有以下定义和语句,则输出结果是_。int u=010,v=0x10,w=10;printf(“%d,%d,%d/n,u,v,w);(分数:1.00)A.8,16,10B.10,10,10C.8,8,10D.8,10,1036.以下程序的输出结果是_。#includestdio.hmain()pr

12、intf(“%d/n“,NULL);(分数:1.00)A.不确定的值B.0C.-1D.137.软件测试与排错是两类相互联系而又性质不同的活动,在下述项目中,不具有排错活动特征的项目是_。(分数:1.00)A.修改程序B.运用推理和归纳的方法C.了解程序细节D.运用测试实例38.有以下程序段:int k=0;while(k=1)k+;while循环执行的次数是_。(分数:1.00)A.无限次B.有语法错,不能执行C.一次也不执行D.执行一次39.下列设备不是输出设备的是_。(分数:1.00)A.显示器B.打印机C.绘图仪D.扫描仪40.设有 int a=15,b=240;,则表达式(acase

13、1:y=a+b;break;case 0:y=a-b;break;B.switch(a*a+b*b)case 3;case 1:y=a+b;break;case 3:y=b-a;break;C.switch acase c1:y=a-b;break;case c2;x=a*b;break;default:x=a+b;D.switch(a-b)default:y=a*b;break;case 3:case 4:x=a+b;break;case 10:case11:y=a-b;break;44.下列运算符中,不属于关系运算符的是_。(分数:1.00)A.+=B.!=C.=D.=45.以下程序运行后

14、,输出结果是_。#includestdio.h#define PT 5.5#difine S(x) PT*x*xmain()int a=1,b=2;printf(“%4.1f/n“,S(a+b);(分数:1.00)A.49.5B.9.5C.22.0D.45.046.在所有排序方法中,关键词比较的次数与记录的初始排列次序无关的是_。(分数:1.00)A.希尔排序B.冒泡排序C.插入排序D.选择排序47.以下对结构体类型变量的定义中,不正确的是_。(分数:1.00)A.typedef struct aaint n;float m;AA;AA td1;B.#define AA struct aaAA

15、int n;float m;td1;C.structint n;float m;aa;srtuct aa td1:D.structint n;float m;tdl;48.若有以下定义,则表达式 a*b+d-c值的类型为_。char a;int b;float c;double d;(分数:1.00)A.floatB.intC.charD.double49.计算机软件系统包括_。(分数:1.00)A.计算机与外部设备B.硬件系统与软件系统C.系统软件与应用软件D.CPU与外部设备50.设有“int x=11;”则表达式(x+*1/3)的值是_。(分数:1.00)A.3B.4C.11D.12二、

16、填空题(总题数:13,分数:26.00)51.十六进制数 100转换成十进制数为 【1】 。(分数:2.00)填空项 1:_52.对二叉排序树进行查找的方法是:用待查的值与根结点的值相比,若比根小,则继续在 【2】 子树中找。(分数:2.00)填空项 1:_53.在双链表中每个结点有两个指针域:一个指向 【3】 ,另一个指向 【4】 。(分数:2.00)填空项 1:_54.自盒测试方法重视 【5】 的度量。(分数:2.00)填空项 1:_55.下面程序的输出是 【6】 。main()int a=2,4,6,*ptr=for(y=0;y3;y+) z=(*(ptr+y)x)?*(prt+y):x

17、;printf(“%d/n“,z);(分数:2.00)填空项 1:_56.设 C语言中,一个 int型数据在内存中占两个字节,则 int型数据的取值范围为 【7】 。(分数:2.00)填空项 1:_57.在 C语言中,字符的比较就是对它们的 【8】 码进行比较。(分数:2.00)填空项 1:_58.下列程序段的输出结果是 【9】 。main()char b=“Hello,you“;b5=0;printf(“%s/n“,b);(分数:2.00)填空项 1:_59.下面程序的运行结果是 【10】 。#define DOUBLE(x,y) x/ymain()int x=4,y=2,t;t=DOUBL

18、E(x+y,x-y);printf(“%d“,t);(分数:2.00)填空项 1:_60.用指针法求出数组元素中最大者和最小者。int max,min;void max_min_value(array,n)int array,n;【11】 ;max=min=*array;for( 【12】 ;parray+n;p+)if(*pmax) max=*p;else if(*pmin)min=*p;main()int i,number20,*p;p=number;printf(“输入 20个数据:/n“);for(i=0;i20;i+,p+) scanf(“%d“,p);【13】 ;max_min_v

19、alue(p,10);printf(“max=%-10dmin=%d/n“,max,rain);(分数:2.00)填空项 1:_61.下面的程序实现字符串的复制。void copy_string(from,to)【14】 ;for(;*from;from+,to+)*to=*from;【15】 ;main()char *a=“I am wang“,*b=“you are Li“;printf (“%s/n%s/n“,a,b);【16】 ;printf(“%s/n%s/n/n“,a,b);(分数:2.00)填空项 1:_62.以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到

20、该文件中,用#作为结束输入的标志,请填空。#includestdio.hmain()FILE *fp;char ch,fname10;printf(“Input the nam /n“);gets(fname);if(fp= 【17】 =NULL)printf(“Cannot open/n“); exit(0);printf(“Enter data/n“);while(ch=getchar()!=#)fputc( 【18】 ,fp);fclose(fp);(分数:2.00)填空项 1:_63.以下程序将数组 a的 4个元素和数组 b的 6个元素写到名为 letter.dat的二进制文件中,请填

21、空。#includestdio.hmain()FILE*fp;char a4=“1234“,b6=“abcdef“;if(fp=fopen(“ 【19】 “,“wb“)=NULL)exit(0);fwrite(a,sizeof(char),4,fp);fwrite(b, 【20】 ,1,fp);fclose(fp);(分数:2.00)填空项 1:_二级 C语言笔试-271 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.以下程序段执行后,a 的值为_。int*p,a=10,b=1;p=a=*p+b;(分数:2.00)A.11 B.12C.10D

22、.编译出错解析:解析 p 是指向整型变量的整型指针,并赋值为指向 a,*p 表示指针 p所指向单元的内容,即为a,等于 10,a=*p+b=10+1=11。2.在 C语言中,要求运算数必须是整型的运算符是_。(分数:2.00)A./B.+C.!=D.% 解析:解析 /、+和!=的操作数既可能是整型,又可能是实型。而%的操作数只能是整型。3.设 x和 y均为 int型变量,则以下语句:“x+=y;y=x-y;x-=y;”的功能是_。(分数:2.00)A.把 x和 y按从大到小排列B.把 x和 y按从小到大排列C.无确定结果D.交换 x和 y中的值 解析:解析 先将两个数的和赋给变量 x,即 x=

23、x+y;再执行 y=x-y,相当于 y=(x+y)-y=x,x 的值已经换给了 y;最后执行 x=x-y,相当于 x=(x+y)-x=y,这样不通过第 3个变量就可以将两个变量的值互换。4.下列形式的常数中,不符合 c语言语法规范的是_。(分数:2.00)A45B.123 C.25.6e-2D.4e3解析:解析 C 程序允许出现的常数为有一确定值的整数或实数(可用小数形式或指数形式)等。土 123不是确定值,是不可以出现的。5.软件危机是指_。(分数:2.00)A.软件开发和软件维护中出现的一系列问题 B.计算机出现病毒C.软件的版权得不到法律应有的保护D.以上都不正确解析:解析 在计算机技术

24、及其应用发展过程中,存在着错误的概念和方法,使得在软件产品开发过程中没有制定相应的质量标准,导致开发出来的软件的可用性和可维护性差,这种情况称为软件危机。因此软件危机是指在软件开发和维护中出现的一系列问题。6.变量 a所占内存字节数是_。union Uchar st4;int i;long 1;struct Aint c;union U u;a;(分数:2.00)A.4B.5C.6 D.8解析:解析 共用体变量在内存所占的长度是取各成员变量中最长的。共用体的长度为 4,因此变量 a在内存中的长度=1 个整型长度+1 个共用体长度=2+4=6。7.下面程序的输出是_。fun(char *s,in

25、t p1,int p2)char c;while(p1p2)c=sp1;sp1=sp2;sp2=c;p1+;p2-;main()char a=“ABCDEFG“,k,*p;fun(a,0,2);fun(a,4,6);printf(“%s/n “,(分数:2.00)A.;A) ABCDEFGB) DEFGAB解析:解析 本题主要通过 while循环对满足条件的元素进行交换。8.sizeof(float)是_。(分数:2.00)A.一种函数调用B.一个双精度型表达式C.一个整型表达式 D.一个不合法的表达式解析:解析 sizeof(float)返回 float型变量所占存储单元的字节数。9.以下程

26、序的输出结果是_。main()int i,x33=9,8,7,6,5,4,3,2,1,*p=for(i=0;i4;i+=2)printf(“%d “,pi);(分数:2.00)A.5 2B.5 1C.5 3 D.9 7解析:解析 首先使指针 p指向 x11,即 5,然后通过循环输出 p0和 p2。10.以下程序段的输出结果是_。char *p=“abodefgh“;p+=3;printf(“%d/n“,strlen(strcpy(p,“12345“);(分数:2.00)A.8B.12C.5 D.7解析:解析 本题主要考查 strcpy()函数,char *strcpy(char *s1,cha

27、r *s2)是把指针 s2指向的串复制到指针 s1指向的存储空间。11.若有定义:int a5,*p=a;,则对 a数组元素地址的正确引用是_。(分数:1.00)A.p+5B.*a+1C.s+=2;printf(“%d“,s);(分数:1.00)A.cdeB.字符cC.字符c的地址 D.无确定的输出结果解析:解析 语句 s+=2;使指针指向字符c,此时 s中保存的便是字符c的地址。13.设有语句:char str1=“string“, str28, *ste3, *str4=“string“;,则下列不是对库函数 strcpy的正确调用的是_。(分数:1.00)A.strcpy(str1,“H

28、ELLOI“);B.strcpy(str2,“HELLO2“);C.strcpy(str3,“HELLOY“); D.strcpy(str4,“HELLO4“);解析:14.设有以下说明语句:struct exint x;float y;char z;example;在下面的叙述中,不正确的一条是_。(分数:1.00)A.struct是结构体类型的关键词B.example是结构体类型名 C.x,y,2 都是结构体成员名D.struct ex是结构体类型解析:解析 example 是结构体类型变量名,因此选项 B的说法是不正确的。15.以下程序段有错,错误原因是_。main()int *p,i;

29、char *q,ch;p=q=*p=40;*p=*q;(分数:1.00)A.p和 q的类型不一致,不能执行*p=*q;语句B.*p中存放的是地址值,因此不能执行*p=40;语句C.q没有指向具体的存储单元,所以*q 没有实际意义D.q虽指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句 解析:解析 语句*p=*q:使指针 p指向 q所指向的存储单元,同时 p得到该存储单元的内容及其类型,所以 D项叙述正确。16.执行以下语句的结果为_。y=10;x=y+;(分数:1.00)A.x-10,y=10B.x=11,y=11C.x=10,y=11 D.x=11,y=10解析:解

30、析 执行语句 x=y+,是先将 y的值 10赋给 x,然后 y自增。17.能正确表示 C语言的字符常量的是_。(分数:1.00)A./0x41B.“A“C./0 D.“/0“解析:解析 单引号中,大写或小写字母(只限一个)代表不同的字符常量,不能用双引号:单引号中,一个反斜线后跟一个指定的字符,表示一个特定的 ASC字符,且反斜线后的八进制数可不用。开头,其后的十六进制数只能以小写的 x开头。18.已知在 ASC代码中,字母 A的序号为 65,以下程序的输出结果是_。#includestdio.hmain()char c1=A,c2=Y;printf(“%d,%d/n“,c1,c2);(分数:

31、1.00)A.65,90B.因输出格式不合法,输出错误信息C.A,YD.65,89 解析:解析 在 C语言中,将一字符常量赋值给一个变量,是把此字符常量所对应的 ASCII码值赋值给此字符变量,所以一个字符既可作为字符形式输出,也可以整数形式输出。19.在 C语言中_。(分数:1.00)A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套 C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套解析:解析 函数可以实现嵌套调用,但它的定义不可以嵌套。20.执行下面的程序段后,b 的值为_。int x=35;char z=A;int b;b=(x(分数:1.00)A

32、.0B.1 C.2D.3解析:解析 x+x-=x-x;(分数:1.00)A.10B.20 C.40D.30解析:解析 赋值运算符按照“从右往左”的结合顺序。因此,先执行 x-=x-x,即 x=x-(x-x)=10;再执行 x+=x,即 x=x+x=20,故正确选项为 B。22.表示关系 x=y=z 的 C语言表达式为_。(分数:1.00)A.(x=y)int age;;struct person class10=“Johu“,17,“Paul“,19,“Mary“,18,“Adam“,16,;根据上述定义,能输出字母 M的语句是_。(分数:1.00)A.printf(“%c/n“,class3

33、.name);B.printf(“%c/n“,class3.name1);C.printf(“%c/n“,class2.name1);D.printf(“%c/n“,class2.nameO); 解析:解析 该题主要考察 C语言数组下标的概念,即 C语言中数组的下标是从。开始的。26.若有下面的说明和定义:union unchar s10;long d3;ua;struet stdchar c10;double d;int a;union un vb;a;则 printf(“%d/n“, sizeof(struct std)+sizeof(union un);输出的值为_。(分数:1.00)A

34、.34B.52 C.54D.64解析:解析 结构体中的每个成员分别占用独立的存储空间,因此它所占的内存字节数是其成员所占字节数的总和;共用体变量所占内存字节数与其成员中占字节数最多的那个成员相等。27.若输入 ab,程序运行结果为_。main()static char a2;scanf(“%s“,(分数:1.00)A.;for(i=0;i3;i+)for(j=0;j=i;j+) s+=aij;printf(“%d/n“,s);(分数:1.00)A.18B.19 C.20D.21解析:解析 本题函数的功能是计算并输出一个二维数组对角线及对角线下面的元素之和。30.设 x=2.5、a=7、y=4.

35、7,算术表达式 x+a%3*(int)(x+y)%2/4的值为_。(分数:1.00)A.2.5 B.7C.4.7D.2.75解析:解析 取模运算只能在整型数据之间进行,a 为整型变量。因为%、*、/这三个运算符的优先级别相同,而类型转换符优先于*和/运算符。a 的值为 7,7%3=1,所以(int)(2.5+4.7)=7, 1*7=7,7%2=1,1/4=0,所以表达式 x+a%3*(int)(x+y)%2/4=x+0=2.5。31.设有说明 int(*ptr)M;其中的标识符 ptr是_。(分数:1.00)A.M个指向整型变量的指针B.指向 M个整型变量的函数指针C.一个指向具有 M个整型元

36、素的一维数组的指针 D.具有 M个指针元素的一维指针数组,每个元素都只能指向整型变量解析:解析 (*pd)M中,由于一对圆括号的存在,所以*首先与 prt结合,说明 ptr是一个指针变量,然后与M结合,说明 prt的基类型是一个包含 M个 int型元素的数组。32.E-R图是数据库设计的工具之一,它一般适用于建立数据库的_。(分数:1.00)A.概念模型 B.结构模型C.物理模型D.逻辑模型解析:解析 E-R 模型是描述现实世界的概念模型,它将现实世界的信息结构统一用实体、属性、以及实体之间的联系描述。E-R 图提供了表示实体型、属性和联系的方法。33.请选出以下程序段的输出结果_。#incl

37、udestdio.h#define MIN(x,y) (x)(y)?(x):(y)main()int i,j,k;i=10;j=15;k=10*MIN(i,j);printf(“%d/n“,k);(分数:1.00)A.15 B.100C.10D.150解析:34.微型计算机的性能主要取决于_。(分数:1.00)A.内存B.硬盘C.中央处理器 D.显示卡解析:解析 中央处理器是计算机的核心部件,控制着计算机的一切活动。35.若有以下定义和语句,则输出结果是_。int u=010,v=0x10,w=10;printf(“%d,%d,%d/n,u,v,w);(分数:1.00)A.8,16,10 B.

38、10,10,10C.8,8,10D.8,10,10解析:解析 u 被八进制数 10赋值,等于十进制数 8:v 被十六进制数 10赋值,等于十进制数 16;w 直接被十进制数 10赋值;因此分别输出十进制数 8,16,10。36.以下程序的输出结果是_。#includestdio.hmain()printf(“%d/n“,NULL);(分数:1.00)A.不确定的值B.0 C.-1D.1解析:解析 NULL 的代码值为 0,所以 printf(“%d/n“, NULL)相当于 printf(“/n“, 0)。37.软件测试与排错是两类相互联系而又性质不同的活动,在下述项目中,不具有排错活动特征的

39、项目是_。(分数:1.00)A.修改程序B.运用推理和归纳的方法C.了解程序细节D.运用测试实例 解析:解析 测试和排错是互相联系但又是性质不同的两类活动,排错的主要特征包括;修改程序错误,推理和归纳,了解程序细节。而“运用测试实例”是具有测试活动的特征。38.有以下程序段:int k=0;while(k=1)k+;while循环执行的次数是_。(分数:1.00)A.无限次 B.有语法错,不能执行C.一次也不执行D.执行一次解析:解析 本题的循环条件是表达式“k=1”,表达式值永远为 1,所以是无限循环。39.下列设备不是输出设备的是_。(分数:1.00)A.显示器B.打印机C.绘图仪D.扫描

40、仪 解析:解析 扫描仪属于输入设备。40.设有 int a=15,b=240;,则表达式(acase 1:y=a+b;break;case 0:y=a-b;break;B.switch(a*a+b*b)case 3;case 1:y=a+b;break;case 3:y=b-a;break;C.switch acase c1:y=a-b;break;case c2;x=a*b;break;default:x=a+b;D.switch(a-b)default:y=a*b;break;case 3:case 4:x=a+b;break;case 10:case11:y=a-b;break;解析:解

41、析 由 switch语句的格式排除 A、C 项,选项 B中出现了两个相同的 case标号。44.下列运算符中,不属于关系运算符的是_。(分数:1.00)A.+= B.!=C.=D.=解析:解析 +=是算术赋值运算符。45.以下程序运行后,输出结果是_。#includestdio.h#define PT 5.5#difine S(x) PT*x*xmain()int a=1,b=2;printf(“%4.1f/n“,S(a+b);(分数:1.00)A.49.5B.9.5 C.22.0D.45.0解析:解析 C 语言中宏替换只是字符替换,因此:S(a+b)=PT*a+b*a+b=5.5*1+2*1

42、+2=9.5。46.在所有排序方法中,关键词比较的次数与记录的初始排列次序无关的是_。(分数:1.00)A.希尔排序B.冒泡排序C.插入排序D.选择排序 解析:解析 希尔排序是插入排序的改进,冒泡排序是直接交换排序。选项 A、B、c 的排序思想都与初始排序次序有关,只有选择排序才无关。47.以下对结构体类型变量的定义中,不正确的是_。(分数:1.00)A.typedef struct aaint n;float m;AA;AA td1;B.#define AA struct aaAAint n;float m;td1;C.structint n;float m;aa;srtuct aa td1

43、: D.structint n;float m;tdl;解析:解析 选项 A是先定义一个结构体类型,然后再定义结构体变量。选项 B是通过宏替换来定义结构变量的。选项 D则是直接定义结构变量。48.若有以下定义,则表达式 a*b+d-c值的类型为_。char a;int b;float c;double d;(分数:1.00)A.floatB.intC.charD.double 解析:解析 在 C语言中,不同数据类型的数据运算时要先转换成相同的数据类型再参与运算。在上述表达式中,字符型先转换成整数得到 a*b,整数再转换成双精度型执行+d,单精度 float型数据 c先转换成双精度 double

44、型数据后参与减法运算。结果是 double型。49.计算机软件系统包括_。(分数:1.00)A.计算机与外部设备B.硬件系统与软件系统C.系统软件与应用软件 D.CPU与外部设备解析:50.设有“int x=11;”则表达式(x+*1/3)的值是_。(分数:1.00)A.3 B.4C.11D.12解析:解析 该题主要考察两个知识要点,x+是先引用 x的值再加 1,因此参与乘法运算的是 x 的原值11,分母 11与分子 3相除得 3,故原式=11*1/3=3。二、填空题(总题数:13,分数:26.00)51.十六进制数 100转换成十进制数为 【1】 。(分数:2.00)填空项 1:_ (正确答

45、案:256)解析:52.对二叉排序树进行查找的方法是:用待查的值与根结点的值相比,若比根小,则继续在 【2】 子树中找。(分数:2.00)填空项 1:_ (正确答案:左)解析:解析 对二叉排序树进行查找,若待查的值与根结点的值相比,若比根小,则继续在左子树中找;若比根大,则在右子树中找。53.在双链表中每个结点有两个指针域:一个指向 【3】 ,另一个指向 【4】 。(分数:2.00)填空项 1:_ (正确答案:3 前趋结点4 后继结点)解析:54.自盒测试方法重视 【5】 的度量。(分数:2.00)填空项 1:_ (正确答案:测试覆盖率)解析:解析 白盒测试又称为结构测试。白盒测试作为对结构的

46、测试,要求对被测程序的各种结构特性进行测试,这种情况被称为覆盖,故白盒测试又称为“基于覆盖的测试”。白盒测试方法重视测试覆盖率的度量,力求提高覆盖率,从而找出被测程序的错误。55.下面程序的输出是 【6】 。main()int a=2,4,6,*ptr=for(y=0;y3;y+) z=(*(ptr+y)x)?*(prt+y):x;printf(“%d/n“,z);(分数:2.00)填空项 1:_ (正确答案:6)解析:解析 本题变量 z的值应为最后一次给它赋的值,且最后一次 for循环使 prt指向 a256.设 C语言中,一个 int型数据在内存中占两个字节,则 int型数据的取值范围为 【7】 。(分数:2.00)填空项 1:_ (正确答案:-3276832767)解析:57.在 C语言中,字符的比较就是对它们的 【8】 码进行比较。

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