当前位置:首页 >课程 >C语言编程新思路

1、C语言规定结构体变量系统分配给它的存储空间是( )。

A、该结构体中最后一个成员所需的存储空间
B、该结构体中所有成员所需存储空间的总和
C、该结构体中第一个成员所需的存储空间
D、该结构体中占用最大存储空间的成员所需的存储空间

参考答案:请扫码使用小程序查看答案

2、以下对结构体变量s 中成员age的合法法引用是( )。 #include struct student {int age; int num; } s,*p; p=&s;

A、student.s.age
B、student.age
C、p->age
D、s->age

参考答案:请扫码使用小程序查看答案

3、有如下定义: struct date {int y ; int m ; int d ;}; struct person { char name[20]; char sex; struct date birthday; }a; 对结构体变量a的出生年份进行赋值时,下面正确的赋值语句是( )。

A、y =1958
B、birthday.y=1958
C、a.birthday.y =1958
D、a.y =1958

参考答案:请扫码使用小程序查看答案

4、设有以下说明语句 struct stu { int a; float b; }stutype; 则以下叙述不正确的是( )。

A、struct 是结构体类型的关键字
B、struct stu 是用户定义的结构体类型名
C、stutype 是用户定义的结构体类型名
D、a 和 b 都是结构体成员名

参考答案:请扫码使用小程序查看答案

5、以下结构体类型说明和变量定义中正确的是( )。

A、typedef struct {int n; char c;} REC; REC x,y;
B、struct REC; {int n; char c;}; REC x,y;
C、typedef struct REC ; {int n=0; char c=’A’; } x,y;
D、struct {int n; char c; } REC x,y;

参考答案:请扫码使用小程序查看答案

6、下面程序的运行结果是( )。 struct st { int n; int a[20]; }; void f(int *a, int n) { int i; for(i=0;i

A、2,4,3,9,12,12,11,11,18,18,
B、3,4,2,7,9,8,6,5,11,10,
C、2,3,1,6,8,7,5,4,10,9,
D、1,2,3,6,8,7,5,4,10,9,

参考答案:请扫码使用小程序查看答案

7、以下关于typedef 的叙述错误的是( )。

A、typedef只是将已存在的类型用一个新的名字来代表
B、用typedef可以增加新类型
C、用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D、用typedef为类型说明一个新名,通常可以增加程序的可读性

参考答案:请扫码使用小程序查看答案

8、下面程序的运行结果是( )。 #include #include typedef struct{ char name[9];char sex; float score[2]; } stu; stu f(stu a) {stu b={“zhao”,’m’,85.0,90.0}; int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i<2;i++) a.score[i]=b.score[i]; return

A、qian,f,95,92
B、qian,m,85,90
C、zhao,m,85,90
D、zhao,f,95,92

参考答案:请扫码使用小程序查看答案

9、以下程序运行后的输出结果是( )。 #include struct S {int n; int a[20];}; void f(struct S *p) { int i,j,t; for(i=0;in-1;i++) for(j=i+1;jn;j++) if(p->a[i]>p->a[j]) { t=p->a[i]; p->a[i]=p->a[j]; p->a[j]=t; } } int main() { int i; struct S s={10,{2,3,1

A、10,9,8,7,6,5,4,3,2,1,
B、1,2,3,4,5,6,7,8,9,10,
C、2,3,1,6,8,7,5,4,10,9,
D、10,9,8,7,6,1,2,3,4,5,

参考答案:请扫码使用小程序查看答案

10、有以下程序段 typedef struct node { int data; struct node *next; }NODE; NODE *p; 以下叙述正确的是( )。

A、NODE *p;语句出错
B、p 是指向struct node 结构体变量的指针的指针
C、p 是struct node 结构体变量
D、p 是指向struct node 结构体变量的指针

参考答案:请扫码使用小程序查看答案

11、若定义如下结构,则能打印出字母M的语句是( )。 struct person{ char name[9]; int age;}; struct person class[10]={"Wujun",20, "Liudan",23, "Maling",21, "zhangming",22};

A、printf("%c\n",class[3].name);
B、printf("%c\n",class[2].name[0]);
C、printf("%c\n",class[2].name[1]);
D、printf("%c\n",class[3].name[1]);

参考答案:请扫码使用小程序查看答案

12、以下程序段的运行结果是( )。 union { int n; char str[2]; }t; t.n=80; t.str[0]='a'; t.str[1]=0; printf("%d\n", t.n);

A、80
B、a
C、0
D、97

参考答案:请扫码使用小程序查看答案

13、以下对C语言中共用体类型数据的叙述正确的是( )。

A、可以对共用体变量名直接赋值
B、一个共用体变量中可以同时存放其所有的成员
C、一个共用体变量中不能同时存放其所有成员
D、共用体类型定义中不能出现结构体类型的成员

参考答案:请扫码使用小程序查看答案

14、若有以下说明和定义语句,则下面引用形式中不正确的是 ( )。 struct student { int age; int num; }; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; struct student *p; p=stu;

A、(p++)->num
B、p++
C、(*p).num
D、p=&stu.age

参考答案:请扫码使用小程序查看答案

15、以下scanf函数调用语句中,对结构体变量成员的不正确引用是( )。 struct pupil {char name[20 ]; int age ; int sex; }pup[5],*p; p=pup;

A、scanf(“%s“,pup[0].name);
B、scanf(“%d“,&pup[0].age);
C、scanf(“%d“,&sex);
D、scanf(“%d“,P->age);

参考答案:请扫码使用小程序查看答案

16、当说明一个共用体变量时系统分配给它的内存是( )。

A、各成员所需内存量的总和
B、结构中第一个成员所需内存量
C、成员中占内存量最大者所需的容量
D、结构中最后一个成员所需内存量

参考答案:请扫码使用小程序查看答案

17、设有以下说明,则下面不正确的叙述是( )。 union data { int i; char c; float f; }un;

A、un所占的内存长度等于成员f的长度
B、un的地址和它的各成员地址都是同一地址
C、un可以作为函数参数
D、不能对un赋值,但可以在定义un时对它初始化

参考答案:请扫码使用小程序查看答案

18、定义结构体类型变量teach1,不正确的是( )。

A、struct teacher {int num; int age; }; struct teacher teach1;
B、struct teacher {int num; int age; }teach1;
C、struct {int num; int age; }teach1;
D、struct {int num; int age; }teacher; struct teacher teach1;

参考答案:请扫码使用小程序查看答案

19、下面程序的运行结果是( )。 #include union data { int i; char c; double d; }a[2]; void main() {printf("%d\n",sizeof(a)); }

A、16
B、8
C、4
D、2

参考答案:请扫码使用小程序查看答案

20、以下对结构体变量stul中成员age的非法引用是( )。 struct student {int age; int num; }stul,*p; p=&stul;

A、stul.age
B、student.age
C、p->age
D、(*p).age

参考答案:请扫码使用小程序查看答案