C语言程序设计教程第七道第十二章课后练习题(4)

2018-11-17 20:58

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)若有以下定义和说明()


C语言程序设计教程第七道第十二章课后练习题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:通信原理课程设计 基于FPGA的时分多路数字基带传输系统的设

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: