高级语言程序设计自考题11.docx
- 文档编号:7639438
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:12
- 大小:19.24KB
高级语言程序设计自考题11.docx
《高级语言程序设计自考题11.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计自考题11.docx(12页珍藏版)》请在冰豆网上搜索。
高级语言程序设计自考题11
高级语言程序设计自考题-11
(总分:
100.00,做题时间:
90分钟)
一、单项选择题(总题数:
15,分数:
30.00)
1.以下选项中,合法的用户标识符是()
A.longB._2Test
C.3DmaxD.A.dat
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]本题主要考查的知识点为用户标识符。
[要点透析]C语言中,标识符是由字母或下划线开头的字母、数字、下划线组成的字符序列,并且不能是保留字。
A项是保留字,C、D项格式不正确,所以答案为B项。
2.正确的变量定义是()
A.unsignedlongd=1000;B.floatm1=m2=10.0;
C.charc1='A',c2=A;D.doublex=1.76,x=92.84;
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]主要考查的知识点为变量的定义。
[要点透析]B项中m2没有定义类型,C项中字符型变量c2的初值应用单引号括起来,D项中变量x重复定义了。
3.设有定义intx=2;,则表达式x+++1/5的值是()
A.0B.2
C.3D.4
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]本题主要考查的知识点为++运算符的优先级。
[要点透析]表达式x+++1/5相当于(x++)+(1/5),所以结果值为2。
4.设整型变量a为2,使b不为1的表达式是()
A.b=a/2B.b=2-(--a)
C.b=a%2D.b=a>3?
2:
1
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]本题主要考查的知识点为%运算符。
[要点透析]运算符“%”的对象必须是整型数据,结果是整除后的余数,所以表达式b=a%2的值为0,其他三个表达式中b的值均为1。
5.执行语句for(k=3;++k<5;k++)++k;后,变量k的值是()
A.3B.5
C.6D.7
(分数:
2.00)
A.
B.
C.
D. √
解析:
6.设inta=2,b=3,x,y;,则能正确执行的语句是()
A.scanf("%d,%d",x-y,x+y);B.printf("%d/n",a%b);
C.printf("%f/n",a+b);D.scanf("%d,%d",x,y);
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]主要考查的知识点为printf函数和scanf函数的使用。
[要点透析]scanf函数中的“格式控制”后面的应当是变量的地址,而不是变量名,故A、D项错误。
printf函数输出时,输出对象的类型应与格式说明匹配,故C项错误。
7.以下不正确的描述是()
A.break语句不能用于除循环语句和switch语句以外的任何其他语句
B.在switch语句中使用break语句或continue语句的作用相同
C.在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行
D.在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]本题主要考查的知识点为break和continue的使用。
[要点透析]switch是多分支选择结构,continue语句是用来判断重新控制循环的条件,用于循环结构中,不能用在switch语句中。
8.以下正确的定义语句是()
A.intA['B'];B.intA[8,3];
C.intA[][9];D.intA[5];
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]本题主要考查的知识点为数组的定义。
[要点透析]一维数组的定义格式为;
数据类型数组名[长度];
二维数组定义格式为:
数据类型数组名[行长度][列长度];
其中长度、行长度、列长度均为“整型常量表达式”,通常为整型常量,故A、B项错误。
在二维数组中,若给所有元素赋初值,则行长度可以省略,故C项错误。
9.若有定义intx=1,*p=&x;,则语句printf("%d/n",*p);的输出结果是()
A.随机值B.1
C.x的地址D.p的地址
(分数:
2.00)
A.
B. √
C.
D.
解析:
10.下列函数返回值的数据类型是()
fun(intx)
inty;y=4*x-5;returny;
A.voidB.int
C.floatD.不确定
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]本题主要考查的知识点为默认返回值类型。
[要点透析]在C语言中,当函数类型为int时,函数类型名int可以不写,系统默认为int。
11.对函数而言,叙述正确的是()
A.程序中只能有一个main函数
B.当函数的形参是数组时,形实结合为值传递方式
C.函数中只能有一个return语句
D.无参函数的函数体内不能出现return语句
(分数:
2.00)
A. √
B.
C.
D.
解析:
12.结构型变量占用内存的字节数是()
A.各成员占用内存字节数之和B.第一个成员占用的内存字节数
C.占用内存最大成员所需的字节数D.最后一个成员占用的内存字节数
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]本题主要考查的知识点为结构型变量占用内存的字节数。
[要点透析]在给结构型变量分配内存时,分配的内存字节数等于该结构型所有成员占用的字节数之和。
13.运行下列程序后,输出结果是()
f(intx,inty,int*z)
return(*z=x*x+y*y);
main()
inta=3;
f(f(1,2,&a),f(1,2,&a),&a);
pintf("%",a);
A.9B.10
C.50D.60
(分数:
2.00)
A.
B.
C. √
D.
解析:
14.以下对文件型指针的定义,正确的是()
A.filefp;B.file*fp;
C.FILEfp;D.FILE*fp;
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]本题主要考查的知识点为文件型指针的定义。
[要点透析]文件型指针的定义方法为FILE*文件型指针名1,*文件型指针名2,…其中的“文件型指针名”是用户选取的标识符。
15.使用函数fseek()不能完成的操作是()
A.定位到文件头B.定位到文件尾
C.定位到文件尾的后10个字节D.定位到文件的第25个字节
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]本题主要考查的知识点为fseek函数的使用。
[要点透析]fseek()为文件随机定位函数,它可以使文件内部指针指向需要读取的某个数据,而不是某几个数据,然后读取当前数据。
二、填空题(总题数:
10,分数:
20.00)
16.转义字符由1符号开始的单个字符或若干个字符组成。
(分数:
2.00)
填空项1:
__________________ (正确答案:
/)
解析:
17.表达式!
5!
=!
5的值是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
0)
解析:
18.语句for(i=2;i==2;i++);循环的次数是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
1)
解析:
19.使用fopen("123","45")打开文件时,若123文件不存在,则1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
建立新文件)
解析:
20.设chars[20]="My";,则执行strcat(s,"Sun!
")后s的内容是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
MySun!
)
解析:
21.设floatx=23.65;,则执行语句printf("%d/n",(int)(x+0.5));后输出结果是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
24)
解析:
22.设inta[2][5]=8,4;则数组元素1的值为4。
(分数:
2.00)
填空项1:
__________________ (正确答案:
a[1][0])
解析:
23.设intx=-9,y;,则执行y=x>=0?
x:
-x;后y的值是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
9)
解析:
24.z=y*=x+9相当于1和z=y两个表达式。
(分数:
2.00)
填空项1:
__________________ (正确答案:
y=y*(x+9))
解析:
25.磁盘文件的主要用途之一,也是文件特点的是1。
(分数:
2.00)
填空项1:
__________________ (正确答案:
能长期保存数据)
解析:
三、程序分析题(总题数:
4,分数:
16.00)
26.在C盘中有一个名为temp.txt的文本文件。
#include<stdio.h>
#include<stdlib.h>
main()
inti,n;
FILE*fp;
if((fp=fopen("c:
//temp.txt","w+"))==NULL)
printf("cannotsetthetempfile/n");exit(0);
for(i=1;i<=10;i++)fprintf(fp,"%3d",i);
for(i=0;i<5;i++)
fseek(fp,*6L,SEEK_SET);
fscanf(fp,"%d",&n);
printf("%3d",n);
fclose(fp);
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
(13579)
解析:
27.intf(intn)
staticintf=1;
f=f*n;
returnf;
main()
inti;
for(i=1;i<5;i++)
printf("%d,",f(i));
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
(1,2,6,24,)
解析:
28.structH
intx;int*y;xy[2];
voidf(structH*p)
(p+1)->x=10;
(*P).x=20;
(*p).y=&((*(p+1)).x);
(*(P+1)).y=&(p->x);
main()
structH*q=xy;
f(q);
printf("%d,%d/n",*(q->y),*(xy[0].y));
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
(10,10)
解析:
29.main()
ints=0,k;
for(k=8;k>=0;k--)
switch(k)
case0:
case2:
s++;break;
case4:
s+=3;break;
case7:
case3:
case6:
break;
case1:
case5:
case8:
s+=2;break;
printf("s=%d/n",s);
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
(s=11)
解析:
四、程序填充题(总题数:
3,分数:
18.00)
30.函数f用于计算数组各元素值的平方,主函数调用f并输出各元素的值。
voidf(inta,ints[])
inti;
for(i=0;i<______;i++)s[i]=s[i]*s[i];/*第一空*/
main()
inti,b[5]=1,2,3,4,5;
f(5,______);/*第二空*/
for(i=0;i<5;i++)printf("%5d",______);/*第三空*/
printf("/n");
(分数:
6.00)
填空项1:
__________________ (正确答案:
a
b
b[i])
解析:
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.下面程序输出两个字符串对应位置相等的字符。
main()
chara[]="students",b[]="study";
inti=0;
while(a[i]!
='/0'&&______)
if(a[i]==b[i])printf("%c",______);
else
______;
(分数:
6.00)
填空项1:
__________________ (正确答案:
b[i]!
='/0'
a[i++]
i++)
解析:
五、程序设计题(总题数:
2,分数:
16.00)
33.从键盘输入50个整数,计算并输出大于等于零的数的平均值(保留小数点后两位)。
(分数:
8.00)
__________________________________________________________________________________________
正确答案:
(#include<stdio.h>
#defineN50
main()
{inta[N],i,n=0;
floatsum=0,aver;
for(i=0;i<N;i++)scanf("%d",&a[i]);
for(i=0;i<N;i++)
if(a[i]>=0)
{
sum=sum+a[i];
n++;
}
if(n==0)
printf("Allnumbersarenegative!
/n");
else
{aver=sum/n;
printf("aver=%7.2f/n",aver);
}
})
解析:
34.在同一程序中,用三种循环语句分别显示1~9的平方值。
(分数:
8.00)
__________________________________________________________________________________________
正确答案:
(#include<stdio.h>
main()
{inti;
for(i=1;i<=9;i++)
printf("%d,",i*i);
printf("/n");
i=1;
while(i<=9)
{printf("%d,",i*i);i++;}
printf("in");
i=1;
do{printf("%d,",i*i);i++;}
while(i<=9);
})
解析:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 考题 11
![提示](https://static.bdocx.com/images/bang_tan.gif)