高级语言程序设计自考题13Word下载.docx
- 文档编号:6282364
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:15
- 大小:18.93KB
高级语言程序设计自考题13Word下载.docx
《高级语言程序设计自考题13Word下载.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计自考题13Word下载.docx(15页珍藏版)》请在冰点文库上搜索。
intx;
inty;
cnum[2]=1,3,2,7;
printf("
%d/n"
,cnum[0].y/cnum[0].x*cnum[1].x);
A.0B.1
C.3D.6
[解析]本题主要考查的知识点为结构型变量的赋值。
[要点透析]cnum[0].y为3,cnum[0].x为1,cnum[1].x为2,故3/1*2=6。
3.当定义一个结构型变量时系统分配给它的内存是()
A.各成员所需内存量的总和B.成员中占内存量最大者所需的容量
C.结构中第一个成员所需内存量D.结构中最后一个成员所需内存量
A.
D.
[解析]本题主要考查的知识点为结构型变量所占用内存空间。
[要点透析]当定义了结构型变量时,需要给其分配内存,分配内存的字节数等于该结构型所有成员占用的字节数之和
4.下列数据定义语句中正确的是()
A.structintx;
x1B.structxxintx;
;
C.structxxintx;
D.structxxintxx1。
B.
5.设typedefcharSTRING[255];
STRING*s;
,则s是()
A.字符数组B.字符变量
C.字符指针数组D.字符指针变量
C.
6.若某结构型指针变量P已经指向该结构型某数组,错误地引用该结构型数组元素成员的是()
A.(*p).成员名B.*(p+i).成员名
C.(p+i)->成员名D.p->成员名
[解析]本题主要考查的知识点为结构型数组元素成员的引用。
[要点透析]结构型指针变量指向数组时,可以使用以下几种方式来引用其成员:
(*指针变量).成员名、指针变量->成员名、(*(指针变量+k)).成员名、(指针变量+k)->成员名,所以B项中的表达方式是错误的。
7.文件使用方式“rb+”的含义是()
A.对文本文件只读B.对文本文件读和写
C.对二进制文件读和写D.对二进制文件只写
8.下列语句中,能将c定义为文件型指针的是()
A.FILEcB.FILE*c
C.filecD.file*c
[解析]本题主要考查的知识点为文件型指针的定义。
[要点透析]用户可以用FILE这个自定义的用户类型符来定义结构型的指针变量,专用于文件处理。
9.系统标准输入设备的文件型指针是()
A.stdinB.stdout
C.stderrD.由用户自己定义的
[解析]本题主要考查的知识点为标准输入设备。
[要点透析]标准输入/输出设备各自都设置了一个文件型指针,标准输入设备对应的文件型指针名是stdin。
10.若文件型指针fp已经指向某文件的末尾,则函数feof(fp)的返回值是()
A.0B.-1
C.NULLD.非零值
[解析]本题主要考查的知识点为feof函数。
[要点透析]文件尾测试函数intfeof(FILE*fp),测试fp所指向的文件是否到达文件尾。
是文件尾返回非0;
否则返回0。
11.为了存放一个人的身高、姓名和年龄,应该使用的数据类型是()
A.一维数组B.指向一维数组的指针变量
C.结构型变量D.结构型一维数组
12.下列语句中,正确的是()
A.typedefv1int;
B.typedefv2=int;
C.typedefintv3;
D.typedefint=v4;
13.下列语句中,不能将fp指向的文件的内部指针指向文件尾的是()
A.fseek(fp,20L,1);
B.fseek(fp,0L,SEEKEND);
C.fp=fopen("
a.txt"
,"
ab"
);
D.fp=fopen("
ab+"
[解析]本题主要考查的知识点为fopen和fseek函数。
[要点透析]A项表示的是从当前位置后移20个字节的位置,而不是指向文件尾的位置。
14.打开文件时,若文件使用方式选用字符串"
w"
,则表示()
A.打开一个已存在的二进制文件,只能读取数据
B.打开一个文本文件,只能写入数据
C.打开一个已存在的文本文件,只能读取数据
D.打开一个二进制文件,只能写入数据
[解析]本题主要考查的知识点为打开文件函数。
[要点透析]A项的文件使用方式应选用字符串"
rb"
,C项的文件使用方式应选用字符串"
r"
,D项的文件使用方式应选用"
wb"
。
15.以下关于结构型变量成员地址的引用方法中错误的是()
A.&
结构型变量名.成员名B.结构型变量名.成员名
C.&
结构型变量名D.&
结构型变量名.成员数组[下标]
二、填空题(总题数:
10,分数:
20.00)
16."
->"
称为1运算符。
填空项1:
__________________
(正确答案:
指向(成员))
17.若有以下说明和定义语句,变量w在内存中所占的字节数是______。
structstfloatw[5];
doubleave;
w;
28)
18.在对文件进行的操作中,若要求文件的位置回到文件的开头应调用的函数是1。
rewind)
19.成员运算符“.”是一个双目中缀运算符,前一个运算对象必须是______。
结构型的变量(C结构型数组元素))
20.按文件中数据存放的格式,可以把磁盘文件分为1和文本文件。
二进制文件)
21.磁盘文件名的一般组成为:
1。
盘符:
路径/文件主名.扩展名)
22.系统规定有3个标准输入输出设备,其中标准错误输出设备是1。
stderr)
23.函数f()定义如下,该函数返回值的数据类型是______。
structABCinta;
intb;
intc;
structABC*f(structABCabc[2])
return(abc);
结构型数组的地址)
24.函数调用“exit(0)”的功能是1。
关闭当前已经打开的所有文件,收回分配的所有内存,结束程序的运行。
)
25.fread(char*a,b,c,d)的功能是从______所指向的文件当前位置读取______个数据,每个数据的字节数为______,将数据存入以______为首地址的内存区中。
dcba)
三、程序分析题(总题数:
4,分数:
16.00)
26.main()
structstudent
charname[10];
floatk1;
floatk2;
a[2]="
tom"
,50,60,"
make"
,70,90,*p=a;
inti;
/nname:
%stotal=%f/n"
,p->name,p->k1+p->k2);
,a[1].name,a[1].k1+a[1].k2);
4.00)
__________________________________________________________________________________________
正确答案:
(name:
tomtotal=110.000000
name:
maketotal=160.000000)
27.C盘中P1.c.txt文件的内容为:
abcde。
A盘中P1.c.txt为空文档。
#include<stdio.h>
#include<stdlib.h>
FILE*f1,*f2;
intk;
if((fl=fopen("
C:
//p1.c.txt"
))==NULL)
cannotopenfile!
/n"
exit(0);
if((f2=fopen("
A:
for(k=1;
k<=500;
k++)
if(feof(f1))break;
fputc(fgetc(f1),f2);
成功实现复制"
fclose(f1);
fclose(f2);
(成功实现复制)
28.structn
charc;
voidfunc(structnb)
b.x=20;
b.c='
y'
:
structna=10,'
x'
func(a);
%d,%c"
,a.x,a.c);
(10,x)
29.structst
intj;
structstm[3]=10,1,20,2,30,3,*p;
p=m;
,(*++p).j);
(2)
四、程序填充题(总题数:
3,分数:
18.00)
30.下列函数的主要功能是从形参fp指向的文件中读取形参n-1个字符(或读到字符'
/n'
,或遇到文件尾,)补充字符串结束标记符,组成字符串存入形参str指向的内存。
#include<stdio.h>
voidf(char*str,intn,FILE*fp)
for(k=0;
k<n-1;
if(feof(fp))break;
______;
if(*(str+k)=='
break;
______='
/0'
return;
6.00)
*(str+k)=rgetc(fp)
k++
*(str+k))
31.下面的程序是使用结构型来计算复数m和n的差。
structcomp
floatre;
floatim;
______m,n,z;
scanf("
%f,%f,%f,%f"
,&
m.re,&
m.im,&
n.re,&
n.im);
z.re=______;
z.im=______;
%6.2f+%6.2fi/n"
,z.re,z.im);
m.re—n.re
m.im-n.im)
32.下面程序是要建立一个文本文件datal,从键盘输入一个实数(正数表示收入,负数表示支出),用fwrite函数写入文件datal中。
输入数字0则结束。
______
floata;
if((fp=fopen("
datal"
cannotopenthefile!
"
while
(1)
%f"
a);
fclose(fp);
FILE*fp;
if(a==0)break;
fwrite(&
a,sizeof(float),1,fp);
五、程序设计题(总题数:
2,分数:
33.编写程序,用以建立某班级的学生档案信息,每个学生档案信息包括:
姓名、邮编、电话。
8.00)
(main()
{structstudent
{charname[20];
unsignedlongzipcode;
unsignedlongphone;
charaddr[30];
};
structstudentclass1[50];
for(i=0;
i<50;
i++)
{printf("
第%d个学生的信息:
/n"
,i+1);
gets(class1[i].name);
zipcode:
%u"
class1[i].zipcode);
phonenumber:
class1[i].phone);
}
})
34.编写程序,建立一个文本文件datal,把本周内家庭收入和支出情况写入该文件。
(#include<stdio.h>
#include<process.h>
{FILE*fp;
{scanf(”%f”,&
fclose(rp);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 考题 13