C语言结构体习题及答案

整理为word格式 第9章 结构体

1.定义以下结构体类型

struct s

{

int a;

char b;

float f;

};

则语句printf("%d",sizeof(struct s))的输出结果为【 】。

A) 3 B) 7 C) 6 D) 4

2.当定义一个结构体变量时,系统为它分配的内存空间是【 】

A)结构中一个成员所需的内存容量

B)结构中第一个成员所需的内存容量

C)结构体中占内存容量最大者所需的容量

D)结构中各成员所需内存容量之和

3.定义以下结构体类型

struct s

{ int x;

float f;

}a[3];

语句printf("%d",sizeof(a))的输出结果为 【 】

A) 4 B) 12 C) 18 D) 6

4.定义以下结构体数组

struct c

{ int x;

int y;

}s[2]={1,3,2,7};

语句printf("%d",s[0].x*s[1].x)的输出结果为 【 】

A) 14 B) 6 C) 2 D) 21

5.运行下列程序段,输出结果是 【 】

struct country

{ int num;

char name[10];

}x[5]={1,"China",2,"USA",3,"France",4, "England",5, "Spanish"};

struct country *p;

p=x+2;

printf("%d,%c",p->num,(*p).name[2]);

A) 3,a B) 4,g C) 2,U D) 5,S

整理为word格式

6.下面程序的运行结果是【 】。

struct KeyWord

{

char Key[20];

int ID;

}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5};

main()

{

printf("%c,%d\n",kw[3].Key[0], kw[3].ID);

}

A) i,3 B) n,3 C) f,4 D) l,4

7.定义以下结构体类型

struct student

{

char name[10];

int score[50];

float average;

}stud1;

则stud1占用内存的字节数是【 】。

A) 64 B) 114 C) 228 D) 7

8.如果有下面的定义和赋值,则使用【 】不可以输出n中data的值。

struct SNode

{

unsigned id;

int data;

}n,*p;

p=&n;

A) p.data B) n.data C) p->data D) (*p).data

9.根据下面的定义,能输出Mary的语句是【】。

struct person

{

char name[9];

int age;

};

struct person class[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};

A) printf("%s\n",class[1].name);

B) printf("%s\n",class[2].name);

C) printf("%s\n",class[3].name);

整理为word格式 D) printf("%s\n",class[0].name);

10.定义以下结构体数组

struct date

{ int year;

int month;

int day; };

struct s

{ struct date birthday;

char name[20];

} x[4]={{2008, 10, 1, "guangzhou"}, {2009, 12, 25, "Tianjin"}};

语句

printf("%s,%d,%d,%d",x[0].name,x[1].birthday.year); 的输出结果为 【 】。

A) guangzhou,2009 B) guangzhou,2008

C) Tianjin,2008 D) Tianjin,2009

11.运行下列程序段,输出结果是【】。

struct country

{ int num;

char name[20];

}x[5]={1, "China", 2, "USA", 3, "France", 4, "England", 5, "Spanish"};

struct country *p;

p=x+2;

printf("%d,%s",p->num,x[0].name);

A) 2,France B) 3,France C) 4,England D) 3, China

12. 定义以下结构体数组

struct

{

int num;

char name[10];

}x[3]={1,"china",2,"USA",3,"England"};

语句printf("\n%d,%s",x[1].num,x[2].name)的输出结果为【 】

A)2,USA

B)3,England

C)1,china

D)2,England

13. 定义以下结构体数组

struct date

{

int year;

int month;

整理为word格式 };

struct s

{

struct date birth;

char name[20];

}x[4]={{2008,8,"hangzhou"},{2009,3,"Tianjin"}};

语句printf("%c,%d",x[1].name[1],x[1].birth.year);的输出结果为【 】

A)a,2008

B)hangzhou,2008

C)i,2009

D)Tianjin,2009

14. 运行下列程序,输出结果是【 】

struct contry

{

int num;

char name[20];

}x[5]={1,"China",2,"USA",3,"France",4,"Englan",5,"Spanish"};

main()

{

int i;

for (i=3;i<5;i++)

printf("%d%c",x[i].num,x[i].name[0]);

}

A)3F4E5S B)4E5S C)F4E D)c2U3F4E

友情提示:本资料代表个人观点,如有帮助请下载,谢谢您的浏览!

合集下载

C语言练习题1

C语言练习题1

C语言练习题1

第八章结构体与共用体1

练习题

一、c语言基础知识

1.1选择题

1.以下不是c语言的特点的就是(b)。

a.语言简洁紧凑b.能够编制出功能复杂的程序c.c语言可以直接对硬件操作d.c语言移植性好

2.以下字符序列中,不容用做c语言标识符的就是(b)。

a.abc123b.no.1c._123_d._ok3.正确的c语言标识符是(a)。

a._buy_2b.2_buyc.?_buyd.buy?4.恳请挑选出可以用做c语言用户标识符的一组标识符(b)。

a.voidb.a3_b3c.ford.2adefine_123-abcdowordifcasesizeof

5.以下符号中,不属于转义字符的就是(b)。

a.\\\\b.\\0xaac.\\td.\\06.不属于c语言关键字的是(d)。

a.intb.breakc.whiled.character7.就是c语言提供更多的合法关键字的就是(b)。

a.floatb.signedc.integerd.char8.以下不能定义为用户标示符的是(d)。

a.一个主程序和若干子程序共同组成b.一个或多个函数共同组成c.若干过程共同组成d.若干子程序共同组成

10.c语言程序的基本单位是(c)。

a.程序行b.语句c.函数d.字符

20.下列变量定义中合法的是a

a.short_a=1-.le-1;b.doubleb=1+5e2.5;c.longdo=0xfdal;d.float2_and=1-e-3;

9xn21.与数学式子对应的c语言表达式是(c)。 2x?1a.9*x^n/(2*x-1)b.9*x**n/(2*x-1)c.9*pow(x,n)*(1/(2*x-1))d.9*pow(n,x)/(2*x-1)

C语言程序设计习题集(有答案)

C语言程序设计习题集(有答案)

高等教育自学考试

C语言程序设计(二)

课程代号(05772)

同步练习题

班级

学号

姓名

二O 一六 年 三 月

目录

第一章 C语言概述

第二章 基本数据类型

第三章 控制结构

第四章 运算符和表达式

第五章 函数

第六章 数组

第七章 字符与字符串

第八章 变量类别与编译预处

第九章 指针

第十章 结构体、共用体和枚举类型

第十一章 文件

1

第一章 C语言概述

一、单项选择题

1. 在计算机上可以直接运行的程序是( )。

A.高级语言程序 B.汇编语言程序

C.机器语言程序 D.C语言程序

2. 一个C语言程序是由( )

A.若干函数组成 B.若干过程组成

C.若干主程序组成 D.若干子程序组成

3. C语言不具有的特点是( )

A.具有结构化的控制语句

B.数据类型丰富

C.语法限制不太严格,程序设计自由度大

D.在可移植性上,C语言比其他语言差

4. 以下叙述不正确的是( )

A.一个C语言程序可由一个或多个函数组成

B.一个C语言程序必须包含一个主函数

C.C语言程序的基本组成单位是函数

D.在C语言程序中,注释说明只能位于一条语句的后面

5. 以下叙述正确的是( )

A.C语言比其他语言高级

B.C语言可以不用编译就能被计算机识别和执行

C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D.C语言出现的最晚,所以具有其他语言的一切优点

二、填空

1. 计算机语言的发展经过了 、 和 等阶段。

2. C语言既适合编写 ,也适合编写应用软件。

标准答案

一、单项选择题

CADDC

二、填空

1. 机器语言,汇编语言,高级语言

高职升本复习资料-结构体与共用体-专项练习题

高职升本复习资料-结构体与共用体-专项练习题

软件学院专业课集训营资料-结构体与共用体专项练习题

1. 设有以下说明语句:

struct ex

{ int x;

float y;

char z;

} example;

则下面的叙述中不正确...的是

A. struct是结构体类型的关键字 B. example是结构体类型名

C. x,y,z都是结构体成员名 D. struct ex是结构体类型名

2. 设有以下说明语句

typedef struct data

{ int n;

char ch[8];

} PER;

则下面叙述中正确的是

A. struct data是结构体变量名 B. PER是结构体类型名

C. typedef struct 是结构体类型 D. struct 是结构体类型名

3. 在程序VC6.0下,若有如下定义:

struct data

{ int i;

char ch;

double f;

} b;

则结构体变量b占用内存的字节数是

A. 13 B. 3 C. 8 D. 11

4. 以下程序在VC6.0下的运行结果是

#include

main()

{ struct date

{ int year,month,day; }today;

printf("%d\n",sizeof(struct date)); }

A. 6 B. 8 C. 10 D. 12

5. 设有如下定义:

struct sk

{ int a;

float b;

} data,*p;

若有p=&data,则对data中的成员a的正确引用是

A. (*p).data.a B.(*p).a C. p->data.a D. p.data.a

6. 以下对结构体变量stu1中成员age的非法..引用的是

struct student

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案

C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。

习题1:基本数据类型

编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。

```c

#include

int main() {

int a;

float b, sum;

printf("请输入一个整数:");

scanf("%d", &a);

printf("请输入一个浮点数:");

scanf("%f", &b);

sum = a + b;

printf("它们的和是:%f\n", sum);

return 0;

}

```

习题2:条件语句

编写一个程序,根据输入的成绩判断学生的等级。

```c

#include

int main() {

float score;

printf("请输入学生的成绩:");

scanf("%f", &score);

if (score >= 90) {

printf("等级:A\n");

} else if (score >= 80) {

printf("等级:B\n");

} else if (score >= 70) {

printf("等级:C\n");

} else if (score >= 60) {

printf("等级:D\n");

} else {

printf("等级:F\n");

}

return 0;

}

```

习题3:循环结构

编写一个程序,计算1到100的整数之和。

C语言习题四选择结构程序设计

C语言习题四选择结构程序设计

习题四 选择结构程序设计

1. 设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是______。

A、if(x++); B、if(x>y && y!=0); C、if(x>0) x-- D、if(y<0) {;}

else y++; else x++;

解析:本题考查的是if语句。if后表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。选项A和B是在表达式后跟了一条空语句,选项D是在表达式后跟了一组空语句,选项C中x--是表达式而不是语句,所以在编译时会出现错误信息。故本题答案选C。

2. 有以下程序

main()

{ int i;

for(i=1;i<=40;i++)

{ if(i++%5==0)

if(++i%8==0) printf ("%d",i);}

printf("\n"); }

执行后的输出结果是______。

A、5 B、24 C、32 D、40

解析:本题考查的是if语句的应用。在满足for 语句条件下,第一个if语句的条件是指i先对5取余后,再自行加1;第二个if语句的条件是指:i=i+1后,再对8取余。故本题答案选C。

3. 在嵌套使用if语句时,C语言规定else总是______。

A、和之前与其具有相同缩进位置的if配对 B、和之前与其最近的if配对

C、和之前与其最近的且不带else的if配对 D、和之前的第一个if配对

解析:本题考查的是if语句的使用规则。在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。故本题答案为C。

4. 有以下程序

main()

{ int i=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

习题解析与答案

第1章C语言概述

一. 简答题

1.概述C语言的主要特点。

【解答】

(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch语句、for语句。

(5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?

【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?

【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果

1.输入下面程序并运行。

main()

int a1,a2,x;

a1=100;

a2=50;

x=a1-a2;

printf(″x=%d\n″,x);

【解答】运行结果为:x=50

2.输入下面程序并运行。

main()

{

int a1,a2,x;

a1=10;

a2=20;

x=a1*a2;

printf(″a1=%d,a2=%d\n″,a1,a2);

printf(″x=%d\n″,x);

【解答】运行结果为:a1=10,a2=20

x=200

2 三.编程题

1.参照本章例题,编写一个C程序,用于显示如下信息:

*************************

I love C programs!

*************************

【分析与提示】

①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。

C语言习题结构体和杂类(答案)

C语言习题结构体和杂类(答案)

第十章结构体和杂类一.选择题

1.如下说明语句,则下面叙述不正确的是(C)。

tructtu{inta;floatb;}tutype;A.truct是结构体类型的关键字B.tructtu是用户定义结构体类型

C.tutype是用户定义的结构体类型名(变量名)D.a和b都是结构体成员名

2.在16位PC机中,若有定义:tructdata{inti;charch;doublef;}b;则结构变量b占用内存的字节数是(D)。

A.1B.2C.8D.11

A.1和2B.2和3C.7和2D.7和84.以下程序的输出结果是(D)。

unionmyun{truct{int某,y,z;}u;intk;}a;main(){a.u.某=4;a.u.y=5;a.u.z=6;a.k=0;printf(\A.4B.5C.6D.05.当定义一个共用体变量时,系统分配给它的内存是(C)。

A.各成员所需内存量的总和B.结构中第一个成员所需内存量

C.成员中占内存量最大的容量D.结构中最后一个成员所需内存量

6.若有以下程序段:

uniondata{inti;charc;floatf;}a;intn;

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

A.a=5;B.a={2,’a’,1.2}C.printf(“%d”,a);D.n=a; 7.设truct{inta;charb;}Q,某p=&Q;错误的表达式是(d)。

A.Q.aB.(某p).bC.p->aD.某p.b

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

A.可以对共用体变量直接赋值

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

10.下面对typedef的叙述中不正确的是(b)。

A.用typedef可以定义多种类型名,但不能用来定义变量B.用typedef可以增加新类型

C语言程序设计(结构)习题与答案

一、单选题

1、设有定义:

struct complex

{

int real, unreal;

} data1={1,8},data2;

则以下赋值语句中错误的是()。

A.data2.real=data1.unreal;

B.data2=(2,6);

C.data2=data1;

D.data2.real=data1.real;

正确答案:B

2、设有定义:

struct

{char mark[12];

int num1;

double num2;} t1,t2;

若变量均已正确赋初值,则以下语句中错误的是()。

A.t2.num1=t1.num1;

B.t2.num2=t1.num2;

C.t1=t2;

D.t2.mark=t1.mark;

正确答案:D

3、有以下定义语句:

struct student

{int num;

char name[9];

}; 则不能正确定义结构体数组并赋初始值的是( )。

A.struct stu[]={{1,"zhangsan"},{2,"li si"}};

B.struct student stu[2]={{1,"zhangsan"},{2,"li si"}};

C.struct student stu[2]={1, "zhangsan",2,"li si"};

D.struct student stu[]={{1,"zhangsan"},{2,"li si"}};

正确答案:A

4、有以下程序:

#include

struct S

{ int a,b;}data[2]={10,100,20,200};

int main()

{struct S p=data[1];

printf("%d\n",++(p.a));

return 0;}

程序运行后的输出结果是()。

A.11

B.10

C.21

D.20

正确答案:C

5、有以下程序:

c语言选择结构试题带答案

1 / 18

一、 选择题

1. 以下非法的赋值语句是

A: n=(i=2,++i);

B: j++;

C: ++(i+1);

D: x=j>0;

2. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2 的值是

A: 6

B: 0

C: 2

D: 1

3. 阅读以下程序:

main()

{ int x;

scanf(“%d”,&x);

if(x--<5) printf(“%d”,x);

else printf(“%d”,x++);

}

程序运行后,如果从键盘上输人5,则输出结果是( )。

A: 3

B: 4

C: 5

D: 6

4. 有如下程序

main0

{ int a=2,b=-1,c=2;

if(a

if(b<0) c=0;

else c++

printf("%d\n",c);

}

该程序的输出结果是

A: 0

B: 1

C: 2

D: 3

5. 有以下程序

#include

main() 2 / 18

{ int a,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

printf("%d,%d\n",a,b);

}

输出结果是( )。

A: 2,1

B: 3,2

C: 4,3

D: 2,-1

6. 两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是

main( )

{ int x;

scanf("%d",&x);

if(x + + >5) printf("%d",x);

else printf("%d\n",x - -); }

A: 7 和5

B: 6 和3

C: 7 和4

D: 6 和4

7. 能表示x 为偶数的表达式是

A: x%2==0

B: x%2==1

C: x%2

D: x%2!=0

8. 下面的程序段中共出现了几处语法错误?

int a,b;

scanf("%d",a);

2016C语言习题全集及答案:第八单元结构体和共用体

1 第八单元 结构体和共用体

一、选择题

1、 说明一个结构体变量时系统分配给它的内存是 。

A. 各成员所需要内存量的总和

B. 结构体中第一个成员所需内存量

C. 成员中占内存量最大者所需的容量

D. 结构中最后一个成员所需内存量

2、 C 语言结构体类型变量在程序执行期间 。

A. 所有成员一直驻留在内存中

B. 只有一个成员驻留在内存中

C. 部分成员驻留在在内存中

D. 没有成员驻留在内存中

3、 设有以下说明语句

struct stu { int a ; float b ; } stutype ;

则下面的叙述不正确的是 。

A. struct 是结构体类型的关键字

B. struct stu 是用户定义的结构体类型

C. stutype 是用户定义的结构体类型名

D. a 和b 都是结构体成员名

4、 程序中有下面的说明和定义

struct abc { int x;char y;}

struct abc s1,s2;

则会发生的情况是 。

A. 编译出错

B. 程序将顺利编译、连接、执行

C. 能顺利通过编译、连接、但不能执行

D. 能顺利通过编译、但连接出错

5、 有如下定义

struct person { char name[9]; int age;};

struct person class[10]={ " Johu", 17,"Paul", 19,"Mary", 18,"Adam",

16};

根据上述定义,能输出字母M 的语句是 。

A. prinft(" %c\n",class[3].name);

2 B. printf(" %c\n",class[3].name[1]);

C. prinft(" %c\n",class[2].name[1]);

D. printf(" %c\n",class[2].name[0]);

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档