欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1325942       资源大小:157.50KB        全文页数:30页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、二级 C 语言笔试-1-1 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:68.00)1.下列数据结构中,按先进后出原则组织数据的是 A. 线性链表 B. 栈 C. 循环链表 D. 顺序表(分数:2.00)A.B.C.D.2.栈和队列的共同点是_。 A. 都是先进后出 B. 都是先进先出 C. 只允许在端点处插入和删除元素 D. 没有共同点(分数:2.00)A.B.C.D.3.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是_。 A. 10 B. 8 C. 6 D. 4(分数:2.00)A.B.C.D.4.线性表的顺序存储结构和线性表

    2、的链式存储结构分别是 A. 顺序存取的存储结构、顺序存取的存储结构 B. 随机存取的存储结构、顺序存取的存储结构 C. 随机存取的存储结构、随机存取的存储结构 D. 任意存取的存储结构、任意存取的存储结构(分数:2.00)A.B.C.D.5.软件开发离不开系统环境资源的支持,其中必要的测试数据属于 A. 硬件资源 B. 通信资源 C. 支持软件 D. 辅助资源(分数:2.00)A.B.C.D.6.在 E-R 图中,用来表示实体联系的图形是 A. 椭圆形 B. 矩形 C. 菱形 D. 三角形(分数:2.00)A.B.C.D.7.有两个关系 R 和 T 如下:(分数:1.00)A.B.C.D.8.

    3、待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码 33 被放到第U /U个位置。 A. 3 B. 5 C. 7 D. 9(分数:2.00)A.B.C.D.9.以下叙述中正确的是_。 A. 用 C 语言实现的算法必须要有输入和输出操作 B. 用 C 语言实现的算法可以没有输出,但必须要有输入 C. 用 C 程序实现的算法可以没有输入,但必须要有输出 D. 用 C 程序实现的算法可以既没有输入,也没有输出(分数:1.00)A.B.C.D.10.一个 C 语言程序是由U /U。

    4、A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成(分数:1.00)A.B.C.D.11.以下关于函数的叙述中正确的是U /U。 A. 每个函数都可以被其他函数调用(包括 main 函数) B. 每个函数都可以被单独编译 C. 每个函数都可以单独运行 D. 在一个函数内部可以定义另一个函数(分数:1.00)A.B.C.D.12.在 C 语言中,运算对象必须是整型数的运算符是 A. % B. / C. %和/ D. *(分数:1.00)A.B.C.D.13.下列选项中不合法的十六进制数是U /U。 A. Oxff B. OX11 C. Oxlg D. OX

    5、abc(分数:1.00)A.B.C.D.14.下列选项中合法的赋值语句是U /U。 A. a=b=34 B. a=34,b=34 C. i-1; D. m=(int)(x+y);(分数:2.00)A.B.C.D.15.若执行下列的程序时,从键盘上输入 1 和 2,则输出结果是U /U。#includestdio.hmain() int a,b,s;scanf(“%d%d“,S=a;if(aB) s=b;s=s*s;printtf(“%d/n“,s); A. 1 B. 4 C. 2 D. 9(分数:2.00)A.B.C.D.16.若有定义语句“int m=5,4,3,2,1,i=4;”,则下列对

    6、 m 数组元素的引用中错误的是U /U。 A.m-i B.m2*2 C.mm0 D.mmi(分数:1.00)A.B.C.D.17.在 C 语言中,函数调用时U /U。 A. 实参和形参各占独立的存储单元 B. 实参和形参共用存储单元 C. 由系统自动确定实参和形参是否共用存储单元 D. 由用户指定实参和形参是否共用存储单元(分数:2.00)A.B.C.D.18.在 C 语言中,while 和 dowhile 循环的主要区别是U /U。 A. dowhile 的循环体不能是复合语句 B. dowhile 允许从循环体外转到循环体内 C. while 的循环体至少被执行一次 D. dowhile

    7、的循环体至少被执行一次(分数:2.00)A.B.C.D.19.若有说明 int i,j=2,*p,则能完成 i=j 赋值功能的语句是_。 A. i=*p; B. *p=* s=“Olympic“; B. char s7; s=“Olympic“; C. char *s; s=“Olympic“; D. char s7; s=“Olympic“;(分数:2.00)A.B.C.D.22.以下叙述中错误的是_。 A. 改变函数形参的值,不会改变对应实参的值 B. 函数可以返回地址值 C. 可以给指针变量赋一个整数作为地址值 D. 当在函数的开头包括头文件 stdio.h 时,可以给指针变量赋 NUL

    8、L(分数:2.00)A.B.C.D.23.以下能正确定义一维数组的选项是_。 A. int a5=0, 1, 2, 3, 4, 5); B. char a=0, 1, 2, 3, 4, 5); C. char a=A, B, C; D. int a5=“0123“;(分数:2.00)A.B.C.D.24.在嵌套使用 if 语句时,C 语言规定 else 总是U /U。 A. 和之前与其具有相同缩进位置的 if 配对 B. 和之前与其最近的 if 配对 C. 和之前与其最近的且不带 else 的 if 配对 D. 和之前的第一个 if 配对(分数:2.00)A.B.C.D.25.下列程序是用来判

    9、断数组中特定元素的位置所在的。#includeconio.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,int age;a10=“ZHAO“,14, “WANG“,15, “LIU“,16, “ZHANG“,17 ;执行语句 printf“%d,%c“,a2.age, *(a3.name+2)的输出结果为U /U。 A. 15

    10、, A B. 16, H C. 16, A D. 17, H(分数:2.00)A.B.C.D.27.设有定义:char s10;int i=0;,以下不能将一行(不超过 100 个字符)带有空格的字符串正确读入的语句或语句组是U /U。 A. gets(s); B. scanf(“%s“,s); C. while(si+=getchar()!=/n);si=/0; D. doscanf(“%c“,int i,k=0,n=0;fp=fopen(“d1.dat“,“w“);for(i=1;i4;i+) fprintf(fp,“%d“,i);fclose(fp);fp=fopen(“d1.dat“,

    11、“r“);fscanf(fp,“%d%d“,printf(“%d%d/n“,k,n);fclose(fp);执行后的输出结果是U /U。 A. 1 2 B. 123 0 C. 1 23 D. 0 0(分数:1.00)A.B.C.D.29.有以下函数int aaa(char*s) char*t=s;while(*t+);t-;return(t-s);以下关于 aaa 函数的功能叙述正确的是U /U。 A.求字符串 s 的长度 B.比较两个串的大小 C.将串 s 复制到串 t D.求字符串 s 所占字节数(分数:1.00)A.B.C.D.30.有以下程序:#includestdio.hvoid f

    12、un(char*t,char*s) while(*t!=0)t+;while(*t+=*s+)!=0);main() char ss10=“acc“,aa10=“bbxxyy“;fun(ss,aa);printf(“%s,%s/n“,ss,aa);程序的运行结果是_。 A. accxyy,bbxxyy B. acc,bbxxyy C. accxxyy,bbxxyy D. accbbxxyy,bbxxyy(分数:2.00)A.B.C.D.31.以下程序的输出结果是U /U。 #includestdio.h main() int a33=0,1,2,0,1,2,0,1,2,i,j,s=1; for

    13、(i=0;i3;i+) for(j=i;j=i;j+) s+=aiajj; printf(“%d/n“,s); A. 3 B. 4 C. 1 D. 9(分数:2.00)A.B.C.D.32.有下列程序:#include stdio.h#include “string.h“void tim(char *s,int n)char *t;int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(strlen(si)strlen(sj) t=si;si=sj;sj=t;main()char *ss= “bcc“,“bbcc“,“xy“,“aaaacc“,“aabcc“;fu

    14、n(ss,5);printf(“%s,%s/n“,ss0,ss4);程序的运行结果是( )。 A. xy,aaaacc B. aaaacc,xy C. bcc,aabcc D. aabcc,bcc(分数:2.00)A.B.C.D.33.下列判断正确的是U /U。 A. char a=“ABCD“;等价于 char*a:*a=“ABCD“; B. char str10=“ABCD“;等价于 char str10;str=“ABCD“; C. char*s=“ABCD“;等价于 char s;*s=“ABCD“; D. char c5=“ABCD“,d5=“ABCD“;等价于 char c5=d5

    15、=“ABCD“;(分数:1.00)A.B.C.D.34.函数 fseek(pf,OL,SEEK_END)中的 SEEK_END 代表的起始点是U /U。 A.文件开始 B.文件末尾 C.文件当前位置 D.以上都不对(分数:1.00)A.B.C.D.35.有以下程序:#includestdio.h#define N 5#define M N+1#define f(x)(x*M)main()int i1,i2;i1=f(2);i2=f(1+1):printf(“%d%d“,i1,i2);程序的运行结果是_。 A. 12 12 B. 11 7 C. 11 11 D. 12 7(分数:2.00)A.B

    16、.C.D.36.一个源文件中的外部变量的作用域为U /U。 A. 本文件的全部范围 B. 本程序的全部范围 C. 本函数的全部范围 D. 从定义该变量的位置开始到本文件结束(分数:2.00)A.B.C.D.37.执行以下的程序段后,m 的值是_。int a23=1,2,3,4,5,6;int m,*p;P= A. 4 B. 5 C. 3 D. 不确定(分数:2.00)A.B.C.D.38.有以下程序:#includestdio.hmain() int a=1,b=2,c=3,x;x=(ab)c;printf(“%d/n“,x);程序的运行结果是_。 A. 0 B. 1 C. 2 D. 3(分数

    17、:2.00)A.B.C.D.39.设有定义语句 int( * f)(int);,则下列叙述中正确的是 A. f 是基类型为 int 的指针变量 B. f 是指向函数的指针变量,该函数具有一个 int 类型的形参 C. f 是指向 int 类型一维数组的指针变量 D. f 是函数名,该函数的返回值是基类型为 int 类型的地址(分数:2.00)A.B.C.D.40.以下程序的功能是:给 r 输入数据后计算半径为 r 的圆面积 s。#include stdio, hmain( )/* Beginning */ int r; float s;scanf(“% d“, s = * r*r;printf

    18、(“s =%f/n“,s);程序在编译时出错,出错的原因是U /U。 A. 注释语句书写位置错误 B. 存放圆半径的变量 r 不应该定义为整型 C. 输出语句中格式描述符非法 D. 计算圆面积的赋值语句中使用了非法变量(分数:1.00)A.B.C.D.二、B填空题/B(总题数:14,分数:32.00)41.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_42.算法复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_43.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中, 1 是用户的数据视图,也就是用户所见到的数据

    19、模式。(分数:2.00)填空项 1:_44.一个关系表的行称为 1。(分数:2.00)填空项 1:_45.程序测试分为静态分析和动态测试。其中 1 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(分数:2.00)填空项 1:_46.数据结构分为线性结构和非线性结构,带链的队列属于 1。(分数:2.00)填空项 1:_47.已有定义:char c=;int a=1,b;(此处 c 的初值为空格字符),执行 b=!c for(i=0; iN; i+) if(xixk) k=_; return xk; (分数:2.00)填空项 1:_51.以下程序运行后的输出结果

    20、是U U /U /U。 #include stdio.h struct NODE int num;struct NODE * next; main ( ) struet NODE s3= ./0,2,/0,3,/O,*p,*q,*r; int sum = 0; s0.next=s+1; s1.next=s+2;s2.next=s; p=s; q=p-next; r=q-next: sum+=q-next-num; sum+=r-next-next-num; prinff( “% d /n“, sum); (分数:2.00)填空项 1:_52.以下程序运行后的输出结果是_。 #includest

    21、dio.h main() int x=10, y=20, t=0; if(x=y)t=x; x=y; y=t; printf(“%d%d/n“, x, y); (分数:2.00)填空项 1:_53.若定义#define PI 3.14159,则执行完下列程序后输出结果是_。 #define PI 3.14159;printf(“PI=%P“,PI);(分数:2.00)填空项 1:_54.以下程序中函数 f 的功能是在数组 x 的 n 个数(假定 n 个数互不相同)中找出最大最小数,将其中最小的数语第一个数兑换,把最大的数语最后一个数对换。请填空。 #include stdio.h void f

    22、(int x ,int n) int p0,p1,i,j,t,m; i=j=x0; p0=p1=0; for(m=0;mn;m+) if(xmi) i=xm;p0=m; else if(xmj) j=xm;p1=m; t=xp0;xp0=xn-1;xn-1=t; t=xp1;xp1=U U /U/U;U U /U/U=t; main( ) int a10,u; for(u=0;u10;u+) scanf(“%d“, f(a,10); for(u=0;u10;u+) printf(“%d“,au); printf(“/n“); (分数:4.00)填空项 1:_二级 C 语言笔试-1-1 答案解析

    23、(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:68.00)1.下列数据结构中,按先进后出原则组织数据的是 A. 线性链表 B. 栈 C. 循环链表 D. 顺序表(分数:2.00)A.B. C.D.解析:命题目的 本题主要考查对于栈的理解。 解题要点 栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的。 错解分析 队列组织数据的原则

    24、是“先进先出”或“后进后出”。 考点链接 数据结构中,栈和队列组织数据的原则。2.栈和队列的共同点是_。 A. 都是先进后出 B. 都是先进先出 C. 只允许在端点处插入和删除元素 D. 没有共同点(分数:2.00)A.B.C. D.解析:评析 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈是一种“后进先出”的线性表;而队列是一种“先进先出”的线性表。3.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是_。 A. 10 B. 8 C. 6 D. 4(分数:2.00)A.B.C. D.解析:知识点 二叉树的基本性质 评析 在任意一棵二叉树中,

    25、度为 0 的结点(即子叶结点)总比度为 2 的结点多一个。本题中度为 2 的结点数为 5,故叶子结点数为 5+16 个。4.线性表的顺序存储结构和线性表的链式存储结构分别是 A. 顺序存取的存储结构、顺序存取的存储结构 B. 随机存取的存储结构、顺序存取的存储结构 C. 随机存取的存储结构、随机存取的存储结构 D. 任意存取的存储结构、任意存取的存储结构(分数:2.00)A.B. C.D.解析:解析 顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式 LOC(ai)=LOC(a1)+(i-1)L 计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取

    26、,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。5.软件开发离不开系统环境资源的支持,其中必要的测试数据属于 A. 硬件资源 B. 通信资源 C. 支持软件 D. 辅助资源(分数:2.00)A.B.C.D. 解析:命题目的 本题考查了软件测试。 解题要点 软件测试过程中,辅助资源包括测试用例(测试数据)、测试计划、出错统计和最终分析报告等。 考点链接 白箱和黑箱测试。6.在 E-R 图中,用来表示实体联系的图形是 A. 椭圆形 B. 矩形 C. 菱形 D. 三角形(分数:2.00)A.B.C. D.解析:解析 E-R 图中用矩形表示实体(等同于表),用椭圆形表示实体的属性(等同于

    27、表中的字段),用菱形表示实体关系(等同于外键)。7.有两个关系 R 和 T 如下:(分数:1.00)A. B.C.D.解析:解析 “选择”是建立一个含有与原始关系相同列数的新表,但是行只包括那些满足某些特定标准的原始关系行。8.待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码 33 被放到第U /U个位置。 A. 3 B. 5 C. 7 D. 9(分数:2.00)A.B. C.D.解析:解析 快速排序的基本思想是:从表中选取一个元素(如本题中的 33),将表中小于此元素的移

    28、到前面,大于此元素的移到后面,结果把线性表分割成两部分(两个子表),此元素插入到其分界线的位置处。然后分别对两个子表再次分割本题中 33 作为分割的中界线,第一趟排序后排在比它小的18、9、25、 12 后面。9.以下叙述中正确的是_。 A. 用 C 语言实现的算法必须要有输入和输出操作 B. 用 C 语言实现的算法可以没有输出,但必须要有输入 C. 用 C 程序实现的算法可以没有输入,但必须要有输出 D. 用 C 程序实现的算法可以既没有输入,也没有输出(分数:1.00)A.B.C. D.解析:解析 本题考查的是 c 语言中算法的特性。一个算法具有 5 个特性:有穷性、确定性、可行性、有零个

    29、或多个输入以及一个或多个输出。所以,选项 C 正确。10.一个 C 语言程序是由U /U。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成(分数:1.00)A.B. C.D.解析:解析 一个 C 源程序是由一个 main 函数和若干个其他函数组成的。函数是 C 程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己定义的函数。11.以下关于函数的叙述中正确的是U /U。 A. 每个函数都可以被其他函数调用(包括 main 函数) B. 每个函数都可以被单独编译 C. 每个函数都可以单独运行 D. 在一个函数内部可以定义另一个函数

    30、(分数:1.00)A.B. C.D.解析:解析 C 语言的函数间可以互相调用,但不能调用 main 函数;函数可以分别编写、分别编译,但函数不能单独运行;函数是互相独立的,在一个函数内部不能定义另一个函数,即函数不能嵌套定义。12.在 C 语言中,运算对象必须是整型数的运算符是 A. % B. / C. %和/ D. *(分数:1.00)A. B.C.D.解析:解析 在 C 语言中,“%”运算符两侧的运算数必须是整型。13.下列选项中不合法的十六进制数是U /U。 A. Oxff B. OX11 C. Oxlg D. OXabc(分数:1.00)A.B.C. D.解析:解析 十六进制是以“0x

    31、”或“0X”开头的字符串,字符串中只能含有 09 这 10 个数字和a、b、c、d、e、f 这 6 个字母。14.下列选项中合法的赋值语句是U /U。 A. a=b=34 B. a=34,b=34 C. i-1; D. m=(int)(x+y);(分数:2.00)A.B.C.D. 解析:解析 选项 A)是一个合法的赋值表达式,但结尾没加分号,所以它不是一个赋值语句;选项 B)是一个逗号表达式,也因为结尾没有加分号而不是合法的赋值语句,选项 C)是一个算术表达式,虽然有分号,但这个表达式没有赋值操作,因此,也不是一条赋值语句。15.若执行下列的程序时,从键盘上输入 1 和 2,则输出结果是U /

    32、U。#includestdio.hmain() int a,b,s;scanf(“%d%d“,S=a;if(aB) s=b;s=s*s;printtf(“%d/n“,s); A. 1 B. 4 C. 2 D. 9(分数:2.00)A.B. C.D.解析:解析 本题考查 if 语句。scanf 函数通过键盘读入 a、b 的值,a=1,b=2。第一个 if 语句,先判断条件,发现 ab 条件成立,则 s=b=2,s=s*s=4。16.若有定义语句“int m=5,4,3,2,1,i=4;”,则下列对 m 数组元素的引用中错误的是U /U。 A.m-i B.m2*2 C.mm0 D.mmi(分数:1

    33、.00)A.B.C. D.解析:解析 数组的下标是从零开始的。 一维数组的一般定义方式为: 数型说明符数组名常量表达式 其中中的内容可以是整型数量,也可以是整型表达式。选项 C 中,m0=5,mm0=m5,数组下标越界。17.在 C 语言中,函数调用时U /U。 A. 实参和形参各占独立的存储单元 B. 实参和形参共用存储单元 C. 由系统自动确定实参和形参是否共用存储单元 D. 由用户指定实参和形参是否共用存储单元(分数:2.00)A. B.C.D.解析:解析 本题考查函数调用时的参数传递。函数的形参是函数定义时由用户定义的形式上的变量,实参是函数调用时,主调函数;被调函数提供的原始数据。

    34、在函数调用时,实参和其所对应的形参分别占用不同的存储单元,彼此之间不影响。18.在 C 语言中,while 和 dowhile 循环的主要区别是U /U。 A. dowhile 的循环体不能是复合语句 B. dowhile 允许从循环体外转到循环体内 C. while 的循环体至少被执行一次 D. dowhile 的循环体至少被执行一次(分数:2.00)A.B.C.D. 解析:解析 本题考查 while 和 dowhile 循环的区别。while 循环的控制出现在循环体之前,只有当while 后面的表达式的值为非零时,才可能执行循环体:在 dowhile 构成的循环体中,总是先执行一次循环体,

    35、然后再求表达式的值,因此无论表达式的值是否为零,循环体至少要被执行一次。19.若有说明 int i,j=2,*p,则能完成 i=j 赋值功能的语句是_。 A. i=*p; B. *p=* s=“Olympic“; B. char s7; s=“Olympic“; C. char *s; s=“Olympic“; D. char s7; s=“Olympic“;(分数:2.00)A. B.C.D.解析:解析 数组名代表数组的首地址,是一个地址常量,不能对其赋值,所以选项 B、D 错误。只有在初始化时才可以用花括号,所以选项 C 错误。22.以下叙述中错误的是_。 A. 改变函数形参的值,不会改变

    36、对应实参的值 B. 函数可以返回地址值 C. 可以给指针变量赋一个整数作为地址值 D. 当在函数的开头包括头文件 stdio.h 时,可以给指针变量赋 NULL(分数:2.00)A.B.C. D.解析:23.以下能正确定义一维数组的选项是_。 A. int a5=0, 1, 2, 3, 4, 5); B. char a=0, 1, 2, 3, 4, 5); C. char a=A, B, C; D. int a5=“0123“;(分数:2.00)A.B. C.D.解析:解析 A 中初值的个数大于 a 的定义的长度,错误。C 中 a 被定为字符却给它赋值为数值,错误。D 中 a 是整型数组却给它

    37、赋值为字符串,错误。24.在嵌套使用 if 语句时,C 语言规定 else 总是U /U。 A. 和之前与其具有相同缩进位置的 if 配对 B. 和之前与其最近的 if 配对 C. 和之前与其最近的且不带 else 的 if 配对 D. 和之前的第一个 if 配对(分数:2.00)A.B.C. D.解析:解析 C 语言的语法规定:else 子句总是与前面最近的不带 else 的 if 相结合,与书写格式无关。所以选项 C)为正确答案。25.下列程序是用来判断数组中特定元素的位置所在的。#includeconio.h#includestdio.hint fun(int *s,int t,int

    38、*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,int age;a10=“ZHAO“,14, “WANG“,15, “LIU“,16, “ZHANG“,17 ;执行语句 printf“%d,%c“,a2.age, *(a3.name+2)的输出结果为U /U。 A. 15, A B. 16, H C. 16, A D. 17, H(分数:2.00)A.B.C. D.解析:解析 本题主要考查结构体数组。a2.a

    39、ge 为结构体 a2的 age 成员,即 160 a3.name 为指向结构体 a3的 name 成员的第一个元素的指针,即指向“Z”,(a3.name+2)将指针后移两位指向第三个元素“A”,*(a3).name+2)是取指针所指向地址的内容。27.设有定义:char s10;int i=0;,以下不能将一行(不超过 100 个字符)带有空格的字符串正确读入的语句或语句组是U /U。 A. gets(s); B. scanf(“%s“,s); C. while(si+=getchar()!=/n);si=/0; D. doscanf(“%c“,int i,k=0,n=0;fp=fopen(“

    40、d1.dat“,“w“);for(i=1;i4;i+) fprintf(fp,“%d“,i);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“,printf(“%d%d/n“,k,n);fclose(fp);执行后的输出结果是U /U。 A. 1 2 B. 123 0 C. 1 23 D. 0 0(分数:1.00)A.B. C.D.解析:解析 fprintf、fscanf 函数与 printf、scanf 函数作用相仿,都足格式化读写函数,其区别在于:fprintf 和 fscanf 函数的读写对象不是终端而是磁盘文件。这两个函数的一般调用方

    41、式为: fprintf(文件指针,格式字符串,输出表列); fscanf(文件指针,格式字符串,输入表列); 程序首先将 123 写入 d1.dat 文件中,再从该文件中将数据读给变量 k 和 n。由于文件 d1.dat 中的数据是 123,按格式“%d%d”读数据时将 123 读给 k,n 没有得到读入的数据,保持初始值 0。29.有以下函数int aaa(char*s) char*t=s;while(*t+);t-;return(t-s);以下关于 aaa 函数的功能叙述正确的是U /U。 A.求字符串 s 的长度 B.比较两个串的大小 C.将串 s 复制到串 t D.求字符串 s 所占字

    42、节数(分数:1.00)A. B.C.D.解析:解析 在 while 循环开始前,指针 t 和 s 都指向字符串的起始位置。while 循环的判断条件中,判断 t 所指位置是否为字符串的结束标志,同时让 t 右移一位。当 while 循环结束时,t 自减 1,此时 t指向的位置是字符串的结束标志,故 t-s 的值是字符串的长度。30.有以下程序:#includestdio.hvoid fun(char*t,char*s) while(*t!=0)t+;while(*t+=*s+)!=0);main() char ss10=“acc“,aa10=“bbxxyy“;fun(ss,aa);printf

    43、(“%s,%s/n“,ss,aa);程序的运行结果是_。 A. accxyy,bbxxyy B. acc,bbxxyy C. accxxyy,bbxxyy D. accbbxxyy,bbxxyy(分数:2.00)A.B.C.D. 解析:解析 本题考查的重点是数组与指针的关系。函数 fun()中用两个指针来访问实参的两个数组。而函数 fun 的功能是将第二个字符串合并到第一个的末尾,因此选项 D 是正确的。31.以下程序的输出结果是U /U。 #includestdio.h main() int a33=0,1,2,0,1,2,0,1,2,i,j,s=1; for(i=0;i3;i+) for(

    44、j=i;j=i;j+) s+=aiajj; printf(“%d/n“,s); A. 3 B. 4 C. 1 D. 9(分数:2.00)A.B. C.D.解析:解析 当外层循环为 i 时,内层循环 i 只能取 j=i,所以 s+=aiajj,其实就是 s+=aiaii,当 i=0 时,s=s+a0a010=s+a00=1,当 i=1 时,s=s+a1a111=s+a11=1+1=2,当 i=2 时,s=s+a2a22=s+a22=2+2=4。32.有下列程序:#include stdio.h#include “string.h“void tim(char *s,int n)char *t;int i,j;for(i=0;in-1;i+


    注意事项

    本文(【计算机类职业资格】二级C语言笔试-1-1及答案解析.doc)为本站会员(eveningprove235)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开