【计算机类职业资格】二级C语言笔试-274及答案解析.doc
《【计算机类职业资格】二级C语言笔试-274及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-274及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-274 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.能正确表示逻辑关系“(分数:1.00)A.10 或 a0”的 C 语言表达式是( )。A) a =10 or a=0B) a =0|a=10C)2.下面程序段的输出结果是( )。char str=“ABC“,*p=str;Printf(“%d/n“,*(p+3);(分数:1.00)A.67B.0C.字符C的地址D.字符C3.以下程序段的输出结果是( )。int a=1234;printf(“%2d/n“,(分数:1.00)A.;A) 12B) 34C) 1234D)
2、提示出错,4.若 fp 是指向某文件的指针,且已读到文件末尾,则库函数 feof(fp)的返回值是( )。(分数:1.00)A.EOFB.-1C.1D.NULL5.若有说明:int *p,m=5,n;以下正确的程序段是( )。(分数:1.00)A.p= i200;i+)if(i-2)%4=0)if(! (i-3)%7)if(_) printf(“%d“,i);(分数:1.00)A.i%9=5B.i%9!=5C.(i-5)%9!=0D.(i-5)%9= =010.下面四个选项中,均是不合法的用户标识符的选项是( )。(分数:1.00)A.A P_0 doB.float la0_AC.b-a go
3、to intD._123 temp int11.下列程序的输出结果是( )。#inelude stdiohmain()int a5=2,4,6,8,10,*p,*k;p=a; k=j=i; k=+i;p=f(j,k);printf(“%d“,p);int f(int a,int b)int c;if(ab)c=1;else if(a= =b) c=0;else c=-1;return(c);(分数:1.00)A.-1B.1C.2D.编译出错,无法运行30.下面程序段的运行结果是( )。char*p=“abcdefgh“;p+ =3;printf(“%d/n“,stfien(strcpy(p,“
4、ABCD“);(分数:1.00)A.8B.12C.4D.731.有如下程序:#include stdiohmain()int x=23;doPrintf(“%d“,x-);while(! x);该程序的执行结果是( )。(分数:1.00)A.321B.23C.不输出任何内容D.陷入死循环32.在 int (*prt)3;定义中,标识符 prt( )。(分数:1.00)A.定义不合法B.是一个指针数组名,每个元素都是一个指向整型变量的指针C.是一个指针,它指向一个具有三个元素的一维数组D.是一个指向整型变量的指针33.若有以下语句,则对数组 a 元素的引用不正确的是(0i9)( )。int a1
5、0=0,1,2,3,4,5,6,7,8,9,*p=a;(分数:1.00)A.ap-aB.*(36.下面程序段的输出结果是( )。char a=“lanuage“,*p;p=a;while(*P! =u) printf(“%c“,*p-32); P+;(分数:1.00)A.LANGUAGEB.languageC.LAND.langUAGE37.C 语言规定,在一个源程序中,main 函数的位置( )。(分数:1.00)A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后38.执行语句 for(i=1; i+4;);后变量 i 的值是( )。(分数:1.00)A.3B.4C.
6、5D.不定39.下列数据中,不合法的 C 语言实型数据的是( )。(分数:1.00)A.0.123B.123e3C.2.1e3.5D.789.040.以下叙述中不正确的是( )。(分数:1.00)A.预处理命令行都必须以#号开始B.在程序中凡是以#号开始的语句行都是预处理命令行C.宏替换不占用运行时间,只占编译时间D.定义#define PI 3.1415926;是正确的41.有如下程序:#define N 2#define M N+1#define NUM 2*M+1main()int i;for(i=1; i=NUM;i+)printf(“%d/n“,i);该程序中的 for 循环执行的次
7、数是( )。(分数:2.00)A.5B.6C.7D.842.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段,其中数据独立性最高的阶段是( )。(分数:2.00)A.数据库系统B.文件系统C.人工管理D.数据项管理43.以下正确的说法是( )。(分数:2.00)A.用户若需调用标准库函数,调用前必须重新定义B.用户可以重新定义标准库函数,若重新定义,该函数将失去原有含义C.系统根本不允许用户重新定义标准库函数D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统会自动调用44.函数 fun 的返回值是( )。fun(char *
8、a,char *b)int num=0,n=0;while( * (a+num)! =/0) num+;while(bn) *(a+num)=bn;num+;n+;return num;(分数:2.00)A.字符串 a 的长度B.字符串 b 的长度C.字符串 a 和 b 的长度之差D.字符串 a 和 b 的长度之和45.当说明一个结构体变量时,系统分配给它的内存是( )。(分数:2.00)A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量46.设以下变量均为 int 类型,表达式的值不为 7 的是( )。(分数:2.00)
9、A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6, x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)47.若有以下结构体,则正确的定义或引用的是( )。struct Testint x;int y;vl;(分数:2.00)A.Test.x=10;B.Test v2;v2.x=10;C.struet v2;v2.x=10;D.struct Test v2=10;48.若调用 fputc 函数输出字符成功,则其返回值是( )。(分数:2.00)A.EOFB.1C.0D.输出的字符49.在位运算中,操作数左移一位,其结果相当于( )。(分数:2.00)A
10、.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 450.检查软件产品是否符合需求定义的过程称为( )。(分数:2.00)A.确认测试B.集成测试C.验证测试D.验收测试二、填空题(总题数:18,分数:36.00)51.在树形结构中,树根结点没有 【1】 。(分数:2.00)填空项 1:_52.Jackson 结构化程序设计方法是英国的 MJackson 提出的,它是一种面向 【2】 的设计方法。(分数:2.00)填空项 1:_53.面向对象的模型中,最基本的概念是对象和 【3】 。(分数:2.00)填空项 1:_54.软件设计模块化的目的是 【4】 。(分数:2.00)填空
11、项 1:_55.数据模型按不同应用层次分成三种类型,它们是概念数据模型、 【5】 和物理数据模型。(分数:2.00)填空项 1:_56.以下程序的输出结果是 【6】 。#include stdiohmain()int a=2,b=3,c=4;a* =16+(b+) -(+c);Printf(“%d“,a);(分数:2.00)填空项 1:_57.若变量 n 的值为 24,则 print 函数共输出 【7】 行,最后一行有 【8】 个数。void print(int n,int aa)int i;for(i=1;in;i+)printf(“%6d“,aai);if(!(i%5) printf(“/
12、n“);printf(“/n“);(分数:2.00)填空项 1:_58.调用 C 语言标准库函数时要求用 【9】 命令。(分数:2.00)填空项 1:_59.strcat 函数的作用是 【10】 。(分数:2.00)填空项 1:_60.C 语言程序的注释可以出现在程序中的任何地方,一个注释以 【11】 分别作为开始和结束。(分数:2.00)填空项 1:_61.设二进制数 A 是 00101101,若想通过异或运算 AB 使 A 的高 4 位取反,低 4 位不变,则二进制数 B 应是 【12】 。(分数:2.00)填空项 1:_62.若已知 a=10,b=20,则表达式! ab 的值为 【13】
13、 。(分数:2.00)填空项 1:_63.设 i,j,k 均为 int 型变量,则执行完下面的 for 语句后,k 的值为 【14】 。for(i=0,j=10;i=j;i+,j-) k=i+j;(分数:2.00)填空项 1:_64.下面程序中函数 fun 的功能是:找出一维数组元素中的最大值和它所在的下标,并将最大值和其下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中 x 是数组名,n 是 x 中的数据个数,max 存放最大值,index 存放最大值所在元素的下标。请填空。#include stdlibh#include sldiohvoid fun(int a,int n, in
14、t * max,int *d)int i;*max=a0; *d=0;for(i=0; 【15】 ;i+)if(*max 【16】 )*max=ai;*d=i;main()int i, x20, max, index, n=10;randomize();for(i=0;in;i+)xi=rand()%50;printf(“%4d“,xi);printf(“/n“);fun(x,n,cc4;cc+)fun();printf(“/n“);(分数:2.00)填空项 1:_66.以下程序的输出结果是 【18】 。#include stdioh#define MAX(x,y)(x),(y)?(x):(y
15、)main()int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf(“%d/n“,t);(分数:2.00)填空项 1:_67.用以下语句调用库函数 malloc,使字符指针 st 指向具有 11 个字节的动态存储空间,请填空。st=(char*) 【19】 ;(分数:2.00)填空项 1:_68.以下程序段打开文件后,先利用 fseek 函数将文件位置指针定位在文件末尾,然后调用 ftell 函数返回当前文件位置指针的具体位置,从而确定文件长度。请填空。FILE * myf;long f1;myf= 【20】 (“test.t“,“rb“);fseek(
16、myf,0,SEEK END) ;f1=ftell(myf);fclose(myf);printf(“%d/n“,f1);(分数:2.00)填空项 1:_二级 C 语言笔试-274 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.能正确表示逻辑关系“(分数:1.00)A.10 或 a0”的 C 语言表达式是( )。A) a =10 or a=0B) a =0|a=10C)解析:解析 本题考查 C 语言的逻辑表达式及逻辑或(“|”)运算符的用法。“|”表示或的意思,“|”是按位或的意思,“ i200;i+)if(i-2)%4=0)if(! (i-
17、3)%7)if(_) printf(“%d“,i);(分数:1.00)A.i%9=5B.i%9!=5C.(i-5)%9!=0D.(i-5)%9= =0 解析:解析 本题中需要填空的是第三个条件,即“若分成 9 个零件一组,则多 5 个零件”,当总零件数减去 5 后,并与 9 取余为 0 即可满足本题的条件。10.下面四个选项中,均是不合法的用户标识符的选项是( )。(分数:1.00)A.A P_0 doB.float la0_AC.b-a goto int D._123 temp int解析:解析 C 语言规定的标识符只能由字母、数字和下划线三种字符组成,第一个字符必须为字母或下划线,并且不能
18、使用 C 语言中的关键字作为标识符。选项 C) 中 goto 和 int 是关键字,b-a 中的“-“不是组成标识符的三种字符之一,所以,均是不合法用户标识符的选项是 C) 。11.下列程序的输出结果是( )。#inelude stdiohmain()int a5=2,4,6,8,10,*p,*k;p=a; k=j=i; k=+i;p=f(j,k);printf(“%d“,p);int f(int a,int b)int c;if(ab)c=1;else if(a= =b) c=0;else c=-1;return(c);(分数:1.00)A.-1 B.1C.2D.编译出错,无法运行解析:解析
19、 函数调用相当于 f(2,3),程序运算结果为-1。30.下面程序段的运行结果是( )。char*p=“abcdefgh“;p+ =3;printf(“%d/n“,stfien(strcpy(p,“ABCD“);(分数:1.00)A.8B.12C.4 D.7解析:解析 p+=3 使指针 p 指向字符“d“,函数 strcpy 的功能是把后面的字符串复制到 p 指针指向的空间;strlen 函数的功能是求字符串的长度,并返回字符个数,不计最后的“/0“。本题结果为 4,即字符串“ABCD”的长度。31.有如下程序:#include stdiohmain()int x=23;doPrintf(“%
20、d“,x-);while(! x);该程序的执行结果是( )。(分数:1.00)A.321B.23 C.不输出任何内容D.陷入死循环解析:解析 do-while 语句的执行过程中要先执行一次循环体语句,本题中执行 x-后判断 while 中的表达式,表达式的值!x 为假,程序结束循环。32.在 int (*prt)3;定义中,标识符 prt( )。(分数:1.00)A.定义不合法B.是一个指针数组名,每个元素都是一个指向整型变量的指针C.是一个指针,它指向一个具有三个元素的一维数组 D.是一个指向整型变量的指针解析:解析 此题的关键是要分清指针数组与指向一维数组指针之间的不同,题中的说明语句定
21、义了一个指针变量 prt,它指向包含三个整数元素的一维数组。要注意:*prt 两侧的圆括号不能缺少,如果写成*ptr3,则 ptr 与3先结合,是数组,然后再与前面的。号结合,则*ptr3将是一个指针数组。33.若有以下语句,则对数组 a 元素的引用不正确的是(0i9)( )。int a10=0,1,2,3,4,5,6,7,8,9,*p=a;(分数:1.00)A.ap-aB.*(解析:解析 在一维数组中要注意的是下标常量表达式的值必须是大于等于零,并且小于自身元素的个数,选项 B) 的下标不是整数,所以错误。36.下面程序段的输出结果是( )。char a=“lanuage“,*p;p=a;w
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 274 答案 解析 DOC
