欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1326331       资源大小:88KB        全文页数:23页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、二级 C 语言笔试-98 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.设有以下说明语句,则下列叙述中不正确的是struct exint x;float y;char z; example;(分数:2.00)A.struct 是结构体类型的关键字B.example 是结构体类型名C.x、y、z 都是结构体成员名D.struct ex 是结构体类型名2.执行以下程序后,a 和 b 的值分别为main( )int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1=&m:b=(*p1)/(*p2)+7;printf(“a=%d/n“

    2、,(分数:2.00)A.;printf(“b=%d/n“,B.;A) -13.设有数组定义:char array=“China“;,则数组 array 所占的空间为(分数:2.00)_4.在 16 位 IBM-PC 机上使用 C 语言,若有如下定义:struct dataint i;char ch;double r;b;则结构变量 b 占用内存的字节数是(分数:2.00)A.1B.2C.7D.115.以下程序运行后的输出结果是#includestdio.hint a=2,4,6,8;main( )int i;int *p=a;for(i=0;i4;i+)ai=*p;printf(“%d/n“,

    3、a2);(分数:2.00)A.6B.8C.4D.26.sizeof(float)是(分数:2.00)A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式7.若已定义:int a=0,1,2,3,4,5,6,7,8,9,*p=a,i;,其中 0i9,则对 a 数组元素不正确的引用是(分数:2.00)A.ap-aB.*(&ai)C.piD.a108.下列叙述中不正确的是(分数:2.00)A.在不同函数中可以使用相同名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效9.以下不正确的定

    4、义语句是(分数:2.00)A.double x5=2.0,4.0,6.0,8.0,10.0;B.int y5=0,1,3,5,7,9;C.char c1=1,2,3,4,5;D.char c2=/x10,/xa,/x8;10.数据库技术的根本目标是要解决数据的(分数:2.00)A.存储问题B.共享问题C.安全问题D.保护问题11.下列选项中,不符合良好程序设计风格的是(分数:1.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块没计要保证高耦合、高内聚12.以下程序的输出结果是void reverse(int a,int n)int i,t;for(i=0;

    5、in/2;i+)t=ai;ai=an-1-i;an-1-i=t;main( )int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n“,s);(分数:1.00)_13.设有 int x=11;,则表达式(x+*1/3)的值是(分数:1.00)A.3B.4C.11D.1214.下列叙述中正确的是(分数:1.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述 3 种说法都不对

    6、15.数据库设计的 4 个阶段是:需求分析、概念设计、逻辑设计和(分数:1.00)A.编码设计B.测试阶段C.运行阶段D.物理设计16.设有如下 3 个关系表 R、S、T。下列操作中正确的是(分数:1.00)A.B.C.D.17.函数 rewind 的作用是(分数:1.00)A.使文件位置指针重新返回文件的开始位置B.将文件位置指针指向文件中所要求的特定位置C.使文件位置指针指向文件的末尾D.使文件位置指针自动移至下一个字符位置18.下列叙述中正确的是(分数:1.00)A.构成 C 程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main( )函数必须放在其他函数之前D.C 函数定义

    7、的格式是 K&R 格式19.下面程序的输出结果是main( )int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(“%d/n“,*(p+2);(分数:1.00)A.3B.4C.1D.220.以下程序的输出结果是main ( )double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(“%d/n“,d*y);(分数:1.00)A.1.0B.0.96C.0D.121.以下程序有错,错误原因是main( )int *p,i;char *q,ch;p=&i;q=&ch;*p=40;*p=*q;(分数:2.00)A.B.C.D.22.以

    8、下程序运行后的输出结果是#includestdio.hunion pwint i;char ch2;a;main( )a.ch0=13;a.ch1=0;printf(“%d/n“,a.i);(分数:2.00)A.13B.14C.208D.20923.下列选项中,不属于软件生命周期开发阶段任务的是(分数:2.00)A.软件测试B.概要设计C.软件维护D.详细设计24.有如下程序,则 b 的值是int a10=1,2,3,4,5,6,7,8,9,10;int *p=&a3,b;b=p5;(分数:2.00)A.5B.6C.9D.825.设有定义:int n=0,*p=&n,*q=&p;,则下列选项中

    9、正确的赋值语句是(分数:2.00)A.p=1;B.*q=2;C.q=p;D.*p=5;26.下面程序的运行结果是#includestdio.hmain( )int a=1,b=10;dob-=a;a+;while(b-0);printf(“a=%d,b=%d/n“,a,b);(分数:2.00)A.a=3,b=11B.a=2,b=8C.a=1,b=-1D.a=4,b=927.设有以下语句,则 z 的二进制值是char x=3,y=6,z;z=xy2:(分数:2.00)A.00010100B.00011011C.00011100D.0001100028.以下语句的输出结果是printf(“%d/n

    10、“,strlen(“/t/“/065/xffn“);(分数:2.00)A.5B.14C.8D.输出项不合法,无正常输出29.下面程序的输出结果是int b=2;int func(int *(分数:2.00)A.b+=*a;return(B.;&n30.一个 C 语言程序是由(分数:2.00)A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成31.在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为(分数:2.00)A.63B.64C.6D.732.C 语言允许函数类型缺省定义,此时函数值隐含的类型是(分数:2.00)A.floatB.intC.lon

    11、gD.double33.若 x、i、j 和 k 都是 int 型变量,则计算表达式 x=(i=4,j=16,k=32)后,x 的值为(分数:2.00)A.4B.16C.32D.5234.下列叙述中错误的是(分数:2.00)A.在 C 程序中,逗号运算符的优先级最低B.在 C 程序中,APH 和 aph 是两个不同的变量C.若 a 和 b 类型相同,执行赋值表达式 a=b 后 b 中的值将放入 a 中,而 b 中的值不变D.从键盘输入数据时,对于整型变量只能输入整型数值,实型变量只能输入实型数值35.下列各数据类型中不属于构造类型的是(分数:2.00)A.枚举型B.共用型C.结构型D.数组型36

    12、.以下程序运行后的输出结果是long fib(int n)if(n2)return(fib(n-1)+fib(n-2);else return(2);main( )printf(“%d/n“,fib(3);(分数:2.00)A.2B.4C.6D.837.请选出可用作 C 语言用户标识符的是(分数:2.00)A.void,define,WORDB.a3_b3,_123,IFC.FOR,-abc,CaseD.2a,Do,Sizeof38.对如图所示的二叉树进行中序遍历的结果是(分数:2.00)A.B.C.D.39.在数据库系统中,用户所见的数据模式为(分数:2.00)A.概念模式B.外模式C.内模

    13、式D.物理模式40.从工程管理角度,软件设计一般分为两步完成,它们是(分数:2.00)A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据没计二、填空题(总题数:12,分数:30.00)41.对于如图所示的软件系统结构图,其宽度为_。(分数:2.00)填空项 1:_42. 1 的任务是诊断和改正程序中的错误。(分数:2.00)填空项 1:_43.一个关系表的行称为 1。(分数:2.00)填空项 1:_44.按“先进后出”原则组织数据的数据结构是 1。(分数:2.00)填空项 1:_45.数据结构分为线性结构和非线性结构,带链的队列属于 1。(分数:2.00)

    14、填空项 1:_下面程序的功能是将从终端读入的 20 个字符放入字符数组中,然后利用指针变量输出上述字符串。请填空。#includestdio.hmain( )int i;char s21,*p;for(i=0;i20;i+) si=getchar( );si= (6) ;p= (7) ;while(*p) putchar(*p+);(分数:4.00)填空项 1:_填空项 1:_下面程序的功能是将数组 a 的 4 个元素和数组 b 的 6 个元素写到名为 lett.dat 的二进制文件中。请填空。#includestdio.hmain( )FILE *fp;char a4=“1234“,b6=“

    15、abcedf“;if(fp=fopen(“ (8) “,“wb“)=NULL)exit(0);fwrite(a,sizeof(char),4,fp);fwrite(b, (9) ,1,fp);felose(fp);(分数:4.00)填空项 1:_填空项 1:_以下函数的功能是把 b 字符串连接到 a 字符串的后面,并返回 a 中新字符串的长度。请填空。strcen(char a ,chat“b)int num=0,n=0;while( *(a+num)!= (10) )num+;while(bn)*(a+nunl)=bn;num+; (11) ;return(hum);(分数:4.00)填空项

    16、 1:_填空项 1:_46.mystrlen 函数的功能是计算 str 所指字符串的长度,并作为函数值返回。请填空。int mystrlen (char *str)int i;for(i=0;_!=/0;i+);return(i);(分数:2.00)填空项 1:_47.以下程序的输出结果为_。#define JFT(x) x*xmain( )int a,k=3;a=+JFT(k+1);printf(“%d“,a);(分数:2.00)填空项 1:_48.以下定义的结构体类型拟包含两个成员,其中成员变量 info 用来存入整型数据,成员变量 link 是指向自身结构体的指针。请将定义补充完整。st

    17、ruet nodeint info;_link;(分数:2.00)填空项 1:_49.设有以下结构体类型:Struct stchar name8;int num;float s4;student50;并且结构体数组 student 中的元素都已有值,若要将这些元素写到硬盘文件 fp 中。请将以下 fwrite 语句补充完整:fwrite(student,_,1,fp);(分数:2.00)填空项 1:_二级 C 语言笔试-98 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.设有以下说明语句,则下列叙述中不正确的是struct exint x;

    18、float y;char z; example;(分数:2.00)A.struct 是结构体类型的关键字B.example 是结构体类型名 C.x、y、z 都是结构体成员名D.struct ex 是结构体类型名解析:解析 本题中,struet ex 是结构体类型名,example 是结构体变量名。2.执行以下程序后,a 和 b 的值分别为main( )int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1=&m:b=(*p1)/(*p2)+7;printf(“a=%d/n“,(分数:2.00)A.;printf(“b=%d/n“,B.;A) -1解析:解析 a=p1=&m;等价于

    19、 a=(p1=&m);,即将判断 p1 是否等于地址 m 的逻辑值(0)赋给变量 a,在 b=(*p1)/(*p2)+7;语句中,(*p1)/(*p2)=0,因此将表达式的值 7 赋给变量 b。3.设有数组定义:char array=“China“;,则数组 array 所占的空间为(分数:2.00)_解析:解析 在定义字符数组时,可以用一个字符串作为初值,对数组进行初始化。要注意的是数组array 的长度不是 5,而是 6。因为系统将自动在字符串常量的后面加上一个/0,因此,上面的初始化与 char array=C,h,i,n,a,/04.在 16 位 IBM-PC 机上使用 C 语言,若有

    20、如下定义:struct dataint i;char ch;double r;b;则结构变量 b 占用内存的字节数是(分数:2.00)A.1B.2C.7D.11 解析:解析 结构体变量所占用内存的字节数是其所有成员所占用内存字节数之和。本题中整型变量 i所占用的内存是 2 字节,字符型变量 ch 所占用的内存是 1 字节,双精度型变量 f 所占用的内存是 8 字节,三者相加为 11。5.以下程序运行后的输出结果是#includestdio.hint a=2,4,6,8;main( )int i;int *p=a;for(i=0;i4;i+)ai=*p;printf(“%d/n“,a2);(分数

    21、:2.00)A.6B.8C.4D.2 解析:解析 在 C 语言中,数组元素的下标是从 0 开始的;指针变量 p 指向数组的首地址。在 for 循环语句中,指针变量 p 始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为 2。6.sizeof(float)是(分数:2.00)A.一个双精度型表达式B.一个整型表达式 C.一种函数调用D.一个不合法的表达式解析:解析 sizeof 是长度运算符,或称字节数运算符,用于计算数据类型和变量的长度。sizeof 运算符不能用于函数类型、不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合

    22、类型、void 类型等。7.若已定义:int a=0,1,2,3,4,5,6,7,8,9,*p=a,i;,其中 0i9,则对 a 数组元素不正确的引用是(分数:2.00)A.ap-aB.*(&ai)C.piD.a10 解析:解析 通常,引用一个数组元素可以用下标法,如 ap-a和 pi形式;或指针法,如*(&ai)形式。在本题中,a0=0,a9=9,显然 a10超出了数组范围。8.下列叙述中不正确的是(分数:2.00)A.在不同函数中可以使用相同名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效 解析:

    23、解析 C 语言在函数中说明的变量为局部变量,只在函数内起作用不会影响到其他函数。在不同函数中使用相同的变量名不代表是同一变量,选项 A 正确。在函数定义时声明的参数只在函数内部起作用,是函数的局部变量,选项 B 正确。在一个函数中定义的变量是这个函数的局部变量,所以只在这个函数内起作用,选项 C 正确。复合语句中定义的变量其作用域是这个复合语句,不会扩大到整个函数,所以选项D 错误。9.以下不正确的定义语句是(分数:2.00)A.double x5=2.0,4.0,6.0,8.0,10.0;B.int y5=0,1,3,5,7,9; C.char c1=1,2,3,4,5;D.char c2=

    24、/x10,/xa,/x8;解析:解析 选项 B 中定义的 y 数组的长度为 5,但赋初值时有 6 个元素,所以是错误的。10.数据库技术的根本目标是要解决数据的(分数:2.00)A.存储问题B.共享问题 C.安全问题D.保护问题解析:解析 数据库产生的背景就是计算机的应用范围越来越广泛,数据量急剧增加,对数据共享的要求越来越高。共享的含义是多个用户、多种语言、多个应用程序相互覆盖地使用一些公用的数据集合。在这样的背景下,为了满足多用户、多应用共享数据的要求,就出现了数据库技术,以便对数据库进行管理。因此,数据库技术的根本目标就是解决数据的共享问题。11.下列选项中,不符合良好程序设计风格的是(

    25、分数:1.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块没计要保证高耦合、高内聚 解析:解析 编程风格是在不影响性能的前提下,有效地编排和组织程序,以提高可读性和可维护性。更直接地说,风格意味着要按照规则进行编程。这些规则包括:程序文档化。就是程序文档包含恰当的标识符、适当的注解和程序的视觉组织等。数据说明。出于阅读理解和维护的需要,最好使模块前的说明语句次序规范化。此外,为方便查找,在每个说明语句的说明符后,数据名应按照字典顺序排列。功能模块化。即把源程序代码按照功能划分为低耦合、高内聚的模块。注意 goto 语句的使用。合理使用goto 语句可以提高

    26、代码的运行效率,但 goto 语句的使用会破坏程序的结构特性。因此,除非确实需要,否则最好不使用 goto 语句。12.以下程序的输出结果是void reverse(int a,int n)int i,t;for(i=0;in/2;i+)t=ai;ai=an-1-i;an-1-i=t;main( )int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n“,s);(分数:1.00)_解析:解析 在 main 函数中,调用 reverse 函数将 b 数组中的前 8 个成员进行互置,

    27、执行完毕后,b 数组中的成员为8,7,6,5,4,3,2,1,9,1013.设有 int x=11;,则表达式(x+*1/3)的值是(分数:1.00)A.3 B.4C.11D.12解析:解析 当自加运算符做后缀表达式的时候,表达式的值不变,只有变量的值增加 1,所以表达式(x+*1/3)相当于(11*1/3),取整后为 3。14.下列叙述中正确的是(分数:1.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述 3 种说法都不对 解析:解析 时间复杂度是指一个算法执行时间的相对度量;空间

    28、复杂度是指算法在运行过程中临时占用的存储空间大小的度量。人们都希望选择一个既节省存储空间、又节省执行时间的算法。然而,有时为了加快算法的运行速度,不得不增加空间开销;有时为了能有效地存储算法和数据,又不得不牺牲运行时间。时间和空间的效率往往是一对矛盾,很难做到两全。但是,这不适用于所有的情况,也就是说,时间复杂度和空间复杂度之间虽然经常矛盾,但是二者不存在必然的联系。因此,选项 A、B、C 的说法都是错误的。15.数据库设计的 4 个阶段是:需求分析、概念设计、逻辑设计和(分数:1.00)A.编码设计B.测试阶段C.运行阶段D.物理设计 解析:解析 数据库的生命周期可以分为 2 个阶段:一是数

    29、据库设计阶段;二是数据库实现阶段。数据库的设计阶段又分为 4 个子阶段,即需求分析、概念设计、逻辑设计和物理设计。16.设有如下 3 个关系表 R、S、T。下列操作中正确的是(分数:1.00)A.B.C. D.解析:解析 本题考查数据库的关系代数运算。R 表中只有一个域名 A,有两个记录(也叫元组),分别是m 和 n;S 表中有两个域名,分别是 B 和 C,其所对应的记录分别为 1 和 3。注意观察表 T,它是由 R 的第一个记录依次与 S 的所有记录组合,然后再由 R 的第二个记录与 S 的所有记录组合,形成的一个新表。上述运算恰恰符合关系代数的笛卡儿积运算规则。关系代数中,笛卡儿积运算用“

    30、”来表示。因此,上述运算可以表示为 T=RS。17.函数 rewind 的作用是(分数:1.00)A.使文件位置指针重新返回文件的开始位置 B.将文件位置指针指向文件中所要求的特定位置C.使文件位置指针指向文件的末尾D.使文件位置指针自动移至下一个字符位置解析:解析 函数 rewind 的功能是将文件指针重新指向一个流的开头。用法如下:int rewind(FILE *stream);并且无返值。18.下列叙述中正确的是(分数:1.00)A.构成 C 程序的基本单位是函数 B.可以在一个函数中定义另一个函数C.main( )函数必须放在其他函数之前D.C 函数定义的格式是 K&R 格式解析:解

    31、析 构成 C 程序的基本单位是函数,选项 A 正确;函数定义是互相平行、独立的,一个函数内不能定义另一个函数,故选项 B 错误;main 函数可以在其他函数之前定义,也可以在其他函数之后定义,故选项 C 错误;C 函数定义的一般格式分为传统格式和现代格式。传统格式也称 K&R 格式,是早期编译系统使用的格式;现代格式又称 ANSI 格式,是现代编译系统使用的格式。19.下面程序的输出结果是main( )int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(“%d/n“,*(p+2);(分数:1.00)A.3 B.4C.1D.2解析:解析 在 C 语言中,数组元素是从

    32、 0 开始的。指针变量 p 指向数组的首地址,(p+2)就会指向数组中的第三个元素。因此输出数组元素的值 3。20.以下程序的输出结果是main ( )double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(“%d/n“,d*y);(分数:1.00)A.1.0B.0.96C.0 D.1解析:解析 本题中,程序先执行语句 x=1.2;,根据赋值运算的类型转换规则,先将常量 1.2 转换为int 型,取整数 1,并将其赋值给变量 x;然后执行语句 y=(x+3.8)/5.0;,根据运算符的优先级,先计算小括号内的 x+3.8,其运算过程是:先将整型变量 x

    33、的值 1 转换为 double 型 1.0,然后与 3.8 做加法运算,得到中间结果 4.8;接着进行除法运算 4.8/5.0,其结果小于 1.0;接着进行赋值运算,赋值号左边的变量 y 的类型为整型,对这个小于 1.0 的中间结果进行取整,结果为 0,于是变量 y 的值为 0,d*y 的值也为 0。21.以下程序有错,错误原因是main( )int *p,i;char *q,ch;p=&i;q=&ch;*p=40;*p=*q;(分数:2.00)A.B.C.D. 解析:解析 在该程序中,首先声明整型指针变量 p 和整型变量 i,字符型指针变量 q 和字符型变量ch,将 i 的地址赋给指针变量

    34、p,将 ch 的地址赋给指针变量 q,将 40 赋给*p,此时,q 已经指向了一个具体的存储单元,但 ch 的值不确定,即*p 没有确定的值,所以不能执行*p=*q 语句。22.以下程序运行后的输出结果是#includestdio.hunion pwint i;char ch2;a;main( )a.ch0=13;a.ch1=0;printf(“%d/n“,a.i);(分数:2.00)A.13 B.14C.208D.209解析:解析 在本题中,首先定义了一个共用体 pw,其中有两个域:整型变量 i 和字符数组 ch,因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch0在低字节,ch1

    35、在高字节。整型变量 i 占两个字节,高位与 ch1共用存储空间,低位与 ch0共用存储空间。而高位 ch1的值为 0,所以输出的成员变量 i 的值就是 ch0的值 13。23.下列选项中,不属于软件生命周期开发阶段任务的是(分数:2.00)A.软件测试B.概要设计C.软件维护 D.详细设计解析:解析 软件生命周期由软件定义、软件开发和软件维护 3 个时期组成,每个时期又进一步划分为若干个阶段。软件定义时期的基本任务是确定软件系统的工程需求。软件定义可分为软件系统的可行性研究和需求分析两个阶段。软件开发时期是具体设计和实现在前一时期定义的软件,它通常由 5 个阶段组成:概要设计、详细设计、编写代

    36、码、组装测试和确认测试。软件维护时期的主要任务是使软件持久地满足用户的需要,即当软件在使用过程中发现错误时应加以改正;当环境改变时应该修改软件,以适应新的环境;当用户有新要求时应该及时改进软件,以满足用户的新要求。根据上述对软件生命周期的介绍,可知选项C 中的软件维护不是软件生命周期开发阶段的任务。24.有如下程序,则 b 的值是int a10=1,2,3,4,5,6,7,8,9,10;int *p=&a3,b;b=p5;(分数:2.00)A.5B.6C.9 D.8解析:解析 p=&a3将指针指向数组 a 的第四个元素,p5则是数组 a 的第九个元素,而 a8=9,所以 b=9。25.设有定义

    37、:int n=0,*p=&n,*q=&p;,则下列选项中正确的赋值语句是(分数:2.00)A.p=1;B.*q=2;C.q=p;D.*p=5; 解析:解析 选项 A、B、C 的指针赋值表达方式都不正确,*p=5 表示将整数 5 放到指针 p 所指向的存储单元中。26.下面程序的运行结果是#includestdio.hmain( )int a=1,b=10;dob-=a;a+;while(b-0);printf(“a=%d,b=%d/n“,a,b);(分数:2.00)A.a=3,b=11B.a=2,b=8 C.a=1,b=-1D.a=4,b=9解析:解析 本题考查两个知识点:自加自减运算符和 d

    38、o-while 循环语句。do-while 循环条件是 b-0,所以循环体语句只执行一次。27.设有以下语句,则 z 的二进制值是char x=3,y=6,z;z=xy2:(分数:2.00)A.00010100B.00011011 C.00011100D.00011000解析:解析 左移运算符“”优先级高于二进制按位异或运算符“”。y 的二进制数为00000110,y2 的结果为 00011000;x 的二进制数为 00000011,xy 的结果为 00011011。28.以下语句的输出结果是printf(“%d/n“,strlen(“/t/“/065/xffn“);(分数:2.00)A.5

    39、B.14C.8D.输出项不合法,无正常输出解析:解析 本题考查用 strlen 函数计算字符串长度的方法。该字符串中包含的字符是:/t(跳格符)、/“(双引号)、/065(ASCII 值为八进制 065,也即十进制为 51 的字符)、/xff(ASCII 值为十六进制ff,也即十进制为 255 的字符)、/n(换行符)。29.下面程序的输出结果是int b=2;int func(int *(分数:2.00)A.b+=*a;return(B.;&n 解析:解析 对于函数体中的语句 b+=*a;其中的“*”是指针运算符(也称间接访问运算符),*a 就是main 函数中变量 a 的值。30.一个 C

    40、 语言程序是由(分数:2.00)A.一个主程序和若干子程序组成B.函数组成 C.若干过程组成D.若干子程序组成解析:解析 一个 C 源程序是由一个 main 函数和若干个其他函数组成的。函数是 C 程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己定义的函数。31.在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为(分数:2.00)A.63B.64 C.6D.7解析:解析 在长度为 64 的有序线性表中,其中的 64 个数据元素是按照从大到小或从小到大的顺序有序排列的。在这样的线性表中进行顺序查找,最坏的情况就是查找的数据元素不在线性表中或位于线性

    41、表的最后。按照线性表的顺序查找算法,首先用被查找的数据和线性表的第一个数据元素进行比较,若相等,则查找成功;否则,继续进行比较,即和线性表的第二个数据元素进行比较。同样,若相等,则查找成功;否则,继续进行比较。以此类推,直到在线性表中查找到该数据或查找到线性表的最后一个元素,算法才结束。因此,在长度为 64 的有序线性表中进行顺序查找,最坏的情况下需要比较 64 次。32.C 语言允许函数类型缺省定义,此时函数值隐含的类型是(分数:2.00)A.floatB.int C.longD.double解析:解析 在 C 语言中,对于自定义函数要遵循“先定义,后使用”的规则。如定义时,不指定函数类型,

    42、那么 C 编译系统会默认函数的返回值是 int 型。33.若 x、i、j 和 k 都是 int 型变量,则计算表达式 x=(i=4,j=16,k=32)后,x 的值为(分数:2.00)A.4B.16C.32 D.52解析:解析 逗号表达式的形式为如下:表达式 1,表达式 2,表达式 3,表达式 n逗号表达式作为一个整体,其运算过程是从左往右逐个计算表达式,它的值为最后一个表达式(也即表达式 n)的值。逗号运算符的优先级别在所有运算符中最低。34.下列叙述中错误的是(分数:2.00)A.在 C 程序中,逗号运算符的优先级最低B.在 C 程序中,APH 和 aph 是两个不同的变量C.若 a 和

    43、b 类型相同,执行赋值表达式 a=b 后 b 中的值将放入 a 中,而 b 中的值不变D.从键盘输入数据时,对于整型变量只能输入整型数值,实型变量只能输入实型数值 解析:解析 在 C 语言的所有运算符中,逗号运算符的优先级最低。C 语言中区分字母的大小写,所以APH 和 aph 是两个不同的变量。赋值表达式 a=b 表示将 b 的值赋给 a,而 b 本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数和整型数值等,选项 D 错误。35.下列各数据类型中不属于构造类型的是(分数:2.00)A.枚举型 B

    44、.共用型C.结构型D.数组型解析:解析 本题考查高级语言的数据类型。C 语言提供了构造类型,有数组、结构体、共用体和用户自定义类型。构造类型数据是由基本类型数据按一定规则组成的,也称为“导出类型”。36.以下程序运行后的输出结果是long fib(int n)if(n2)return(fib(n-1)+fib(n-2);else return(2);main( )printf(“%d/n“,fib(3);(分数:2.00)A.2B.4 C.6D.8解析:解析 本题考查函数的递归调用。fib(3)=fib(2)+fib(1),而 fib(2)的返回值为 2,fib(1)的返回值也为 2,故输出的

    45、 fib(3)的值为 4。37.请选出可用作 C 语言用户标识符的是(分数:2.00)A.void,define,WORDB.a3_b3,_123,IF C.FOR,-abc,CaseD.2a,Do,Sizeof解析:解析 C 语言规定用户标识符由字母、数字和下画线组成,且第一个字符必须是字母或下画线,可见选项 C、D 是错误的;此外,C 语言不允许用户将关键字作为标识符,而选项 A 中的 void 是 C 语言的关键字。38.对如图所示的二叉树进行中序遍历的结果是(分数:2.00)A. B.C.D.解析:解析 二叉树的中序遍历递归算法为:如果根不空,则按中序次序访问左子树;访问根结点;按中序

    46、次序访问右子树。否则返回。本题中,根据中序遍历算法,应首先按照中序次序访问以 C 为根结点的左子树,然后再访问根结点 F,最后才访问以 E 为根结点的右子树。遍历以 C 为根结点的左子树同样要遵循中序遍历算法,因此中序遍历结果为 ACBD:然后遍历根结点 F;遍历以 E 为根结点的右子树,同样要遵循中序遍历算法,因此中序遍历结果为 EG。最后把这 3 部分的遍历结果按顺序连接起来,中序遍历结果为 ACBDFEG。39.在数据库系统中,用户所见的数据模式为(分数:2.00)A.概念模式B.外模式 C.内模式D.物理模式解析:解析 数据库管理系统的三级模式结构是指外模式、模式和内模式。外模式也称子模式或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。内模式也称存储模式或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开