【计算机类职业资格】二级C语言笔试48及答案解析.doc
《【计算机类职业资格】二级C语言笔试48及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试48及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 48 及答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列程序的输出结果是_。 #define A 100 main() int i=0,sum=0; do if(i=(i/2)*2) continue; sum+=i; while(+iA) ; printf(“%d/n“,sum);(分数:2.00)A.2500B.2050C.4D.02.以下程序段的输出结果是_ 。 main() char s110,s210,s310; scanf(“%s“,s1);gets(s2);gets(s3); puts(s1);put
2、s(s2);puts(s3); 输入数据如下: (此处CR代表回车符) aaaCR bbbCR(分数:2.00)A.aaa bbbB.aaa bbbC.aaa/0bbb/0D.aaabbb3.在数据结构中,从逻辑上可以把数据结构分为_。(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4.若一个外部变量的定义形式为 static int x;,那么,其中 static 的作用应该是_。(分数:2.00)A.将变量存储在静态存储区B.使变量 x 可以由系统自动初始化C.使 x 只能在本文件内引用D.使 x 的值可以永久保留5.已知字母
3、A 的 ASCII 参政值是 65,字母 a 的 ASCII 码值是 97,以下程序列_。 main() char a=A; int b=20; printf(“%d,%o“,(a=a+a,a+b,b),a+a+A,b); (分数:2.00)A.表达式非法,输出零或不确定值B.因输出项过多,无输出或输出不确定值C.输出结果为 20,141D.输出结果为 20,141,206.下述程序向文件输出的结果是_。 #includestdio.h void main() FILE*fp=fopen(“TEST“,“wb“); fprintf(fp,“%d%5.0f%c%d“,58,76273.0,227
4、8); fclose(fp); (分数:2.00)A.58 76273-2278B.5876273.000000-2278C.5876273-2278D.因文件为二进制文件而不可读7.已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填_。 struct link char data; _; node;(分数:2.00)A.dataB.next8._是构成 C 语言程序的基本单位。(分数:2.00)A.函数B.过程C.子程序D.子例程9.下列程序的输出结果是_。 main() int i=3; switch(i) case1: case2:printf(“%d“,i); case3:
5、 case4:break; default: printf (“OK“); (分数:2.00)A.0B.3C.OKD.没有任何输出10.若有以下结构体定义,则是正确的引用或定义。 Struct example int x; int y; V1;(分数:2.00)A.examplx=10B.example V2.x=10C.structv2;v2x=10D.struct examplev2=10;11.下面语句的输出结果是_。 printf(“/od/n“,strlen(“/t/“/065/xff/n“)(分数:2.00)A.14B.8C.5D.输出项不合法,无正常输出12.在软件开发过程中,软
6、件结构设计是描述_。(分数:2.00)A.数据存储结构B.软件体系结构C.软件结构测试D.软件控制过程13.定义 int*swap()指的是_。(分数:2.00)A.一个返回整型值的函数 swap()B.一个返回指向整型值指针的函数 swap()C.一个指向函数 swap()的指针,函数返回一个整型值D.以上说法均错14.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称_。(分数:2.00)A.希尔排序B.冒泡排序C.插入排序D.选择排序15.模块本身的内聚是模块独立性的重要性度量因素之一。在 7 类内聚中,具有最强内聚的类是 _。(分数:2.00)A.顺序性内聚B.
7、过程性内聚C.逻辑性内聚D.功能性内聚16.以下程序(程序左边的数字为附加的行号)_。 1#includestr.h 2#includestdio.h 3main() 4 char s=“string“; 5puts(s); 6strcpy(s,“hello“); 7printf(“%3s/n“,s);(分数:2.00)A.没有错B.第 1 行有错C.第 6 行有错D.第 7 行有错17.下列程序执行后的输出结果是_。 main() int m3=1,4.7,6,5,8,3,6,9; int i,k=2 for(i=0,i3;i+) printf(“%d“,mki; (分数:2.00)A.45
8、6B.258C.369D.78918.下列程序执行后输出的结果是_。 int d=1; fun(int p) int d=5; d+=p+; printf(“%d,“,d); main() int a3; fun(a); d+=a+; printf(“%d/n“,d); (分数:2.00)A.8,12B.9,13C.8,4D.9,519.数据的完整性是指数据的正确性、有效性和_。(分数:2.00)A.可维护性B.独立性C.安全性D.相容性20.下述函数功能是_。 int fun(char*x) char*y=x; while(*y+); return y-x-1; (分数:2.00)A.求字符
9、串的长度B.求字符串存放的位置C.比较两个字符串的大小D.将字符串 x 连接到字符串 y 后面21.能将高级语言程序转换成目标语言程序的是_。(分数:2.00)A.调试程序B.解释程序C.编译程序D.编辑程序22.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比较次数为_。(分数:2.00)A.2B.3C.4D.523.可以在 C 语言中用做用户标识符的是_。(分数:2.00)A.void define WORDB.as b3 _123 IfC.for -abc casD.2c Do SIG24.数据存储和数据流都是_,仅仅是
10、所处的状态不同。(分数:2.00)A.分析结果B.事件C.动作D.数据25.已知下面的程序段,正确的判断是_ #define A3 #define B(A) (A+1)*a) X=3*(A+B(7); X=3*(A+B(7);(分数:2.00)A.程序错误,不允许嵌套定义B.X=93C.X=81D.程序错误,宏定义不允许有参数26.对于 n 个结点的单向链表(无表头结点),需要指针单元的个数至少为_。(分数:2.00)A.n-1B.nC.n+lD.2n27.以下程序的输出结果是_。 #includestdio.h void prt(int*x,int*y,int*z) printf(“%d,%
11、d,%d/n“+*x,+*y,*(z+); int a=10,b=40,c=20 main() prt( prt(B.strcpy(str2,“HELLO2“);C.strcpy(str3,“HELLO3“);D.strcpy(str4,“HELLO4“)31.以下程序的输出结果是_。 #includestdio.h #define SQR(x)x*x main() int a,k=3; a=+SQR(k+1) printf(“%d/n“,A) (分数:2.00)A.8B.9C.17D.2032.以下程序输出的结果为_。 main() char*dlpha6=“ABCD“,“EFGH“,“IJ
12、KL“,“MNOP“,“QRST“,“UVWX“; char*p; int i; p=alpha; for(i=0;i4;iff) printf(“%s“,pi) (分数:2.00)A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM33.下列程序的执行结果是_。 #includestdio.h union un int 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.13834.请读程序: #include
13、stdio.h #includestring.j main() char*s1=“AbCdEf“,*s2=“aB“; s1+;s2+; printf(“%d/n“,strcmp(s1,s2); 上面程序的输出结果是_。(分数:2.00)A.正数B.负数C.零D.不确定的值35.若有定义:int a410;,则以下选项中对数组元素 aij引用错误的是_。(0=i4,0=j10)(分数:2.00)A.*(,,若要通过 a return(x*y-m); main() int a=7,b,5; prntf(“%d/n“,fun(a,B) /m); (分数:2.00)填空项 1:_44.下列程序执行后输
14、出的结果是U 【9】 /U。 main() int arr10,i,k=0); fot(i=0;i10;i+)arti=i; for(i=1:i4;i+) k+=arri+i; printf(“%d/n“,k); (分数:2.00)填空项 1:_45.下面程序有两个 printf 语句,如果第一个 printf 语句输出的是 194,则第二个 printf 语句的输出结果是U 【10】 /U。 main() int a10=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(“%x/n“,p); printf(“%x/n,p+9); (分数:2.00)填空项 1:_46.函
15、数 delete(s,i,n)的作用是从字符串 s 中删除从第 i 个字符开始的 n 个字符,请填空。 void delete(char s,int i, int n) int j,k,legth=0; while(slength) U【11】 /U; -i; j=i; if(U 【12】 /U) k=i+n; if(i+nlength) while(klength) sj+=sk+; sj=/0 (分数:2.00)填空项 1:_47.下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。 int word(char*s) int num=0,flag=0; while(
16、*s) if(U 【13】 /U=) flag=0; else if(U 【14】 /U)flag=1;num+ returnU 【15】 /U(分数:2.00)填空项 1:_二级 C 语言笔试 48 答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列程序的输出结果是_。 #define A 100 main() int i=0,sum=0; do if(i=(i/2)*2) continue; sum+=i; while(+iA) ; printf(“%d/n“,sum);(分数:2.00)A.2500 B.2050C.4D.0解析:
17、评析 本题程序的功能是求 1 到 99 之间(包括 1 和 99)所有奇数之和。程序中的 while 循环的终止条件为+i=100,在 while 循环体内,如果 i 是偶数,则执行 continue,跳过这依次循环,执行下一次循环,否则求和。最后输出的值是 1 到 99 之间(包括 1 和 99)所有奇数之和(1+99)*50/2=2500。2.以下程序段的输出结果是_ 。 main() char s110,s210,s310; scanf(“%s“,s1);gets(s2);gets(s3); puts(s1);puts(s2);puts(s3); 输入数据如下: (此处CR代表回车符)
18、aaaCR bbbCR(分数:2.00)A.aaa bbbB.aaa bbb C.aaa/0bbb/0D.aaabbb解析:评析 scanf 是标准输入函数,在输入字符串 a 阻时,实际的内容为“aaa、0”,“/0”是由系统自动加入的;gets 的功能是从终端读入一行字符,即一直读到换行符为止,并由系统自动以“、0”代替换行符。3.在数据结构中,从逻辑上可以把数据结构分为_。(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构解析:评析 逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素
19、之间一对多或多对一的关系。4.若一个外部变量的定义形式为 static int x;,那么,其中 static 的作用应该是_。(分数:2.00)A.将变量存储在静态存储区B.使变量 x 可以由系统自动初始化C.使 x 只能在本文件内引用 D.使 x 的值可以永久保留解析:评析 事实上,无论有无 static 修饰,外部变量都具有 A、B 和 C 三种特性。作为一种修饰,static 仅是限制此类型外部变量韵引用范围:只能在定义它的文件范围内使用。5.已知字母 A 的 ASCII 参政值是 65,字母 a 的 ASCII 码值是 97,以下程序列_。 main() char a=A; int
20、b=20; printf(“%d,%o“,(a=a+a,a+b,b),a+a+A,b); (分数:2.00)A.表达式非法,输出零或不确定值B.因输出项过多,无输出或输出不确定值C.输出结果为 20,141 D.输出结果为 20,141,20解析:评析 本题中首先输出逗号表达式“a=a+a,a+b,b”的值,即 20。然后以八进制的形式输出a+a-A的值为 97 对应的八进制数 141,由于最后一个表达式 b 没有对应输出格式的输出项表列就不会输出。6.下述程序向文件输出的结果是_。 #includestdio.h void main() FILE*fp=fopen(“TEST“,“wb“);
21、 fprintf(fp,“%d%5.0f%c%d“,58,76273.0,2278); fclose(fp); (分数:2.00)A.58 76273-2278B.5876273.000000-2278C.5876273-2278 D.因文件为二进制文件而不可读解析:评析 fprintf 函数工作时,多个数据间不会自动加分隔符,选项 A 错误:浮点数的输出格式是“%5.0f”表明其小数部分输出 0 位,即没有输出,所以选项 B 也是错误的。7.已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填_。 struct link char data; _; node;(分数:2.00)A.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 48 答案 解析 DOC
