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

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

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

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

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

    1、二级 C语言分类模拟题 548及答案解析(总分:61.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.下列叙述中正确的是(分数:2.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间2.设 x、y 和 z是 int型变量,且 x=4,y=6,z=8,则下列表达式中值为 0的是_。(分数:1.00)A.xi7;i+)printf(i%2)?(“*%d/n“):(“#%d/n“),i);

    2、(分数:2.50)A.*3#4*5*6B.#3*4#5*6C.#3*4#5#6D.*3#4*5#64.有以下程序: #includestdio.h int fun() static int x=1; x*=2; return x; main() int i, s=1; for(i=1; i=3; i+) s*=fun(); printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.30B.10C.0D.645.有以下程序 #include stdio.h int fun(int (*s)4,int n,int k) int m,i; m=s0kl; for(i=1;

    3、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); 程序的运行结果是_。(分数:2.00)A.4B.34C.31D.326.有以下程序: #includestdio.h #includestring.h struct A int a; char b10; double c; ; void f(struct A t); main() struct A a=1001,“ZhangDa“,1098.0; f(a)

    4、; printf(“%d,%s,%6.lf/n“,a.a,a.b,a.c); void f(struct A t) t.a=1002; strcpy(t.b,“ChangRong“); t.c=1202.0; 程序运行后的输出结果是_。(分数:1.00)A.1002,ZhangDa,1202.0B.1002,ChangRong,1202.0C.1001,ChangRong,1098.0D.1001,ZhangDa,1098.07.对于下列定义,不正确的叙述是 _ 。 union data int a; char b; double c; x=y;(分数:1.00)A.变量 x所占内存的长度等于

    5、成员 c的长度B.变量 x的地址和它的各成员地址都是相同的C.可以在定义时对 x初始化D.不能对变量 x赋值,故 x=y非法8.若变量已正确定义,在 if(W)printf(“%d/n“,k);中,以下不可替代 W的是_。(分数:1.00)A.ab+cB.ch=getchar()C.a=b+cD.a+9.有以下程序: #include stdio.h main() int c,d; c=13d=10 printf(“%d,%d/n“,c,d); 程序的运行结果是_。(分数:1.00)A.5,1B.1,1C.18,1D.13,110.有以下程序: #includestdio.h main() i

    6、nt x=8; for(;x0;x-) if(x%3) printf(“%d,“,x-); contmue; printf(“%d,“,-x); 程序运行后的输出结果是_。(分数:1.00)A.7,4,2,B.8,7,5,2,C.9,7,6,4,D.8,5,4,2,11.若有以下程序: #include stdio.h main( ) int c; c=105; printf(“%d/n“, c); 则程序的输出结果是_。(分数:2.00)A.5B.15C.10000D.10512.在数据结构中,从逻辑上可以把数据结构分为_。(分数:1.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.

    7、线性结构和非线性结构D.内部结构和外部结构13.以下正确的说法是_。(分数:2.00)A.定义函数时,形参的类型说明可以放在函数体内B.return后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准D.如果形参与实参类型不一致,以实参类型为准14.有以下程序: #includestdio.h main() int i; for(i=1; i=5; i+) if(i%2)printf(“*“); else continue; printf(“#“); printf(“$/n“); 程序的输出结果是_。(分数:2.50)A.*#*#*#$B.#*#*#*$C.*#*#$D

    8、.#*#*$15.有如下程序: #includestdio.h main() int a=1,b; b=(a2)%3; printf(“%d,%d“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.1,1B.2,0C.1,0D.2,116.若各选项中所用变量已正确定义,函数 fun中通过 return语句返回一个函数值,以下选项中错误的程序是_。(分数:1.00)A.main()x=fun(2,10);float fun(int a,int b)B.float fun(int a,int b)main()x=fun(i,j);C.float fun(int,int);main()x

    9、=fun(2,10);float fun(int a,int b)D.main()float fun(int i,int j);x=fun(i,j);float fun(int a,int b)17.下述程序的输出结果是_。 #includestdio.h void main() char a=1,b=2; char c=ab2; printf(“/n%d“,c);(分数:4.00)A.9B.10C.12D.218.负责数据库中查询操作的数据库语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言19.有以下程序: #includestdio.h main

    10、() int a44=1,4,3,2, 8,6,5,7, 3,7,2,5, 4,8,6,1; int i,j,k,t; for(i=0;i4;i+) for(j=0;j3;j+) for(k=j+1;k4;k+) if(ajiaki) t=aji; aji=aki; aki=t; /*按列排序*/ for(i=0;i4;i+) printf(“%d,“,aii); 程序运行后的输出结果是_。(分数:1.00)A.1,6,2,1,B.8,7,3,1,C.4,7,5,2,D.1,6,5,7,20.在软件开发中,需求分析阶段可以使用的工具是_。(分数:1.00)A.N-S图B.DFD图C.PAD图D

    11、.程序流程图21.以下选项中,能定义 s为合法的结构体变量的是 _ 。(分数:1.00)A.typedef struct abc double a;char b10; s;B.struct double a;char b10;s;C.struct ABC double a;char b10;ABC s;D.typedef ABC double a;char b10;ABC s;22.以下叙述中正确的是(分数:1.00)A.C程序中各函数之间既允许直接递归调用,也允许间接递归调用B.C程序中各函数之间不允许直接递归调用,也不允许间接递归调用C.C程序中各函数之间允许直接递归调用,不允许间接递归调

    12、用D.C程序中各函数之间不允许直接递归调用,允许间接递归调用23.以下程序中 C的二进制值是_。 char a=2,b=4,c; c=ab2(分数:2.00)A.00000011B.00010100C.00011100D.0001100024.设有变量说明 int(*p)m,其中的标识符 p是 _ 。(分数:1.00)A.m个指向整型变量的指针B.指向 m个整型变量的指针C.一个指向具有 m个整型元素的一维数组的指针D.具有 m个指针元素的一维指针数组,每个元素都指向整型变量25.软件(程序)调试的目标是(分数:2.00)A.诊断和改正程序中的错误B.尽可能多地发现程序中的错误C.发现并改正程

    13、序中的所有错误D.确定程序中错误的性质26.结构化程序设计的 3种结构是_。(分数:2.50)A.顺序结构、选择结构、转移结构B.分支结构、等价结构、循环结构C.多分支结构、赋值结构、等价结构D.顺序结构、选择结构、循环结构27.fgetc函数的作用是从指定文件读入一个个字符,该文件的打开方式必须是_。(分数:2.00)A.只读B.追加C.读或读写D.以上均正确28.对于下列定义,不正确的叙述是 _ 。 union data int a; char b; double c; x=y;(分数:2.00)A.变量 x所占内存的长度等于成员 c的长度B.变量 x的地址和它的各成员地址都是相同的C.可

    14、以在定义时对 x初始化D.不能对变量 x赋值,故 x=y非法29.下列叙述中正确的是_。(分数:1.00)A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.以上说法都不对30.下面不属于软件需求分析阶段主要工作的是_。(分数:1.00)A.需求变更申请B.需求分析C.需求评审D.需求获取31.下列运算符中优先级最低的算符是_。(分数:1.00)A.|B.!=C.=D.+32.有以下程序: #includestdio.h main() int a=1, b=0; if(-a)b+;

    15、else if(a=0) b+=2; else b+=3; printf(“%d/n“, b); 程序运行后的输出结果是_。(分数:1.00)A.0B.1C.2D.333.有以下程序 #includestdio.h #define S(x)4*(x)*x+1 main() int k=5,j=2; printf(“%d/n“,S(k+j); 程序运行后的输出结果是_。(分数:2.00)A.143B.197C.33D.2834.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是_。(分数:2.00)A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值

    16、35.在下列选项中,没有构成死循环的程序段是_。(分数:2.00)A.int i=100;while(1) i=i%100+1;if(i100)break;B.for(;);C.int k=1000;do+k;while(k=1000);D.int s=36:while(s);-s;36.C语言源程序名的后缀是_。(分数:1.00)ACBexeCobjDcp37.若有以下程序 #includestdio.h void fun(int a,int n) intt,i,j; for(i=1;in;i+=2) for(j=i+2;jn;j+=2) if(aiaj)t=ai;ai=aj;aj=t; m

    17、ain() int c10=10,9,8,7,6,5,4,3,2,1,i; fun(c,10); for(i=0;i10;i+)printf(“%d,“,ci); printf(“n“); 则程序的输出结果是_。(分数:1.00)A.10,1,8,3,6,5,4,7,2,9,B.10,9,8,7,6,5,4,3,2,1,C.2,9,4,7,6,5,8,3,10,1,D.1,10,3,8,5,6,7,4,9,2,38.有以下结构体说明、变量定义和赋值语句: struct STD char name10; int age; char sex; s5,*ps; ps=s0; 则以下 scanf函数调

    18、用语句有错误的是_。(分数:1.00)A.scanf(“%s“,s0.name);B.scallf(“%d“,s0.age);C.scanf(“%c“,(ps-sex);D.scanf(“%d“,ps-age);39.C语言中标准库函数 fputs(str,fp)的功能是_。(分数:1.00)A.从 str指向的文件中读一个字符串存入 fp指向的内存B.把 str所指的字符串输出到 fp所指的文件中C.从 fp指向的文件中读一个字符串存入 str指向的内存D.把 fp指向的内存中的一个字符串输出到 str指向的文件40.若有以下程序 #includestdio.h int f(int a, i

    19、nt n) if(n1) int t; t=f(a, n-1); returntan-1?t:an-1; else return a0; main() int a=8, 2, 9, 1, 3, 6, 4, 7, 5; printf(“%d/n“, f(a, 9); 则程序的输出结果是_。(分数:2.00)A.1B.9C.8D.5二级 C语言分类模拟题 548答案解析(总分:61.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.下列叙述中正确的是(分数:2.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B.顺序存储结构只针对线性结构,

    20、链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析:解析 顺序存储方式是把逻辑上相邻的结点存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。其优点是占用最少的存储空间。所以选项 D错误。顺序存储结构可以存储如二叉树这样的非线性结构,所以选项 B错误。链式存储结构也可以存储线性表,所以选项 C错误。2.设 x、y 和 z是 int型变量,且 x=4,y=6,z=8,则下列表达式中值为 0的是_。(分数:1.00)A.xi7;i+)printf(i%2)?(“*%d/n“):(“#%d/n“),i

    21、);(分数:2.50)A.*3#4*5*6B.#3*4#5*6C.#3*4#5#6D.*3#4*5#6 解析:解析 本题考查 printf函数的输出格式和条件表达式“?:”的使用。printf 函数输出时“*%d/n”和“#%d/n”中的“#”和“*”都是直接输出。条件表达式的基本格式为:“a?b:c”。它的运算规则为:当 a为非 0时,整个表达式的值取 b的值,当 a为 0时,整个表达式取 c的值。4.有以下程序: #includestdio.h int fun() static int x=1; x*=2; return x; main() int i, s=1; for(i=1; i=3

    22、; i+) s*=fun(); printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.30B.10C.0D.64 解析:解析 分析程序可知,main 函数中初始化 s=1,然后根据 i的值 1、2、3 执行 3次 for循环,每次将 s当前值与函数 fun()的返回值相乘,并将乘积赋给 s,所以 for循环等价于:s=s*fun()*fun()*fun();可见 s的值取决于 fun()函数的返回值。在 fun()函数中,定义了一个静态局部变量 x并初始化为 1,再将 x的值乘以 2返回,因为静态局部变量 x在编译时赋初值,并且只赋值一次,下一次调用时都是保留上

    23、一次的值,所以 fun()函数每次被调用,返回值都是上一次的 2倍,所以 s=1248=64。故答案选 D选项。5.有以下程序 #include stdio.h int fun(int (*s)4,int n,int k) int m,i; m=s0kl; 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); 程序的运行结果是_。(分数:2.00)A.4B.34C.31 D.32解析:解析 在

    24、主函数中,定义并初始化了 4行 4列的二维数组 a,并通过调用 fun函数,将 fun函数中指向一维数组的指针变量 s指向了二维数组 a的首地址,使得指针变量 s与数组 a共用同一存储单元。在 fun函数中,通过 for循环,求得了数组 a第 0列中最大的值,并赋给 m返回主函数。由于数组 a第 0列的值分别为 1、11、21、31,故其最大值是 31。6.有以下程序: #includestdio.h #includestring.h struct A int a; char b10; double c; ; void f(struct A t); main() struct A a=1001

    25、,“ZhangDa“,1098.0; f(a); printf(“%d,%s,%6.lf/n“,a.a,a.b,a.c); void f(struct A t) t.a=1002; strcpy(t.b,“ChangRong“); t.c=1202.0; 程序运行后的输出结果是_。(分数:1.00)A.1002,ZhangDa,1202.0B.1002,ChangRong,1202.0C.1001,ChangRong,1098.0D.1001,ZhangDa,1098.0 解析:解析 本题考查结构体的相关操作以及传值、传址的区别,该题中调用 f函数后,会生成参数 a的一个副本,而不会改变 a的

    26、值,所以 a值维持原值,选项 D正确。7.对于下列定义,不正确的叙述是 _ 。 union data int a; char b; double c; x=y;(分数:1.00)A.变量 x所占内存的长度等于成员 c的长度B.变量 x的地址和它的各成员地址都是相同的C.可以在定义时对 x初始化 D.不能对变量 x赋值,故 x=y非法解析:解析 本题主要考查的知识点是联合体的内存使用。联合体所占用的内存空间为最长的成员所占用的空间,各个成员分量全部是从低地址方向开始使用内存单元。不能在定义共用体变量时对它初始化。8.若变量已正确定义,在 if(W)printf(“%d/n“,k);中,以下不可替

    27、代 W的是_。(分数:1.00)A.ab+c B.ch=getchar()C.a=b+cD.a+解析:解析 选项 A是非法的表达式,C 语言中没有运算符。9.有以下程序: #include stdio.h main() int c,d; c=13d=10 printf(“%d,%d/n“,c,d); 程序的运行结果是_。(分数:1.00)A.5,1 B.1,1C.18,1D.13,1解析:解析 “ for(;x0;x-) if(x%3) printf(“%d,“,x-); contmue; printf(“%d,“,-x); 程序运行后的输出结果是_。(分数:1.00)A.7,4,2,B.8,

    28、7,5,2,C.9,7,6,4,D.8,5,4,2, 解析:解析 coutinue 的作用是跳出循环体中剩余的语句而进行下一次循环。第一次循环 x的值为 8,循环体中 if条件成立,打印 x的值 8后将 x减 1,再执行 continue语句,跳出本次循环。第二次判断循环条件时,x 的值变为 6,不满足循环体内 if条件,执行打印-x 的操作,即打印 5后跳出循环。第三次判断循环条件时 x的值为 4,满足循环体中 if条件,执行打印 x-的操作,即打印 4,后将 x值减一,执行 continue语句,跳出本次循环。第四次判断循环条件时 x的为 2,满足循环体中 if条件,打印 x-,即打印 2

    29、后将 x减一,执行 continue语句,跳出本次循环。在进行 for条件表达式中第三个表达式 c-的操作后 x的值为 0,不满足条件结束循环。所以打印结果为“8,5,4,2,”。11.若有以下程序: #include stdio.h main( ) int c; c=105; printf(“%d/n“, c); 则程序的输出结果是_。(分数:2.00)A.5B.15 C.10000D.105解析:解析 本题考查位运算中的按位异或运算符。异或运算只有在两个比较的位不同时其结果是 1,否则结果为 0,10 用二进制表示为 00001010,5 用二进制表示为 00000101,异或运算后结果为

    30、00001111,即 15,选项 B正确。12.在数据结构中,从逻辑上可以把数据结构分为_。(分数:1.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构解析:解析 逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素之间一对多或多对一的关系。13.以下正确的说法是_。(分数:2.00)A.定义函数时,形参的类型说明可以放在函数体内B.return后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参类型不一致,以实参类型为准解析:14.有以下程序: #inc

    31、ludestdio.h main() int i; for(i=1; i=5; i+) if(i%2)printf(“*“); else continue; printf(“#“); printf(“$/n“); 程序的输出结果是_。(分数:2.50)A.*#*#*#$ B.#*#*#*$C.*#*#$D.#*#*$解析:解析 #includestdio.h int main() int i; for(i=1; i=5; i+) if(i%2) printf(“*“); else continue; printf(“#“); printf(“$/n“); /*i=1*# *i=3*# *i=5

    32、*# $ 所以输出为*#*#*#$和一个换行符*/,因此正确答案为 A。15.有如下程序: #includestdio.h main() int a=1,b; b=(a2)%3; printf(“%d,%d“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.1,1B.2,0C.1,0 D.2,1解析:解析 “”是右移运算符,功能是将一个数的各个二进制位右移若干位,本题中将变量 a(二进制:00000001)右移 2位,a2 的结果为 0,再对 3求余,结果为 0,赋给 b的值为 0、a 的值不变,输出结果为:1,0。故本题答案为 C选项。16.若各选项中所用变量已正确定义,函数 f

    33、un中通过 return语句返回一个函数值,以下选项中错误的程序是_。(分数:1.00)A.main()x=fun(2,10);float fun(int a,int b) B.float fun(int a,int b)main()x=fun(i,j);C.float fun(int,int);main()x=fun(2,10);float fun(int a,int b)D.main()float fun(int i,int j);x=fun(i,j);float fun(int a,int b)解析:解析 在函数调用前,需要定义或声明,A 选项错误。17.下述程序的输出结果是_。 #in

    34、cludestdio.h void main() char a=1,b=2; char c=ab2; printf(“/n%d“,c);(分数:4.00)A.9 B.10C.12D.2解析:18.负责数据库中查询操作的数据库语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言 D.数据控制语言解析:解析 数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增加、删除、修改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。因此本题答案为 C。19.有以下程序: #includestdio.h m

    35、ain() int a44=1,4,3,2, 8,6,5,7, 3,7,2,5, 4,8,6,1; int i,j,k,t; for(i=0;i4;i+) for(j=0;j3;j+) for(k=j+1;k4;k+) if(ajiaki) t=aji; aji=aki; aki=t; /*按列排序*/ for(i=0;i4;i+) printf(“%d,“,aii); 程序运行后的输出结果是_。(分数:1.00)A.1,6,2,1,B.8,7,3,1,C.4,7,5,2,D.1,6,5,7, 解析:解析 首先对二维数组进行赋值操作,a00、a0l1a32、a33的值为1、46、1。通过 fo

    36、r语句和 if语句,对二维数组各列元素进行由小到大的排序操作,程序最后通过for语句输出二维数组对角线上的元素。因此 D选项正确。20.在软件开发中,需求分析阶段可以使用的工具是_。(分数:1.00)A.N-S图B.DFD图 C.PAD图D.程序流程图解析:解析 在需求分析阶段可以使用的工具有数据流图(DFD 图)、数据字典(DD)、判定树与判定表,所以选择 B选项。21.以下选项中,能定义 s为合法的结构体变量的是 _ 。(分数:1.00)A.typedef struct abc double a;char b10; s;B.struct double a;char b10;s; C.str

    37、uct ABC double a;char b10;ABC s;D.typedef ABC double a;char b10;ABC s;解析:解析 定义一个结构体类型的变量,可采用三种方法: 先定义结构体类型,再定义变量名。 在定义类型的同时定义变量。 直接定义结构体类型变量,即不出现结构体名。 选项 B)符合第三种定义方法。22.以下叙述中正确的是(分数:1.00)A.C程序中各函数之间既允许直接递归调用,也允许间接递归调用 B.C程序中各函数之间不允许直接递归调用,也不允许间接递归调用C.C程序中各函数之间允许直接递归调用,不允许间接递归调用D.C程序中各函数之间不允许直接递归调用,允

    38、许间接递归调用解析:23.以下程序中 C的二进制值是_。 char a=2,b=4,c; c=ab2(分数:2.00)A.00000011 B.00010100C.00011100D.00011000解析:24.设有变量说明 int(*p)m,其中的标识符 p是 _ 。(分数:1.00)A.m个指向整型变量的指针B.指向 m个整型变量的指针C.一个指向具有 m个整型元素的一维数组的指针 D.具有 m个指针元素的一维指针数组,每个元素都指向整型变量解析:解析 本题考查指向数组的指针变量的声明。这里的 p表示一个指向数组的指针:*p 表示指针 p指向地址的内容。25.软件(程序)调试的目标是(分数

    39、:2.00)A.诊断和改正程序中的错误 B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质解析:解析 软件测试与软件调试是两个不同的概念:软件测试的目的是发现错误,而软件调试的目的是发现错误或导致程序失效的原因,并修改程序以修正错误,调试是测试之后的活动。26.结构化程序设计的 3种结构是_。(分数:2.50)A.顺序结构、选择结构、转移结构B.分支结构、等价结构、循环结构C.多分支结构、赋值结构、等价结构D.顺序结构、选择结构、循环结构 解析:解析 结构化程序设计的基本要点:采用自顶向下、逐步求精的程序设计方法;任何程序都可由顺序、选择和循环 3种基本控制结

    40、构构造。27.fgetc函数的作用是从指定文件读入一个个字符,该文件的打开方式必须是_。(分数:2.00)A.只读B.追加C.读或读写D.以上均正确 解析:解析 fgetc 函数是指从指定的文件读入一个字符,该文件必须是以读或读写方式打开的。fgetc函数的调用形式为: ch=fgetc(fp);。28.对于下列定义,不正确的叙述是 _ 。 union data int a; char b; double c; x=y;(分数:2.00)A.变量 x所占内存的长度等于成员 c的长度B.变量 x的地址和它的各成员地址都是相同的C.可以在定义时对 x初始化 D.不能对变量 x赋值,故 x=y非法解

    41、析:解析 本题主要考查的知识点是联合体的内存使用。联合体所占用的内存空间为最长的成员所占用的空间,各个成员分量全部是从低地址方向开始使用内存单元。不能在定义共用体变量时对它初始化。29.下列叙述中正确的是_。(分数:1.00)A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.以上说法都不对解析:解析 在循环队列中,用队尾指针 rear指向队列中的队尾元素,用排头指针 front指向排头元素的前一个位置。因此,从排头指针 front指向的后一个位置直到队尾指针 rear指向的位置之

    42、间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A 选项正确。30.下面不属于软件需求分析阶段主要工作的是_。(分数:1.00)A.需求变更申请 B.需求分析C.需求评审D.需求获取解析:解析 需求分析阶段的工作可概括为 4个方面:需求获取;需求分析;编写需求规格说明书;需求审评。31.下列运算符中优先级最低的算符是_。(分数:1.00)A.| B.!=C.=D.+解析:解析 C 语言中规定运算符的优先顺序:一元算术运算符-二元算术运算符-关系运算符-逻辑运算符-赋值运算符,A 项中为逻辑运算符,B 项和 C项都为关系运算符,D 项为一元运算符。因此最低

    43、的是 A项。32.有以下程序: #includestdio.h main() int a=1, b=0; if(-a)b+; else if(a=0) b+=2; else b+=3; printf(“%d/n“, b); 程序运行后的输出结果是_。(分数:1.00)A.0B.1C.2 D.3解析:解析 主要考查 if(-a),意思为如果-a 为真,将会一直进行下列语句,所以答案为 C。33.有以下程序 #includestdio.h #define S(x)4*(x)*x+1 main() int k=5,j=2; printf(“%d/n“,S(k+j); 程序运行后的输出结果是_。(分数

    44、:2.00)A.143 B.197C.33D.28解析:34.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是_。(分数:2.00)A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值 解析:解析 在 if语句中,表达式可以是任意合法的数值。当其值为非零时,执行 if语句,为零时执行 else语句。35.在下列选项中,没有构成死循环的程序段是_。(分数:2.00)A.int i=100;while(1) i=i%100+1;if(i100)break;B.for(;);C.int k=1000;do+k;while(k=1000); D.int

    45、s=36:while(s);-s;解析:36.C语言源程序名的后缀是_。(分数:1.00)AC BexeCobjDcp解析:解析 C 语言源程序名的后缀为.c,所以 A正确。37.若有以下程序 #includestdio.h void fun(int a,int n) intt,i,j; for(i=1;in;i+=2) for(j=i+2;jn;j+=2) if(aiaj)t=ai;ai=aj;aj=t; main() int c10=10,9,8,7,6,5,4,3,2,1,i; fun(c,10); for(i=0;i10;i+)printf(“%d,“,ci); printf(“n“)

    46、; 则程序的输出结果是_。(分数:1.00)A.10,1,8,3,6,5,4,7,2,9, B.10,9,8,7,6,5,4,3,2,1,C.2,9,4,7,6,5,8,3,10,1,D.1,10,3,8,5,6,7,4,9,2,解析:解析 fun 函数功能为,把下标为奇数的元素按值的从小到大排列,所以答案选择 A。38.有以下结构体说明、变量定义和赋值语句: struct STD char name10; int age; char sex; s5,*ps; ps=s0; 则以下 scanf函数调用语句有错误的是_。(分数:1.00)A.scanf(“%s“,s0.name);B.scallf(“%d“,s0.age);C.scanf(“%c“


    注意事项

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




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

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

    收起
    展开