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

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

1、二级 C 语言笔试-343 及答案解析(总分:105.00,做题时间:90 分钟)一、选择题(总题数:50,分数:72.00)1.下面能正确进行字符串赋值操作的是A) chars5=“ABCDE“; B) char s5=A,b,C,D,E;C) char*s;s=“ABCDE“; D) char*s;scanf(“%s“,s);(分数:2.00)A.B.C.D.2.结构化程序设计的核心和基础是( )。A) 结构化分析方法 B) 结构化设计方法C) 结构化设计理论 D) 结构化编程方法(分数:2.00)A.B.C.D.3.有下面的程序段:char str10,ch=“China“;str=ch

2、; printf(“%s“,str);则运行时_。A) 将输出 China B) 将输出 ChC) 将输出 Chi D) 编译出错(分数:1.00)A.B.C.D.4.若 a 为 int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,a 的值是 _ 。A) -3 B) 9 C) -12 D) 6(分数:1.00)A.B.C.D.5.下列不属于软件工程的 3 个要素的是A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D.6.以下定义语句中正确的是A) int a=b=0; B) char A=65+1,b=b;C) noat a=1,*b=int x=0

3、,y=2,z=0;if(c0) x=x+y;if(a=0) if(b0) if(c=0) y=x-y;else if(c0) y=x-y;else z=y;printf(“%d,%d,%d/n“,x,y,z);A) 2,2,0 B) 2,2,2 C) 0,2,0 D) 2,0,2(分数:2.00)A.B.C.D.9.字符串“/“ABCDEF/“/“的长度是( )。A) 15 B) 10 C) 7 D) 8(分数:2.00)A.B.C.D.10.以下程序的输出结果是main( )int c=35;printf(“%d/n“,cc);A)0 B)70 C)35 D)1(分数:2.00)A.B.C.

4、D.11.有如下程序段int*p,a=10,b=1;p=,则表达式!(x+y)+z-1 for (i=0;iN;i+)bi=aii;main)int xN=1,2,3,4,5,6,7,8,9,10,yN,i;fun(x,y);for (i=0;iN;i+)printf(“%d,“,yi);printf(“/n“);程序的运行结果是()。A) 1,2,3,4, B) 1,0,7,0,C) 1,4,5,9, D) 3,4,8,10,(分数:2.00)A.B.C.D.21.在 C 语言中,函数的隐含存储类别是 ( )AautoBstaticCexternD无存储类别(分数:1.00)A.B.C.D.

5、22.下列可用于 C 语言用户标识符的一组是_。A) void define WORD B) a3_b3 _123 CarC) For -abc IFCase D) 2a DO sizeof(分数:1.00)A.B.C.D.23.设 x、y、z 和 k 都是 int 型变量,则执行表达式:x=(y=4,Z=16,k=32)后,x 的值为_。A) 4 B) 16 C) 32 D) 52(分数:1.00)A.B.C.D.24.希尔排序法属于_ 类型的排序法。A) 交换类排序法 B) 插入类排序法C) 选择类排序法 D) 建堆排序法(分数:1.00)A.B.C.D.25.以下函数值的类型是_。fun

6、(float x)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:1.00)A.B.C.D.26.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为( )。A) EOF B) 非 0 值C) 0 D) NULL(分数:2.00)A.B.C.D.27.有以下程序main()int k=5;while(-k)printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是_。(A) 1(B) 2(C) 4(D) 死循环(分数:1.00)A.B.C.D.28.以下程序的输出结

7、果是_。#includestdio.hmain()int a=5,b=4,c=6,d;printf(“%d/n“,d=ab?(ac?a:c):(b);A) 5 B) 4 C) 6 D) 不确定(分数:1.00)A.B.C.D.29.设计软件结构是在软件生命周期的( )。A) 软件定义期 B) 软件开发期 C) 软件维护期 D) 以上三个都不是(分数:2.00)A.B.C.D.30.下列描述中正确的是( )。A) 软件工程只是解决软件项目的管理问题B) 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发过程中的技术问

8、题(分数:2.00)A.B.C.D.31.有定义语句:char s10;,若要从终端给 s 输入 5 个字符,错误的输入语句是_。A) gets(s0); B) scanf(“%s“,s+1);C) gets(s); D) scanf(“%s“,s1);(分数:2.00)A.B.C.D.32.以下程序的输出结果是_。#inludestdio.hmain()int a=2,b=5;printf(“a=%d,b=%d/n“,a,b);A) a=2,b=5 B) a=%2,b=%5C) a=%d,b=%d D) a=%d,b=%d(分数:1.00)A.B.C.D.33.有以下程序main(int a

9、rge,char *argv )int n,i=0;while(argv1 i !=/0) n-fun(); i+;printf ( “%d/n“ , n*argc.;int fun ( ) static int s=0;s+=1;return s;假设程序经编译、连接后生成可执行文件 exam.exe, 若键入以下命令exam 123 回车A. 6 B. 8 C. 3 D. 4(分数:1.00)A.B.C.D.34.若有语句:char *line5; ,以下叙述中正确的是( )。A) 定义 line 是一个数组,每个数组元素是一个基类型为 char 的指针变量B) 定义 line 是一个指针

10、变量,该变量可以指向一个长度为 5 的字符型数组C) 定义 line 是一个指针数组,语句中的*号称为间址运算符D) 定义 line 是一个指向字符型函数的指针(分数:1.00)A.B.C.D.35.下列程序是用来判断数组中特定元素的位置所在的。#includeconic.h#includestdio.hint fun(int *s,int t,int *k)int i;*k=0;for(i=0;it;i+)if(s*ksi)*k=i;returns*k;main()int a10=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,enum

11、ca1,a2;main()printf(“%d,%d,%d“,sizeof(a) ,sizeof(b) ,sizeof(enum c) );A) 121,0,4 B) 2,2,2 C) 0,2,4 D) 0,2,2(分数:1.00)A.B.C.D.38.有如下程序:main()int x=23;doprintf(“%d“,x-); while(!x);程序运行后的输出结果是( )。A) 321 B) 23C) 不输出任何内容 D) 陷入死循环(分数:1.00)A.B.C.D.39.有以下程序:fun(int x)int p;if(x=0|x=1)return(3);p=x-fun(x-2);r

12、eturn p;main()printf(“%d/n“,fun(7);执行后的输出结果是_。A) 7 B) 3 C) 2 D) 0(分数:2.00)A.B.C.D.40.软件设计中模块划分应遵循的准则是A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合(分数:2.00)A.B.C.D.41.下列说法中,不属于数据模型所描述的内容的是( )。A) 数据结构 B) 数据操作 C) 数据查询 D) 数据约束(分数:1.00)A.B.C.D.42.从一个长度为 n 的顺序表中删除第 i 个元素(1in)时,需向前移动_个元素。An-i Bn-i+1 Cn-i-1 Di(分数

13、:2.00)A.B.C.D.43.以下程序的功能是计算 s=1+12+123+1234+12345。main()int t=0, s=0, i; for(i=1; i=5; i+)t=i+; s=s+t; printf(“s=d%/n“,s); 则程序运行后的输出结果是A) t B) t *10 C) t*100 D) t+10(分数:2.00)A.B.C.D.44.以下程序的输出结果是( )。#finclude “stdlib.h“fun(int*p,int a33)*p=a22;main()int a33=2,4,6,8,10,12,14,16,18,*p;p=(int*)mallocsi

14、zeof(int);fun(B. static char str;str=“China“;C. static char str15,str2=“China“;strl=str2;D. static char str1,str2;str2=“China“;strcpy(str1,str2);(分数:2.00)A.B.C.D.49.以下叙述中,不属于面向对象方法的优点的是( )A) 可重用性好 B) 与人类习惯的思维方法一致C) 可维护性好 D) 有助于实现自顶向下、逐步求精(分数:2.00)A.B.C.D.50.组成计算机网络的最大好处是 ( )A进行通话联系B资源共享C发送电子邮件D能使用更多

15、软件(分数:1.00)A.B.C.D.二、填空题(总题数:20,分数:33.00)51.下列程序的输出结果是_。main()int a=1,b=2;aa+b;ba-b,aa-b;printf(“%d,%d/n“,a,b) ;(分数:1.00)填空项 1:_52.以下程序的输出结果是_。main()int a=5,b=4,c=3,d;d=(abC) ;printf(“%d/n”,D) ;(分数:1.00)填空项 1:_53.实现算法所需的存储单元多少和算法的工作量大小分别称为算法的 1。(分数:1.00)填空项 1:_54.若有如下程序:main()int x=20;if(x10)printf(

16、“%d“,x-=5);if(x15)printf(“%d“,x);则程序运行后的输出结果是_。(分数:1.00)填空项 1:_55.以下程序运行后的输出结果是_。main()int a,b,c;a=25;b=025;c=0x25;printf(“%d %d %d/n“,a,b,c);(分数:1.00)填空项 1:_56.以下程序的运行结果是_。#include stdio.hlong fib(int g)switch(g)case 0: return 0;case 1:case 2: return1;return(fib(g-1)+fib(g-2);main()long k;k=fib(5);

17、printf(“k=%5ld/n“,k);(分数:4.00)填空项 1:_57.算法的复杂度主要包括空间复杂度和 1 复杂度。(分数:1.00)填空项 1:_58.若变量 n 的值为 24,则 print 函数共输出_行,最后一行有_个数。void print(int n,int aa)int i;for(i=1;in;i+)printf(“%6d“,aai);if(!(i%5) printf(“/n“);printf(“/n“);(分数:2.00)填空项 1:_59.以下程序运行后的输出结果是_。struct NODEint k;struct NODE*link;main()struct N

18、ODE m5,*p=m,*q=m+4;int i=0;while(p!=q)p-k=+i;p+;q-k=i+;q-;q-k=i;for(i=0;i5;i+)printf(“%d“,mi.k);printf(“/n“);(分数:2.00)填空项 1:_60.若有说明 char s1=“That girl“,s2=“is beautiful“;则使用函数 strcmp(s1,s2)g,结果是 1。(分数:2.00)填空项 1:_61.若用 0 至 9 之间不同的三个数构成一个三位数,下面程序将统计出共有多少种方法。请填空。#includestdio.hmain()int i,j,k,count=0

19、;for(i=0;i=9;i+)for(j=0;i=9;j+)if(_)continue;else for(k=0;k=9;k+)if(_)count+;printf(“%d“,count);(分数:1.00)填空项 1:_62.设有下列宏定义:#define A 2#define B (A+3)则执行赋值语句“k=B*20;”(k 为 int 型变量)后,k 的值是_。(分数:2.00)填空项 1:_63.若有如下定义,则该数组的第一维大小为_。int b4=1,2,3,4,5,6,7,8,9);(分数:1.00)填空项 1:_64.以下程序运行后的输出结果是_。main()int a=1,

20、b=2,c=3;if(c=A) printf(“%d/n“,C) ;else printf(“%d/n“,B) ;(分数:2.00)填空项 1:_65.有以下程序:#includestdio.hstruct STUint num; float TotalScore; ; void f(struct STU p)struct STU s2=20044, 550, 20045, 537; p. num=s1.num; p.TotalScore=s1. TotalScore; main()struct STU s2=20041, 703, 20042, 580; f(s0); printf(“%d%

21、3.0f/n“, s0. num, s0. TotalScore); 程序运行后的输出结果是_。(分数:2.00)填空项 1:_66.在一个容量为 32 的循环队列中,若头指针 front=3,尾指针 rear=2,则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_67.在 E-R 图中,图形包括矩形框、菱形框、椭圆框,其中表示实体联系的是 1 框。(分数:2.00)填空项 1:_68.下列程序将二维数组 a 的行和列元素互换后存放到另一个二维数组 b 中。请填空。main()int a23=1,2,3,4,5,b32,i,j;for(i=0;i2;i+)for(j=0;j3;j

22、+)_;(分数:2.00)填空项 1:_69.按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和_。(分数:2.00)填空项 1:_70.以下函数 creat 用来建立一个带头结点的单向链表,新产生的结点是插在链表头的末尾。单向链表的头指针作为函数值返回。请填空。# includestdiohstruct listchar data;struct list * next;struct list * creat;struct list * h,* p,* q;char ch;h(_)malloc ( sizeof(struct list);pqh;chgetchar();whil

23、e(ch!?)p(_)mallco(sizeof(struct list);p-datach;q-nextp;qp;chgetchar();p-next/0;_;(分数:1.00)填空项 1:_二级 C 语言笔试-343 答案解析(总分:105.00,做题时间:90 分钟)一、选择题(总题数:50,分数:72.00)1.下面能正确进行字符串赋值操作的是A) chars5=“ABCDE“; B) char s5=A,b,C,D,E;C) char*s;s=“ABCDE“; D) char*s;scanf(“%s“,s);(分数:2.00)A.B.C. D.解析:解析 考查了一维字符数组的定义和初

24、始化。解题要点 选项 A)和 B)定义的数组空间太小,至少应该为 6 个字符的长度才可以。选项 D)中的指针 s未赋初值,所以指向一个不确定的地址,因而不能用 scanf 输入数据到这一指针所指向的地址中。考点链接 通过赋初值的方式给一维字符数组赋字符串。2.结构化程序设计的核心和基础是( )。A) 结构化分析方法 B) 结构化设计方法C) 结构化设计理论 D) 结构化编程方法(分数:2.00)A.B.C. D.解析:解析 结构化程序设计的核心和基础是结构化设计理论,其中包括:结构化分析方法、结构化设计方法和结构化编程方法。3.有下面的程序段:char str10,ch=“China“;str

25、=ch; printf(“%s“,str);则运行时_。A) 将输出 China B) 将输出 ChC) 将输出 Chi D) 编译出错(分数:1.00)A.B.C.D. 解析:4.若 a 为 int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,a 的值是 _ 。A) -3 B) 9 C) -12 D) 6(分数:1.00)A.B.C. D.解析:解析 C 语言中对赋值运算的运算的运算顺序是自右向左。本题中,计算 a*a 之后,a 的值依然为3,表达式 a*a 的值为 9;a-=9, a=3-9=-6:a+=-6,a=-6+-6=-12。5.下列不属于软件工程的 3 个要素的是

26、A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D. 解析:解析 本题考查了软件工程的基本概念。解题要点 软件工程包括 3 个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制和管理。考点链接 软件生命周期。6.以下定义语句中正确的是A) int a=b=0; B) char A=65+1,b=b;C) noat a=1,*b=int x=0,y=2,z=0;if(c0) x=x+y;if(a=0) if(b0) if(c=0) y=x-y;else if(c0) y=x-y;else z

27、=y;printf(“%d,%d,%d/n“,x,y,z);A) 2,2,0 B) 2,2,2 C) 0,2,0 D) 2,0,2(分数:2.00)A. B.C.D.解析:解析 本题考查 if else 语句的使用。 先判断第 1 个 if 语句,因为 c=10,所以x=x+y=0+2=2。第 1 个 if 语句,因为 a=-50,所以进入下列的复合语句。经判断发现,复合语句中第 2个汀语句的条件均不满足,不执行任何语句退出,在这个过程中 y 和 x 的值没有发生变化。9.字符串“/“ABCDEF/“/“的长度是( )。A) 15 B) 10 C) 7 D) 8(分数:2.00)A.B. C.

28、D.解析:解析 本题涉及字符串最基本的 2 个概念:字符串的长度是指字符串中字符的个数,但不包括字符串结束符;以反斜杠“/”开头的特殊字符序列,意思是把反斜杠后面的字符序列转换成特定的含义,而不是原来的含义,不包含在字符串长度之内,“/”连同后面的字符为一个长度。10.以下程序的输出结果是main( )int c=35;printf(“%d/n“,cc);A)0 B)70 C)35 D)1(分数:2.00)A.B.C. D.解析:解析 本题考查按位与“”。因为 1,则表达式!(x+y)+z-1 for (i=0;iN;i+)bi=aii;main)int xN=1,2,3,4,5,6,7,8,

29、9,10,yN,i;fun(x,y);for (i=0;iN;i+)printf(“%d,“,yi);printf(“/n“);程序的运行结果是()。A) 1,2,3,4, B) 1,0,7,0,C) 1,4,5,9, D) 3,4,8,10,(分数:2.00)A.B. C.D.解析:解析 本题考查的是二维数组的定义、赋初值和对二维数组元素的引用。分析程序可知,函数fun()中的 for 循环作用,是将数组前 4 行中的对角线上的元素,即 a00、a11、a22和 a33分别赋到 b0、b1、b2、b3中。在主函数中首先定义了一个 4 行 4 列的二维数组 x,并初始化为1,2,3,4,5,6

30、,7,8,9,10。然后调用 fun()函数,将 x 的对角线元素赋给一维数组y。接着通过循环输出数组 y 中的值。从数组 x 的初始化列表中我们可以看出,这 4 个值依次为1,0,7,0。21.在 C 语言中,函数的隐含存储类别是 ( )AautoBstaticCexternD无存储类别(分数:1.00)A. B.C.D.解析:22.下列可用于 C 语言用户标识符的一组是_。A) void define WORD B) a3_b3 _123 CarC) For -abc IFCase D) 2a DO sizeof(分数:1.00)A.B. C.D.解析:解析 C 语言规定标识符只能由字母、

31、数字和下划线 3 种字符组成,且第一个字符必须为字母或下划线,所以排除 C 和 D。C 语言还规定标识符不能为 C 语言的关键字,从而选项 A(void 是关键字)是错误的。23.设 x、y、z 和 k 都是 int 型变量,则执行表达式:x=(y=4,Z=16,k=32)后,x 的值为_。A) 4 B) 16 C) 32 D) 52(分数:1.00)A.B.C. D.解析:24.希尔排序法属于_ 类型的排序法。A) 交换类排序法 B) 插入类排序法C) 选择类排序法 D) 建堆排序法(分数:1.00)A.B. C.D.解析:解析 希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别

32、进行插入排入。所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。25.以下函数值的类型是_。fun(float x)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:1.00)A. B.C.D.解析:解析 C 语言中如果函数前不加任何数据类型时,默认函数的类型为整型,函数的类型就是函数返回值的类型。26.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为( )。A) EOF B) 非 0 值C) 0 D) NULL(分数:2.00)A.B. C.D.解析:解析 ANSI C

33、 提供的 feof 函数的功能是判断 fp 所指的文件的位置是否已达到文件尾,如果达到文件尾,则 feof 函数的值为 1,否则为 0,表示文件尚未结束。27.有以下程序main()int k=5;while(-k)printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是_。(A) 1(B) 2(C) 4(D) 死循环(分数:1.00)A. B.C.D.解析:28.以下程序的输出结果是_。#includestdio.hmain()int a=5,b=4,c=6,d;printf(“%d/n“,d=ab?(ac?a:c):(b);A) 5 B) 4 C) 6 D) 不确定

34、(分数:1.00)A.B.C. D.解析:29.设计软件结构是在软件生命周期的( )。A) 软件定义期 B) 软件开发期 C) 软件维护期 D) 以上三个都不是(分数:2.00)A.B. C.D.解析:解析 设计软件结构是在软件概要设计阶段进行的,而概要设计属于软件开发期。30.下列描述中正确的是( )。A) 软件工程只是解决软件项目的管理问题B) 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发过程中的技术问题(分数:2.00)A.B.C. D.解析:解析 软件工程是指将工程化的思想应用于软件的开发、应用和维护

35、的过程,包括软件开发技术和软件工程管理。31.有定义语句:char s10;,若要从终端给 s 输入 5 个字符,错误的输入语句是_。A) gets(s0); B) scanf(“%s“,s+1);C) gets(s); D) scanf(“%s“,s1);(分数:2.00)A.B.C.D. 解析:解析 字符串的输入有两种方式:使用 scanf()函数和使用 get()函数。采用 scanf()函数输入时,输入项为字符串的地址值,输入字符依次放入以这一地址为起点的存储单元中。选项 C 是正确的,输入字符从数组的第 2 个位置开始存放;选项 D 是错误的,s1是字符,不是地址值。gets()的调

36、用形式为:gets(str_adr),其中 str_adr 为存放字符串的首地址。选项 A 中,s0为数组的首地址,选项 C 中,s也为数组的首地址因此选项 A 和 C 都是正确的。32.以下程序的输出结果是_。#inludestdio.hmain()int a=2,b=5;printf(“a=%d,b=%d/n“,a,b);A) a=2,b=5 B) a=%2,b=%5C) a=%d,b=%d D) a=%d,b=%d(分数:1.00)A.B.C.D. 解析:33.有以下程序main(int arge,char *argv )int n,i=0;while(argv1 i !=/0) n-f

37、un(); i+;printf ( “%d/n“ , n*argc.;int fun ( ) static int s=0;s+=1;return s;假设程序经编译、连接后生成可执行文件 exam.exe, 若键入以下命令exam 123 回车A. 6 B. 8 C. 3 D. 4(分数:1.00)A. B.C.D.解析:解析 主函数的第一个参数 alzc 为整形参数,记下从命令行输入的参数的个数;笫二个参数argv 是一个字符型的指针数组,它的每一个元素指向命令行输入的参数字符数。在本例中 argc 的值为2,argv0指向字符串“exam”,argv1指向参数字符串“123”。在 mai

38、n()函数中,while 循环执行了3 次,调用了 3 次 fun()函数;第一次调用了 fun()函数时,定义了一个静态变量 s 并赋初值 0,加 1 后作为函数值返回,n 的值为 1;第二次调用 ram()函数时,静态变量 s 的值将保留上一次退出时的值 1,再加 1 为 2,作为函数值返回,n 的值为 2;同理第三次调用返回后,n 的值为 3。输出 n*argc 的值为 6 所以,A 选项为所选。34.若有语句:char *line5; ,以下叙述中正确的是( )。A) 定义 line 是一个数组,每个数组元素是一个基类型为 char 的指针变量B) 定义 line 是一个指针变量,该变

39、量可以指向一个长度为 5 的字符型数组C) 定义 line 是一个指针数组,语句中的*号称为间址运算符D) 定义 line 是一个指向字符型函数的指针(分数:1.00)A. B.C.D.解析:解析 C 语言中nbsp; nbsp; nbsp; 比*优先级高,因此 line 先与5结合,形成 line5形式,这是数组形式,它有 5 个元素,然后再与 line 前面的“*”结合,表示此数组是一个指针数组,每个数组元素都是一个基类型为 char 的指针变量。35.下列程序是用来判断数组中特定元素的位置所在的。#includeconic.h#includestdio.hint fun(int *s,i

40、nt t,int *k)int i;*k=0;for(i=0;it;i+)if(s*ksi)*k=i;returns*k;main()int a10=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,enum ca1,a2;main()printf(“%d,%d,%d“,sizeof(a) ,sizeof(b) ,sizeof(enum c) );A) 121,0,4 B) 2,2,2 C) 0,2,4 D) 0,2,2(分数:1.00)A.B. C.D.解析:解析 sizeof 函数是取变量所占的存储空间的字节数,标识 a 代表常量 121

41、:const b=12;,其中数据类型可以缺省,默认为整型;enum ca1,a2;定义了一个枚举类型 enum c,a1,a2 为枚举元素,在 C 编译时,对枚举元素按常量处理,它们的值按定义顺序依次为 0,1。因此它们的字节数均为 2,2,2。38.有如下程序:main()int x=23;doprintf(“%d“,x-); while(!x);程序运行后的输出结果是( )。A) 321 B) 23C) 不输出任何内容 D) 陷入死循环(分数:1.00)A.B. C.D.解析:解析 本题中使用 do-while 循环,每执行一次循环体输出 x 的值后将 x 减 1。当 x=23,执行循环

42、体输出 x 为 23,X=X-1=23-1=22,判断循环条件是否成立,因为 x=22,!x 的值为 0,终止循环,因此只输出 23。39.有以下程序:fun(int x)int p;if(x=0|x=1)return(3);p=x-fun(x-2);return p;main()printf(“%d/n“,fun(7);执行后的输出结果是_。A) 7 B) 3 C) 2 D) 0(分数:2.00)A.B.C. D.解析:解析 x=7,通过递归调用 fun 函数后得到结果。40.软件设计中模块划分应遵循的准则是A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合(分数

43、:2.00)A.B. C.D.解析:解析 模块划分应遵循的准则包括模块之间的耦合和内聚。一般来说,要求模块之间的耦合尽可能地低,即模块尽可能独立;模块的内聚程度尽可能地高,即遵循高内聚、低耦合的原则。41.下列说法中,不属于数据模型所描述的内容的是( )。A) 数据结构 B) 数据操作 C) 数据查询 D) 数据约束(分数:1.00)A.B.C. D.解析:解析 数据模型所描述的内容有 3 个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。本题答案为 C)。42.从一

44、个长度为 n 的顺序表中删除第 i 个元素(1in)时,需向前移动_个元素。An-i Bn-i+1 Cn-i-1 Di(分数:2.00)A. B.C.D.解析:43.以下程序的功能是计算 s=1+12+123+1234+12345。main()int t=0, s=0, i; for(i=1; i=5; i+)t=i+; s=s+t; printf(“s=d%/n“,s); 则程序运行后的输出结果是A) t B) t *10 C) t*100 D) t+10(分数:2.00)A.B. C.D.解析:解析 1、12、123、1234、12345 可以写成 1=0 *10+1、12=1 *10+2、123=12*10+3、1234=123*10+4、12345=1234 *10+5,按照这种规律后一项可以等于前一项乘以 10

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

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

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