C语言课后习题答案(最终)(7)

2019-04-16 22:06

m = 0;

while(m < n-1) {

if(*(p+i) != 0) { } i++; if(i == n) }

while(*p == 0)

i = 0; *(p+i) = 0; k = 0; m++; k++; if(k == 4)

p++;

printf(”%d is number %d.\\n”,n,*p); return 0; }

第7章 习 题

1.设有以下说明语句, struct ex {

int x ; float y; char z ; }example;

则下面的叙述中不正确的是( )。

A.struct结构体类型的关键字 B. example是结构体类型名 C.x,y,z都是结构体成员名 D. struct ex是结构体类型 答:

2.下面正确的叙述是( )

A. 结构体一经定义,系统就给它分配了所需的内存单元。

B. 结构体变量和共用体变量所占内存长度是各成员所占内存长度之和。 C. 可以对结构类型和结构类型变量赋值、存取和运算。

D. 定义共用体变量后,不能引用共用体变量、只能引用共用体变量中的成员。 答:

3.结构体类型变量在程序执行期间( )。

A. 所有成员驻存在内存中 B. 只有一个成员驻留在内存中 C. 部分成员驻留在内存中 D. 没有成员驻留在内存中 答:

4.判断下面的有关结构体的定义或引用,正确的请在后边括弧中用T表示,错误的用F表示。

struct student {

int no; int score; }student1;

A. student.score = 99;( ) B. student1.score = 99;( ) A D B

C. struct LiMing; LiMing.score = 99;( )

D. struct student LiMing; LiMing.score = 99;( ) E. student LiMing; LiMing.score = 99;( ) 答:

5.若有以下说明和定义

typedef int INTEGER; INTEGER p,*q; 以下叙述正确的是( ) A. p是int型变量

B. p是基类型为int的指针变量 C. q是基类型为int的指针变量 D. 程序中可用INTEGER代替int类型名 答:

6. 对于下列定义的枚举型

7. 试分析下列源程序的功能,写出其运行结果。

#include

#define Person_1 struct person_1 struct person_1 {

char name[31]; int age;

char address[101]; };

typedef struct person_2

{

char name[31]; int age;

char address[101]; } Person_2; void main( ) {

enum color1{yellow,green,blue = 7,red,brown}; A.3,8 C

B.1,8

C.0,8

D.0,3

则枚举常量yellow和red的值分别是( ) 答:

ACD

F T F T F

} 答:

Person_1 a = {”zhao”,31,”east street 49”}; Person_1 b = a;

Person_2 c = {”Qian”,25,”west street 31”}; Person_2 d = c;

printf(”%s,%d,%s\\n”,b.name,b.age,b.address); printf(”%s,%d,%s\\n”,d.name,d.age,d.address);

zhao,31,east street 49 Qian,25,west street 31

8. 定义一个日期结构变量重新实现第五章第十题。 答:

#include struct {

int year; int month; int day; }date; int main() {

int i,days = 0;

int day_tab[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; printf(\

scanf(\for(i = 0;i < date.month;i++) days += day_tab[i]; days += date.day;

if((date.month >= 3)&&((date.year%4 == 0&&date.year0 != 0)||date.year@0 == 0)) days += 1;

printf(\date.month,date.day,days,date.year); return(0); }

9.建立一个职工情况统计表,它应包括职工的工作证号、姓名、年龄、工资等项内容。最后输出:

(1)该单位职工的平均年龄,平均工资; (2)各年龄段职工人数的分布情况; 答:

#include struct employee {

long num;/*工作证号*/ char name[20]; };

void input(struct employee employee1[],int n) {

int i,j; char temp[30]; for(i = 0;i < n;i++) {

printf(\the information of the employee!(num, name, age, iSalary)\\n\

scanf(\&employee1[i].age,&employee1[i].iSalary); } }

void average(struct employee employee1[],int n) {

int i,iAvage = 0,iAavsalary = 0; for(i = 0;i < n;i++) {

iAvage = iAvage +employee1[i].age;

iAavsalary = iAavsalary +employee1[i].salary; }

iAvage = iAvage/n;

iAavsalary = iAavsalary /n;

printf(\

printf(\}

void agenum(struct employee employee1[],int n) {

int i,a1 = 0,a2 = 0,a3 = 0,a4 = 0,a5 = 0; for(i = 0;i < n;i++) {

if(employee1[i].age < 20)

a1++;

else if(employee1[i].age >= 20&&employee1[i].age<30) int age; int iSalary;


C语言课后习题答案(最终)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:青年员工培养方案

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

马上注册会员

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