C语言全部章节习题集20090301(参考答案)(6)

2019-08-31 19:24

printf(“%c”,*p); 。

2、以下程序输出的是 C 。 void main( ) { int i=3, j=2;

char *a=\DCBA\

printf(\ }

3、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。请填空。 void exchange(int *x, int *y) { int t;

t=*y; *y= *x ; *x= t ; }

B部分(本科必做)

程序填空:

1、下面程序的输出结果是 A B C D B C D C D D 。 char b[]=\ABCD\ void main() { char *chp;

for(chp=b; *chp: chp+=2) printf(\ printf(\

}

2、 下面是一个字符串连接函数,请补充完整。

void mystrcat(char *s1,char *s2) { char *p,*q; for(p=s1; *p ; p++ ); for( q=s2 ;*q;q++) *p++=*q ; *p=?\\0? ; }

第十一章 结构体与共用体

A部分(本、专科必做)

一、选择题

1、设有如下定义:

struct sk

{int a;float b;}data,*p;

若有p=&data;,则对data中的a域的正确引用是(B)。 A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a

2、根据以下定义,能输出字母M的语句是(D)。 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]); struct person{char name[9];int age;};

struct person class[10]={“John”,17,”Paul”,19,”Mary”,18,”Adam”,16,}; 3、以下程序的输出结果是(D)。 A、0 B、1 C、3 D、6 #include void main() { struct emplx{int x;int y;}enum[2]={1,3,2,7}; printf(“%d\\n”,enum[0].y/enum[0].x*enum[1].x);

}

4、若有以下说明及语句,则值为6的表达式是(D)。 A、p++->n B、p->n++ C、(*p).n++ D、++p->n struct st{int n;struct st *next;}; struct st a[3],*p; a[0].n=5;a[0].next=&a[1];a[1].n=7;a[1].next=&a[2]; a[2].n=9;a[2].next=?\\0?;p=&a[0];

5、已知字符0的ASCII码的十进制的值是48,且数组的第0个元素在低位,以下程序的输出结果是(B)。 A、39 B、9 C、38 D、8 void main() { union{int i[2];long k;char c[4];}r,*s=&r; s->i[0]=0x39;s->i[1]=0x38; printf(“%x\\n”,s->c[0]);

}

6、以下程序输出的结果是(C)。 A、32 B、16 C、8 D、24

typedef union{long x[2];int y[4];char z[8];}MYTYPE; MYTYPE them; void main() { printf(“%d\\n”,sizeof(them));

} 7、设有以下语句

typedef struct S

{ int g; char h;} T; 则下面叙述中正确的是(B)。 A) 可用S定义结构体变量 C)S是struct类型的变量

B)可以用T定义结构体变量

D)T是struct S类型的变量

8、有以下说明和定义语句

struct student

{ int age; char num[8];};

struct student stu[3]={{20,\

struct student *p=stu;

以下选项中引用结构体变量成员的表达式错误的是(D)。 A) (p++)->num B) p->num C) (*p).num D) stu[3].age

二、填空题 1、为了建立结构体(含有两个成员,data是数据成员,next是指向自身结构体的指针成员),请填空: Struct link

{ char data; struct link *next ; }

2、把类型int另取一个类型名称INT,则以下应填: typedef int INT; 3、以下程序的运行结果是2002Shangxian 。

# include typedef struct student{

char name[10]; long sno; float score; }STU; main( ) {

STU a={“zhangsan”,2001,95},b={“Shangxian”,2002,90},

c={“Anhua”,2003,95},d,*p=&d;

d=a;

if(strcmp(a.name,b.name)>0) d=b; if(strcmp(c.name,d.name)>0) d=c; printf(“%ld%s\\n”,d.sno,p->name); }

B部分(本科必做)

程序填空:

以下程序的功能是:处理由学号和成绩组成的学生记录,N名学生的数据已在主函数中放入结构体数组s中,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不只一个,函数返回分数最高学生的人数。请填空。 #include #define N 16 typedef struct

{ char num[10];

int s; }STREC;

int fun(STREC *a,STREC *b) { int i,j=0,max=a[0].s; for(i=0;ivoid main() { STREC s[N]={{“GA005”,85},{“GA003”,76},{“GA002”,69},{“GA004”,85}, {“GA001”,91},{“GA007”,72},{“GA008”,64},{“GA006”,87},{“GA0015”,85}, {“GA0013”,91},{“GA0012”,64},{“GA0014”,91},{“GA0011”,66},{“GA0017”,64}, {“GA0018”,64},{“GA0016”,72},}; STREC h[N]; int i,n; n=fun(s,h);

printf(“The %d highest score:\\n”, n ); for(i=0;i

printf(“%s M\\n”,h[i].num,h[i].s); printf(“\\n”); }


C语言全部章节习题集20090301(参考答案)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:18秋福建师范大学《油画》在线作业一

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

马上注册会员

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