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

上传人:rimleave225 文档编号:1326170 上传时间:2019-10-17 格式:DOC 页数:34 大小:102KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-364及答案解析.doc_第1页
第1页 / 共34页
【计算机类职业资格】二级C语言笔试-364及答案解析.doc_第2页
第2页 / 共34页
【计算机类职业资格】二级C语言笔试-364及答案解析.doc_第3页
第3页 / 共34页
【计算机类职业资格】二级C语言笔试-364及答案解析.doc_第4页
第4页 / 共34页
【计算机类职业资格】二级C语言笔试-364及答案解析.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、二级 C语言笔试-364 及答案解析(总分:103.50,做题时间:90 分钟)一、选择题(总题数:50,分数:65.00)1.下列函数值的类型是( )。fun(double x)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A.B.C.D.2.对长度为 n的线性表进行顺序查找,在最坏的情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.3.以下程序的输出结果是 ( )main( )int a5,b4,c6,d;printf(”%d/n“,dab?(a

2、c?a:c):(b);A5B4C6D不确定(分数:1.00)A.B.C.D.4.规范化理论中,分解()是消除其中多余的数据相关性A) 关系运算 B) 内模式 C) 外模式 D) 视图(分数:1.00)A.B.C.D.5.下列对于线性链表的描述中正确的是 _。A)存储空间不一定是连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面C)存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任意的(分数:1.00)A.B.C.D.6.以下叙述中正确的是( )。A) 调用 pfintf函数时,必须要有输出项B) 使用 pu

3、tchar函数时,必须在之前包含头文件 stdio.hC) 在 C语言中,整数可以以十二进制、八进制或十六进制的形式输出D) 调用 getchar函数读入字符时,可以从键盘上输入字符所对应的 ASCII码(分数:1.00)A.B.C.D.7.若有定义 int b8, *p=b; 则 p+6表示( )。A) 数组元素 b6的值B) 数组元素 b6的地址C) 数组元素 b7的地址D) 数组元素 b0的值加上 6(分数:2.00)A.B.C.D.8.以下叙述中正确的是A) C程序中的注释只能出现在程序的开始位置和语句的后面B) C程序书写格式严格,要求一行内只能写一个语句C) C程序书写格式自由,一

4、个语句可以写在多行上D) 用 C语言编写的程序只能放在一个程序文件中(分数:1.00)A.B.C.D.9.已知 p为指针变量,a 为数组名,i 为整型变量,下列语句中,不正确的是_。A) p= B) p=a; C) p= D) p=10;(分数:1.00)A.B.C.D.10.若函数中有定义语句:int k;,则A) 系统将自动给 k赋初值 0 B) 这时 k中值无定义C) 系统将自动给 k赋初值-1 D) 这时 k中无任何值(分数:1.00)A.B.C.D.11.执行下列程序中的输出语句后,a 的值是( )。main()int a;printf(“%d/n“,(a=2*3,a*5,a+7)

5、);A) 17 B) 37 C) 6 D) 13(分数:2.00)A.B.C.D.12.有以下程序:main()int i,j,x=0;for(i=0;i2;i+)x+;for(j=0;j=3;j+)if(j%2)continue;x+;x+;printf(“x=%d/n“,x);程序执行后的输出结果是_。A) x=4 B) x=8C) x=6 D) x=12(分数:2.00)A.B.C.D.13.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )A) char s10=”abcdefg”; B) char t =”abcdefg”,*s=t;C) char s10;s=”abc

6、defg”; D) char s10;strcpy(s,”abcdefg”);(分数:1.00)A.B.C.D.14.有以下程序union myunstructint x,y,z;u;int k;a;main()aux4;auy=5;a,uz=6;ak0;printf(“%d/n“,aux);程序运行后的输出结果是 ( )A) 4 B) 5 C) 6 D) 0(分数:1.00)A.B.C.D.15.下列数据结构中能应用二分查找的是( )。A) 有序线性链表 B) 有序顺序表 C) 顺序存储的栈 D) 顺序存储的队列(分数:1.00)A.B.C.D.16.下列关于栈的叙述中,正确的是A) 在栈中

7、只能插入数据 B) 在栈中只能删除数据C) 栈是先进先出的线性表 D) 栈是先进后出的线性表(分数:1.00)A.B.C.D.17.以下函数值的类型是_。fun (float x)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A.B.C.D.18.设有如下关系表 _。(分数:1.00)A.B.C.D.19.有以下程序main()int a,b,d=25;a=d/10%9;b=aprintf(“%d,%d/n“,a,b);程序运行后的输出结果是A) 6,1 B) 2,1 C) 6,0 D) 2,0(分数:1.00)

8、A.B.C.D.20.设有如下程序:#include “stringh“main()static char s120,s220;scanf(“%s“,s1);scanf(“%s“,s2);if(strcmp(s1,s2) printf(“);else printf(“$“);printf(“%d/n“,strlen(strcat(s1,s2); 如果从键盘上输入 name回车name1回车,则程序运行后的输出结果是 ( )A) $8 B) 10 C) $9 D) 9(分数:1.00)A.B.C.D.21.若有定义:char *st=“how are you“;,下列程序段中正确的是A) cha

9、r a11,*p; strcpy(p=a+1,B) char a11; strcpy(+a, st);C) char a11; strcpy(a, st);D) char a,*p; strcpy(p=(分数:1.00)A.B.C.D.22.有以下程序:main()char *p10=“abc“, “aabdfg“, “dcdbe“, “abbd“, “cd“;printf(“%d/n“. strlen(p4);执行后输出结果是( )。A) 2 B) 3 C) 4 D) 5(分数:2.00)A.B.C.D.23.算法具有 5个特性,以下选项中不属于算法特性的是( )oA) 有穷性 B) 简洁性

10、 C) 可行性 D) 确定性(分数:1.00)A.B.C.D.24.有以下程序:int f(int b4)int i, j, s=0;for(j=0j4;j+)i=j;if(i2) i=3-j;s+=bij;return s;main()int a44= 1,2,3,4, 0,2,4,6,3,6,9,12 , 3,2,1,0 ;printf(“%d/n“, f(a);执行后的输出结果是( )。A) 12 B) 11 C) 18 D) 16(分数:1.00)A.B.C.D.25.下列关于栈的描述中错误的是( )。A) 栈是先进先出的线性表B) 栈只能顺序存储C) 栈具有记忆作用D) 对栈的插入与

11、删除操作中,不需要改变栈底指针(分数:2.00)A.B.C.D.26.数据库设计包括两个方面的设计内容,它们是_。A) 概念设计和逻辑设计 B) 模式设计和内模式设计C) 内模式设计和物理设计 D) 结构特性设计和行为特性设计(分数:1.00)A.B.C.D.27.设有定义:float x=123.4567;,则执行 printf(“%f/n“,(int)(x*100+0.5)/100.0)语句后的输出结果是A) 123.460000 B) 123.456700 C) 123.450000 D) 123(分数:1.00)A.B.C.D.28.有以下程序:#include stdio.hmain

12、( )int m =12,n=34;printf( “% d% d“ ,m+ , +n);printf(“% d% d /n“ ,n + , +m); 程序运行后的输出结果是( )。A) 12353514 B) 12353513 C) 12343514 D) 12343513(分数:1.00)A.B.C.D.29.下列程序的运行结果为( )。#define MAX(x,y)(x)(y)?(x):(y)main()int a=2,b=3,c=1,d=3,t;printf(“%d/n“,(MAX(a+b,c+d)*100);A) 500 B) 5 C) 4 D) 400(分数:2.00)A.B.C

13、.D.30.若要用下面的程序片段使指针变量 p指向一个存储整型变量的动态存储单元int *pp=_malloc(sizeof(int);则应填入_。A) int B) int* C) (*int) D) (int*)(分数:1.00)A.B.C.D.31.下述关于数据库系统的叙述中正确的是 _。A) 数据库系统减少了数据冗余B) 数据库系统避免了一切冗余C) 数据库系统中数据的一致性是指数据类型的一致D) 数据库系统比文件系统能管理更多的数据(分数:2.00)A.B.C.D.32.有定义语句:int x,y;。若要通过 scanf(“%d,%d“,x,y);语句使变量 x得到数值 11,变量y

14、得到数值 12,下面四组输入形式中,错误的是( )。A) 11 12 B) 11,12 C) 11,12 D) 11,12(分数:1.00)A.B.C.D.33.以下能正确定义一维数组的选项是( )。A) int num; B) #define N 100int numNC) int num0100;D) int N=100int numN;(分数:1.00)A.B.C.D.34.数据库系统在其内部具有 3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是( )。 A) 外模式 B) 概念模式 C) 内模式 D) 存储模式(分数:2.00)A.B.C.D.35.有以下程序#include

15、 main()int x=8;for( ; x0; x-)if(x%3)printf(“%d,“,x-); continue;printf(“%d,“,-x);程序的运行结果是_。A) 7,4,2B) 8,7,5,2C) 9,7,6,4D) 8,5,4,2(分数:1.00)A.B.C.D.36.已定义下列函数:int fun(int *p)return *p;)fun函数返回值是( )。A) 不确定的值 B) 一个整数C) 形参 p中存放的值 D) 形参 p的地址值(分数:2.00)A.B.C.D.37.数据的存储结构是指_。A) 存储在外存中的数据 B) 数据所占的存储空间量C) 数据在计算

16、机中的顺序存储方式 D) 数据的逻辑结构在计算机中的表示(分数:1.00)A.B.C.D.38.下列选项中不符合良好程序设计风格的是_。A) 源程序要文档化 B) 数据说明的次序要规范化C) 避免滥用 goto语句 D) 模块设计要保证高耦合、高内聚(分数:1.00)A.B.C.D.39.若有说明语句:char ch=/x41;,则 ch中_。A) 包含 4个字符 B) 包含 2个字符C) 包含 1个字符 D) 字符个数不确定,说明不正确(分数:1.00)A.B.C.D.40.下列选项中不属于软件生命周期开发阶段任务的是( )。A) 软件测试 B) 概要设计 C) 软件维护 D) 详细设计(分

17、数:2.00)A.B.C.D.41.结构化分析方法是面向( )的自顶向下逐步求精进行需求分析的方法。A) 对象 B) 数据结构 C) 数据流 D) 目标(分数:2.00)A.B.C.D.42.若有下列说明和语句,则对结构体变量 st中成员 i的引用方式不正确的是( )。Struct stuint i;int name;st,*p;p=*z=y-x;main()int a,b,c;sub(10,5,sub(7,a,sub(a,b,printf(“%d,%d,%d/n“,a,b,c);A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7(分数:1.00)A.

18、B.C.D.44.已有定义语句:int x3,y0,z0;,则值为 0的表达式是 ( )A) x int k;p1=a; p2=b;for(k=0;k7;k+)if(*(p1+k)=*(p2+k)printf(“%c“,*(p1+k);(分数:1.00)填空项 1:_54.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种;前序遍历、 1 遍历和后序遍历。(分数:2.00)填空项 1:_55.以下程序运行后的输出结果是_。main()char c1,c2;for(c1=0,c2=9;c1c2;c1+,c2-)printf(“%c%c“,c1,c2);printf(“/n“);(

19、分数:2.00)填空项 1:_56.以下程序段中,错误的行号是_。 #include stdio.h main() char str14;str=“I love China!“; printf(“%s“,str);(分数:2.00)填空项 1:_57.设有下列宏定义:#define A 2#define B A+3则执行赋值语句;t=B*2;t 为 int型变量后的值是_。(分数:1.50)填空项 1:_58.软件维护活动包括以下几类:改正性维护、适应性维护、 1 维护和预防性维护。(分数:1.00)填空项 1:_59.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.

20、00)填空项 1:_60. 1是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。(分数:2.00)填空项 1:_61.数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于 1。(分数:1.00)填空项 1:_62.有以下程序: #inciudestdio.h int *f(int *P,int *q); main() int m=1,n=2,*r=m; r=f(r,n);printf(“%d/n“,*r); int *f(int*p,int*q) return(*p*q)?p:q; 程序运行后的输出结果是_(分数:2.00)填空项 1

21、:_63.要求使下列程序输出 5个整数,请填空。for(i=0;i=_;printf(“%d/n“,i+=2););(分数:4.00)填空项 1:_64.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体“工人”与实体“设备”之间存在 1 联系。(分数:2.00)填空项 1:_65.下列语句的输出结果是_。char a=3;printf(“%d,%o,%x,%u/n“,a,a,a,a);(分数:1.00)填空项 1:_66.下列程序的功能是计算 1100 的整数的累加和。main()int i, sum=_;i=1;for(_)sum+=i;i+;printf(“sum=%d/n“

22、,_);(分数:4.00)填空项 1:_67.有以下程序 #includestdio.h main() int i,n=0,0,0,0,0; for(i=l;i=4;i+) ni=ni-1*3+1;printf(“%d“,ni); 程序运行后的输出结果是_(分数:2.00)填空项 1:_68.以下函数的功能是计算 (分数:1.00)填空项 1:_69.有以下程序 #includestdio.h main() int n2,ij; for(i=0;i2;i+)ni=0; for(i=0;i2;i+) for(j=0;j2;j+)nj=ni+1; printf(“%d/n“,n1); 程序运行后的

23、输出结果是_。(分数:2.00)填空项 1:_70.设有以下定义和语句,则*(*(p+2)+1)的值为_。int a32=10,20,30,40,50,60,(*p)2;p=a;(分数:2.00)填空项 1:_二级 C语言笔试-364 答案解析(总分:103.50,做题时间:90 分钟)一、选择题(总题数:50,分数:65.00)1.下列函数值的类型是( )。fun(double x)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A. B.C.D.解析:解析 本题考查默认函数的函数值的类型。在函数调用时,尽管 y

24、的类型是 float,x 的类型是double,但是因为函数定义时省去类型说明,系统默认函数值的类型为 int型,所以计算后的 y的类型是int型。2.对长度为 n的线性表进行顺序查找,在最坏的情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C. D.解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏的情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。3.以下程序的输出结

25、果是 ( )main( )int a5,b4,c6,d;printf(”%d/n“,dab?(ac?a:c):(b);A5B4C6D不确定(分数:1.00)A.B.C. D.解析:4.规范化理论中,分解()是消除其中多余的数据相关性A) 关系运算 B) 内模式 C) 外模式 D) 视图(分数:1.00)A. B.C.D.解析:解析 数据库规范化的基本思想是逐步消除数据依赖中不合适的部分,根本思想是通过分解关系运算来消除多余的数据相关性。5.下列对于线性链表的描述中正确的是 _。A)存储空间不一定是连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面C)存

26、储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任意的(分数:1.00)A. B.C.D.解析:解析 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来来确定的。6.以下叙述中正确的是( )。A) 调用 pfintf函数时,必须要有输出项B) 使用 putchar函数时,必须在之前包含头文件 stdio.hC) 在 C语言中,整数可以以十二进制、八进制或十六进制的形式输出D) 调用 getchar函数读入字符时,可以从键盘上输入字符所对应的 ASCII码(分

27、数:1.00)A.B. C.D.解析:解析 在使用标准输入输出库函数前,必须要用预编译命令“#include”将头文件 “stdio.h“包括到用户源文件中。7.若有定义 int b8, *p=b; 则 p+6表示( )。A) 数组元素 b6的值B) 数组元素 b6的地址C) 数组元素 b7的地址D) 数组元素 b0的值加上 6(分数:2.00)A.B. C.D.解析:解析 指针中存放的是变量的地址,指针也可以进行增减运算,这时指针移动的最小单位是一个存储单元,而不是一个字节。所以题中将 p+6指的是将指针向后移动了 6个存储单元,指向 b6,存放的是 b6的地址。8.以下叙述中正确的是A)

28、C程序中的注释只能出现在程序的开始位置和语句的后面B) C程序书写格式严格,要求一行内只能写一个语句C) C程序书写格式自由,一个语句可以写在多行上D) 用 C语言编写的程序只能放在一个程序文件中(分数:1.00)A.B.C. D.解析:解析 考查 C语言的几个基本概念。解题要点 选项 A)中,C 语言的注释可以出现在程序的任何位置;C 语言的语法限制不严格,可以多条语句放在同一行上,也可以将一条语句写在多行,故选项 B)错误,选项 C)正确;选项 D)是错误的,因为用 C语言编写的程序可以放在不同的文件中,文件之间使用预处理命令进行调用。考点链接 掌握算法的相关特性。9.已知 p为指针变量,

29、a 为数组名,i 为整型变量,下列语句中,不正确的是_。A) p= B) p=a; C) p= D) p=10;(分数:1.00)A.B.C.D. 解析:解析 不能把一个整数赋给指针变量,只能将变量已分配的地址赋给指针变量。10.若函数中有定义语句:int k;,则A) 系统将自动给 k赋初值 0 B) 这时 k中值无定义C) 系统将自动给 k赋初值-1 D) 这时 k中无任何值(分数:1.00)A.B. C.D.解析:解析 函数中定义的变量,如果不专门声明,属于自动变量。自动变量不会自动赋初值,此时,变量中无确定值,称变量值“无意义”。11.执行下列程序中的输出语句后,a 的值是( )。ma

30、in()int a;printf(“%d/n“,(a=2*3,a*5,a+7) );A) 17 B) 37 C) 6 D) 13(分数:2.00)A.B.C. D.解析:解析 本题考查逗号表达式。本题的返回值是 a+7, a=2.3=6,a+7=13(注意:本题问的是 a的值,而不是程序的输出值)。12.有以下程序:main()int i,j,x=0;for(i=0;i2;i+)x+;for(j=0;j=3;j+)if(j%2)continue;x+;x+;printf(“x=%d/n“,x);程序执行后的输出结果是_。A) x=4 B) x=8C) x=6 D) x=12(分数:2.00)A

31、.B. C.D.解析:解析 内层 for循环语句实现 x=x+2,故外层 for循环语句单次循环实现 x=x+4,所以程序执行后的输出结果为 x=8。13.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )A) char s10=”abcdefg”; B) char t =”abcdefg”,*s=t;C) char s10;s=”abcdefg”; D) char s10;strcpy(s,”abcdefg”);(分数:1.00)A.B.C. D.解析:解析 因为“abcdefg”字符串在赋值过程中给出的是这个字符串在内存中所占一块连续存储单元的首地址,而 s是一个不可重新赋值

32、的数组名。14.有以下程序union myunstructint x,y,z;u;int k;a;main()aux4;auy=5;a,uz=6;ak0;printf(“%d/n“,aux);程序运行后的输出结果是 ( )A) 4 B) 5 C) 6 D) 0(分数:1.00)A.B.C.D. 解析:15.下列数据结构中能应用二分查找的是( )。A) 有序线性链表 B) 有序顺序表 C) 顺序存储的栈 D) 顺序存储的队列(分数:1.00)A.B. C.D.解析:解析 有序线性表顺序存储时才能采用二分查找。16.下列关于栈的叙述中,正确的是A) 在栈中只能插入数据 B) 在栈中只能删除数据C)

33、 栈是先进先出的线性表 D) 栈是先进后出的线性表(分数:1.00)A.B.C.D. 解析:解析 对栈可进行插入和删除数据的操作,但必须牢记插入和删除数据都只能在栈顶,是一种特殊的线性表。所以栈是先进后出的线性表。17.以下函数值的类型是_。fun (float x)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A. B.C.D.解析:解析 C 语言中如果函数前不加任何数据类型时,默认函数的类型为整型,函数的类型就是函数返回值的类型。18.设有如下关系表 _。(分数:1.00)A.B. C.D.解析:解析 从图中

34、可以看出,关系 T是关系 R和关系 S的简单合并,而合并的符号为 u,所以答案为T=RUS。19.有以下程序main()int a,b,d=25;a=d/10%9;b=aprintf(“%d,%d/n“,a,b);程序运行后的输出结果是A) 6,1 B) 2,1 C) 6,0 D) 2,0(分数:1.00)A.B. C.D.解析:解析 本题考查算术运算符“/”、“%”,逻辑运算符“scanf(“%s“,s2);if(strcmp(s1,s2) printf(“);else printf(“$“);printf(“%d/n“,strlen(strcat(s1,s2); 如果从键盘上输入 name

35、回车name1回车,则程序运行后的输出结果是 ( )A) $8 B) 10 C) $9 D) 9(分数:1.00)A.B.C.D. 解析:21.若有定义:char *st=“how are you“;,下列程序段中正确的是A) char a11,*p; strcpy(p=a+1,B) char a11; strcpy(+a, st);C) char a11; strcpy(a, st);D) char a,*p; strcpy(p=(分数:1.00)A. B.C.D.解析:解析 本题综合考查字符数组的赋值和 strcpy函数的用法。C 语言不允许用赋值表达式对字符数组赋值,如下面的语句就是非法

36、的:str1=“China”,如果想把“China”这 5个字符放到数组 str1中,除了逐个输入外,还能使用 strcpy函数,该函数的功能是将一个字符串复制到一个字符数组中。例如:strcpy( str1,“China”)或 strcpy(str1,str2);注意,不能企图用以下语句来进行赋值(将 str2的值传给 str1):str1=str2;不能用赋值语句将一个字符串常量或字符数组直接赋值给一个字符数组。strcpy函数的结构是:strcpy(字符数组 1,字符串 2),其中,需要注意的是,字符数组 1的长度不应小于字符串 2的长度,“字符数组 1”必须写成数组名形式,如(str1

37、),“字符串 2”可以是字符数组名,也可以是字符串常量,不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。22.有以下程序:main()char *p10=“abc“, “aabdfg“, “dcdbe“, “abbd“, “cd“;printf(“%d/n“. strlen(p4);执行后输出结果是( )。A) 2 B) 3 C) 4 D) 5(分数:2.00)A. B.C.D.解析:解析 本题考核的知识点是指针数组的定义和 strlen()函数的应用。本题中首先定义了一个长度为 10的指针数组,并赋初值,因此执行 strlen (p4)后的返回值为字符串“cd”的长度为 2。所以

38、,4个选项中选项 A)符合题意。23.算法具有 5个特性,以下选项中不属于算法特性的是( )oA) 有穷性 B) 简洁性 C) 可行性 D) 确定性(分数:1.00)A.B. C.D.解析:解析 一个算法应当具有以下5 个特性:有穷性;确定性;可行性;有零个或多个输入;由一个或多个输出。简洁性不属于这 5个特性,所以本题应该选择 B。24.有以下程序:int f(int b4)int i, j, s=0;for(j=0j4;j+)i=j;if(i2) i=3-j;s+=bij;return s;main()int a44= 1,2,3,4, 0,2,4,6,3,6,9,12 , 3,2,1,0

39、 ;printf(“%d/n“, f(a);执行后的输出结果是( )。A) 12 B) 11 C) 18 D) 16(分数:1.00)A.B.C.D. 解析:解析 分析程序可知,函数 f()中的 for循环作用,是将数组前三行中的对角线上的元素,即 b00、b11、b22和第一行的第四列元素即 b03累加到变量 s中,然后将 s的值返回。在主函数中首先定义了一个 4行 4列的二维数组,接着通过输出语句输出函数 f(a)的返回值。调用 f(a)的返回值为 a00+a11+a22+a03=1+2+9+4=16。所以,4 个选项中选项 D符合题意。25.下列关于栈的描述中错误的是( )。A) 栈是先

40、进先出的线性表B) 栈只能顺序存储C) 栈具有记忆作用D) 对栈的插入与删除操作中,不需要改变栈底指针(分数:2.00)A.B. C.D.解析:解析 栈是限定只能在表的一端进行插入和删除操作的线性表,入栈和出栈都是在栈顶进行,它们的操作特点是先进后出,因此具有记忆作用。栈可以采用顺序存储,也可以采用链式存储。26.数据库设计包括两个方面的设计内容,它们是_。A) 概念设计和逻辑设计 B) 模式设计和内模式设计C) 内模式设计和物理设计 D) 结构特性设计和行为特性设计(分数:1.00)A. B.C.D.解析:解析 数据库设计可以分为概念设计与逻辑设计。概念设计的目的是分析数据间内在语义关联,在

41、此基础上建立一个数据的抽象模型。逻辑设计的主要工作是将 ER图转换为指定的 RDBMS中的关系模型。27.设有定义:float x=123.4567;,则执行 printf(“%f/n“,(int)(x*100+0.5)/100.0)语句后的输出结果是A) 123.460000 B) 123.456700 C) 123.450000 D) 123(分数:1.00)A. B.C.D.解析:解析 (x*100+0.5)的计算结果为 12346.17。由于类型转换运算符()的优先级高于除法运算符/,所以先执行(int)12346.17,将 12346.17转换为整型数 12346,再执行 12346

42、/100.0,并在输出时按照格式化输出%f 的要求,将计算结果转换为 float型后再输出。所以,最终结果为 123.460000。28.有以下程序:#include stdio.hmain( )int m =12,n=34;printf( “% d% d“ ,m+ , +n);printf(“% d% d /n“ ,n + , +m); 程序运行后的输出结果是( )。A) 12353514 B) 12353513 C) 12343514 D) 12343513(分数:1.00)A. B.C.D.解析:解析 程序执行 printf(“%d%d“,m+,+n);后,输出的是 m和 n+1的值 1

43、235,然后 m+1=13,再执行 printf(“%d%d/n“,n+,+m);输出 n和 m+1的值 3514,之后 n+1=36。这里要注意的是 m+和+m的区别:m+是先输出 m的值,再执行 m+;+m 是先执行 +m,再输出 m的值。29.下列程序的运行结果为( )。#define MAX(x,y)(x)(y)?(x):(y)main()int a=2,b=3,c=1,d=3,t;printf(“%d/n“,(MAX(a+b,c+d)*100);A) 500 B) 5 C) 4 D) 400(分数:2.00)A. B.C.D.解析:解析 本题考查带参数的宏的定义及相关运算:(x)(y

44、)?(x):(y)是 xy 时输出 x,否则输出y,调用 (MAX(a+b,c+d)*100 时,(a+b=5)(c+d=4),所以输出 a+b=5,所以 x=5*100。30.若要用下面的程序片段使指针变量 p指向一个存储整型变量的动态存储单元int *pp=_malloc(sizeof(int);则应填入_。A) int B) int* C) (*int) D) (int*)(分数:1.00)A.B.C.D. 解析:解析 不论 p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之类型一致,强制类型转换的格式为(数据类型*)。31.下述关于数据库系统的叙述中正确的是 _。A) 数据库

45、系统减少了数据冗余B) 数据库系统避免了一切冗余C) 数据库系统中数据的一致性是指数据类型的一致D) 数据库系统比文件系统能管理更多的数据(分数:2.00)A. B.C.D.解析:解析 由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值,而数据的不一致性指的是同一个数据在系统的不同拷贝处有不同的值。32.有定义语句:int x,y;。若要通过 scanf(“%d,%d“,

46、x,y);语句使变量 x得到数值 11,变量y得到数值 12,下面四组输入形式中,错误的是( )。A) 11 12 B) 11,12 C) 11,12 D) 11,12(分数:1.00)A. B.C.D.解析:解析 本题的考查点是格式输入函数。格式输入函数的一般形式:scanf(格式控制,地址表列)。需要注意的是:如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。所以输入的两个数字之间的逗号是不可少的。故本题答案为 A)。33.以下能正确定义一维数组的选项是( )。A) int num; B) #define N 100int numNC) int num0100;D) int N=100int numN;(分数:1.00)A.B. C.D.解析:解析 选项 A定义数组时省略了长度,而 C语言中规定,只有在定义并同时进行初始化时,数组的长度才可以省略,数组的长度为初始化时候的成员个数,故选项 A错误。在 C语言中规定,数组的长度必须是一个整数或整型常量表达式,故选项 C不正确。定义时数组的长度不能使用变量表示,故选项 D不正确,所以,4 个选项中选项 B符合题意。34.数据库系统在其内部具有 3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是( )。 A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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