1、设有以下定义或语句,则输出的结果是?(用small模式编译,指针变量占2个字节)
struct date
{
  long *cat;
  struct date *next;
  double dog;
}too;
printf("%d",sizeof(too)); A.20  B.16 
C.14  D.12 
确定 []  教师批改: 
2、设有以下说明语句
struct ex
{ int x ; float y; char z ;} example;
则下面的叙述中不正确的是 A.struct结构体类型的关键字  B.example是结构体类型名 
C.x,y,z都是结构体成员名  D.struct ex是结构体类型 
确定 []  教师批改: 
3、已知有共用体变量data1定义如下:
union data
{ int i;
  char ch;
  float f;
} data1;
则变量data1所占的内存存储空间可表示为: A.sizeof(int)  B.sizeof(char) 
C.sizeof(float)  D.sizeof(int)+sizeof(char)+sizeof(float) 
确定 []  教师批改: 
4、以下对枚举类型名的定义中正确的是 A.enum a={one,two,three};  B.enum a{one=9,two=-1,three}; 
C.enum a={″one″,″two″,″three″};  D.enum a{″one″,″two″,″three″}; 
确定 []  教师批改: 
5、以下关于typedef的叙述中错误的是: A.用typedef可以增加新的类型  B.用typedef可以定义各种类型名,但不能用来定义变量 
C.用typedef只是将已有的类型用新的标识符来代表  D.使用typedef有利于程序的通用和移植 
确定 []  教师批改: 
6、当说明一个结构体变量时系统分配给他的内存是__。 A)    各成员所需内存量的总和。  B)    结构中第一个成员所需内存量。 
C)    成员中占内存量最大者所需内存量。  D)    结构中最户一个成员所需内存量。 
c语言struct头文件确定 []  教师批改: 
7、设有以下语句
        struct stu
        {int a;
        float b;
        }stutype;
        则下面叙述不正确的是__。 A)    struct 是结构体类型的关键字。  B)    struct stu是用户定义的结构体类型。 
C)    stutype 是用户定义的结构体类型名。  D)    a和b都是结构体成员名。 
确定 []  教师批改: 
8、在16位IBM-PC机上使用的C语言,若有如下定义:
struct data
{int i;
char ch;
double f;
}b;
则结构变量b占用内存的字节数是__。 A)    1  B)    2 
C)    8  D)    11 
确定 []  教师批改: 
9、以下程序的运行结果是__。
    #include “stdio.h”
    main()
    {struct date
    {int year,month,day;
    }today;
    printf(“%d\n”,sizeof(struct date));
    } A)    6  B)    8 
C)    10  D)    12 
确定 []  教师批改: 
10、下面程序的运行结果是__。
main()
{
    struct cmplx{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)    3  D)      6 
确定 []  教师批改: 
11、    有如下定义:
struct sk
{int n;
float x;
}dara,*p;
若要使p指向data中的n域,正确的赋值语句是__。
A)    p=&data.n;  B)    *p=data.n; 
C)    p=(struct sk *)&data.n;  D)      p=(struct sk *)data.n; 
确定 []  教师批改: 
12、若有以下说明和语句:
struct student
{int age;
    int num;
}std.*p;
p=&std;
则以下对结构体变量age引用不正确的是__。 A)    std.age  B)    p->age 
C)    (*p).age  D)    *p.age 
确定 []  教师批改: 
13、若有以下说明和语句,则对pup中sex域的正确引用方式是__。
struct pupil
{char name[20];
    int sex;
}pup,*p;
p=&pup;
A)    p.pup.sex;  B)    p->pup.sex; 
C)    (*p).pup.sex  D)    (*p).sex 
确定 []  教师批改: 
14、以下对结构体变量stul中成员age的非法引用是__。
struct student
{int age;
    int num;
}stu1,*p;
p=&stu1;
A)    stu1.age  B)    student.age 
C)    p->age  D)    (*p).age 
确定 []  教师批改: 
15、C语言共用体类型变量在程序运行期间__。 A)    所有成员一直驻留在内存中。  B)    只有一个成员驻留在内存中。 
C)    部分成员驻留在内存中。  D)    没有成员驻留在内存中。 
确定 []  教师批改: 
16、在16位IBM-PC机上使用C语言,若有如下定义:
union data
{int i;
char ch;
double f;
}b;
则共用体变量b占用内存的字节数是__。
A)    1  B)    2 
C)    8  D)      11 
确定 []  教师批改: 
17、下面对typedef的叙述不正确的是__。 A)    用typedef可以定义各种类型名,但不能用来定义变量。  B)    用typedef可以增加新类型 
C)    用typedef只是将已存在的类型用一个新的标识符来代表  D)    使用typedef有利于程序的同意和移植 
确定 []  教师批改: 
18、定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。
19、写一个函数days,实现上题的计算。由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输出。 
20、编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num、name、score[3],用主函数输入这些记录,用print函数输出这些记录。
21、在上题的基础上,编写一个函数input,用来输入5个学生的数据记录。
22、有10个学生,每个学生的数据包括学号、姓名、3门课程成绩,从键盘输入10个学生的数据,要求输出3门课程的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。