16 / 23
A.1 B.2 C.8 D.11
(5)根据下面的定义,能打印出字母M的语句是(A)。 struct person {
char name[9]; int age; };
Struct person class[10]={“John”,17,”Paul”,19,”Mary”,18,”adam”,16}; A. printf(“%c\\n”,class[3].name); B. printf(“%c\\n”,class[3].name[1]); C. printf(“%c\\n”,class[2].name[1]); D. printf(“%c\\n”,class[2].name[0]);
(6)以下对结构体类型变量的定义中,不正确的是(C) A.typedef struct aa A.#define AA struct aa { AA{
int n; int n; float m; float m;
}AA; }td1; AA td1;
C.struct D. struct { {
int n; int n; flaot m; flaot m; }aa; }tad1; stuct aa td1; (7)设有如下定义: Struck sk { int a; float b; }data; int *p;
若要p指向data中的a域,正确的赋值语句是(C).
A.p=&a; B.p=data.a; C.&data.a D.*p=data.a;
(8)有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是(B). struct node {
char data;
struct node *next; }a,b,*p=&a;*q=&b;
A. a.next=q; B.p.next=&b; C.p->next=&b; D.(*p).next=q; (9)有以下程序,程序运行后的输出结果是(B) struct STU
17 / 23
{ char num[10]; float score[3];}; void main() {
struct STU s[3]={{“20021”.90.95.85}, {“20022”,95,80,75},
{“20023”,100,95,90}}, *p=s; int i; float sum=0; for(i=0;i<3;i++)
sum=sum+p->score[i]; printf(“%6.2f\\n”,sum); }
A.260.00 B.270.00 C.280.00 D.285.00 (10)在16位IBM-PC机上,若有下面的说明和定义: struct test {
int m1; char m2; flaot m3;
union uu{char u1[5]; int u2[2];} ua; }myaa;
则sizeof(struct test)的值是(A).
A.12 B. 16 C. 14 D. 40 (11)以下程序的输出是(C) struct st { int x ;int *y;} *p; int dt[4]={10,20,30,40};
sruct st aa[4]={50,&dt[0],60,&dt[0],60,&dt[0]}; void main() { p=aa;
printf(“%d\\n”,++(p->x)); }
A.10 B.11 C. 51 D. 60 (12)以下程序的输出是(D) union myun {
struct {int x,y,z;}u; int k; } a;
void main() {
a.u.x=4;a.u.y=5;a.u.z=6; a.k=0;
printf(“%d\\n”,a.u.x); }
A. 4 B. 5 C. 6 D. 0 (13)以下程序的输出是(D)
18 / 23
struct HAR { int x,y; struct HAR *p;} h[2]; void main() {
h[0].x=1; h[0].y=2; h[1].x=3; h[1].y=4;
h[0].p=&h[1]; h[1].p=h;
printf(“%d, %d \\n”,(h[0].p)->x, (h[1].p)->y); }
A.1,2 B.2,3 C.1,4 D.3,2 (14)以下程序的输出是(D)
Struct NODE { int num; struct NODE *next;}; void main() {
struct NODE *p,*q,*r;
p=(struct NODE *) malloc(sizeof(struct NODE)); q=(struct NODE *) malloc(sizeof(struct NODE)); r=(struct NODE *) malloc(sizeof(struct NODE)); p->num=10; q->num=20; r->num=30; p->next=q; q->next=r;
printf(“%d\\n”,p->num+q->next->num); }
A. 10 B. 20 C. 30 D. 40 (15)执行以下语句后的输出结果是(A) enum weekday { sun, mon=3, tue ,wed, thu}; enum weekday workday; workday=wed;
printf(“%d\\n”,workday);
A. 5 B. 3 C. 4 D.编辑器
程序填空题
(1) 从键盘上顺序输入整数,直到输入的整数小于0时停止输入,然后反序输出这些整
数。请填空。
#include
struct data (int x; struct data *link) void input() {
int num;
struct data *q;
printf(\scanf(\if(num<0) *q=’\\0’; q=p;
19 / 23
q->x=num; q->link=p; p=q; p++; }
void main() {
printf(\ p=NULL; input ();
printf(\ while(p->x!=’\\0’) {
printf(\ p++; } }
(2) 下面程序从终端上输入5个人的年龄,性别和姓名,然后输出。请填空。 #include
struct man{ char name[20]; unsigned age; char sex[7];}; void data_in(struct man *p,int n); void data_out (struct man *p,int n); void main() {
struct man person[5]; data_in(person,5); data_out (person,5); }
void data_in(struct man *p,int n) {
struct man *q=*(p+n) ; for(;p printf(\ scanf(\ scanf(“%s”,p->name); } } void data_out(struct man *p,int n) { struct man *q=(p+n); for(;p printf(\} 20 / 23 习题 12 选择题 (1) fscanf函数的正确调用形式是(D) A. fscanf(fp,格式字符串,输出列表) B. fscanf(fp,格式字符串,输出列表,tp) C. fscanf(格式字符串,文件指针,输出列表) D. fscanf(文件指针,格式字符串,输出列表) (2) 函数rewind的作用是(A) A. 是位置指针重新返回文件的开头 B. 将位置指针指向文件中所要求的特定位置 C. 是位置指针指向文件的末尾 D. 是位置指针自动移至下一个字符位置 (3) fseek函数的正确调用形式是(B) A. fseek(文件类型指针,起始点,位移量) B. fseek(fp,位移量,起始点) C. fseek(位移量,起始点,fp) D. fseek(起始点,位移量,文件类型指针) (4) 利用fseek函数可以实现的操作是(A) A.改变文件的位置指针 B.文件的顺序读写 C.文件的随机读写 D.以上答案均正确 (5)函数调用语句:fseek(fp,-20L,2);的含义是(C). A.将文件位置指针移到距离文件头20个字节处 B.将文件位置指针从当前位置向后移动20个字节 C.将文件位置指针从文件末尾处退后20个字节 D.将文件位置指针移到离当前位置20个字节处 (6)若有以下结构体类型: struct st { char name[8]; int num; float s[4];}student[50]; 并且结构体数组student元素都已有值,若要将这些元素写到硬盘文件fp中,以下不正确的形式是(C) A. fwrite(student ,sizeof(struct st),50,fp); B. fwrite(student ,50*sizeof(struct st),1,fp); C. fwrite(student ,25*sizeof(struct st),25,fp); D. for(i=0;i<50;i++) fwrite(student+i ,sizeof(struct st),1,fp); (7)若调用fputc函数输出字符成功,则其返回值是(D) A. EOF B. 1 C. 0 D. 输出的字符 (8)系统的标准输入文件是指(A) A.键盘 B.显示器 C.软盘 D.硬盘 (9)若有以下定义和说明() 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计教程第七道第十二章课后练习题(4)在线全文阅读。
相关推荐: