【计算机类职业资格】二级C语言笔试-186及答案解析.doc
《【计算机类职业资格】二级C语言笔试-186及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-186及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-186 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有以下程序:int fun(int n)if(n=1)return 1;else return(n+fun(n-1);main()int x;scanf(“%d“, x); x=fun(x); printf(“%d/n“, x);执行程序时,给变量 X输入 10,程序的输出结果是( )。(分数:2.00)A.55B.54C.65D.452.有以下程序:main()int i, n=0;for(i=2; i5; i+)doif(i%3) continue;n+;whil
2、e(! i);n+;printf(“n=%d/n“, n);程序执行后输出结果是( )。(分数:2.00)A.n=5B.n=2C.n=3D.n=43.定义结构体数组:struct stuint num;char name20;X5=1,“LI“, 2, “ZHAO“, 3, “WANG“, 4, “ZHANG“, 5, “LIU“);for(i=1; i5; i+)printf(“%d%c“, xi. num, xi.name2);以上程序段的输出结果为( )。(分数:2.00)A.2A3N4A5UB.112A3H4IC.1A2N3A4UD.2H3A4H5I4.以下程序的输出结果是( )。ma
3、in()int a=3;printf(“%d/n“, (a+a-=a*a);(分数:2.00)A.-6B.12C.0D.-125.有以下程序:main()int x=102, y=012;printf(“%2d, %2d/n“, x, y);执行后输出结果是( )。(分数:2.00)A.10,01B.02,12C.102,10D.02,106.以下程序的输出结果是( )。union myunstructint x, y, z; )u;int k;a;main()a. u. x=4; a.u.y=5; a.u.z=6;a.k=0:printf(%d/n“, a.u.x);(分数:2.00)A.4
4、B.5C.6D.07.若希望下列的程序运行后输出 25,程序空白处的正确选项是( )。main()int id=50,a=7, 4, 10, 5, 8;for( )j+=ai;printf(“%d“, j-40);(分数:2.00)A.i=1; i4; +iB.i=1; i3; +iC.i=4; i2; i=D.i=2; i4; +i8.若二维数组 a有 m列,则在 aij前的元素个数为( )。(分数:2.00)A.i*m+j-1B.i*m+jC.j*m+iD.i*m+j+19.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易
5、读性10.以下程序的输出结果是( )。main()char wE10=“ABCD“, “EFGH“, “IJKL“, “MNOP“, K;for(k=1; k3; k+)printf(“%s/n“, wk);(分数:2.00)A.ABCDFGHKLB.ABCDEFGIJC.EFGJKOD.EFGHIJKL11.若有以下定义和语句:“double r=99,*p=r; *p=r; ”,则以下正确的叙述是( )。(分数:1.00)A.两个*p 含义相同,都说明给指针变量 p赋值B.在“double r=99,*p=r; ”中,把 r的地址赋值给了 P所指的存储单元C.语句“*p=r;”把变量 r的
6、值赋给指针变量 pD.语句“*p=r;”取变量 r的值放回 r中12.以下程序的输出结果是( )。main()char*s=“12134211“;int v4=0, 0, 0, 0), k, i;for(k=0;sk; k+)switch(sk)case1: i=0;case2: i=1;case3: i=2;case4: i=3; )vi+;for(k=0; k4; k+)printf(“%d“, vk);(分数:1.00)A.4 2 1 1B.0 0 0 8C.4 6 7 8D.8 8 8 813.在面向对象方法中,( )描述的是具有相似属性与操作的一组对象。(分数:1.00)A.属性B.
7、事件C.方法D.类14.有以下程序:void fun(char *a, char*b)a=b; (*a)+; main()char c1=A, c2=a,*p1, *p2;p1=c1; p2=*c2; fun(p1, p2);print(“%c 9/6c/n“, c1, c2);程序运行后的输出结果是( )。(分数:1.00)A.AbB.aaC.AaD.Bb15.下列程序的输出结果是( )。void fun(int*x, int y)printf(“%d%d“, *x, “y); *x=3; *y=4; )main()int x=1, y=2; fun(y, x);printf(“%d%d“,
8、 x, y);(分数:1.00)A.2 1 4 3B.1 2 1 2C.1 2 3 4D.2 1 1 216.下列选项中非法的字符常量是( )。(分数:1.00)A./tB./039C.,D./n17.有以下程序:main()int x=0, y=5, z=3;while(z-O +x5)y=y-1;printf(“%d, %d, %d/n“, x, y, z);程序执行后的输出结果是( )。(分数:1.00)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-518.在下列给出的表达式中,与 while(E)中的(E)不等价的表达式是( )。(分数:1.00)A.(!E=0)B.(
9、E0|E0)C.(E=0)D.(E!=0)19.常采用的两种存储结构是( )。(分数:1.00)A.顺序存储结构和链式存储结构B.散列方法和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构20.有以下程序段:int x=3;doprintf(“%d“, x-=2); while(!(-x);其输出结果是( )。(分数:1.00)A.1B.3 0C.1 -2D.死循环21.以下有 4组用户标识符,其中合法的一组是( )。(分数:2.00)A.FOrSubCaseB.4dDOSizeC.f2_G3IFabcD.WORDVOiddefine22.用链表表示线性表的优点是( )。(分数:
10、2.00)A.便于随机存取B.花费的存储宅间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同23.有以下程序:main()char a=a, b;printf(“%c,“, +a);printf(“%c/n“, b=a+);程序运行后的输出结果是( )。(分数:2.00)A.b,bB.b,CC.a,bD.a,c24.当 c的值不为 0时,在下列选项中不能正确将 c的值赋给变量 a、b 的是( )。(分数:2.00)A.c=b=a;B.(a=c)|(b=c);C.(a=c)(b=c);D.a=c=b;25.设 int x=7,则x 的值是( )。(分数:2.00)A.-8B
11、.7C.-1D.126.算法分析的目的是( )。(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进27.C语言的基本单位是( )。(分数:2.00)A.函数B.过程C.子程序D.子函数28.以下程序的输出结果是( )。main()int x=0.5;char z=a;printf(“%d/n“, (x1)(zz); (分数:2.00)A.0B.1C.2D.329.能正确表示“当 x的取值在1,10和100,110范围内为真,否则为假”的表达式是( )。(分数:2.00)A.(x=1)(xB.(x=1)(x=10)(
12、x=100)(x=110)C.(x=1)(x=10)(x=100)(x=110)D.(x=1)(x=10)(x=100)(x=110)30.语句:“printf(“%d“, (a=2)(b=-2);”的输出结果是( )。(分数:2.00)A.无输出B.结果是不确定C.-1D.131.有以下程序:void f(int x, int y)int t;if(xy)t=x; x=Y; y=t; main()int a=4, b=3, c=5;f(a, b); f(a, c); f(b, c);print(“%d, %d, %a/n“, a, b, c);执行后输出结果是( )。(分数:2.00)A.3
13、,4,5B.5,3,4C.5,4,3D.4,3,532.下列程序的输出结果是( )。#includestdio.hint fun(int a)int b=0;static int c=4;a=c+; b+;return(a);main()int a=2, i, c;for(i=0; i2; i+)c=f(a+1);printf(“%d/n“, c);(分数:2.00)A.4B.7C.6D.533.有下列二叉树,对此二叉树前序遍历的结果为( )。(分数:2.00)A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ34.以下能正确定义一维数组的选项是( )。(
14、分数:2.00)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“;35.函数 ftell(fp)的作用是( )。(分数:2.00)A.得到 fp所指向文件的当前读写位置B.初始化流式文件的位置指针C.移动流式文件的位置指针D.以上答案均正确36.假定所有变量均已正确说明,下列程序段运行后 X的值是( )。a=b=c=0; x=12;if(!a)x-;else x=5;if(c)x=3;else x=4;(分数:2.00)A.11B.4C.12D.337.下面程序的功能是输出以
15、下形式的金字塔图案:main()int i, j; *for(i=1;i=4; i+) *for(j=1; j=4-i; j+) printf(“); *for(j=1; j=_; j+) printf(“*“); *printf(“/n“);在下划线处应填入的是( )。(分数:2.00)A.iB.2*i-1C.n=2*i+1D.i+238.对两个数组 a和 b进行下列初始化:char m=“1234567“;char n=1, 2, 3, 4, 5, 6, 7);则下列叙述正确的是( )。(分数:2.00)A.数组 m与数组 n完全相同B.数组 m与数组 n长度相同C.数组 m比数组 n长
16、1D.数组 m与数组 n中都存放字符串39.有下列程序:main()char s=“abcde“;s+=2;printf(“%d/n“, s0);执行后的结果是( )。(分数:2.00)A.输出字符 a的 ASCII码B.输出字符 c的 ASCII码C.输出字符 cD.程序出错40.以下程序的输出结果是( )。main()char ch34=“123“, “456“, “78“, *p3; int i;for(i=0; i3; i+)pi=chi;for(i=0; i3; i+)printf(“%s“, pi); (分数:2.00)A.123456780B.123 456 780C.12345
17、678D.147二、填空题(总题数:14,分数:30.00)41.在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个 1 实际上对应一个处理模块。(分数:2.00)填空项 1:_42.二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是 1。(分数:2.00)填空项 1:_43.数据库系统中实现各种数据管理功能的核心软件是 1。(分数:2.00)填空项 1:_44.语句:“x+; +x; x=1+x;”执行后都使变量 x中的值增 1,请写出一条同一功能的赋值语句 1。(分数:2.00)填空项 1:_45.数据模型按不同应用层次分成 3种类型,它们是概念数据
18、模型、 1 和物理数据模型。(分数:2.00)填空项 1:_46.在关系运算中, 1 运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系的一个子集。(分数:2.00)填空项 1:_47.在以下程序运行时若从键盘输入:10 20 30回车,输出结果是_。#includestdio.hmain()int i=0, j=0, k=0;scanf(“%d%*d%d“, i, j, k);printf(“Gd%d%d/n“, i, j, k);(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是_。main()int i=10, j=0;doj=j+i;
19、 i-; )while(i2);printf(“%d/n“, j);(分数:2.00)填空项 1:_49.以下程序的输出结果是_。#includestdio.hint fun(int x, int y)static int m=0, i=2;i=i+1;m+=i+x+y;return mmain()int j=4, m=1, k;k=fun(j, m);printf(“gd,“ , k);k=fun(j, m); printf(“%d/n“, k)(分数:2.00)填空项 1:_50.执行下列语句段后,X 的值是_。int *p, x;x=100;p=x;x=*p+50;(分数:2.00)填空
20、项 1:_51.设有下列宏定义:#define A 2#define B (A+3)则执行赋值语句“k=B*20;”(k 为 int型变量)后,k 的值是_。(分数:2.00)填空项 1:_52.下列程序运行后的输出结果是_。main()int x, a=1, b=2, c=3, d=4;x=(ab)?a: b; x=(xc)?x: c; x=(dx)?x: d;printf(“%d/n“, x);(分数:2.00)填空项 1:_下列程序中,fun()函数的功能是计算 x2-2x+6,主函数中将调用 fun()函数计算。y1=(x+8)2=2(x+8)+6y2=sin2(x)-2sin(x)+
21、6请填空:#includemath.hdouble fun(double x)return(x*x-2*x+6); main()double x, y1, y2;printf(“enter x: “); scanf(“%1f“, x);y1=fun(_);y2=fun(_);printf(“y1=%1f, y2=%1f/n“, y1, y2);(分数:4.00)填空项 1:_填空项 1:_53.下列程序的功能是:将输入的正整数按逆序输出。例如:若输入 135则输出 531。请填空。#includestdio.hmain()int n, s;printf(“Enter a number: “);
22、scanf(“%d“, n);printf(“Output: “);dos=n%10; printf(“%d“, s);_; )while(n!=0); printf(“/n“);(分数:2.00)填空项 1:_二级 C语言笔试-186 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有以下程序:int fun(int n)if(n=1)return 1;else return(n+fun(n-1);main()int x;scanf(“%d“, x); x=fun(x); printf(“%d/n“, x);执行程序时,给变量 X输入 10
23、,程序的输出结果是( )。(分数:2.00)A.55 B.54C.65D.45解析:解析 函数 int fun(int n)的功能是求 1+2+n的值并返回。所以执行程序时,给变量 x输入10后,执行语句“x=fun(x);”,x 的值将变为 1到 10中 10个整数的累加和,即 55。2.有以下程序:main()int i, n=0;for(i=2; i5; i+)doif(i%3) continue;n+;while(! i);n+;printf(“n=%d/n“, n);程序执行后输出结果是( )。(分数:2.00)A.n=5B.n=2C.n=3D.n=4 解析:解析 continue
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 186 答案 解析 DOC
