C语言复习题集(2013级)(9)

2020-03-27 07:22

int dt[4] ={10,20,30,40};

struct stu a[4]={50,&dt[0],60,&dt[1], 70,&dt[2],80,&dt[3] }; main() {p=a;

printf(“%d,”,++p->x); printf(“%d,”,(++p)->x);

printf(“%d\\n”,++(*p ->y)); }

A)10,20,20 B)50,60,21 C)51,60,21 D)60,70,31

【题19】若有以下说明和语句,则下面表达式中值为1002的是( D )。 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++)—>age C)(*p).num D)(*++p).age

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

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

【题21】设有以下说明和定义语句,则下面表达式中值为3的是( D )。 Struct s {int i1;

struct s*i2; };

static struct s a[3]={1,&a[1],2,&a[2],3,&a[0]},*ptr; ptr=&a[1];

A)ptr—>i1++ B)ptr++—>i1

【题22 】以下程序的功能是:读入一行字符(如:a,?.y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释

放全部结点。请选择正确的内容填入[ ]中。 #include

#define getnode(type)[B]malloc(sizeof(type)) main()

{struct node {char info;

struct node*link; }*top,*p; char c;

top=NULL;

while((c=getchar())[D]) {p=getnode(struct node); p—>info=c; p—>link=top; top=p; }

while(top) {[B];

top=top—>link; putchar(p—>info); free(p); } }

[1]A)(type) B)(type*) C)type D)type*[B ] [2]A)= =?\\0? B)!=?\\0? C)= =?\\n? D)=?\\n?[D] [3]A)top=p B)p=top C)= =top D)= =p [B]

【题23】若要利用下面的程序片段使指针变量p指向一个存储整型变量的存储单元,则[ 中应填入的内容是( D )。 Int*p;

P=[ ]malloc(sizeof(int));

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

【题24】当说明一个共用体变量时系统分配给它的内存是( C )。 A)各成员所需内存量的总和 B)结构中第一个成员所需内存量 C)成员中占内存量最大者所需的容量 D)结构中最后一个成员所需内存量

【题25 】以下对C语言中共用体类型数据的叙述正确的是( C )。 A)可以对共用体变量名直接赋值

B)一个共用体变量中可以同时存放其所有成员 C)一个共用体变量中不可能同时存放其所有成员 D)共用体类型定义中不能出现结构体类型的成员

]

【题26】若有以下定义和语句: union data {int i; char c; float f; }a; int n;

则以下语句正确的是( B )。

A)a=5; B)a={2,?a?,1.2}; C)printf(“%d\\n”,a); D)n=a;

【题27】设有以下说明,则下面不正确的叙述是( C )。 Union data { int i; char c; float f; }un;

A)un所占的内存长度等于成员f的长度

B)un的地址和它的各成员地址都是同一地址 C)un可以作为函数参数

D)不能对un赋值,但可以在定义un时对它初始化

【题28 】C语言共用体型变量在程序运行期间 ( B ) 。 A)所有成员一直驻留在内存中 B)只有一个成员驻留在内存中 C)部分成员驻留在内存中 D)没有成员驻留在内存中

【题29】以下程序的运行结果是 ( B ) 。 #include “stdio.h” main()

{ union {long a; int b; char c; }m;

printf(“%d\\n”,sizeof(m)); }

A) 2 B)4 C)6 D)8

【题30】对下面程序中的每个打印语句后的注释行内的【x】小题,选择正确的运行结果。 #include “stdio.h” main()

{union {int a[2]; long b;

char c[4]; }s; s.a[0]=0x39; s.a[1]=0x38;

printf(“%lx\\n”,s.b); /*【B】*/ printf(“%c\\n”,s.c[0]); /*【B】*/ }

【1】A)390038 B)380039 C)3938 D)3839 【2】A)39 B)9 C)38 D)8

【题31】对下面程序中的每个打印语句后的注释行内的【x】小题,选择正确的运行结果. #include “stdio.h” main() {int j;

union {int a; long b;

unsigned char c; }m

m.b=0x12345678;

printf(“%x\\n”,m.a;) /*【B】*/ printf(“%x\\n”,m.c;) /*【B】*/ }

【1】A)1234 B)5678 C)12345678 D)0 【2】A)12 B)78 C)1234 D)5678

【题33】以下程序的运行结果是 (A ) . #include “stdio.h” union pw {int I

char ch[2]; }a; main() {

ch[0]=13; ch[1]=0;

printf(“%d\\n”,a,i); }

A)13 B)14 C)208 D)209

【题34】使用typedef定义一个新类型的正确步骤是( C) . A)2,4,1,3 B)1,3,2,4 C)2,1,4,3 D)4,2,3,1 1.把变量名换成新类型名.

2.按定义变量的方法写出定义体. 3.用新类型名定义变量. 4.在最前面加上关键字 .

【题35】下面对typedef的叙述中不正确的是 ( B ) . A)用typedef可以定义各种类型名,但不能用来定义变量 B)用typedef可以增加新类型

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

【题36】以下程序的运行结果是 ( C ).. . typedef union {long a[2]; int b[4]; char c[8]; }TY TY our; main()

{printf (“%d\\n”,sizeof(our)); }

A)32 B)16 C)8 D)24

2 填 空 题

【题37】以下程序的运行结果是 【10,x 】. struct n{ int x; char c; }; main()

struct n a={10,?x?};

func(a);

printf(%d,%c,a.x,a.c); }

func(struct n b) {b.x=20; b.c=?y?; }

【题38】 以下程序的运行结果是【2,3】. main()

.


C语言复习题集(2013级)(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:压力表检验步骤

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

马上注册会员

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