【计算机类职业资格】二级C语言笔试-26及答案解析.doc
《【计算机类职业资格】二级C语言笔试-26及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-26及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-26 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下程序输出的结果为 _。main()char*alpha6=“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“;char*p;int i;p=alpha;for(i=0;i4;i+)printf(“%s“,pi);(分数:2.00)A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM2.请读程序:#includestdio.h#includestring.hmain()char*s1=“AbCdEf“
2、,“*s2=“aB“;s1+;s2+;printf(“%d/n“,strcmp(s1,s2);上面程序的输出结果是_。(分数:2.00)A.正数B.负数C.零D.不确定的值3.已知小写字母 a的 ASCII码为 97,大写字母 A的 ASCII码为 65,以下程序的结果是 _。main()unsigned int a=32,b=66;printf(“%c/n“,aB) ;(分数:2.00)A.66B.98C.bD.B4.下面是对宏定义的描述,不正确的是 _。(分数:2.00)A.宏不存在类型问题,宏名无类型,它的参数也无类型B.宏替换不占用运行时间C.宏替换时先求出实参表达式的值,然后代入形参
3、运算求值D.宏替换只不过是字符替代而已5.模块本身的内聚是模块独立性的重要性度量因素之一。在 7类内聚中,具有最强内聚的类是_。(分数:2.00)A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚6.数据的完整性是指数据的正确性、有效性和 _。(分数:2.00)A.可维护性B.独立性C.安全性D.相容性7.关系代数运算是以 _为基础的运算。(分数:2.00)A.关系运算B.谓词运算C.集合运算D.代数运算8.能将高级语言程序转换成目标语言程序的是 _。(分数:2.00)A.调试程序B.解释程序C.编译程序D.编辑程序9.设有以下语句:char str1 =“string“mstr2 8,
4、*str3,*str4=“string“;则 _不是对库函数的正确调用。(分数:2.00)A.strcpy(str1,“HELLO1“);B.strcpy(str2,“HELLO2“);C.strcpy(str3,“HELLO3“);D.strcpy(str 4,“HELLO4“);10.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比铰次数为 _。(分数:2.00)A.2B.3C.4D.511.在数据结构中,从逻辑上可以把数据结构分为_。(分数:1.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构
5、D.内部结构和外部结构12.下列程序的输出结果是_。#defineA 100main()int i=0,sum=0;do if(i=(i/2)*2)continue;sum+=i;while(+i(分数:1.00)A.;printf(“%d/n“,sum);A) 2500B.2050C.4D.013.出下列程序执行后的输出结果是 _。mare()int m3=1,4,7,2,5,8,3,6,9;int i,k=2;for(i0;i3;i+)printf(“%d“,mki);(分数:1.00)A.456B.258C.369D.78914.若有以下结构体定义,则是正确的引用或定义。struct e
6、xampleint x;int y;v1;(分数:1.00)A.example.x=10B.examplev2.x=10C.struct v2;v2.x=10D.struct example v2=10;15.下面语句的输出结果是_。printf(“%d/n“,strlen(“/t/“/065/xff/n“);(分数:1.00)A.14B.8C.5D.输出项不合法,无正常输出16.对于 n个结点的单向链表(无表头结点),需要指针单元的个数至少为 _。(分数:1.00)A.n-1B.nC.n+1D.2n17.C语言库函数 fgets(str,n,fp)的功能是 _。(分数:1.00)A.从 fp
7、指向的文件中读取长度 n的字符串存入 str旨向的内存B.从 fp指向的文件中读取长度不超过 n-1的字符串存入 str指向的内存C.从 fb指向的文件中读取 n个字符串存入 str指向的内存D.从 str读取至多 n个字符到文 fp18.下面程序的输出结果是 _。#includestdio.hmain()char*p=“BOOL“,“OPK“,“H“,“SP“;int i:for(i=3;i=0;i-,i-)printf(“%c“,*pi);printf(“/n“);(分数:1.00)A.SOB.SPC.SPOPKD.SHOB19.下列程序执行后输出的结果是 _。int d=1;fun(in
8、t p)int d=5;d+=p+;printf(“%d,“,D) ;main()int a=3;fun((分数:1.00)A.;d+=a+;printf(“%d/n“,D) ;A) 8,12B.9,13C.8,4D.9,520.下述程序向文件输出的结果是 _。#includestdio.hvoid main()FILE*fp=fopen(“TEST“,“wb“);fprintf(fp,“%5.0f%c%d“,58,76273.0-,2278);fclose(fp);(分数:1.00)A.58 76273-2278B.5876273.000000-2278C.5876273-2278D.因文件
9、为二进制文件而不可读21.下列程序的执行结果是 _。#includestdio.hunion unint i;char c2;void main()union un x;x.c0=10;x.c1=1;printf(“/n%d“,x.i);(分数:2.00)A.266B.11C.265D.13822.若进栈序列为 1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是 _。(分数:2.00)A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,123.数据存储和数据流都是 _,仅仅是所处的状态不同。(分数:2.00)A.分析结果B.事件C.动作D.数据24.以下程序段的
10、输出结果是 _。main()char s110,s210,s310;scanf(“%s“,s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);输入数据如下: (此处CR代表回车符)aaaCRbbbCR(分数:2.00)A.aaabbbB.aaabbbC.aaa/0bbb/0D.aaabbb25.以下程序的输出结果是 _。#includestdio.h#define SQR(x)x*xmain()int a,k=3;a=+SQR(K+1);printf(“%d/n“,(分数:2.00)A.;A) 8B.9C.17D.2026.下列程序的输出结果是 _
11、。main()int i=3; switch(i)case 1:casc 2: printf(“%d“,i);case 3:case 4: break;defanlt:printf(“OK“);(分数:2.00)A.0B.3C.OKD.没有任何输出27.已知下面的程序段,正确的判断是 _。#define A 3#define B((分数:2.00)A.(A+1)*A) int a=3;X=3*(A+B(7);A) 程序错误,不允许嵌套定义B.X=93C.X=81D.程序错误,宏定义不允许有参数28.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的力法,称为 _。(分数:2.0
12、0)A.希尔排序B.冒泡排序C.插入排序D.选择排序29.已知字母 A的 ASCII码值是 65,字母 a的 ASCII码值是 97,以下程序_。main()char a=A;int b=20;printf(%d,%0“,(a=a+a,a+b,B) ,a+a-A,B) ;(分数:2.00)A.表达式非法,输出零或不确定值B.因输出项过多,无输出或输出不确定值C.输出结果为 20,141D.输出结果为 20,141,2030.定义 int*swap()指的是 _。(分数:2.00)A.一个返回整型值的函 swap()B.个返回指向整型值指针的 swap()C.一个指向函数 swap()的指针,函
13、数返回一个整型值D.以上说法均错31.以下程序(程序左边的数字为附加的行号)_。1#includestr.h2#includestdio.h3main()4 char s=“string“;5puts(s);6strcpy(s,“hello“);7printf(“%3s/n“s);(分数:2.00)A.没有错B.第 1行有错C.第 6行有错D.第 7行有错32.已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填 _。struct linkchar data;_;node;(分数:2.00)A.B.C.D.33.可以在 C语言中用做用户标识符的是_。(分数:2.00)A.voidde
14、fineWORDB.as_b3_123IfC.for-abccasD.2cDoSIG34.在软件开发过程中,软件结构设计是描述 _。(分数:2.00)A.数据存储结构B.软件体系结构C.软件结构测试D.软件控制过程35.是构成 C语言程序的基本单位。(分数:2.00)A.函数B.过程C.子程序D.子例程36.请读程序段:char str=“ABCD“,*p=str;printf(“%d/n“,*(p+4);程序段的输出结果是 _。(分数:2.00)A.68B.0C.字符 D的地址D.不确定的值37.若有定义:int a410;,则以下选项中对数组元素 aii引用错误的是_。(0=i4,0=i1
15、0)(分数:2.00)A.*(a00十 10*i+j)B.*(a+i)+jC.*(a+i)+j)D.*(ai+38.下述函数功能是 _。int funr(char*x)char*y=x;while(*y+);return y-x-1;(分数:2.00)A.求字符串的长度B.求字符串存放的位置C.比较两个字符串的大小D.将字符串 x连接字符串 y后面39.若个外部变量的定义形式为 static int x;,那么,其中 static的作用应该是_。(分数:2.00)A.将变量存储在静态存储区B.使变量 x可以由系统自动初始化C.使 x只能在本文件内引用D.使 x的值可以永久保留40.以下程序的输
16、出结果是 _。#includestdio.hvoid prt(int*x,int*y,int*z)printf(“%d,%d,%d/n“,+*x,+*y,*(z+);int a=10,b=40,c=20;main()prt(main()int a=7,b=5;printf(“%d/n“,fun(a,B) /m);(分数:2.00)填空项 1:_49.下列程序执行后输出的结果是 【9】 。main()int arr10,i,k=0;for(i=0;i10;i+)arri=i;for(i=1;i4;i+) k+=arri+i;printf(“%d/n“,k);(分数:2.00)填空项 1:_50.
17、下面程序有两个 printf语句,如果第一个 printf语句输出的是 194,则第二个 printf语句的输出结果是 【10】 。main()int a10=1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(“%x/n“,p);printf(“%x/“,p+9);(分数:2.00)填空项 1:_51.函数 delete(s,i,n)的作用是从字符串 s中删除从第 i个字符开始的 n个字符,请填空。void delete(char s,int i,int n)int j,k,length=0;while(slength)【11】 ;-i;j=i;If( 【12】 )k=i+n
18、;if(i+n=length)while(klength)sj+=sk+;sj=/0;(分数:4.00)填空项 1:_52.下述函数统计个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。int word(char*s)int num=0,flag=0;while(*s)if( 【13】 =) flag=0;else if( 【14】 )flag=1;num+return 【15】 ;(分数:6.00)填空项 1:_二级 C语言笔试-26 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下程序输出的结果为 _。main()char
19、*alpha6=“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“;char*p;int i;p=alpha;for(i=0;i4;i+)printf(“%s“,pi);(分数:2.00)A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOP D.AEIM解析:评析 alpha0指向“ABCD”的首地址;alpha1指向“EFGH”的首地址;alpha2指向“IJKL”的首地址,依此类推。当执行 p=alpha后,p 指向指针数组 alpha的首地址。for 循环中输出了4个字符串。2.请读程序:#includestdio.h#includ
20、estring.hmain()char*s1=“AbCdEf“,“*s2=“aB“;s1+;s2+;printf(“%d/n“,strcmp(s1,s2);上面程序的输出结果是_。(分数:2.00)A.正数 B.负数C.零D.不确定的值解析:评析 函数 strcmp的功能是比较字符串 s1和 s2,如果 s1s2,则返回个正数:如果 s1s2,则返回负数,否则返回零。由于本题中小写字母 b的 ASCII码值大于大写字母 B,故 s1s2,所以函数的值为正数。3.已知小写字母 a的 ASCII码为 97,大写字母 A的 ASCII码为 65,以下程序的结果是 _。main()unsigned i
21、nt a=32,b=66;printf(“%c/n“,aB) ;(分数:2.00)A.66B.98C.b D.B解析:评析 位运算符“|”的作用是按位或,即两个二进制数的相应位中只要有一个为 1,该位的结果值为 1。最后以字符型输出,98 对应的字符“b”。4.下面是对宏定义的描述,不正确的是 _。(分数:2.00)A.宏不存在类型问题,宏名无类型,它的参数也无类型B.宏替换不占用运行时间C.宏替换时先求出实参表达式的值,然后代入形参运算求值 D.宏替换只不过是字符替代而已解析:评析 宏替换实质上就是字符替代,它不可能进行计算,故 C错误。带参数的宏与函数相比,宏在程序编译之前已经将代码替换到
22、程序内,执行时不会产生类似于函数调用的问题,可以说不占用运行时间。5.模块本身的内聚是模块独立性的重要性度量因素之一。在 7类内聚中,具有最强内聚的类是_。(分数:2.00)A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚 解析:评析 内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。内聚共有 7类,它们之间的内聚性由弱至强排列顺序为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺芋内聚和功能内聚。6.数据的完整性是指数据的正确性、有效性和 _。(分数:2.00)A.可维护性B.独立性C.安全性D.相容性 解析:评析 数据模型的完整性规则是给定的数据模型中数据及其联系所具有的
23、制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确性、有效性和相容性。7.关系代数运算是以 _为基础的运算。(分数:2.00)A.关系运算B.谓词运算C.集合运算 D.代数运算解析:评析 关系代数运算是以关系代数作为运算对象的一组高级运算的集合。它的基本操作是并、交、差、笛卡尔积,另外还包括垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。8.能将高级语言程序转换成目标语言程序的是 _。(分数:2.00)A.调试程序B.解释程序C.编译程序 D.编辑程序解析:评析 用高级语言编写的程序称为“源程序”,而计算机只能识别和执行由 0和 1组成的二进制指令,所以
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 26 答案 解析 DOC
