【计算机类职业资格】二级C语言程序设计-4及答案解析.doc
《【计算机类职业资格】二级C语言程序设计-4及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言程序设计-4及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言程序设计-4 及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:30.00)1.若有定义:int x,*pb;则正确的赋值表达式是 A.pb= 程序的输出结果是 A.因变量无定义输出不定值 B.0 C.-1 D.1(分数:1.00)A.B.C.D.3.若有以下程序:#includestdio.hvoid sub(int x, int y, int*z) *z=y-x; main() int a, b, c;sub(10, 5, sub(7, a, sub(a, b, printf(“%d, %d, %d/n“, a, b, c);程序的输出
2、结果是 A.5,2,3 B.-5,-12,-7 C.-5,-12,-17 D.5,-2,-7(分数:1.00)A.B.C.D.4.若有以下程序:#includestdio.hmain() int k=2, m=4, n=6, *pk=*(p= printf(“%d/n“, n);程序的输出结果是 A.4 B.6 C.8 D.10(分数:1.00)A.B.C.D.5.若指针 p 已正确定义并指向如图所示存储单元:(分数:1.00)A.B.C.D.6.若指针 p 已正确定义并指向如图所示存储单元,则表达式*+p 的值是(分数:1.00)A.B.C.D.7.若指针 p 已正确定义并指向如图所示存储单
3、元,则表达式+*p 的值是(分数:1.00)A.B.C.D.8.若有以下程序:#includestdio.hvoid prtv(int*x)printf(“%d/n“, +*x); main() int a=25;prtv(程序的输出结果是 A.23 B.24 C.25 D.26(分数:1.00)A.B.C.D.9.若有以下程序#includestdio.hmain() int *k, *a, b=100;a= k= printf(“%d/n“, *k);程序的输出结果是 A.运行出错 B.100 C.a 的地址 D.b 的地址(分数:1.00)A.B.C.D.10.若有以下程序:#inclu
4、destdio.hvoid fun(float*a, float*b) float w;*a= *a+*a; w=*a; *a=*b; *b=w;main() float x=2.0, y=3.0, *px=fun(px, py); printf(“%2.0f, %2.0f/n“, x, y);程序的输出结果是 A.4,3 B.2,3 C.3,4 D.3,2(分数:1.00)A.B.C.D.11.若有以下程序:#includestdio.hvoid sub(double x, double*y, double*z) *y=*y-1.0; *z=*z+x; main()double a=2.5,
5、 b=9.0, *pa, *pb;pa= pb=sub(b-a, pa, pa); printf(“%f/n“, a);程序的输出结果是 A.9.000000 B.1.500000 C.8.000000 D.10.500000(分数:1.00)A.B.C.D.12.以下四个程序中不能对两个整型值进行交换的是 A.#includestdio.h void swap(int *p, int *q) int *t, a; t= *t=*p; *p=*q; *q=*t; main() int a=10, b=20; swap( printf(“%d%d/n“, a, b); B.#includestd
6、io.h void swap(int *p, int *q) int t; t=*p; *p=*q; *q=t; main() int a=10, b=20; swap( printf(“%d%d/n“, a, b); C.#includestdio.h void swap(int *p, int *q) int t; t=*p; *p=*q; *q=t; main() int *a, *b; *a=10, *b=20; swap(a, b); printf(“%d%d/n“, *a, *b); D.#includestdio.h void swap(int *p, int *q) int t
7、; t=*p; *p=*q; *q=t; main() int a=10, b=20, *x= swap(x, y); printf(“%d%d/n“, a, b); (分数:1.00)A.B.C.D.13.若已定义:int a=0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *p=a, i;其中 0i9,则对 a 数组元素的引用不正确的是 A.ap-a B.*(while(i10) scanf(“%d“, _);应在下划线处填入的是 A.a+(i+) B.printf(“%d/n“, *(p+2);程序的输出结果是 A.3 B.4 C.1 D.2(分数:1.00)A.B.C.D.
8、16.有以下程序:#includestdio.hmain() int n2=0, i, j, k=2;for(i=0; ik; i+)for(j=0; jk; j+) nj=ni+1;printf(“%d/n“, nk);程序的输出结果是 A.不确定的值 B.3 C.2 D.1(分数:1.00)A.B.C.D.17.有以下程序:#include stdio.hmain() int a=2, 4, 6, 8, 10, y=1, x, *p;p=for(x=0; x3; x+) y+=*(p+x);printf(“%d/n“, y);程序的输出结果是 A.17 B.18 C.19 D.20(分数:
9、1.00)A.B.C.D.18.有以下程序:#includestdio.hmain() int a=2, 4, 6, 8, *p=a, i;for(i=0; i4; i+)ai = *p+;printf(“%d/n“, a2);程序的输出结果是 A.6 B.8 C.4 D.2(分数:1.00)A.B.C.D.19.有以下程序:#include stdio.hint f(int b, int n) int i, r=1; for(i=0; i=n; i+) r=r*bi;return r;main() int x, a=2, 3, 4, 5, 6, 7, 8, 9;x=f(a, 3);print
10、f(“%d/n“, x);程序的输出结果是 A.720 B.120 C.24 D.6(分数:1.00)A.B.C.D.20.有以下程序:#includestdio.hmain() int a=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *p;p=a;printf(“%x/n“, p); printf(“%x/n“, p+9);若一个 int 类型的变量占 2 个字节,第一个 printf 语句输出的是 194,则第二个 printf 语句的输出结果是 A.212 B.204 C.1a4 D.1a6(分数:1.00)A.B.C.D.21.有以下程序:#includestdio.h
11、void fun(int*s, int n1, int n2) int i, j, t;i=n1; j=n2;while (ij) t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; i+; j-; main() int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i, *p=a;fun(p, 0, 3); fun(p, 4, 9); fun(p, 0, 9);for(i=0; i10; i+) printf(“%d“, *(a+i);程序的输出结果是 A.0987654321 B.4321098765 C.5678901234 D.098765123
12、4(分数:1.00)A.B.C.D.22.有以下程序:#includestdio.hmain() int a5=2, 4, 6, 8, 10, *p, *k;p=a; k=printf(“%d“, *(p+); printf(“%d/n“, *k);程序的输出结果是 A.4 4 B.2 2 C.2 4 D.4 6(分数:1.00)A.B.C.D.23.有以下程序:#includestdio.h#define N 6main() char cN; int i=0;for(i=0; iN; i+) ci=getehar();for(i=0; iN; i+) putehar(ci);当运行以上程序时
13、输入三行,每行都是在第一列上开始,CR代表 Enter 键:aCRbCRcdefCR则程序的输出结果是 A.abcdef B.a b c d e f C.a b cd D.a b cdef(分数:1.00)A.B.C.D.24.若有定义:int c45,(*cp)5;和语句 cp=c;,则能正确引用 c 数组元素的是 A.cp+1 B.*(cp+3) C.*(cp+1)+3 D.*(*cp+2)(分数:1.00)A.B.C.D.25.若已定义:int a43=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,(*prt)3=a, *p=a0;则能够正确表示数组元素 a
14、12的表达式是 A.*(*prt+1)2) B.*(*(p+5) C.(*prt+1)+2 D.*(*(a+1)+2)(分数:1.00)A.B.C.D.26.若有定义和语句:int a 43=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, (*prt)3=a, *p4, i;for(i=0; i4; i+)pi=ai;则不能够正确表示 a 数组元素的表达式是 A.a43 B.p00 C.prt22 D.(*(p+1)1(分数:1.00)A.B.C.D.27.有以下程序:#includestdio.hmain()int aa33=2, 4, 6, i, *p=for
15、(i=0; i2; i+) if(i=0)aaii+1=*p+1;else+p;printf(“%d“, *p);printf(“/n“);程序的输出结果是 A.23 B.26 C.33 D.36(分数:1.00)A.B.C.D.28.有以下程序:#includestdio.hmain()int a34=1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, (*p)4=a, i, j, k=0;for(i=0; i3; i+)for(j=0; j2; j+)k+=*(*(p+i)+j);printf(“%d/n“, k);程序的输出结果是 A.60 B.68 C
16、.99 D.108(分数:1.00)A.B.C.D.29.有以下程序:#includestdio.hmain()int i,x33=1, 2, 3, 4, 5, 6, 7, 8, 9;for(i=0; i3; i+) printf(“%d, “, xi2-i);程序的输出结果是 A.1,5,9, B.1,4,7, C.3,5,7, D.3,6,9,(分数:1.00)A.B.C.D.30.若有定义语句:int(*p)M;其中的标识符 p 是 A.M 个指向整型变量的指针 B.指向 M 个整型变量的函数指针 C.一个行指针,它指向具有 M 个整型元素的一维数组 D.具有 M 个指针元素的一维指针数
17、组,每个元素都只能指向整型量(分数:1.00)A.B.C.D.二、B填空题/B(总题数:2,分数:19.00)若有定义:char ch;(分数:5.00)(1).使指针 p 可以指向字符型变量的定义语句是 1。(分数:1.00)填空项 1:_(2).使指针 p 指向变量 ch 的赋值语句是 1。(分数:1.00)填空项 1:_(3).通过指针 p 给变量 ch 读入字符的 scanf 函数调用语句是 1。(分数:1.00)填空项 1:_(4).通过指针 p 给变量 ch 赋字符 A 的语句是 1。(分数:1.00)填空项 1:_(5).通过指针 p 输出 ch 中字符的语句是 1。(分数:1.
18、00)填空项 1:_若有如图所示五个连续的 int 类型的存储单元并赋值如图,且已定义:int *p,*s;其中 p 指向存储单元 a1。(分数:14.00)(1).通过指针 p,给 s 赋值,使其指向最后一个存储单元 a4的语句是_。(分数:1.00)填空项 1:_(2).s 指向存储单元 a4,移动指针 s,使之指向中间的存储单元 a2的表达式是_。(分数:1.00)填空项 1:_(3).已知 k=2,指针 s 已指向存储单元 a2,表达式*(s+k)的值是_。(分数:1.00)填空项 1:_(4).指针 s 已指向存储单元 a2,不移动指针 s,通过 s 引用存储单元 a3的表达式是_。
19、(分数:1.00)填空项 1:_(5).指针 s 指向存储单元 a2,p 指向存储单元 a0,表达式 s-p 的值是_。(分数:1.00)填空项 1:_(6).若 p 指向存储单元 a0,则以下语句的输出结果是_。 for(i=0; i5; i+) printf(“%d“, *(p+i); printf(“/n“);(分数:1.00)填空项 1:_(7).若有定义: double w10; 则 w 数组元素下标的上限是_,下限是_。(分数:1.00)填空项 1:_(8).以下程序的输出结果是_。 #includestdio.h main() int a=2, 4, 6, *prt= for(y
20、=0; y3; y+)z=(*(prt+y)x)?*(prt+y):x; printf(“%d/n“, z); (分数:1.00)填空项 1:_(9).以下程序的输出结果是_。 #inelude stdio.h main() int arr10, i, k=0; for(i=0; i10; i+)arri=i; for(i=0; i4; i+) k+=arti+i; printf(“%d/n“, k); (分数:1.00)填空项 1:_(10).以下程序的输出结果是_。 #includestdio.h #define N 5 int fun(char*s, char a, int n) int
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言程序设计 答案 解析 DOC
