C语言程序设计基础教程 - 习题答案 下载本文

内容发布更新时间 : 2024/5/18 9:17:35星期一 下面是文章的全部内容请认真阅读。

10.1.5 若有定义:

struct num {

int a ; int b ; float f ; }n={1,3,5.0};

struct num *pn=&n ;

则表达式pn->b/n.a*(++pn->b)的值是 12 , 表达式(*pn).a+pn->f的值是 6.00000 。

10.1.6 C语言可以定义共用体类型,其关键字为 union 。

10.1.7 C语言允许用 typedef 声明新的类型名来代替已有的类型名。

10.1.8 链表中,每个结点包括两个部分:一个是存储数据元素的 数据域 ,另一

个是存储下一个结点地址的 指针域 。

10.1.9 相比于线性表顺序结构,链表比较方便 插入 和 删除 操作。 10.1.10 常用的内存管理函数有 malloc 、 calloc 、 free 。 10.2 选择题

10.2.1 有如下说明语句,则下面叙述不正确的是 。

struct stu {

int a ; float b ; }stutype;

A)struct是结构体类型的关键字 B)struct stu是用户定义的结构体类型

C)stutype是用户定义的结构体类型名 D)a和b都是结构体成员名 10.2.2 以下对结构类型变量的定义中不正确的是 。

A)#define STUDENT struct student B)struct student STUDENT { { int num;

int num ; float age ; float age;

}std1 ; }std1;

C)struct { D)struct {

int num ; int num ; float age ;

float age ; }student;

} std1 ; struct student std1 ;

10.2.3 当定义一个结构体变量时,系统分配给它的内存是 。

A)各成员所需内存量的总和 B)结构中第一个成员所需内存量 C)成员中占内存量最大的容量 D)结构中最后一个成员所需内存量 10.2.4 已知学生记录描述为:

struct student

{

int no ; char name[20]; char sex; struct {

int year; int month ; int day ; } birth ;

} s ;

设结构变量s中的“birth”应是“1985年10月1日”,则下面正确的赋值方式是 。

A)year=1985 B)birth.year=1985 month=10 birth.month=10 day=1 birth.day=1

C)s.year=1985 D)s.birth.year=1985 s.month=10 s.birth.month=10 s.day=1 s.birth.day=1 10.2.5 下面程序的运行结果是 。

main ( ) {

struct complx { int x; int y ;

} cnum[2]={1,3,2,7} ;

printf(“%d\\n”,cnum[0].y/cnum[0].x*cnum[1].x) ; }

A)0 B)1 C)2 D)6 10.2.6 以下对结构体变量成员不正确的引用是 。

struct pupil {

char name[20]; int age; int sex ; } pup[5], *p=pup ;

A)scanf(“%s”,pup[0].name); B)scanf(“%d”,&pup[0].age);

C)scanf(“%d”,&(p->sex)); D)scanf(“%d”,p->age); 10.2.7 若要利用下面的程序段使指针变量p指向一个存储整型变量的存储单元,则

在【】中应有的内容是 。 int *p ; p = 【】malloc(sizeof(int));

A)int B)int * C)(*int) D)

(int*)

10.2.8 当定义一个共用体变量时,系统分配给它的内存是 。

A)各成员所需内存量的总和 B)结构中第一个成员所需内存量 C)成员中占内存量最大的容量 D)结构中最后一个成员所需内存量 10.2.9 以下对C语言中共用体类型数据的叙述正确的是 。

A)可以对共用体变量直接赋值

B)一个共用体变量中可以同时存放其所有成员 C)一个共用体变量中不能同时存放其所有成员 D)共用体类型定义中不能出现结构体类型的成员 10.2.10 下面对typedef的叙述中不正确的是 。

A)用typedef可以定义多种类型名,但不能用来定义变量 B)用typedef可以增加新类型

C)用typedef只是将已存在的类型用一个新的标识符来代表 D)使用typedef有利于程序的通用和移植