高级语言程序设计自考题6.docx
- 文档编号:17251901
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:17
- 大小:20.61KB
高级语言程序设计自考题6.docx
《高级语言程序设计自考题6.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计自考题6.docx(17页珍藏版)》请在冰点文库上搜索。
高级语言程序设计自考题6
高级语言程序设计自考题-6
(总分:
101.00,做题时间:
90分钟)
一、单项选择题(总题数:
15,分数:
30.00)
1.设inta=1,b=2,c=4;
经过表达式(c=a!
=b)&&(a==b)&&(c=b)运算后,a、b和c的值分别是()
A.1,2,0B.1,2,1
C.1,2,2D.1,2,3
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]因a==b是不成立的,c=b不被运算,C所获得的值足表达式"a!
=b"的逻辑值。
2.关于函数fseek(a,b,c)的说法错误的是()
A.参数a是文件型指针,指向所需要的文件
B.参数b是int型,表示从开始位置的偏移字节数
C.参数c是int型,表示定位的起始位置
D.函数返回值是int型,定位正确返回0;定位错误返回非0
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]参数b是长整型,表示从开始位置的偏移字节数。
3.设intx=6;,执行语句x+=x-=x*x;后,x的值是()
A.-60B.0
C.6D.36
(分数:
2.00)
A. √
B.
C.
D.
解析:
4.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是()
A.数据的长度B.数组的首地址
C.数组的第一个元素的值D.整个数据元素的值
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]数组名通常表示的是数组的首地址,故答案选B。
5.若x、y均是int型变量,则执行以下语句后的结果是()
for(x=1;x<5;x+=2)
for(y=1;y<5;y++)
printf("%2d",x*y);
if(y==4)printf("/n");
A.1234
36912
B.2345
3456
C.1234569
D.234
369
6912
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]此题为一个简单的for循环嵌套。
外层步进值为2,循环中断条什是x<5;内层步进值为1,循环中断条件是y<5。
语句"if(y==4)printf("/n"):
"的用意是当y=4时回车换行。
6.可以作为自定义标识符的是()
A.2xB.break
C.m-nD.m_n
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]主要考查的知识点为自定义标识符。
[要点透析]A项以数字开头,B项为保留字,C项含有非字母、数字、下划线的字符,只有D项是正确的。
7.下列关于if和else的配对规则描述正确的是()
A.else总是和前面最远的if配对B.else总是和前面最近的if配对
C.if和else的配对按程序缩进格式进行D.else可以和前面所有的if配对
(分数:
2.00)
A.
B. √
C.
D.
解析:
8.若定义了intm,n=0,*p1=&m;,则与m=n等价的语句是()
A.m=*p1B.*p1=&*n
C.*p1=*&nD.*&p1=&*n
(分数:
2.00)
A.
B.
C. √
D.
解析:
9.结构型变量占用内存的字节数是()
A.各成员占用内存字节数之和B.第一个成员占用的内存字节数
C.占用内存最大成员所需的字节数D.最后一个成员占用的内存字节数
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]本题主要考查的知识点为结构型变量占用内存的字节数。
[要点透析]在给结构型变量分配内存时,分配的内存字节数等于该结构型所有成员占用的字节数之和。
10.字符串"2008Olympic"在存储单元中所占用的字节数是()
A.9B.10
C.11D.13
(分数:
2.00)
A.
B.
C.
D. √
解析:
11.使用递归函数计算n!
(n=0,1,2,3,……)的是()
A.fac(intn)
inti,f=1;
if(n==0)return1;
elsefor(i=1;i<=n;i++)f*=i;
returnf;
B.fac(intn)
if(n==0||n==1)return1;
elsereturnn*fac(n-1);
C.fac(intn)
inti=1,f=1;
if(n==0)return1;
elsewhile(i<=n)f*=i++;
returnf;
D.fac(intn)
inti=1,f=1;
if(n==0)return1;
elsedof*=i;while(i++<n);
returnf;
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]A、C、D项分别使用for、while、do…while循环来计算n!
(n=0,1,2,3,……)的值。
12.下列关于C语言的描述正确的是()
A.C语言是面向硬件的高级语言B.C语言是面一种面向对象的程序设计语言
C.C语言是一种结构化程序设计语言D.C语言的前身是汇编语言
(分数:
2.00)
A.
B.
C. √
D.
解析:
13.下列程序段中,不构成死循环的是()
A.intk=100;
do--k;while(k>=100)
B.intk=100;
while
(1)
k=k%100+1;
if(k>100)break;
C.for(;;);
D.intk=100;
while(k);--k;
(分数:
2.00)
A. √
B.
C.
D.
解析:
14.若内部变量在离开了定义所在的函数或复合语句后,仍在生存期内。
则该变量是()
A.auto变量B.register变量
C.局部变量D.static变量
(分数:
2.00)
A.
B.
C.
D. √
解析:
15.sizeof(float)是()
A.函数调用B.int型表达式
C.float型表达式D.非法表达式
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]sizeof(float)的用意是求float型数据的长度。
sizeof()是一个运算符,得到的值是整型数据,故它是一个int型表达式。
二、填空题(总题数:
10,分数:
20.00)
16.设structstudent
charname[20];
charsex;
stu;
语句printf("%d/n",sizeof(stu));的输出结果是______。
(分数:
2.00)
填空项1:
__________________ (正确答案:
21)
解析:
17.C语言中fputc1函数对文本文件的存取是以2为单位的。
(分数:
2.00)
填空项1:
__________________ (正确答案:
字符)
解析:
18.静态型外部变量的作用域是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
本文件)
解析:
19.设inta,b=5;,则执行表达式a=b-2==3后a的值是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
1)
解析:
20.执行语句for(i=10;i>0;i--);后,变量i的值是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
0)
解析:
21.若未指定局部变量的存储类型,则其隐含的存储类型是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
auto型或自动型)
解析:
22.执行语句"a=5+(c=6);"后,变量a、c的值依次为______。
(分数:
2.00)
填空项1:
__________________ (正确答案:
116)
解析:
23.以下程序运行后输出的结果是______。
main()
inta=1,b;
for(b=1;b<=10;b++)
(if(a>=8)break;
if(a%2==1)a+=5;continue;
a-=3:
printf("%d/n",b);
(分数:
2.00)
填空项1:
__________________ (正确答案:
4)
解析:
[解析]
main()
{inta=1,b;
for(b=1;b<=10;b++),/*b从1到10,步进位为1的循环*/
{if(a>=8)break;/*当a>=8时循环被终止*/
if(a%2==1){a+=5;continue;}/*如a为奇数,则执行"{a+=5;continue;}"*/
a-=3;/*如果上述两条件a都不满足则执行本行*/
}
printf("%d/n",b);
}
24.值传递方式和地址传递方式都是在形参和实参之间传递数据,其区别在于值传递方式所传递的是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
参数值)
解析:
25.若定义函数char*fun1…,则该函数的返回值类型是2。
(分数:
2.00)
填空项1:
__________________ (正确答案:
字符型指针或字符型地址)
解析:
三、程序分析题(总题数:
4,分数:
17.00)
26.main()
inta=1,b=2,c=3;
if(a<=c)
if(b==c)printf("a=%d/n",a);
elseprintf("b=%d/n",b);
printf("c=%d/n",c);
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
(b=2
c=3)
解析:
27.#include
longfun(intn)
longs;
if(n<=2)s=2;
elses=n+fun(n-1);
printf("%d/t",s);
returns;
main()
fun(5);
printf("/n");
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
(25914)
解析:
[解析]
#include<stdio.h>
longfun(intn)(longs;
if(n<=2)s=2;/*程序存n≤2时是出口条件,不再递归,否则一直执行s=5+f(n-1)的操作*/
elses=n+fun(n-1):
printf("%d/t",s);
returns;
}
main()
{
fun(5);
printf("/n");
}
28./*设从键盘输入:
420<回车>*/
#include<stdio.h>
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");
(分数:
5.00)
__________________________________________________________________________________________
正确答案:
(5523)
解析:
29.#include<stdio.h>
voidmain()
inti,j,a[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)a[i][j]=1+i;--j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]>0)printf("%3d",a[i][j]);
printf("/n");
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
(1111
2222
3333
4444)
解析:
[解析]
#include<stdio.h>
voidmain()
{inti,j,a[4][4];
for(i=0;i<4;i++)/*限定循环次数为4次*/
for(j=0;j<4;j++)a[i][j]=1+i;--j;/*限定循环次数为4次*/
for(i=0;i<4:
i++)
{for(j=0;j<4;j++)
if(a[i][j]>0)printf("%3d",a[i][j]);/*设置输出格式为3个字符的宽度,不足的宽度以空格补齐*/
printf("n");}
}
四、程序填充题(总题数:
3,分数:
18.00)
30.下面程序段的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其他以此类推。
#include
main(intx,intb[])
intk=0,r,i;
scanf("%d",x);
do
r=x%2;
b[______]=r;/*第一空*/
x/=2;
while(______);/*第二空*/
for(______);i>=0;i--)/*第三空*/
printf("%d",b[i]);
(分数:
6.00)
填空项1:
__________________ (正确答案:
k++/*第一空。
将余数r赋值给数组元素b[k]并使k自加1,为下一次循环做准备*/
x/*第二空。
当x=0时则终止循环。
当算术运算获得的值小于1时,变量将被赋于0值*/
i=k-1/*第三空。
在循环体内最高位获值后,k又自加1一次;故输出时需将k的值减1以使第一次输出能正确地输出最高位的值*/)
解析:
31.下列函数的主要功能是在w指向的数组的前*n个数据中插入x,要求w指向的数组的前*n个数据已按由小到大顺序存放。
插入x后,该数组中的数据仍按照从小到大的顺序排列,同时将*n修改为插入x后长度。
voidf(char*w,charx,int*n)
inti,p=0;
w[*n]=x;
while(x>w[p])______;
for(i=*n;i>p;i--)w[i]=______;
______;
++*n:
(分数:
6.00)
填空项1:
__________________ (正确答案:
p++
w[i-1]
w[p]=x)
解析:
32.从键盘输入一串字符("#"作为结束标志),将其写入文本文件file.dat中保存。
#include<stdio.h>
#include<stdlih.h>
main()
charch;
FILE*fp:
if((fp=fopen("file.det","______"))==NULL)/*第一空*/
printf("Cannotopenfile/n");exit(0);
ch=getchar();
whil(ch!
'#')
fputc(______,fp);/*第二空*/
ch=getchar();
fclose(______);/*第三空*/
(分数:
6.00)
填空项1:
__________________ (正确答案:
wchfp)
解析:
五、程序设计题(总题数:
2,分数:
16.00)
33.某幼儿园入园分班规定如下:
输入某个孩子的年龄后,输出其分班情况(要求使用switch语句)。
(分数:
8.00)
__________________________________________________________________________________________
正确答案:
(voidmain()
{
intage;
scanf("%d",&age);printf("%5d",age);
switch(age)
{
case1:
case2:
case3:
printf("Lowerclass/n");break;
case4:
printf("Middleclass/n");break;
case5:
case6:
printf("Higherclass/n");break;
default:
printf("Can'tenter/n");
}
})
解析:
34.从a盘根目录下名为"string.txt"的文本文件读取前20个字符组成字符串在屏幕上显示输出。
(分数:
8.00)
__________________________________________________________________________________________
正确答案:
(#includ<stdio.h>
#include<stdlib.h>/*因包含函数exit(0),故需在预编译时加入头文件"stdlib.h"*/
main()
{FILE*fp;
chars[21];
if((fp=fopen("a:
/string.txt","r"))==NULL)
{printf("Filecan'tbeopened");exit(0);}
fgets(5,21,fp);/*从文件获得20个字符符并组成字符串存入字符数组S*/
fpms(s,stdom);/*从屏幕显示输出,stdout是显示器输出设备对应的文件型指针*/)
解析:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 考题
![提示](https://static.bingdoc.com/images/bang_tan.gif)