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

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

1、二级 C语言笔试-250 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列说法不正确的是(分数:2.00)A.int *fun();-fun是一个返回 int指针的函数B.int (*fun)();-fun是一个返回 int指针的函数C.int (*array5)();-array是一个有 5个元素的数组,每一个元素都是一个函数指针,指向一个返回 int的函数D.int (*fun(int)(int);-fun是带有一个 int参数的函数,返回值是一个函数指针,这个指针指向带有一个 int参数并返回 int的函数2.下面程序的运行结果是

2、( )。#include“stdio.h“main()int i;for(i=1;i=5;i+)if(i%2)printf(“*“);elseprintf(“#“);(分数:2.00)A.*#*#*B.#*#*#*C.*#*#D.#*#*3.需求分析阶段的任务是( )。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能4.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。(分数:2.00)A.外模式/模式B.内模式/外模式C.模式/内模式D.内模式/模式5.下列程序的输出结果是( )。#includestdio.hvoid fun(in

3、t*a,int*b)int *k;k=a;a=b;b=k;main()int a=1,b=2,*x=fun(x,y);printf(“%d%d“,a,b);(分数:2.00)A.2 1B.1 2C.编译出错D.0 06.有以下字符串,说明表达式 strlen(s)值的是( )。char s10=a,/n,a,b,/t,c;(分数:2.00)A.10B.1C.6D.77.当输入为“Foolwhile(c!=?)c=getchar();putchar(C) ;(分数:2.00)A.SwalowB.FoolC.Fool?D.?Swalow8.有以下程序:main()int n=0;don+;prin

4、tf(“%d/n“,n);while(n=3);程序的输出结果是( )。(分数:2.00)A.12B.123C.1234D.19.有以下程序:main()int k=33;printf(“%d,%o,%x“,k,k,k);执行后的输出结果是( )。(分数:2.00)A.33,033,0x21B.33,033,21C.33,041,021D.33,41,2110.以下对联合类型叙述正确的是( )。(分数:2.00)A.可以对联合变量名直接赋值B.使用联合变量的目的是为了节省内存C.任何一个联合变量可以同时引用联合中的不同成员D.联合类型定义中不能同时出现结构类型的成员11.以下 4个选项,不能看

5、作一条语句的是( )。(分数:1.00)_12.若变量都已正确说明,则以下程序段( )。#includestdio.hmain()int a=8;int b=6;printf(ab?“(分数:1.00)A.输出为:(分数:1.00)A.p+5B.*a+1C.float printF;printf(“请输入 2个数:“);scanf(“%d %f“,printf(“%d%f/n“,Case,printF);以下说法正确的是( )。(分数:1.00)A.定义浯句出错,Case 是关键字,不能用作用户自定义标识符,printF 不能用作用户自定义标识符B.定义语句出错,Int 无法被识别C.定义语句

6、无错,scanf 不能作为输入函数使用D.定义语句无错,printf 不能输出 Case的值17.下列程序的输出结果是( )。#include “stdio.h“main()struct stint y,x,z;unionlong i;int j;char k; un;printf(“%d,%d/n“,sizeo(struct st),sizeof(un);(分数:1.00)A.6,2B.6,4C.8,4D.8,618.请阅读以下程序:#includestdio.h#includestring.hvoid fun(int b)static int i=0;dobi+=bi+1;while(+i

7、2);main()int k,a5=1,3,5,4,9;fun((分数:1.00)A.;for(k=0;k519.若有定义:float x=1.5;int a=1,b=3,c=2;则正确的 switch语句是( )。(分数:1.00)A.switch(x)case 1.0:printf(“*/n“); case 2.0:printf(“*/n“);B.switch(int)x);case 1:printf(“*/n“);case 2:printf(“*/n“);C.switch(a+b)case 1:printf(“*/n“);case 2+1:printf(“*/n“);D.switch(a

8、+b)case 1:printf(“*/n“);case c:printf(“*/n“);)20.有以下程序#includestdio.hmain()FILE *fp;int i=20,j=30,k,n;fp=fopen(“d1.dat“,“w“);fprintf(fp,“%d/n“,i);fprintf(fp,“%d/n“,j);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“,printf(“%d%d/n“,k,n);fclose(fp);程序运行后的输出结果是( )。(分数:1.00)A.20 30B.20 50C.30 50D.30

9、2021.下列关于线性链表的描述中,正确的是( )。、只含有一个指针域来存放下一个元素地址、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)、结点由两部分组成:数据域和指针域。(分数:2.00)A.仅、B.仅、C.仅、D.全部22.设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为( )。(分数:2.00)A.23,13,51,57,66,26,81,69,76B.13,23,26,51,57,66,81,76,69C.23,13,51,57,26,66,81

10、,69,76D.23,13,51,57,81,26,66,69,7623.下面程序的运行结果是( )。#includestdio.hvoid del(char*s)int i,j;char *a;a=s;for(i=0,j=0;ai!=/0;i+)if(ai=0j+;sj=/0;main()char s=“aa89gggh“;del(s);printf(“/n%s“,s);(分数:2.00)A.aaB.89C.ggghD.aa89gggh24.设 a和 b均为 int型变量,且 a=6、b=11、c=3,则能使值为 3的表达式是( )。(分数:2.00)A.b%(c%4)B.b%(c-a%5)

11、C.b%a-a%5D.(b%a)-(a%4)25.下面程序段的输出结果是( )。#includestdio.hmain()float x=1.236547;printf(“%f/n“,(int)(x*1000+0.5)/(float)1000);(分数:2.00)A.1.237000B.输出格式说明与输出项不匹配,输出无定值C.1.236000D.1.2426.以下程序中 C的二进制值是( )。char a=2,b=4,c;c=ab2(分数:2.00)A.00000011B.00010100C.000111100D.000l 100027.在关系代数运算中,有 5种基本运算,它们是( )。(分

12、数:2.00)A.并()、差(-)、交()、除()和笛卡儿积()B.并()、差(-)、交()、投影()和选择()C.并()、交()、投影()、选择()和笛卡儿积()D.并()、差(-)、投影()、选择()和笛卡儿积()28.下列二维数组初始化语句中,正确且与语句 int a3=1,2,3,4,5等价的是( )。(分数:2.00)A.int a2=1,2,3,4,5;B.int a3=1,2,3,4,5,0;C.int a3=1,0,2,0,3,0;D.int a2=1,2,3,4,5,6;29.下列哪一条不属于数据库设计的任务?( )(分数:2.00)A.设计数据库应用结构B.设计数据库概沦结

13、构C.设计数据库逻辑结构D.设计数据库物理结构30.语句“printf(“a/bhow/are/y/bou/n“);”的输出结果是( )。(分数:2.00)A.a/bhow/are/y/bouB.a/bhow/are/y/bouC.howareyouD.ahowarey/bou31.下列不合法的用户标识符是( )。(分数:2.00)A.j2_KEYB.DoubleC.4dD._8_32.以下程序的输出结果是( )。main()int a=4,b=3,c=2,d=1;printf(“%d“,ab?a:dc?d:b);(分数:2.00)A.1B.3C.2D.433.以下关于 return语句的叙述

14、中不正确的是( )。(分数:2.00)A.一个自定义函数中必须有一条 return语句B.一个自定义函数中可以根据不同情况设置多条 return语句C.如果一个函数有多个 return语句,那么不论运行到哪一个 return语句,该函数将结束D.没有 return语句的自定义函数在执行完最后一条语句时返回到调用处34.在下述程序中,判断 ij 共执行的次数是( )。main()int i=0,j=10,k=2,s=0;for(;)i+=k;if(ij)printf(“%d“,s);break;s+=i;(分数:2.00)A.4B.7C.5D.635.若输入 bcdefgh、m、abcdefg,

15、以下程序的输出结果为( )。#includestdio.h#includestring.hmain()int i;char string20,str320;for(i=0;i3;i+)gets(stri);if(strcmp(str0,str1)0)strcpy(string,str0);else strcpy(string,str1);if(strcmp(str2,string)0)strcpy(string,str2);printf(“%s“,string);(分数:2.00)A.bcdefghB.mC.abcdefgD.bcdefgh或 abcdefg36.有以下程序:#includes

16、tdio.hvoid fun(char *c,int d)*c=*c+1;d+=1;printf(“%c,%c“,*c,d);main()char a=F,b=f;fun(printf(“%c,%c/n“,a,B.;程序的输出结果为( 37.判断字符串 s1是否大于字符串 s2,应该使用( )。(分数:2.00)A.if(strcmp(s1,s2)0)B.if(s1s2)C.if(strcmp(s2,s1)0)D.if(strcmp(s1,s2)38.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、

17、制表39.数据库技术的根本目标是( )。(分数:2.00)A.数据存储B.数据共享C.数据查询D.数据管理40.下面关于数据库三级模式结构的叙述中,正确的是( )。(分数:2.00)A.内模式可以有多个,外模式和模式只有一个B.外模式可以有多个,内模式和模式只有一个C.内模式只有一个,模式和外模式可以有多个D.模式只有一个,外模式和内模式可以有多个二、填空题(总题数:15,分数:30.00)41.软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 1 阶段。(分数:2.00)填空项 1:_42.不改变关系表中的属性个数但能减少元组个数的是 1。(分数:2.00)填

18、空项 1:_43.用树形结构表示实体之间联系的模型是 1。(分数:2.00)填空项 1:_44.在两种基本测试方法中, 1 测试的原则之一是保证所测模块中每一个独立路径至少执行一次。(分数:2.00)填空项 1:_45.与二维表中的“行”的概念最接近的概念是 1。(分数:2.00)填空项 1:_46.定义 int a=5,b;,则执行表达式 b=+a*-a之后,变量 b的值为 1。(分数:2.00)填空项 1:_47.下面程序的输出是_。main()int arr8,i,k=0;for(i=0;i8;i+)arri=i;for(i=1;i5;i+)k+=arri+i;printf(“%d/n“

19、,k);(分数:2.00)填空项 1:_48.下面程序的输出结果是_。main()int i=0,a=0;while(i20)for(;)if(i%10)=0)break;else i-;i+=11;a+=i;printf(“%d/n“,a);(分数:2.00)填空项 1:_49.若给 fun函数的形参 s传送字符串:“abc-6354abc“,则函数的返回值是_。(字符串中包括空格)long fun(char S)long n;int sign;for(;isspace(*s)|islower(*s);s+);sign=(*s=-)?-1:1;if(*s=+|*s=-)s+;for(n=0;

20、isdigit(*s);s+)n=10*n+(*S-0);return sign*n;(分数:2.00)填空项 1:_50.以下程序的输出结果是_。#includestdio.hmain()int x=27;while(x20if(x/3)x+;break;elsecontinue;printf(“%d/n“,x);(分数:2.00)填空项 1:_51.以下程序的输出结果是_。#includestdio.hmain()fint x=0;sub(printf(“%d/n“,x);sub(int*a,int n,int k)if(k=n) sub(a,n/2,2*k);*a+=k;(分数:2.00

21、)填空项 1:_52.下面程序的运行结果是_。#includestdio.hmain()int a=25;fun(fun(int *x)printf(“%d/n“,+*x);(分数:2.00)填空项 1:_53.下面程序运行后的输出结果是_。#includestdio.hmain()int a=1,2,3,4,5,6,*k3,i=1;while(i4)ki-1=printf(“%d“,*ki-1);i+;(分数:2.00)填空项 1:_54.下面程序的运行结果是_。#define EXCH(a,b)int t;t=a;a=b;b=t;main()int x=1,y=2;EXCH(x,y);pr

22、intf(“x=%d,y=%d/n“,x,y);(分数:2.00)填空项 1:_55.以下程序的功能是将字符串 s中所有小写字母a删去,请填空。#includestdio.hmain()char s=“absuWWUDJFKFLaaakdK“;int i,j;for(i=j=0;si!=/0;i+)if( )sj+=si;sj=/0;printf(“%s“,s);(分数:2.00)填空项 1:_二级 C语言笔试-250 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列说法不正确的是(分数:2.00)A.int *fun();-fun是一个

23、返回 int指针的函数B.int (*fun)();-fun是一个返回 int指针的函数 C.int (*array5)();-array是一个有 5个元素的数组,每一个元素都是一个函数指针,指向一个返回 int的函数D.int (*fun(int)(int);-fun是带有一个 int参数的函数,返回值是一个函数指针,这个指针指向带有一个 int参数并返回 int的函数解析:解析 该函数中 fun是一个函数指针。指向一个返回 int的函数。2.下面程序的运行结果是( )。#include“stdio.h“main()int i;for(i=1;i=5;i+)if(i%2)printf(“*“

24、);elseprintf(“#“);(分数:2.00)A.*#*#* B.#*#*#*C.*#*#D.#*#*解析:解析 分析程序呵知程序循环 5次,然后利用 if语句决定每次循环时输出的字符。当 i为奇数时,i%2=1,if(i%2)为真,输出“*”;当 i为偶数时,i%2=0,if(i%2)为假,执行 else语句,输出“#”,所以当 i取 1、3、5 值时输出“*”,当 i取 2、4 值时输出“#”。3.需求分析阶段的任务是( )。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能 解析:解析 需求分析足软件定义时期的最后一个阶段,它的基本任务就是详细调查

25、现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。4.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。(分数:2.00)A.外模式/模式 B.内模式/外模式C.模式/内模式D.内模式/模式解析:解析 数据库有两层映像,即外模式/模式和模式/内模式映像。模式/内模式映像定义数据库全局逻辑结构与存储结构之间的对应关系。5.下列程序的输出结果是( )。#includestdio.hvoid fun(int*a,int*b)int *k;k=a;a=b;b=k;main()int a=1,b=2,*x=fun(x,y);p

26、rintf(“%d%d“,a,b);(分数:2.00)A.2 1B.1 2 C.编译出错D.0 0解析:解析 本题考查函数凋用时的参数传递。分析题目可知 fun函数的形参是指向实参的指针,但main()函数中调用 fun()函数时,实参是指引变量 x、y(分别为指向 a和 b的指针)。a、b 的值在函数调用前后未发生变化,因而 a=1,b=2,即输出 12。6.有以下字符串,说明表达式 strlen(s)值的是( )。char s10=a,/n,a,b,/t,c;(分数:2.00)A.10B.1C.6 D.7解析:解析 strlen(s)返回 s字符串中字符的个数,若 s是一个数组,则返回数组

27、元素的个数。7.当输入为“Foolwhile(c!=?)c=getchar();putchar(C) ;(分数:2.00)A.SwalowB.FoolC.Fool? D.?Swalow解析:解析 本程序是通过 getchar()函数读入字符,并通过 putchar()函数将字符逐个输出,当用户输入“?”时停止输出。8.有以下程序:main()int n=0;don+;printf(“%d/n“,n);while(n=3);程序的输出结果是( )。(分数:2.00)A.12B.123C.1234 D.1解析:解析 本题考查 dowhile循环。在 dowhile构成的循环体中,总是先执行一次循环

28、体,然后再求表达式的值。当执行完第三次循环时,得到 n=3,while 循环表达式仍然成立,接着执行直到 n=4,表达式不成立,跳出循环,结束程序。9.有以下程序:main()int k=33;printf(“%d,%o,%x“,k,k,k);执行后的输出结果是( )。(分数:2.00)A.33,033,0x21B.33,033,21C.33,041,021D.33,41,21 解析:解析 本题考查不同进制间的转换。printf 输出函数中输出变量的格式,由输出格式符决定。题中“%o”格式符表示以八进制的形式输出;“%x”格式符表示以十六进制的形式输出。“33”的八进制和十六进制分别是 41和

29、 21。10.以下对联合类型叙述正确的是( )。(分数:2.00)A.可以对联合变量名直接赋值B.使用联合变量的目的是为了节省内存 C.任何一个联合变量可以同时引用联合中的不同成员D.联合类型定义中不能同时出现结构类型的成员解析:解析 由于联合体是同一存储区域由不同类型的变量共享,所以不可以直接对联合体变量名进行赋值,且联合体中的空间在某一时刻只能保持某一成员的数据:另外合体中可以出现结构类型的成员。11.以下 4个选项,不能看作一条语句的是( )。(分数:1.00)_解析:解析 if 语句是用来判定所给的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。在 if和 else后

30、面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时用花括号“12.若变量都已正确说明,则以下程序段( )。#includestdio.hmain()int a=8;int b=6;printf(ab?“(分数:1.00)A.输出为:(分数:1.00)A.p+5B.*a+1C.float printF;printf(“请输入 2个数:“);scanf(“%d %f“,printf(“%d%f/n“,Case,printF);以下说法正确的是( )。(分数:1.00)A.定义浯句出错,Case 是关键字,不能用作用户自定义标识符,printF 不能用作用户自定义标识符B.定义语句出错,Int

31、 无法被识别 C.定义语句无错,scanf 不能作为输入函数使用D.定义语句无错,printf 不能输出 Case的值解析:解析 C 语亩足一种大小写敏感的语言,因此 Int应为 int,而 Case printF则可以使用。17.下列程序的输出结果是( )。#include “stdio.h“main()struct stint y,x,z;unionlong i;int j;char k; un;printf(“%d,%d/n“,sizeo(struct st),sizeof(un);(分数:1.00)A.6,2B.6,4 C.8,4D.8,6解析:解析 本题考查的是结构和数组元素所占的字

32、节数。题目中定义的结构 st因为包含 x、y、z 这 3个元素,所以 size(struct st)=2+2+2=6;而联合体所占的字节数,由于最后存入的元素会把前面存入的元素覆盖掉,所以联合体所占的字节数就是占据最多存储单元的元素所占的字节数,sizeof(un)=sizeof(long)=4。18.请阅读以下程序:#includestdio.h#includestring.hvoid fun(int b)static int i=0;dobi+=bi+1;while(+i2);main()int k,a5=1,3,5,4,9;fun((分数:1.00)A.;for(k=0;k5解析:解析

33、本题考查的是 for循环以及 while循环。fun 函数中定义了静态变量 i=0,fun(a)使得 a0=a0+a1=4,a1=a1+a2=8,此时 i的值变为 1,+i2 不成立,所以 do-while循环结束,输出数组 a的各元素即得到 48549。19.若有定义:float x=1.5;int a=1,b=3,c=2;则正确的 switch语句是( )。(分数:1.00)A.switch(x)case 1.0:printf(“*/n“); case 2.0:printf(“*/n“);B.switch(int)x);case 1:printf(“*/n“);case 2:printf(

34、“*/n“);C.switch(a+b)case 1:printf(“*/n“);case 2+1:printf(“*/n“); D.switch(a+b)case 1:printf(“*/n“);case c:printf(“*/n“);)解析:解析 在 C语言中,switch()后的一对圆括号中可以是整型表达式或字符表达式。case 语句后面的常量表达式的类型必须与 switch后圆括号中的表达式类型相同,备 case语句标号的值应该互不相同。选项 A)中 case后面的常量表达式为实型,所以不正确;选项 D)中 case后面出现了变量表达式,所以选项 D)错误。20.有以下程序#incl

35、udestdio.hmain()FILE *fp;int i=20,j=30,k,n;fp=fopen(“d1.dat“,“w“);fprintf(fp,“%d/n“,i);fprintf(fp,“%d/n“,j);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“,printf(“%d%d/n“,k,n);fclose(fp);程序运行后的输出结果是( )。(分数:1.00)A.20 30 B.20 50C.30 50D.30 20解析:解析 分析程序段,首先以只写方式打开文件,利用 fprintf函数将 i和 j的值写入到文件d1.dat中

36、,然后关闭文件;再以只读方式打开文件利用格式化输入函数 fscanf将文件中的数据赋值给k和 n,最后输出 k和 n的值,分别是 20和 30。21.下列关于线性链表的描述中,正确的是( )。、只含有一个指针域来存放下一个元素地址、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)、结点由两部分组成:数据域和指针域。(分数:2.00)A.仅、B.仅、C.仅、D.全部 解析:解析 在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。

37、其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。22.设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为( )。(分数:2.00)A.23,13,51,57,66,26,81,69,76 B.13,23,26,51,57,66,81,76,69C.23,13,51,57,26,66,81,69,76D.23,13,51,57,81,26,66,69,76解析:解析 快速排序是起泡排序的改进。在快速排序中,任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,

38、关键码值比它小的在一部分,关键码值比它大的在另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。23.下面程序的运行结果是( )。#includestdio.hvoid del(char*s)int i,j;char *a;a=s;for(i=0,j=0;ai!=/0;i+)if(ai=0j+;sj=/0;main()char s=“aa89gggh“;del(s);printf(“/n%s“,s);(分数:2.00)A.aaB.89 C.ggghD.aa89gggh解析:解析 本题中 del(char*s)函数实现的功能是:逐个读入 s数组中的字符,如果遇到数字,则将其重新存在 s中

39、,遇到非数字字符则跳过。所以最后输出的应该是字符串 s中的所有数字。24.设 a和 b均为 int型变量,且 a=6、b=11、c=3,则能使值为 3的表达式是( )。(分数:2.00)A.b%(c%4)B.b%(c-a%5)C.b%a-a%5D.(b%a)-(a%4) 解析:解析 选项 D)括号内的运算分别是 b%a=11%6=5和 a%c=6%4=2,最后得到 5-2=3。25.下面程序段的输出结果是( )。#includestdio.hmain()float x=1.236547;printf(“%f/n“,(int)(x*1000+0.5)/(float)1000);(分数:2.00)

40、A.1.237000 B.输出格式说明与输出项不匹配,输出无定值C.1.236000D.1.24解析:解析 本题中,(int)(x*1000+0.5)的结果为 1237,(float)1000 是将 1000强制转换成 float类型;整个表达式(int)(x*1000+0.5)/(float)1000 的结果为 1.237000,再以实数(6 位小数)形式输出。26.以下程序中 C的二进制值是( )。char a=2,b=4,c;c=ab2(分数:2.00)A.00000011 B.00010100C.000111100D.000l 1000解析:解析 本题主要考查按位异或和右移运算。b=4

41、 的二进制为 00000100,b2 后为00000001,a=2 的二进制为 00000010,两者异或为 00000011。27.在关系代数运算中,有 5种基本运算,它们是( )。(分数:2.00)A.并()、差(-)、交()、除()和笛卡儿积()B.并()、差(-)、交()、投影()和选择()C.并()、交()、投影()、选择()和笛卡儿积()D.并()、差(-)、投影()、选择()和笛卡儿积() 解析:解析 并、差、笛卡儿积、投影和选择是 5种基本的运算,其他运算即交、连接和除,均可以通过 5种基本的运算来表达。28.下列二维数组初始化语句中,正确且与语句 int a3=1,2,3,4

42、,5等价的是( )。(分数:2.00)A.int a2=1,2,3,4,5;B.int a3=1,2,3,4,5,0; C.int a3=1,0,2,0,3,0;D.int a2=1,2,3,4,5,6;解析:解析 此题考查的是二维数组的初始化。题干中数组 a的第二个下标为 3由此可知数组 a是一个 2行 3列的数组,初始化时末赋初值的元素的值自动为 0,所以与选项 B) 是等价的,最后一个元素的值为 0。29.下列哪一条不属于数据库设计的任务?( )(分数:2.00)A.设计数据库应用结构 B.设计数据库概沦结构C.设计数据库逻辑结构D.设计数据库物理结构解析:解析 数据库设计工作量大而且过

43、程复杂,既是一项数据库工程也是一项庞大的软件工程。考虑数据库及其应用系统开发全过程,将数据库设计分为以下 6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的运行和维护。30.语句“printf(“a/bhow/are/y/bou/n“);”的输出结果是( )。(分数:2.00)A.a/bhow/are/y/bouB.a/bhow/are/y/bouC.howareyou D.ahowarey/bou解析:解析 “/b”格式符表示退格,功能是将它后面的字母把它前面的字母覆盖,导致“/b”格式符前面的字母不能输出;“/”,格式符表示输出单引号字符:“/”格式符表示输

44、出反斜线字符。31.下列不合法的用户标识符是( )。(分数:2.00)A.j2_KEYB.DoubleC.4d D._8_解析:解析 在 C语言程序中,合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字符必须是字母或下划线。32.以下程序的输出结果是( )。main()int a=4,b=3,c=2,d=1;printf(“%d“,ab?a:dc?d:b);(分数:2.00)A.1B.3C.2D.4 解析:解析 本题首先判断 ab,当 ab 时结果等于 a,否则等于“dc?d:b”,因为 ab,所以直接输出 a的值,注:这里“a:dc?d:b”是用来干扰考生的。33.以下

45、关于 return语句的叙述中不正确的是( )。(分数:2.00)A.一个自定义函数中必须有一条 return语句 B.一个自定义函数中可以根据不同情况设置多条 return语句C.如果一个函数有多个 return语句,那么不论运行到哪一个 return语句,该函数将结束D.没有 return语句的自定义函数在执行完最后一条语句时返回到调用处解析:解析 return 语句主要用于返回函数的值。在一个自定义函数中,可以根据不同的情况设置多条return语句返回函数的值,也可以不包含 return语句。34.在下述程序中,判断 ij 共执行的次数是( )。main()int i=0,j=10,k=

46、2,s=0;for(;)i+=k;if(ij)printf(“%d“,s);break;s+=i;(分数:2.00)A.4B.7C.5D.6 解析:解析 分析程序,i+=k:使得 i的值每次增加 2然后再和 j进行比较看 ij 是否成立,i 的变化过程为:i=2,i=4,i=6,i=8,i=10,i=12,此时 ij 成立,所以判断 ij 共执行的次数为 6次。35.若输入 bcdefgh、m、abcdefg,以下程序的输出结果为( )。#includestdio.h#includestring.hmain()int i;char string20,str320;for(i=0;i3;i+)gets(stri);if(strcmp(str0,str1)0)strcpy(string,str0);else strcpy(string,str1);if(strcmp(str2,string)0)strcpy(string,str2);printf(“%s“,string);(分数:2.00)A.bcdefghB.m

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

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

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