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

    【计算机类职业资格】二级C语言分类模拟题547及答案解析.doc

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

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

    【计算机类职业资格】二级C语言分类模拟题547及答案解析.doc

    1、二级 C语言分类模拟题 547及答案解析(总分:61.50,做题时间:90 分钟)一、选择题(总题数:40,分数:61.50)1.有以下程序: #includestdio.h ain() int a=3; a+=a-=a*a; printf(“%d/n“,a); 程序运行后的输出结果是_。(分数:1.00)A.0B.9C.3D.-122.下列叙述中正确的是_。(分数:1.00)A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.以上说法都不对3.以下关于 C语言数据类型的叙述中正确的

    2、是_。(分数:2.50)A.C基本数据类型包括:分为整型、实型、浮点型、字符型四种B.实型常量的表达方式包括十进制形式、十六进制形式、二进制形式、八进制形式、指数形式C.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D.若只处理“真”和“假”两种逻辑值,应使用逻辑类型4.若有定义:char*ps=“aa“,“bb“,“cc“,“dd“;,则以下叙述正确的是_。(分数:1.00)A.*ps0是字符“a“B.*ps0是字符串“aa“C.ps0是字符“a“D.ps是字符串“aa“5.有以下程序: #includestdio.h main() int a=0,b=0,c=0,d=0

    3、; if(a=1)b=1;c=2; else d=3; printf(“%d,%d,%d,%d/n“,a,b,c,d); 程序的运行结果是_。(分数:2.50)A.1,1,2,0B.0,0,0,3C.编译有错D.0,1,2,06.以下说法中正确的是_。(分数:2.50)A.C语言程序的执行都是从程序的第一个函数开始B.在 C语言程序中,要调用的函数必须在 main函数中声明C.任何 C语言程序的执行都是从 main函数开始D.C语言程序中的 main函数必须放在程序的最前面7.有以下程序 #includestdio.h void f(int*q) int i=0; for(;i5;i+)(*q

    4、)+; main() int a5=1,2,3,4,5,i; f(a); for(i=0;i5;i+)printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.6,2,3,4,5,B.2,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,8.执行下列程序中的输出语句后,a 的值是 _ 。 main() int a; printf(“%d/n“, (a=2*3,a*5,a+7); (分数:1.00)A.17B.37C.6D.139.以下叙述中不正确的是_。(分数:2.50)A.在不同的函数中可以使用相同的名字的变量B.函数中的形式参数是局部变量C.在一个函

    5、数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效10.指针变量 p的基类型为 double,并已指向一连续存储区,若 p中当前的地址值为 65490,则执行 p+后,p 中的值为 _(分数:1.00)A.65490B.65492C.65494D.6549811.下述程序的输出结果是_。 #includestdio.h void main() char a=1,b=2; char c=ab2; printf(“/n%d“,c); (分数:2.50)A.9B.10C.12D.212.若有以下程序: #include stdio.h main( ) int

    6、a=1,b=2,c=3,d=4; if(a=2) | (b=1)c=2; if(c= =3) printf(“%d,%d,%d,%d/n“,a,b,c,d); 则程序的输出结果是_。(分数:2.50)A.1,2,3,4B.2,1,2,-1C.5,1,2,-1D.2,2,2,413.有以下程序: #include stdio.h main () FILE *pf; char *s1=“China“, *s2=“Beijing“; pf=fopen(“abc.dat“, “wb+“); fwrite(s2, 7, 1, pf); fwrite(s1, 3, 1, pf); fclose (pf);

    7、 以上程序运行后,abc.dat 文件的内容是 _ 。(分数:1.00)A.ChinaB.BeijingC.BeijingChiD.BeijingChina14.若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为_。 (x+y)%2+(int)a/(int)b(分数:1.00)A.1.0B.1C.2.0D.215.C语言程序中,若函数无返回值,则应该对函数说明的类型是_。(分数:1.00)A.intB.doubleC.charD.void16.链表不具有的特点是_。(分数:2.50)A.不必事先估计存储空间B.可随机访问任意元素C.插入、删除不需要移动元素

    8、D.所需空间与线性表长度成正比17.有以下程序: #include stdio.h main() int x=1, y=2, z=3; if(xy) if(yz) printf(“% d“, +z); else printf(“% d“, +y); printf(“% d/n“, x+); 程序的运行结果是_。(分数:1.00)A.331B.41C.2D.118.一个 C语言程序是由_。(分数:2.00)A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成19.若变量已正确定义,有以下程序段:i=0;do printf(“%d,“,i);while(i+);printf

    9、(“%d/n“,i);程序的运行结果是_。(分数:2.50)A.0,1B.0,0C.1,1D.程序进入无限循环20.下列定义数组的语句中,正确的是_。(分数:1.00)A.int N=10;int xN;B.# define N 10int xN;C.int x010;D.int x;21.在长度为 n的有序线性表中进行二分法查找,最坏情况下需要比较的次数是_。 A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)(分数:1.00)A.B.C.D.22.以下叙述正确的是_。(分数:1.00)A.do-while语句构成的循环,当 while语句中的表达式值为 0时结束循环

    10、B.do-while语句和 while-do构成的循环功能相同C.while-do语句构成的循环,当 while语句中的表达式值为非 0时结束循环D.do-while语句构成的循环,必须用 break语句退出循环23.以下关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:2.50)A.可以是任意合法的表达式B.只能是整数 0或非 0整数C.可以是结构体类型的数据D.只能是整数 0或 124.下列关于 C语言数据文件的叙述中正确的是(分数:1.00)A.文件由 ASCII码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录序列组成,可

    11、按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件25.有以下程序: #includestdio.h main() char s=“aeiou“), *ps; ps=s; printf(“%c/n“, *ps+4); 程序运行后的输出结果是( )。(分数:1.00)AaBeCuD.元素 s4的地址26.若有函数定义如下: int fun(int x, int y) return x-y; 则以下涉及上述函数的说明语句错误的_。(分数:1.00)A.int fun(int x, y);B.int fun(int, int);C.int f

    12、un(int a, int b);D.int i, fun(int x, int y);27.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针28.有以下程序 struct Sint n;int a20; void f(int *a,int n ) int i; for(i=0;iN-1;i+)NBSP;AI+=I; main() int i;struct S s10,2,3,1,6,8,7,5,4,10,9; f(s.a,s.n); for(i=0;iS.N;

    13、i+)NBSP;PRINTF(“%D“,S.AI); 程序运行后的输出结果是_。(分数:2.00)A.2,4,3,9,12,12,11,11,18,9,B.3,4,2,7,9,8,6,5,11,10,C.2,3,1,6,8,7,5,4,10,9,D.1,2,3,6,8,7,5,4,10,9,29.在 ASCII代码表中每一个大写字母比它相应的小写字母的 ASCII码 _ 。(分数:2.00)A.小 32B.小 64C.大 32D大 130.若变量已正确定义,在 if(W) printf(“%d/n“,k); 中,以下不可替代 W的是_。(分数:2.00)A.a b+cB.ch=getchar(

    14、)C.a= =b+cD.a+ +31.设栈的顺序存储空间为 S(1:m),初始状态为 top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为_。(分数:1.00)A.30B.20C.m-19D.m-2032.有以下程序段: int i,n; for(i=0;i8;i+) n=rand()%5; switch(n) case 1: case 3:printf(“%d/n“,n); break; case 2: case 4:printf(“%d/n“,n); continue; case 0:exit(0); printf(“%d/n“,n); 以下关于程序段执行情况

    15、的叙述,正确的是_。(分数:1.00)A.for循环语句固定执行 8次B.当产生的随机数 n为 4时结束循环操作C.当产生的随机数 n为 1和 2时不做任何操作D.当产生的随机数 n为 0时结束程序运行33.下列叙述中正确的是_。(分数:2.50)A.调用 printf()函数时,必须要有输出项B.使用 putchar()函数时,必须在之前包含头文件 stdio.hC.在 C语言中,整数可以以二进制、八进制或十六进制的形式输出D.调节 getchar()函数读入字符时,可以从键盘上输入字符所对应的 ASCII码34.面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是_。(分数:

    16、1.00)A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.不强调模拟现实世界中的算法而强调概念35.有如下程序: #include stdio.h main( ) int i, data; scanf(“%d“, for(i=0; i10; i+) if(idata) break; printf(“%d,“,i); 程序运行时,从键盘输入:3回车后,程序输出结果为_。(分数:1.00)A.3,4,5,B.1,2,3,C.2,3,4,D.0,1,2,3,36.若 a=3,b=4,c=5,d=6,则条件表达式 a

    17、b?a:cd?c:d 的值是_。(分数:2.00)A.4B.3C.2D.137.有以下程序: #include stdio.h double fun(double a) double x; x = a - (int)a; return x: main( ) double a = 3.1415; printf(“%f/n“,fun(a); 程序的运行结果是_。(分数:1.00)A.3.000000B.3.141500C.0.141500D.0.00000038.用 MIPS来衡量计算机性能的指标是 ( )(分数:1.00)A.存储容量B.可靠性C.处理能力D.运算速度39.有以下程序 #incl

    18、udestdio.h int fun(int(*s)4,int n,int k) int m,i; m=s0k; for(i=1;in;i+) if(sikm) m=sik; return m; main() int a44=1,2,3,4, 11,12,13,14, 21,22,23,24, 31,32,33,34; printf(“%d/n“,fun(a,4,0); 程序的运行结果是_。(分数:1.00)A.31B.34C.4D.3240.有以下程序: #includestdio.h main() int a4,p,x,i; for(i=3;i0;i-)ai-1=i*2-1; scanf(

    19、“%d“, i=0; while(aix)i+; p=i; for(i=3;ip;i-)ai=ai-1; ap=x; for(i=0;i4;i+)printf(“%3d“,ai); printf(“/n“); 执行时输入:2回车,则输出结果是_。(分数:1.00)A.1 2 3 4B.5 4 3 1C.1 2 3 5D.3 2 1 4二级 C语言分类模拟题 547答案解析(总分:61.50,做题时间:90 分钟)一、选择题(总题数:40,分数:61.50)1.有以下程序: #includestdio.h ain() int a=3; a+=a-=a*a; printf(“%d/n“,a); 程

    20、序运行后的输出结果是_。(分数:1.00)A.0B.9C.3D.-12 解析:解析 首先计算 a*a结果为 9,执行 a=a-9,a 的值为-6,然后执行 a+=a,即 a=a+a=-6+(-6),所以值为-12。2.下列叙述中正确的是_。(分数:1.00)A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.以上说法都不对解析:解析 在循环队列中,用队尾指针 rear指向队列中的队尾元素,用队头指针 front指向队头元素的前一个位置。因此,从队头指针 front指向的后一个位置直

    21、到队尾指针 rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数随队头指针和队尾指针的变化而变化,故 A正确。3.以下关于 C语言数据类型的叙述中正确的是_。(分数:2.50)A.C基本数据类型包括:分为整型、实型、浮点型、字符型四种B.实型常量的表达方式包括十进制形式、十六进制形式、二进制形式、八进制形式、指数形式C.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D.若只处理“真”和“假”两种逻辑值,应使用逻辑类型解析:解析 C 基本数据类型包括:分为整型、实型、枚举型、字符型四种,实型就是浮点型,实型数据只有十进制,没有 2,8,16 进制表达,

    22、在 C语言中没有定义逻辑类型,而是一般用 0代表假,用非零代表真。4.若有定义:char*ps=“aa“,“bb“,“cc“,“dd“;,则以下叙述正确的是_。(分数:1.00)A.*ps0是字符“a“ B.*ps0是字符串“aa“C.ps0是字符“a“D.ps是字符串“aa“解析:解析 定义指针数组 ps,ps0代表数组首个元素的地址,即”aa”的地址,同时也是”aa”第一个字符 a的地址,所以*ps0代表字符 a。5.有以下程序: #includestdio.h main() int a=0,b=0,c=0,d=0; if(a=1)b=1;c=2; else d=3; printf(“%d

    23、,%d,%d,%d/n“,a,b,c,d); 程序的运行结果是_。(分数:2.50)A.1,1,2,0B.0,0,0,3C.编译有错 D.0,1,2,0解析:解析 本题中 if(a=1)b=1;与 else d=3;之间多了语句 c=2;,所以会出现 else语句的位置错误的编译失败提示。6.以下说法中正确的是_。(分数:2.50)A.C语言程序的执行都是从程序的第一个函数开始B.在 C语言程序中,要调用的函数必须在 main函数中声明C.任何 C语言程序的执行都是从 main函数开始 D.C语言程序中的 main函数必须放在程序的最前面解析:7.有以下程序 #includestdio.h v

    24、oid f(int*q) int i=0; for(;i5;i+)(*q)+; main() int a5=1,2,3,4,5,i; f(a); for(i=0;i5;i+)printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.6,2,3,4,5, B.2,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,解析:解析 f 函数将 a0自增 5次,所以答案选择 A。8.执行下列程序中的输出语句后,a 的值是 _ 。 main() int a; printf(“%d/n“, (a=2*3,a*5,a+7); (分数:1.00)A.17B.37C.6 D.

    25、13解析:解析 本题考查逗号表达式本题的返回值是 a+7,a=2*3=6,a+7=13(注意:本题问的是 a的值,而不是程序的输出值)。9.以下叙述中不正确的是_。(分数:2.50)A.在不同的函数中可以使用相同的名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效 解析:10.指针变量 p的基类型为 double,并已指向一连续存储区,若 p中当前的地址值为 65490,则执行 p+后,p 中的值为 _(分数:1.00)A.65490B.65492C.65494D.65498 解析:11.下述程序的输出

    26、结果是_。 #includestdio.h void main() char a=1,b=2; char c=ab2; printf(“/n%d“,c); (分数:2.50)A.9 B.10C.12D.2解析:解析 本题主要考查 C语言最基本的算术运算“左移()”和“异或()”。 “左移”或“右移”运算表达式的一般形式为:xn 或 xn。“左移()”运算的规则是将 x的二进制位全部向左移动 n位,将左边移动的高位舍弃,右边空出的位补 0;“右移()”运算的规则是将 x的二进制位全部向右移动 n位,将右边移出的低位舍弃,左边高位空出要根据原来符号位的情况进行补充,对无符号数则补 0,对有符号数,

    27、若为正数则补 0,若为负数则补 1。 “异或”运算是当两个运算量的相应位相同时结果为 0,不相同时结果为 1。b=2 的二进制为(00000010)b2 后为 00001000,a=1 的二进制为 00000001,所以 c=ab2 为 00001001,转化为十进制后为 9。12.若有以下程序: #include stdio.h main( ) int a=1,b=2,c=3,d=4; if(a=2) | (b=1)c=2; if(c= =3) printf(“%d,%d,%d,%d/n“,a,b,c,d); 则程序的输出结果是_。(分数:2.50)A.1,2,3,4B.2,1,2,-1C.

    28、5,1,2,-1D.2,2,2,4 解析:解析 第一个 if语句的判断条件是逻辑或表达式,所以只要有一个运算对象为真结果就为真,且如果前面的已经为兵,后面的表达式不再进行执行判断。执行第一个 if判断条件时 a的值为 2,整个表达式的值为真,b 的值不变,c 的值为 2。判断第二个 if条件为逻辑与表达式,只有两个运算对象均非零,才为真,第一个表达式 c=3,不成立,不再判断第二个运算对象,所以不执行 d=-1操作和 a=5操作。所以结果为选项 D。13.有以下程序: #include stdio.h main () FILE *pf; char *s1=“China“, *s2=“Beiji

    29、ng“; pf=fopen(“abc.dat“, “wb+“); fwrite(s2, 7, 1, pf); fwrite(s1, 3, 1, pf); fclose (pf); 以上程序运行后,abc.dat 文件的内容是 _ 。(分数:1.00)A.ChinaB.BeijingC.BeijingChi D.BeijingChina解析:解析 本题考查 fread和 fwrite函数的使用。fwrite(s2, 7, 1, pf);语句向文件写入字符串 s2, fwrite(s1, 3, 1, pf);语句向文件写入 s1的前 3位,最终文件 abc.dat的内容是 BeijingChi。1

    30、4.若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为_。 (x+y)%2+(int)a/(int)b(分数:1.00)A.1.0B.1 C.2.0D.2解析:15.C语言程序中,若函数无返回值,则应该对函数说明的类型是_。(分数:1.00)A.intB.doubleC.charD.void 解析:解析 int 表示返回值是整型,double 表示返回值是双精度型,char 表示返回值是字符型,void表示无返回值。16.链表不具有的特点是_。(分数:2.50)A.不必事先估计存储空间B.可随机访问任意元素 C.插入、删除不需要移动元素D.所需空间与线性表

    31、长度成正比解析:解析 链表采用的是链式存储结构,它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,插入、删除不需要移动数据元素。但是链式存储结构也有不足之处:每个结点中的指针域须额外占用存储空间。它是一种非随机存储结构。17.有以下程序: #include stdio.h main() int x=1, y=2, z=3; if(xy) if(yz) printf(“% d“, +z); else printf(“% d“, +y); printf(“% d/n“, x+); 程序的运行结果是_。(分数:1.00)A.331B.41C.2D.1 解析:解析 该题目考查

    32、if条件语句,else 语句和最近的一个 if语句配对。由于 xy 为假,所以直接执行最后一行代码。18.一个 C语言程序是由_。(分数:2.00)A.一个主程序和若干子程序组成B.函数组成 C.若干过程组成D.若干子程序组成解析:19.若变量已正确定义,有以下程序段:i=0;do printf(“%d,“,i);while(i+);printf(“%d/n“,i);程序的运行结果是_。(分数:2.50)A.0,1 B.0,0C.1,1D.程序进入无限循环解析:解析 第一次首先执行循环体,打印 i的值 0,然后判断 while的条件 i+,先用后自增,所以判断时条件为假,跳出循环,但是仍执行了

    33、 i的自增操作,i 的值为 1,在接下来的打印语句中进行打印。20.下列定义数组的语句中,正确的是_。(分数:1.00)A.int N=10;int xN;B.# define N 10int xN;C.int x010;D.int x; 解析:解析 选项 A、B 中 n为变量,C 语言中不允许动态定义数组维数,即维数不能是变量。选项 C无此语法。21.在长度为 n的有序线性表中进行二分法查找,最坏情况下需要比较的次数是_。 A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)(分数:1.00)A.B.C. D.解析:解析 当有序线性表为顺序存储时才能用二分法查找。可以证

    34、明的是,对于长度为 n的有序线性表,在最坏情况下,二分法查找只需要比较 log2n次,而顺序查找需要比较 n次,因此本题答案为 C。22.以下叙述正确的是_。(分数:1.00)A.do-while语句构成的循环,当 while语句中的表达式值为 0时结束循环 B.do-while语句和 while-do构成的循环功能相同C.while-do语句构成的循环,当 while语句中的表达式值为非 0时结束循环D.do-while语句构成的循环,必须用 break语句退出循环解析:解析 while 循环语句一般形式为:while(表达式)循环体,执行过程为:首先判断表达式,成立(非 0)则执行循环体,

    35、不成立(0)则退出循环。do.while 循环语句一般形式为:do循环体while(表达式),执行过程为:首先执行循环体,之后判断表达式,成立(非 0)则再一次执行循环体,不成立(0)则退出循环。故 A选项正确。在条件相同的情况下,do.while 循环比 while.do多执行一次函数体,故B选项错误。两种循环都是在表达式为 0时结束循环,故 C选项错误。do.while 循环由表达式真假判断是否退出循环,也可以用 break语句退出循环,故 D选项错误。23.以下关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:2.50)A.可以是任意合法的表达式 B.只能是整数 0或非 0整数C.可

    36、以是结构体类型的数据D.只能是整数 0或 1解析:解析 C 语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择 A。24.下列关于 C语言数据文件的叙述中正确的是(分数:1.00)A.文件由 ASCII码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 解析:解析 C 语言把文件看成是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为 AS

    37、CII文件和二进制文件。ASCII 文件又称文本文件,它的每一个字节放一个 ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。25.有以下程序: #includestdio.h main() char s=“aeiou“), *ps; ps=s; printf(“%c/n“, *ps+4); 程序运行后的输出结果是( )。(分数:1.00)AaBe CuD.元素 s4的地址解析:解析 本题考查的知识点是指针。程序首先定义了一个字符数组 s,然后让字符指针 ps指向该数组的首地址。最后按字符形式输出*ps+4 的值,即 s0+4的值,“a“+=“

    38、e“。故应该选择 B)。26.若有函数定义如下: int fun(int x, int y) return x-y; 则以下涉及上述函数的说明语句错误的_。(分数:1.00)A.int fun(int x, y); B.int fun(int, int);C.int fun(int a, int b);D.int i, fun(int x, int y);解析:解析 C 语言中函数的说明形式为:类型说明符函数名(类型形参名 1,类型形参名 2,.);其中形参名可以直接省略,但类型不可省略,故选项 B、C 正确;选项 D中,变量 i和函数同时声明,正确;A选项中,说明语句中省略了类型,错误。27

    39、.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针 解析:解析 循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构,所以对头指针有时可能大于队尾指针有时也可能小于队尾指针,故本题答案为 D。28.有以下程序 struct Sint n;int a20; void f(int *a,int n ) int i; for(i=0;iN-1;i+)NBSP;AI+=I; main() int i;struct S s10,

    40、2,3,1,6,8,7,5,4,10,9; f(s.a,s.n); for(i=0;iS.N;i+)NBSP;PRINTF(“%D“,S.AI); 程序运行后的输出结果是_。(分数:2.00)A.2,4,3,9,12,12,11,11,18,9, B.3,4,2,7,9,8,6,5,11,10,C.2,3,1,6,8,7,5,4,10,9,D.1,2,3,6,8,7,5,4,10,9,解析:29.在 ASCII代码表中每一个大写字母比它相应的小写字母的 ASCII码 _ 。(分数:2.00)A.小 32 B.小 64C.大 32D大 1解析:解析 本题考查大小写字母的 ASCII码值的关系。大

    41、写字母比它相应的小写字母的 ASCII码小32。30.若变量已正确定义,在 if(W) printf(“%d/n“,k); 中,以下不可替代 W的是_。(分数:2.00)A.a b+c B.ch=getchar()C.a= =b+cD.a+ +解析:解析 选项 A是非法的表达式,C 语言中没有运算符。31.设栈的顺序存储空间为 S(1:m),初始状态为 top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为_。(分数:1.00)A.30B.20C.m-19 D.m-20解析:解析 栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。入栈运算即在栈顶位置插

    42、入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。栈为空时,栈顶指针 top=0,经过入栈和退栈运算,指针始终指向栈顶元素。初始状态为 top=m+1,当 top=20时,元素依次存储在单元 20:m中,个数为 m-19,故 C选项正确。32.有以下程序段: int i,n; for(i=0;i8;i+) n=rand()%5; switch(n) case 1: case 3:printf(“%d/n“,n); break; case 2: case 4:printf(“%d/n“,n); continue; case 0:exit(0); printf(“%d/n“,n); 以下关于程序

    43、段执行情况的叙述,正确的是_。(分数:1.00)A.for循环语句固定执行 8次 B.当产生的随机数 n为 4时结束循环操作C.当产生的随机数 n为 1和 2时不做任何操作D.当产生的随机数 n为 0时结束程序运行解析:解析 程序中的 for循环是固定地执行 8次,属于计数器,程序是从中随机抽取一个数,然后对5进行求余再输出,共抽取 8个数。所以答案为 A。33.下列叙述中正确的是_。(分数:2.50)A.调用 printf()函数时,必须要有输出项B.使用 putchar()函数时,必须在之前包含头文件 stdio.h C.在 C语言中,整数可以以二进制、八进制或十六进制的形式输出D.调节

    44、getchar()函数读入字符时,可以从键盘上输入字符所对应的 ASCII码解析:解析 选项 A,若 printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项 C,在 C语言中,整数可以十进制、八进制或十六进制的形式输出;选项 D,getchar 函数是从标准输入设备读取一个字符。34.面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是_。(分数:1.00)A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题 D.不强调模拟

    45、现实世界中的算法而强调概念解析:解析 面向对象的设计方法的基本原理:使用现实世界的概念抽象地思考问题从而自然地解决问题。它虽强调模拟现实世界中的概念而不强调算法,但也鼓励开发者在软件开发的过程中从应用领域的概念角度去思考。35.有如下程序: #include stdio.h main( ) int i, data; scanf(“%d“, for(i=0; i10; i+) if(idata) break; printf(“%d,“,i); 程序运行时,从键盘输入:3回车后,程序输出结果为_。(分数:1.00)A.3,4,5,B.1,2,3,C.2,3,4,D.0,1,2,3, 解析:解析 从

    46、键盘上输入“3”,此时 data=3。进入 for语句,执行 if语句,判断 idata 是否成立,如果条件成立,运行 break语句结束整个循环过程。当 i等于 0、1、2、3 时,if 条件不满足,执行循环体中的 printf(“%d“,i)语句,因此答案为 D选项。36.若 a=3,b=4,c=5,d=6,则条件表达式 ab?a:cd?c:d 的值是_。(分数:2.00)A.4B.3 C.2D.1解析:37.有以下程序: #include stdio.h double fun(double a) double x; x = a - (int)a; return x: main( ) do

    47、uble a = 3.1415; printf(“%f/n“,fun(a); 程序的运行结果是_。(分数:1.00)A.3.000000B.3.141500C.0.141500 D.0.000000解析:解析 这里考查了强制转换的概念,在 fun()函数中,x=a-(int)a 表示 x取值为 a的小数部分,因此,输入 a为 3.1415,输出 x=0.141500,答案为 C选项。38.用 MIPS来衡量计算机性能的指标是 ( )(分数:1.00)A.存储容量B.可靠性C.处理能力D.运算速度 解析:39.有以下程序 #includestdio.h int fun(int(*s)4,int n,int k)


    注意事项

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




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

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

    收起
    展开