C语言程序设计:结构体和共用体单元测试与答案_第1页
C语言程序设计:结构体和共用体单元测试与答案_第2页
C语言程序设计:结构体和共用体单元测试与答案_第3页
C语言程序设计:结构体和共用体单元测试与答案_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、单项选择题1、下面关于结构体数组的论述,错误的选项是()。A.结构体数组的每一个元素都具有相同的数据类型B.结构体数组的名字相当于数组首元素的地址C.对结构体数组的引用,可以通过下标来引用D.结构体数组的名字是一个变量正确答案:D解析:D、在定义的时候,所有的数组名都是地址常量2、有如下定义:struct stu(int num;char name10;struct stu boy8;以下说法错误的选项是()。boy是数组的名字一个数组元素有两个结构体成员struct是结构体类型名D.上述代码包含了结构体类型的定义和结构体数组的定义正确答案:C解析:C、struct是定义结构体的关键字3、

2、有如下定义:struct person(char name;int age;structpersonclass 10 = John,17, “Paul,19, Mary”, 18, Adam,16;根据上述定义,能输出字母M的语句是()。printf (%cn, class 3. namel);printf (%cn, class 2. name 1);C.printf (%cn, class2. name0);D.printf (%cn, class3. name);正确答案:c解析:c、M是数组的第三个元素name域的首字母,数组下标从0开始,所以是 class2. name0_4、有如下

3、定义:struct stu(char name10;int age;);struct stu boy10;下面相关赋值语句正确的选项是()。A.strcpy (boy0. name, TonT);B.boy. name10二Tom;boy. name = Tom;D.boy0. name0二Tom;正确答案:A解析:A、boy. name 10 , boy. name因为boy是数组,所以对于boy 的引用都是错误的,0这种引用是正确的,但是这里只 能赋值为一个字符,而不能是字符串5、设有以下说明语句,那么下面表达中正确的选项是() typedef struct int n;

4、char ch8;PER;PER是结构体类型名PER是结构体变量名typedef struct是结构体类型struct是结构体类型名正确答案:A6、以下表达式的结果是4的是()int main() static int a3 3 = 1, 2, 3,4, 5, 6, 7, 8, 9);int *pa2 = a0, al, a2;int *p=aO;return 0;*a2*al*(* (a+1) +1)*(*(a+2)+2)正确答案:B7、以下程序的输出结果是()。ttinclude struct st(int x;int *y;*P;int dt4 = 10, 20, 30, 40);str

5、uct st aa4 = 50, &dt 0, 60, &dt 1, 70, &dt 2, 80, &dt 3;main ()p=aa;printf(%d ,+p-x);printf (,z%d ,(+p)-x);printf(dn,+(* (p-y);A. 50 60 21B.60 70 3110 20 2051 60 21正确答案:D解析:D、p=aa, p-x的值为50,所以自增1后为51, (+p)后, p指向这时的p-x的值为60, (p-向值为&dt 1, * (p-y) 值为所以自增后为218、以下对C语言共用体类型数据的正确表达是A. 一个共用体变量中可以同时存放其所有成员B.

6、共用体类型定义中不能出现结构体类型的成员C.可以对共用体变量名直接赋值D. 一个共用体变量中不能同时存放其所有成员正确答案:D9、有如下代码:struct stu int num;char name10;):struct stu boy, *p;p=&boy;如果在横线上填入一条赋值语句,实现将结构体变量boy的成员num 赋值为100的功能,那么以下不能实现此功能的语句是()。(*p). num =100;boy. num = 100;*(p-num)=100;D.p-num =100;正确答案:c解析:C、p-nuni不是地址值,也不是指针变量,所以不用用*10、有以下程序#include

7、struct S int a, b; data2 = 10, 100, 20, 200);main() struct S p=datal;printf (%dn,+ (p. a);程序运行后的输出结果是( )o10212011正确答案:B11、以下程序的正确运行结果为:ttinclude main () union short int a2;long b;char c4;s;s. a0=0 x39;s. al=0 x38;printf (/z%lx %cn,s. b, s. c0); TOC o 1-5 h z A. 38398B.3800399C.39003839D. 393838正确答案:B12、有以下程序:ttinclude #include void fun(int *s, int p23)(*s=pl 1;)main ()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论