【计算机类职业资格】二级C语言分类模拟题548及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题548及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题548及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
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解析:解析 在
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 548 答案 解析 DOC
