【计算机类职业资格】二级C语言笔试313及答案解析.doc
《【计算机类职业资格】二级C语言笔试313及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试313及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 313 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.有以下程序: int a=2; int f(int n) static int a=3; int t=0; if(n % 2)(static int a=4; t+=a+; elsestatic int a=5; t+=a+; return t+a+; matin() int s=a, i; for(i=0; i3; i+)s+=f(i); printf(“% d/n“, s); 程序运行后的输出结果是_。(分数:2.00)A.26B.28C.29D.242.
2、若有以下程序段: int m=0xabc, n=0xabc; m-=n; printf(“% X/n“, m); 执行后的输出结果是_。(分数:2.00)A.0X0B.0x0C.0D.0XABC4.设有如下关系表: (分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S5.以下选项中可作为 C 语言合法常量的是_。(分数:2.00)A.-80.B.-080C.-8e1.0D.-80.0e6.以下选项中非法的表达式是_。(分数:2.00)A.0=x100B.i=j=0C.(cha(65+3)D.x+1=x+17.有以下程序段: main() int a=5, *b, *c; c=
3、b= 程序在执行了 c= b= 语句后,表达式*c 的值是_。(分数:2.00)A.变量 a 的地址B.变量 b 中的值C.变量 a 中的值D.变量 b 的地址8.有以下程序: main() unsigped int a; int b=-1; a=b; printf(“% u“, a); 程序运行后的输出结果是_。(分数:2.00)A.-1B.65535C.32767D.-327689.设变量已正确定义,则以下能正确计算 n!的程序段是_。(分数:2.00)A.f=0; for(i=1; i=n; i+)f*=i;B.f=1; for(i=1; in; i+)f*=i;C.f=1; for(i
4、=n; i1; i+)f*=i;D.f=1; for(i=n; i=2; i-)f*=i;10.以下只有在使用时才为该类型变量分配内存的存储类说明是_。(分数:2.00)A.auto 和 staticB.auto 和 registerC.register 和 staticD.extern 和 register11.以下不能正确计算代数式 sin2( (分数:1.00)A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5), 2)/3D.1/3.0*pow(sin(1.0/2), 2)12.已有定义:char a=“xyz“b=x,
5、y, z);,以下叙述中正确的是_。(分数:1.00)A.数组 a 和 b 的长度相同B.a 数组长度小于 b 数组长度C.a 数组长度大于 b 数组长度D.上述说法都不对13.以下程序段中,能够通过调用函数 fun,使 main 函数中的指针变量 p 指向一个合法的整型单元的是_。(分数:1.00)A.main() int *p; fun(; int fun(int * int s; p=B.main() int *p; fun(&; int fun(int * int s; *p=C.# includestdli h main() int *p; fun(&; int fun(int *
6、*p=(int *)malloc(2);D.# includestdli h main() int *p; fun(; int fun(int * p=(int *)malloc(sizeof(in);14.有如下程序: # define N 2 # define M N+1 # define NUM 2*M+1 # main() int i; for(i=1; i=NUM; i+) printf(“% d/n“, i); 该程序中的 for 循环执行的次数是_。(分数:1.00)A.5B.6C.7D.815.有以下程序: main() int i=1, j=2, k=3; if(i+=1 程
7、序运行后的输出结果是_。(分数:1.00)A.1 2 3B.2 3 4C.2 2 3D.2 3 316.用 C 语言编写的代码_。(分数:1.00)A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行17.在函数调用过程中,如果函数 funA 调用了函数 funB,函数 funB 又调用了函数 funA,则_。(分数:1.00)A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C 语言中不允许这样的递归调用18.有以下程序: main() int p7=11, 13, 14, 15, 16, 17, 18), i=0, k=0; while(i
8、7 i+; printf(“% d/n“, k) 执行后的输出结果是_。(分数:1.00)A.58B.56C.45D.2419.有以下程序: main() char p=a, b, c, q=“abc“; printf(“% d % d/n“, sizeof(p), sizeof(q); ; 程序运行后的输出结果是_。(分数:1.00)A.4 4B.3 3C.3 4D.4 320.有以下程序: main() char a=a, b; printf(“% c, “,+a); printf(“% c/n“, b=a+); 程序运行后的输出结果是_。(分数:1.00)A.b, bB.a, bC.b,
9、 cD.a, c21.下列程序执行后的输出结果是_。 # define MA(x) x*(x-1) main() int a=1, b=2; printf(“% d/n“, MA(1+a+b);(分数:2.00)A.6B.8C.10D.1222.有以下程序: main() int i=0, s=0; do if(i % 2) i+; continue; i+; s+=i; while(i7);printf(“% d/n“, s); 执行后的输出结果是_。(分数:2.00)A.16B.12C.28D.2123.以下程序的输出结果是_。 int f() static int i=0; int s=
10、1; s+=i; i+; return s; main() int i, a=0; for(i=0; i5; i+) a+=f(); printf(“% d/n“, a);(分数:2.00)A.20B.24C.25D.1524.若变量已正确说明为 float 类型,要通过语句 scanf(“%f %f %f“, p=s1; printf(“% c, % s/n“, *(p+1),so); 执行后的输出结果是_。(分数:2.00)A.n, twoB.t, oneC.w, oneD.o, two26.有以下函数定义: void fun(int n, double x) 若以下选项中的变量都已经正确
11、定义并赋值,则对函数 fun 的正确调用语句是_。(分数:2.00)A.fun(int y, double ;B.k=fun(10, 12.5);C.fun(x, ;D.void fun(n, ;27.以下叙述中正确的是_。(分数:2.00)A.局部变量说明为 static 存储类,其生存期将得到延长B.全局变量说明为 static 存储类,其作用域将被扩大C.任何存储类的变量在未赋初值时,其值都是不确定的D.形参可以使用的存储类说明符与局部变量完全相同28.有以下程序: # define N 20 fun(int a, int n, int m) int i, j; for(i=m; i=n
12、; i-)ai+1=ai; main() int i, aN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; fun(a, 2, 9); for(i=0; i5; i+)printf(“% d“, ai); 程序运行后的输出结果是_。(分数:2.00)A.10234B.12344C.12334D.1223429.以下叙述中正确的是_。(分数:2.00)A.预处理命令行必须位于源文件的开头B.在源文件的一行上可以有多条预处理命令C.宏名必须用大写字母表示D.宏替换不占用程序的运行时间30.有以下程序: # includestdio. h # difine F(X, Y) (X)*(
13、Y) main() int a=3, b=4; print(“% d/n“, F(a+, b+); 程序运行后的输出结果是_。(分数:2.00)A.12B.15C.16D.2031.下列关于栈的描述中错误的是_。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入和删除操作中,不需要改变栈底指针32.有以下程序: main() int k=5, n=0; while(k0); switch(k) default; break; case 1:n+=k; case 2; case 3:n+=k; k-; printf(“% d/n“, n); 程序运行后的
14、输出结果是_。(分数:2.00)A.0B.4C.6D.733.有以下程序: main() int x=3, y=2, z=1; printf(“% d/n“, x/y 程序运行后的输出结果是_。(分数:2.00)A.3B.2C.-1D.034.以下选项中合法的用户标识符是_。(分数:2.00)A.longB._2TestC.3DmaxD.dat35.执行下列程序时输入:123空格456空格789回车,输出结果是_。 mein() char s100; int c, i; scanf(“% c“, scanf(“% d“, scanf(“% s“, s); printf(“% c, % d, %
15、 s/n“, c, i, s); (分数:2.00)A.123, 456, 789B.1, 456, 789C.1, 23, 456, 789D.1, 23, 45636.在一个 C 程序中_。(分数:2.00)A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头37.在 C 语言中,形参的默认存储类型是_。(分数:2.00)A.autoB.registerC.staticD.extern38.有以下程序: int f1(i
16、nt x, int y) return xy? x:y; int f2(int x, int y) return xy? y:x; main() int a=4, b=3, c=5, d=2, e, f, g; e=f2(f1(a, b), f1(c, d); f=f1(f2(a, b) , f2(c, d); g=a+b+c+d-e-f; printf(“% d, %d, %d/n“, e, f, g); 程序运行后的输出结果是_。(分数:2.00)A.4, 3, 7B.3, 4, 7C.5, 2, 7D.2, 5, 739.以下能正确定义一维数组的选项是_。(分数:2.00)A.int a
17、5=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“;40.结构化程序设计的主要特点是_。(分数:2.00)A.模块化B.每个控制结构具有封装性C.每个控制结构具有独立性D.每个控制结构只有一个入口和一个出口二、B填空题/B(总题数:15,分数:30.00)41.测试的目的是暴露错误,评价程序的可靠性;而U 【1】 /U的目的是发现错误的位置并改正错误。(分数:2.00)填空项 1:_42.以下程序的功能是输出如下形式的方阵: 13 14 15 16 9 10 11 12 5 6 7 8
18、1 2 3 4 请填空。 main() int i, j, x; for(j=4; j0; j-) for(i=1; i=4; i+) x=(j-1)*4+U 【2】 /U;printf(“% 4d“, x); printf(“/n“); (分数:2.00)填空项 1:_43.有以下程序: main() char str=“xyz“, *ps=str; while(* ps)ps+; for(ps-; ps-str=0;ps-)puts(ps); 执行后的输出结果是U 【3】 /U。(分数:2.00)填空项 1:_44.执行以下程序后,输出#号的个数是U 【4】 /U。 # includest
19、dio. h main() int i, j; for(i=1; i5; i+) for(j=2; j=i; j+)putchar(#); (分数:2.00)填空项 1:_45.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 U 【5】 /U(double, double); main() double x, y; scanf(“% lf % lf“, printf(“% 1f/n“, max(x, y); double max(double a, double b) return(ab? a:b); (分数:2.00)填空项 1:_46.有以下程序: int sub(int n
20、) return(n/10+n%10); main() int x, y; scanf(“% d“, y=sub(sub(sub(x); printf(“% d/n“, y); 若运行时输入:1234回车,程序的输出结果是U 【6】 /U。(分数:2.00)填空项 1:_47.以下程序运行后的输出结果是U 【7】 /U。 void fun(int x, int y) x=x+y; y=x-y; x=x-y; printf(“% d, % d, “, x, y); main() int x=2, y=3; fun(x, y); printf(“% d, % d/n“, x, y); (分数:2.
21、00)填空项 1:_48.已知字母 A 的 ASCII 码为 65,以下程序运行后的输出结果是U 【8】 /U。 main() char a, b; a=A+5-3; b=a+6-2; printf(“% d % c/n“, a, b); (分数:2.00)填空项 1:_49.以下程序运行后的输出结果是U 【9】 /U。 main() int a, b, c; a=25; b=025; c=0x25; printf(“% d % d % d/n“, a, b, c); (分数:2.00)填空项 1:_50.以下程序的功能是调用函数 fun 计算:m=1-2+3-4+9-10,并输出结果。请填空
22、。 int fun(int n) int m=0, f=1, i; for(i=1; i=n; i+) m+=i*f; f=_; return m; main() printf(“% d/n“,U 【10】 /U); (分数:2.00)填空项 1:_51.以下程序中,for 循环体执行的次数是U 【11】 /U。 # define N 2 # define M N+1 # define K M+1*M/2 main() int i; for(i=1; iK; i+) . . (分数:2.00)填空项 1:_52.有以下程序: # define f(x)x*x main() int i; i=f
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 313 答案 解析 DOC
