自学考试 《高级语言程序设计一》历年真题全套试题.docx
- 文档编号:28420839
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:102
- 大小:67.06KB
自学考试 《高级语言程序设计一》历年真题全套试题.docx
《自学考试 《高级语言程序设计一》历年真题全套试题.docx》由会员分享,可在线阅读,更多相关《自学考试 《高级语言程序设计一》历年真题全套试题.docx(102页珍藏版)》请在冰豆网上搜索。
自学考试《高级语言程序设计一》历年真题全套试题
自考00342《高级语言程序设计
(一)》历年真题集电子书
1.目录
历年真题()
00342高级语言程序设计200410()
00342高级语言程序设计200510()
00342高级语言程序设计200610()
00342高级语言程序设计200701()
00342高级语言程序设计200710()
00342高级语言程序设计200801()
00342高级语言程序设计200810()
00342高级语言程序设计200901()
00342高级语言程序设计200910()
00342高级语言程序设计201001()
00342高级语言程序设计201010()
00342高级语言程序设计201101()
00342高级语言程序设计201110()
相关课程()
2.历年真题
2.100342高级语言程序设计200410
高级语言程序设计
(一)试题
课程代码:
0342
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列不正确的转义字符是()
A.′\\′B.′\″
C.′\086′D.′\0′
2.下列运算符中,优先级最高的是()
A.[]B.++
C.%D.&&
3.下列标识符中,不是C语言保留字的是()
A.charB.while
C.minD.default
4.下列数据中,不是C语言常量的是()
A.′\n′B.″a″
C.e-2D.012
5.若定义了inta;charb;floatc;,则表达式a*b-c的类型是()
A.floatB.int
C.charD.double
6.若定义了inta,x,y;,则下列语句中不正确的是()
A.x=,y=;B.++x;
C.x=;D.a=;
7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是()
A.数组的长度B.数组的首地址
C.数组第一个元素的值D.整个数组元素的值
8.在C语言中,函数返回值的类型是由()
A.定义的函数类型决定B.return语句中表达式的类型决定
C.调用该函数的主调函数类型决定D.调用该函数时系统状态决定
9.若定义了intb[][3]={1,2,3,4,5,6,7};,则b数组第一维的长度是()
A.2B.3C.4D.无确定值
10.若定义了charch[]={″abc\0def″},*p=;则执行printf(″%c″,*p+4);语句的输出结果是()
A.defB.d
C.eD.0
11.若定义了x=;,则表达式x++>100?
x+20:
x+10的值是()
A.110B.111
C.120D.121
12.执行printf(″%d\n″,strlen(″t\″066\xee\n″));语句的输出结果是()
A.7B.12
C.13D.输出项不合法,无正常输出
13.在函数中定义的局部变量,若未指定存储类别,则其隐含的存储类别是()
A.staticB.auto
C.externD.register
14.若定义了unsignedshorta=;,则执行printf(″a=%d″,a);语句的输出结果是
()
A.a=-32768B.a=-1
C.a=D.数据类型不一致,出错
15.若定义了intm,n=,*p1=;,则下列与m=;等价的正确语句是()
A.m=;B.*p1=;
C.*&p1=;D.*p1=;
16.下列程序的运行结果是()
main()
{inta[][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int(*p)[4],i=,j=;
p=;
printf(″%d\n″,*(*(p+i)+j));
}
A.9B.11C.17D.19
17.若有宏定义:
#defineMOD(x,y)x%y
则执行以下语句后的输出结果是
inta=,b=;
printf(″%d\n″,MOD(b,a+4));
A.5B.7C.9D.11
18.若定义了()
union
{chara[10];
shortb[4][5];
longc[5];
}u;
则执行printf(″%d\n″,sizeof(u));语句的输出结果是()
A.10B.20C.40D.70
19.若定义了()
enumcolor
{yellow,green,blue=,red,brone};
则枚举常量yellow和red的值分别是
A.0,3B.0,6
C.1,6D.3,6
20.若定义了()
structnum
{inta;intb;
}d[3]={{1,4},{2,5},{6,7}};
则执行printf(″%d\n″,d[2].a*d[2].b/d[1].b);语句的输出结果是()
A.2B.2.5C.8D.8.4
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
21.一个C程序一般由若干个函数构成,其中至少应包含一个函数。
22.在TurboC中,一个int型变量所能表示的数的范围是。
23.表达式10<<3+1的值是。
24.若定义了inta[10],*p;,将数组元素a[8]的地址赋给指针变量p的赋值语句是。
25.若定义了inta=;,则执行printf(″%d\n″,((a=,a+5),a+6));语句的输出结
果是。
26.在C语言中,整型常量的书写形式包括:
八进制、十进制和进制。
27.在C语言中,一个双精度数-5.88在二进制文件里占用的字节数是。
28.C语言标识符的第一个字符必须为下划线或者。
29.在C语言中,当定义一个函数的类型为void时,说明执行该函数后。
30.若使用fopen函数打开一个新的二进制文件,对该文件进行读写操作,则文件使用方式字符串应该是。
三、程序分析题(本大题共5小题,每小题5分,共25分)
阅读下列程序,将输出结果写到各题右侧的空白处。
31.main()
{
inta[3][3]={1,4,17,3,6,19,2,5,18},i,s=;
for(i=;i<=;i++)
s=[i][2-i];
printf(″s=%d\n″,s);
}
32.main()
{inti;
for(i=;i<5;i++)
switch(i%2)
{case0:
printf(″1″);break;
case1:
printf(″0″);
}
}
33.main()
{
intx=,y=,*p;
p=;printf(″%d,″,*p);
*p=;
p=;printf(″%d\n″,*p);
*p=;
printf(″%d,%d\n″,x,y);
}
34.#include″string.h″
structworker
{charname[15];
intage;
floatpay;
};
main()
{structworketx;
char*t=″Lilei″;
intd=20;floatf=
strcpy(x.name,t);
x.age=
printf(″%s\t%d\t%.0f\n″,x.name,x.age,x.pay);
}
35.intf(inta)
{
intb=
staticintc=
b++;
c++;
return(a+b+c);
}
main()
{
inta=
for(i=
printf(″%4d″,f(a));
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.求三个数中的最大值和最小值。
voidmaxmin(a,b,c,m,n)
int a,b,c,*m,*n;
{intt;
if(a
if(a if(b = /*第一空*/ = /*第二空*/ } main() {inta,b,c,max,min; printf(″Pleaseinputabc: \n″); scanf(″%d%d%d″,&a,&b,&c); maxmin(a,b,c, ); /*第三空*/ printf(″a=%d,b=%d,c=%d\n″,a,b,c); printf(″max=%d,min=%d\n″,max,min); } 37.下列程序的功能是: 统计从键盘输入的字符($作为结束)中每个小写英文字母出现的个数,n[0]、n[1]、···、n[25]分别存放小写字母a、b、···、z。 并输出统计结果。 #include″stdio.h″ main() {intn[26]={0},k;charc; while(()! =′$′)/*第一空*/ if(c>=′a′&&c<=′z′) n[c]+=/*第二空*/ for(k=;k++)/*第三空*/ printf(″%c: %d\n″,k+′a′,n[k]); } 38.从键盘输入一个字符串,判断其是否是回文。 若是输出“Yes”,否则输出“No”。 回文是指正向、反向的拼写都一样。 例如: ABCBA、aaaa等是回文;china、ABC等不是回文。 #include″stdio.h″ main() {charstring[80]; inti,j,n; gets(string); n=;/*第一空*/ j=-1; for(i=;i if(string[i]! =[j]);/*第二空*/ if()printf(″Yes\n″);/*第三空*/ elseprintf(″No\n″); } 五、程序设计题(第39小题5分,第40、41小题各6分,共17分)。 39.编写一个程序,用循环结构输出以下图形。 (5分) &&&&&&&&& &&&&&&& &&&&& &&& & 40.输入年份year,如果是闰年,则输出“Yes! ”,否则输出“No! ”。 (每400年有97个闰年,即在4的倍数年份中除去第100、200、300三个年份)(6分) 41.在主函数中定义两个双精度变量x,y,并输入。 利用函数交换两个双精度数x,y,并且 要求函数的参数是指针类型。 (6分) 2.200342高级语言程序设计200510 高级语言程序设计 (一)试卷 (课程代码0342) 本试卷共10页.满分100分;考试时间150分钟。 总分 题号 一 二 三 四 五 核分人 题分 20 20 25 18 17 复查人 得分 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。 错选、多选或未选均无分。 1.下列不属于C语言保留字的是() A.CharB.while C.typeDefD.look 2.下列关于C语言的叙述错误的是() A.英文字母大小写不加以区分 B.不同类型的变量可以出现在同一个表达式中 C.在赋值表达式中赋值号两边的类型可以不同 D.某些运算符在不同的场合可以有不同的含义 3.下列转义字符中错误的是() A.′\000′B.′\14′ C.′\x111′D.′\2′ 4.执行语句printf(″%x″,-1);后输出结果是() A.–1B.-ffff C.1D.ffff 5.设floatA=2,B=;以下C语言表达式与代数式(A+B)C计算结果不一致的是() A.(A+B)*C/2B.(1/2)*(A+B)*C C.(A+B)*C*1/2D.C/2*(A+B) 6.设intA=10,B=20,C=条件表达式A A=∶C的值是() A.5B.10 C.20D.30 7.设intA=9,B=6,C;,执行语句C=A/B+0.8;后C的值是() A.1B.1.8 C.2D.2.3 8.执行语句for(i=;后i的值是() A.3B.4 C.5D.不确定 9.在位运算中,操作数左移一位,其结果相当于操作数() A.乘以2B.除以2 C.乘以4D.除以4 10.使用语句scanf(″A=″,&A,&B);输入变量A、B的值(□代表空格),正确的是() A.1.25,2.4B.1.25□2.4 C.A=1.25,B=D.A=□B= 11.下列说法中错误的是() A.C语言中循环嵌套的层数没有限定 B.C语言中的内部函数只能在本文件中被调用 C.用typeDef语句定义的数据类型名称必须是大写字母 D.C语言中的Continue语句,可以通过改变程序的结构而省略 12.设Chars[10],*p=s;,下列语句中错误的是() A.p=;B.s=; C.s[2]=[4];D.*p=[0]; 13.设enumweek{sun,mon,tue,wed,thu,fri,sat}day;,正确的赋值语句是() A.sun=0;B.sun= C.mon=sun+1;D.day= 14.若用数组名作为函数调用时的实参,则实际上传递给形参的是() A.数组的第一个元素值B.数组元素的个数 C.数组中全部元素的值D.数组首地址 15.下列错误的是() A.chars[]=″China″;B.Chars[10]=″China″}; C.Chars[10];s=″China″; D.Chars[10]=′C′,′h′,′i′,;′n′,′A′}; 16.在C语言中,有值函数的数据类型是指() A.函数形式参数的数据类型B.函数返回值的数据类型 C.调用该函数时的实参的数据类型D.任意指定的数据类型 17.设 struct {shortA; charB; floatC; }cs; 则sizeof(cs)的值是() A.4B.5 C.6D.7 18.设 intx[]={1,2,3,4,5,6,7,8,9,0},*p=x,k; 且0≤k<10,则对数组元素x[k]的错误引用是() A.p+kB.*(x+k) C.x[p-x+k]D.*(&x[k]) 19.设 #DefineN3 #DefineY(n)((N+1)*n) 则表达式2*(N+Y(5+1))的值是() A.42B.48 C.54D.出错 20.关于主函数的形式参数,下列说法正确的是() A.可以有两个 B.类型可以是实型 C.不可以由用户自己定义名字 D.是在程序编译时获得实际值 二、填空题(本大题共10小题,每小题2分,共20分) 21.可以将被调函数中获得的值返回给主调函数的语句是__________。 22.设intx=2,y=则表达式x+++y的值是__________。 23.若未指定局部变量的存储类型,则其隐含的存储类型是__________。 24.在执行循环结构或switch结构时,能够立即退出该结构的语句是__________。 25.设intA=-3,B=7,C=则执行(A=后变量A的值是__________。 26.设intA,B,C;则执行A=(B=3,C=5,B=后变量A的值是__________。 27.设intA=100,*pl=&A,**p2=&p1;,则表达式**p2的值是__________。 28.静态型外部变量的作用域是__________。 29.设 intA[2][3]={1,2,3,4,5,6}; 则数组元素A[1][0]的值是__________。 30.函数调用时,若形参是一个变量,而对应的实参是一个有确定值的表达式,则函数参数的传递方式是__________传递。 三、程序分析题(本大题共5小题,每小题5分,共25分) 阅读下列程序,将输出结果写到各题右侧的空白处。 31.mian() {inti; for(i= } f(intj) {staticintA= intk= ++k; printf(″%d\n″,j+A+k); A-= } 32.#include longfun(intn) {longs; if(n<= elses= printf(″%d\t″,s); returns; } main() { fun(5); printf(″\n″); } 33.structporb {Char*name; intage; }s[]=″LiHua″,18,″WangXin″,25,″LiuGuo″,21}; #DefineN(sizeof(s)/sizeof(s[0])) Voidf(structporbA[],intn); main() { f(s,N); } Voidf(structporbA[],intn) { inti; for(i= printf(″%s: %d\n″,A[i].name,A[i].age); } 34.voidLE(int*a,intb) { intx= printf(″%d\t%d\n″,*a,b); *a= } main() { intx=10,y= LE(&x,y); printf(″%d\t%d\n″,x,y); } 35./*设从键盘输入: 420<回车>*/ #inCluDe main() {charc; while((c=getchar())! =′\n′) switch(c-′0′) {case0: case1: putchar(c+2); case2: putchar(c+3);break; case3: putchar(c+4); DefAult: putchar(c+1);break; } printf(″\n″); } 四、程序填充题(本大题共3小题,每小题6分,共18分) 给出下列程序,将横线处缺少的部分补上,使其能正确运行。 36.一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如: 153=13+53+33),找出所有的这种数。 main() { intn,a,b,c;/*n、a、b和c分别为三位数自身及其个位、十位和百位*/ for(c= for(b= for(______;a++)/*第一空*/ { n=_________;/*第二空*/ if(a*a*a+b*b*b+c*c*c==_________)/*第三空*/ printf(″%d\n″,n); } } 37.输入一个数字(范围在0~9之间,若不在此范围内显示输入错),输出对应的英文单词(Zero,One,Two,……,Nine)。 main() { inti; char*digit[10]=″Zero″,″One″,″Two″,″Three″,″Four″, ″Five″,″Six″,″Seven″,″Eight″,″Nine″}; scanf(″%d″,_________);/*第一空*/ printf(″%d→″,i); if(____________)/*第二空*/ printf(″%s\n″,digit[_________]);/*第三空*/ elseprintf(″Inputerror! \n″); } 38.将一个文本文件(ma.dat)拷贝到另一个文本文件(niu.dat)中。 #include main() { FILE*ma,*niu; ma=″ma.dat″,______);/*第一空*/ miu=″niu.dat″,″w″); while(! feof(ma))fputc(fgetc(ma),________);/*第二空*/ fclose(niu);__________;/*第三空*/ } 五、程序设计题(本大题共3小题,第39小题5分,第40、41小题各6分,共17分) 39.输入某学生的数学(math)、英语(english)和C语言(C)的成绩,输出该学生这三门课的成绩、总成绩(sum)和平均成绩(aver)。 40.按下列要求分别写出两个函数(不用写主函数) (1)计算n! 计算公式: n! =×2×3×……×n 函数首部为logfac(intn) (2)调用上述函数计算 计算公式: 函数首部为longcmk(intm,intk) 41.在一个二维数组(定义为intA[5][5];)中形成并按下列形式输出矩阵各元素的值。 10000 21000 32100 43210 54321 2.300342高级语言程序设计200610 高级语言程序设计 (一)试题 课程代码: 0342
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级语言程序设计一 自学考试 高级语言程序设计一历年真题全套试题 高级 语言程序设计 历年 全套 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)