C
一、选择题
1、 若已经定义“struct stu {int a, b;} student;”,则下列输入语句中正确的是
D)scanf(“%d”,&student.a);
2、 若已有以下结构体定义,则值为2的表达式是A)c[0].y;
struct cmplx{
int x;
int y;
}c[]={1,2,3,4};
3、 设有如下程序段,则vu.a的值为D)A、B、C都不是
union u{
int a;
int b;
float c;
}vu;
vu.a=1; vu.b=2; vu.c=3;
4、 设已经定义“union u{char a; int b;}vu;”在VC中存储char型数据需要1个字节,存储
int型数据需要4个字节,则存储变量vu需要B)4个字节
5、 设已经定义“union u{int a; int b}vu={1,2};”,则D)该定义错误
6、 设有定义“enum date{year,month,day}d;”则下列叙述中正确的是A)date是类型、d是
变量、year是常量
7、 设有定义“enum date{year,month,day}d;”则正确的表达式是B)d=year
8、 若已经定义了“typedef struct stu{int a,b}student;”则下列叙述中正确的是C)student是
结构体类型
9、 下列有关typedef语句的叙述中,正确的是C)typedef语句用于给已定义类型取别名
二、编程题
1、 设计一个通讯录的结构体类型,并画出该结构体变量在内存中的存储形式
struct {
name char[10]; telephone char[20]; address char[100]; };
2、 用结构体变量表示平面上的一个点(横坐标和纵坐标),输入两个点,求两点之间的距
离
#include
#include
void main()
{
struct Point
{
float x;
float y;
}a,b;
printf("输入点a的横坐标:\n");