【学历类职业资格】高级语言程序设计自考题-8及答案解析.doc

上传人:eventdump275 文档编号:1380215 上传时间:2019-12-01 格式:DOC 页数:16 大小:60KB
下载 相关 举报
【学历类职业资格】高级语言程序设计自考题-8及答案解析.doc_第1页
第1页 / 共16页
【学历类职业资格】高级语言程序设计自考题-8及答案解析.doc_第2页
第2页 / 共16页
【学历类职业资格】高级语言程序设计自考题-8及答案解析.doc_第3页
第3页 / 共16页
【学历类职业资格】高级语言程序设计自考题-8及答案解析.doc_第4页
第4页 / 共16页
【学历类职业资格】高级语言程序设计自考题-8及答案解析.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、高级语言程序设计自考题-8 及答案解析(总分:99.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:29.00)1.下列不属于 C 语言保留字的是( ) Achar Bwhile Ctypedef Dlook(分数:1.00)A.B.C.D.2.以下关于结构型变量成员地址的引用方法中错误的是( )A&结构型变量名.成员名 B结构型变量名.成员名C&结构型变量名 D&结构型变量名.成员数组下标(分数:2.00)A.B.C.D.3.以下说法中正确的是( ) A#define 和 printf 都是 C 语句 B#define 是 C 语句,而 printf 不是 Cprintf 是

2、 C 语句,但#define 不是 D#define 和 printf 都不是 C 语句(分数:2.00)A.B.C.D.4.设有数组定义:char array=“china“;,则数组 array 所占用的空间为( ) A4 个字节 B5 个字节 C6 个字节 D7 个字节(分数:2.00)A.B.C.D.5.不属于字符型常量的是( ) A“s“ B8 CA D/n(分数:2.00)A.B.C.D.6.一个源文件中定义的全局变量的作用域为( )A本文件的全部范围 B本程序的全部范围C本函数的全部范围 D从定义该变量开始至本文件结束(分数:2.00)A.B.C.D.7.有以下程序( ) mai

3、n() char *p10=“abc“,“aabdfg“,“dcdbe“,“abbd“,“cd“; printf(“%d/n“,strlen(p4); 执行后输出结果是 A2 B3 C4 D5(分数:2.00)A.B.C.D.8.C 语言早期规定建立文件缓冲区采用的形式是( ) A缓冲文件系统 B非缓冲文件系统 C分页文件系统 DAB(分数:2.00)A.B.C.D.9.当 C 的值不为 0 时,在下列选项中能正确将 C 的值赋给变量 a 和 b 的是( ) Ac=a=b B(a=c )(b=c ) C(a=c )(b=c ) Da=c=b(分数:2.00)A.B.C.D.10.执行下列程序段

4、后输出的结果是( )int x,y,z=1;for(x=1,y=-1;xy;x+,y-)z+;printf(“%d/n“,z);A1 B2C5 D6(分数:2.00)A.B.C.D.11.运算符优先级符合由高到低排列的一组是( )A+、!=、&、= B&、!=、+、=C!=、+、=、& D&、=、!=、+(分数:2.00)A.B.C.D.12.设 int*p4;,则标识符 p 是( )A整型数组名 B指针数组名C指针函数名 D指向整型变量的指针(分数:2.00)A.B.C.D.13.若当前文件目录为 C:/tc,在 C 语句中下列能表示文件 tcc 的是 Atcc BC:tc/tcc CC/t

5、c/tcc DC/tcc(分数:2.00)A.B.C.D.14.下列语句中,正确的是( )Atypedef v1 int; Btypedef v2=int;Ctypedef int v3; Dtypedef int=v4;(分数:2.00)A.B.C.D.15.设 int a2=1,2,*p=a;,则*P 是( )A元素 a0的值 B元素 a0的地址C元素 a1的值 D元素 a1的地址(分数:2.00)A.B.C.D.二、填空题(总题数:10,分数:20.00)16.设 int a=1,b=2,m=2,n=2;,执行表达式(m=ab )|+n 后,n 的值是 1。(分数:2.00)填空项 1:

6、_17.设 float x=23.65;,则执行语句 printf(“%d/n“,(int)(x+0.5);后输出结果是 1。(分数:2.00)填空项 1:_18.用来定义寄存器类型变量的 C 语言保留字是 1。(分数:2.00)填空项 1:_19.设 int x=5; x+=x-=x*x; 则 x 的值是_。(分数:2.00)填空项 1:_20.设 char w;int x;float y;double z;,则表达式 w*x+z-y 的值的类型是 1。(分数:2.00)填空项 1:_21.设 int x=3;,执行语句 printf(x%2)?(“* *%d/n“):(“#%d/n“),x

7、);后,输出结果是 1。(分数:2.00)填空项 1:_22.设 int a,b,c;则执行 a=(b=3,c=5,b=10);后变量 a 的值是 1。(分数:2.00)填空项 1:_23.设 int a=12;,语句 printf(“%d/n“,(a/3,a%3,a/100);的输出结果是 1。(分数:2.00)填空项 1:_24. 1 是 C 语言中唯一的一个三目运算符,它是由两个符号组成。(分数:2.00)填空项 1:_25.C 语言标识符的第一个字符只能字母或 1(分数:2.00)填空项 1:_三、程序分析题(总题数:4,分数:16.00)26.main()int a34=1,3,5,

8、7,12,14,16,18,9,6,4,2,j,k,m,n,x;x=m=n=0;for(j=2;j-1;j-)for(k=0;k4;k+)if(xajk)x=ajk,m=j,n=k;printf(“a%d%d=%d/n“,m,n,x);(分数:4.00)_27.#includestdioh main() int i,j,row,col,max; int a34=1,2,3,4,10,4,20,6,0,-1,-3,-5,; max=a00; for(i=0;i3;i+) for(j=0;j4;j+) if(aijmax) max=aij;row=i;col=j;) printf(“max=%d,

9、row=%d,col=%d/n“,max,row,col); (分数:4.00)_28.#includestdioh main() char *a=“12134211“; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;k=strlen(a );k+) switch(*a+) default:v4+; case1:v1+; case3:v3+; case2:v2+;) printf(“v1=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4);(分数:4.00)_29.int fm(int a,int b ) if(b=1)return a; else

10、 return a+fm(a,b-1); main() printf(“%d/n“,fm(4,3); (分数:4.00)_四、程序填充题(总题数:3,分数:18.00)30.求 f(x0,10)的累加和,其中 f(x)=2x+1。 #includestdioh int F(int x) return_;)/*第一空*/ int SumFun(int n) int x,s=0: for(x=0;xn;x+)_;/*第二空*/ return s; main() printf(“The sum=%d/n“,_);/*第三空*/ (分数:6.00)填空项 1:_31.以下程序用来统计从终端输入的字符中

11、大写字母的个数。以“$“作为输入结束标记。 #includestdioh #includectypch main() int num126,i;char c; for(i=0;i26;i+) numi=0; while(_)!=$)/*第一空*/ if(isupper(c )numc-65+=1; for(i=0;i26;i+) if(_)/*第二空*/ printf(“%c:%d/n“,_,numi);/*第三空*/ (分数:6.00)填空项 1:_32.根据迭代公式 (分数:6.00)填空项 1:_五、程序设计题(总题数:2,分数:16.00)33.输入一个整数 n(n10),如果 n=3

12、,则输出 1 222 33333 222 1 以此类推。(分数:8.00)_34.编写程序,输入一个 34 的矩阵和一个 43 的矩阵,分别存入数组 a 和 b,然后求它们的乘积存入数组 c,输出数组 c 中的矩阵。矩阵中的数据均为整型。(分数:8.00)_高级语言程序设计自考题-8 答案解析(总分:99.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:29.00)1.下列不属于 C 语言保留字的是( ) Achar Bwhile Ctypedef Dlook(分数:1.00)A.B.C.D. 解析:2.以下关于结构型变量成员地址的引用方法中错误的是( )A&结构型变量名.成员

13、名 B结构型变量名.成员名C&结构型变量名 D&结构型变量名.成员数组下标(分数:2.00)A.B.C. D.解析:3.以下说法中正确的是( ) A#define 和 printf 都是 C 语句 B#define 是 C 语句,而 printf 不是 Cprintf 是 C 语句,但#define 不是 D#define 和 printf 都不是 C 语句(分数:2.00)A.B.C. D.解析:解析 #define 是宏命令,而不是 C 语句4.设有数组定义:char array=“china“;,则数组 array 所占用的空间为( ) A4 个字节 B5 个字节 C6 个字节 D7 个

14、字节(分数:2.00)A.B.C. D.解析:5.不属于字符型常量的是( ) A“s“ B8 CA D/n(分数:2.00)A. B.C.D.解析:6.一个源文件中定义的全局变量的作用域为( )A本文件的全部范围 B本程序的全部范围C本函数的全部范围 D从定义该变量开始至本文件结束(分数:2.00)A.B.C.D. 解析:解析 本题主要考查的知识点为全局变量的作用域。要点透析 全局变量的作用域是从定义点到整个程序结束,既从定义该变量时开始到该程序结束,全局变量都产生作用。7.有以下程序( ) main() char *p10=“abc“,“aabdfg“,“dcdbe“,“abbd“,“cd“

15、; printf(“%d/n“,strlen(p4); 执行后输出结果是 A2 B3 C4 D5(分数:2.00)A. B.C.D.解析:解析 输出的数据是第五个字符串的字符个数。p4传递给函数 strlen()的址第五个字符串的首地址。8.C 语言早期规定建立文件缓冲区采用的形式是( ) A缓冲文件系统 B非缓冲文件系统 C分页文件系统 DAB(分数:2.00)A.B.C.D. 解析:9.当 C 的值不为 0 时,在下列选项中能正确将 C 的值赋给变量 a 和 b 的是( ) Ac=a=b B(a=c )(b=c ) C(a=c )(b=c ) Da=c=b(分数:2.00)A.B.C. D

16、.解析:解析 因表达式“(a=c )“和“(b=c )“的值分别是 a 和 b 的值(a,b 都不为 0)。当获得“a=c“不为 0的判定后,表达式“(a=c )(b=c )“中的“(b=c )“将不会被执行。10.执行下列程序段后输出的结果是( )int x,y,z=1;for(x=1,y=-1;xy;x+,y-)z+;printf(“%d/n“,z);A1 B2C5 D6(分数:2.00)A. B.C.D.解析:11.运算符优先级符合由高到低排列的一组是( )A+、!=、&、= B&、!=、+、=C!=、+、=、& D&、=、!=、+(分数:2.00)A. B.C.D.解析:解析 运算符的

17、优先级由高到低为:算术运算符、关系运算府、双目逻辑运算符、赋值运算符,故本题选 A。12.设 int*p4;,则标识符 p 是( )A整型数组名 B指针数组名C指针函数名 D指向整型变量的指针(分数:2.00)A.B. C.D.解析:解析 指针数组的定义格式为:数据类型*指针数组名长度,其中,指针数组名是标识符,前面必须有“*”号,故本题选 B。13.若当前文件目录为 C:/tc,在 C 语句中下列能表示文件 tcc 的是 Atcc BC:tc/tcc CC/tc/tcc DC/tcc(分数:2.00)A. B.C.D.解析:14.下列语句中,正确的是( )Atypedef v1 int; B

18、typedef v2=int;Ctypedef int v3; Dtypedef int=v4;(分数:2.00)A.B.C. D.解析:15.设 int a2=1,2,*p=a;,则*P 是( )A元素 a0的值 B元素 a0的地址C元素 a1的值 D元素 a1的地址(分数:2.00)A. B.C.D.解析:解析 *p、*(p+0)、p0均相当于 a0的值。二、填空题(总题数:10,分数:20.00)16.设 int a=1,b=2,m=2,n=2;,执行表达式(m=ab )|+n 后,n 的值是 1。(分数:2.00)填空项 1:_ (正确答案:2)解析:17.设 float x=23.6

19、5;,则执行语句 printf(“%d/n“,(int)(x+0.5);后输出结果是 1。(分数:2.00)填空项 1:_ (正确答案:24)解析:18.用来定义寄存器类型变量的 C 语言保留字是 1。(分数:2.00)填空项 1:_ (正确答案:register)解析:19.设 int x=5; x+=x-=x*x; 则 x 的值是_。(分数:2.00)填空项 1:_ (正确答案:-40)解析:20.设 char w;int x;float y;double z;,则表达式 w*x+z-y 的值的类型是 1。(分数:2.00)填空项 1:_ (正确答案:double(或双精度))解析:21.

20、设 int x=3;,执行语句 printf(x%2)?(“* *%d/n“):(“#%d/n“),x);后,输出结果是 1。(分数:2.00)填空项 1:_ (正确答案:*3)解析:22.设 int a,b,c;则执行 a=(b=3,c=5,b=10);后变量 a 的值是 1。(分数:2.00)填空项 1:_ (正确答案:10)解析:23.设 int a=12;,语句 printf(“%d/n“,(a/3,a%3,a/100);的输出结果是 1。(分数:2.00)填空项 1:_ (正确答案:1)解析:24. 1 是 C 语言中唯一的一个三目运算符,它是由两个符号组成。(分数:2.00)填空项

21、 1:_ (正确答案:条件运算符)解析:25.C 语言标识符的第一个字符只能字母或 1(分数:2.00)填空项 1:_ (正确答案:下划线)解析:三、程序分析题(总题数:4,分数:16.00)26.main()int a34=1,3,5,7,12,14,16,18,9,6,4,2,j,k,m,n,x;x=m=n=0;for(j=2;j-1;j-)for(k=0;k4;k+)if(xajk)x=ajk,m=j,n=k;printf(“a%d%d=%d/n“,m,n,x);(分数:4.00)_正确答案:(a13=18)解析:27.#includestdioh main() int i,j,row,

22、col,max; int a34=1,2,3,4,10,4,20,6,0,-1,-3,-5,; max=a00; for(i=0;i3;i+) for(j=0;j4;j+) if(aijmax) max=aij;row=i;col=j;) printf(“max=%d,row=%d,col=%d/n“,max,row,col); (分数:4.00)_正确答案:(max=20,row=1,col=2)解析:解析 #includestdioh main() int i,j,row,col,max; int a34=1,2,3,4,10,4,20,6,0,-1,-3,-5,;/*初始化数组 a34,

23、没有初始化的元素默认为“0“*/ max=a00; for(i=0;i3;i+) for(j-0;j4;j+) if(aijmax) max=aij;row=i;col=j;/*用每个元素和 max 对比,比 max 大的将其值赋于 max 并记录其横、纵两个下标的值*/ printf(“max=%d,row=%d,col=%d/n“,max,row,col); 28.#includestdioh main() char *a=“12134211“; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;k=strlen(a );k+) switch(*a+) default:

24、v4+; case1:v1+; case3:v3+; case2:v2+;) printf(“v1=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4);(分数:4.00)_正确答案:(v1=3,v2=5,v3=4,v4=1 解折: #includestdioh main3() char *a=“12131211“; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;kstrlen(a );k+)/*,循环被终止的条件是 k 的值大于字符串 a 的长度 8*/ switch(*a+)/*选择的条件是数组 a 的元素,并且 a 作为于指针变量有一个自增 1

25、 运算*/ default:v4+; case1:v1+; case3:v3+; case2:v2+/*因没有 break 语句,从符介条什的语句开始,每一行 case 语句都会被执行*/ printf(“vt=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4); )解析:29.int fm(int a,int b ) if(b=1)return a; else return a+fm(a,b-1); main() printf(“%d/n“,fm(4,3); (分数:4.00)_正确答案:(12)解析:四、程序填充题(总题数:3,分数:18.00)30.求 f(x0,1

26、0)的累加和,其中 f(x)=2x+1。 #includestdioh int F(int x) return_;)/*第一空*/ int SumFun(int n) int x,s=0: for(x=0;xn;x+)_;/*第二空*/ return s; main() printf(“The sum=%d/n“,_);/*第三空*/ (分数:6.00)填空项 1:_ (正确答案:x*x+1/*笫一空。此为函数式“f(x)=2x+1 的 C 语言表达式*/ s+-=F(x)/*第二空。求函数式“f(x)“的累加*/ SumFum(10)/*第三空。调用函数“StunFun()求累加值“*/)解

27、析:31.以下程序用来统计从终端输入的字符中大写字母的个数。以“$“作为输入结束标记。 #includestdioh #includectypch main() int num126,i;char c; for(i=0;i26;i+) numi=0; while(_)!=$)/*第一空*/ if(isupper(c )numc-65+=1; for(i=0;i26;i+) if(_)/*第二空*/ printf(“%c:%d/n“,_,numi);/*第三空*/ (分数:6.00)填空项 1:_ (正确答案:c=getchar()/*第一空。得到从键盘输入的值,并判断是不是结束标志“$“*/

28、numi/*第二空。判断用以记录个数的数组元素是否为 0,如为 0 则不输出*/ i+65/*第三空。从语句“numc-65+=1;“可知数组对字符的记录是通过下标和字符的 ASC值之间的关系进行的。故此处应填上与之相应的换算关系*/)解析:32.根据迭代公式 (分数:6.00)填空项 1:_ (正确答案:第一空:math.h(或“math.h“)第二空:(x0+a/x0)/2第三空:EPS(或 1E-6))解析:五、程序设计题(总题数:2,分数:16.00)33.输入一个整数 n(n10),如果 n=3,则输出 1 222 33333 222 1 以此类推。(分数:8.00)_正确答案:(#

29、include stdio #includestdlibh main() int n,i,s=1,k; scanf(“%d“,n); if(n10)exit(0);/*判定输入变量值是否超过 10,如超过则自动终止程序运行*/ k=2*n-1;/*确定输出最长行输出的数字个数*/ while(k!=0)/*确定输出模式,并循环输出*/ for(i=0;in-1;i+)primf(“ “); for(i=0;i2*s-1;i+)printf(“%d“,s); printf(“/n“); if(sk)-n;+s;-k;/*当 sk 时输出为增量形式输出*/ else+n;-s;-k;/*当 sk

30、时输出为减量形式输出*/ )解析:34.编写程序,输入一个 34 的矩阵和一个 43 的矩阵,分别存入数组 a 和 b,然后求它们的乘积存入数组 c,输出数组 c 中的矩阵。矩阵中的数据均为整型。(分数:8.00)_正确答案:(main() int a34,b43,c33,i,j,k;for(i=0;i3;i+)for(j=0;j4;j+)scanf(“%d“,aij);for(i=0;i4;i+)for(j=0;j3;j+)scanf(“%d“,&bij);for(i=0;i3;i+)for(j=0;j3;j+) cij=0;for(k=0;k4;k+)cij+=aik*bkj;for(i=0;i3;i+) printf(“/n“);for(j=0;j3;j+)printf(“%10d“,cij);)解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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