C语言基础题第八章:结构体与其他构造类型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} 3、声明一个名为 abc 的结构体类型,该类型的成员为:一个含有 5 个元素的整形数组 a 和一个整形 b。
请写出定义的正确代码:__struct abc { int a[5] ; int b; } ;_________。 4、在上题基础上,定义 abc 结构体类型的变量 x 和整形变量 y 的正确代码是:_struct abc x ; int y; 。 5、续上题:给变量 x 的成员 a 的第 3 个元素赋一个值为 8 的正确代码是: x . a[2]=8; 。 6、假设有如下结构体类型说明:
int month;
int day;
};
struct stud
{ char name[10];
struct date birthday;
int age;
} sun ;
则能给年份正确赋值的语句是:
A、year=1992;
B、birthday.year=1992;
C、sun.year=1992
D、sun.birthday.year=1992
,x 所占字节数是__18__
第八章 结构体与其他构造类型 第 2 页 共 4 页
{ int num; char name[12]; float price; } w; 则变量 w 所占存储单元字节数为: 18 。 2、下面程序的输出结果是 LiSi 19 。 #include <stdio.h> struct stu
fun (a[2].num, a+3 );
}
程序运行后的输出结果是 。
A、4 Sala
B、3 Lili
C、3 Sala
D、2 Lili
A D
C
二、 填空题 1.若有如下结构体类型说明:
struct ss { char a[10];
double b; }; 则将 x 定义为该类型变量的正确形式是__struct ss x;_ * 若有以下结构体说明和变量定义: struct cargo
第八章 结构体与其他构造类型 第 3 页 共 4 页
{ 在此补充内容
int i ; for ( i=0 ; i<3;i++) printf (" %10s%5c%8d\n ",p[i].name,p[i].sex,p[i].age );
} 10、下面程序的功能是统计 8 名学生中数学和英语成绩均大于等于 60 分的人数。请将程序补充完整。
struct date birthday;
float height ;
float wight;} sun;
则语句 printf(" %d\n", sizeof( sun ) );的执行结果为 。
A、15
B、24
C、20
D、18
第八章 结构体与其他构造类型 第 1 页 共 4 页
6、有以下程序
main ( )
第八章:结构体与其他构造类型
一、单选题
1、若有以下结构体说明
C
struct ss
{ float x ;
double y ;
char z;
}el;
则 el 所占存储单元字节数为 。
A、8
B、4
C、13
D、1
2、下面结构体说明正确的是 。
C
A、struct st { int x ; float y;}
B、struct st; { int x; float y; }f1,f2;
struct aa { int a; int b ; }; 根据下面的提示写出对应的代码。 1)定义上述结构体类型变量 x 和整形变量 y : struct aa x; int y; ; 2)给变量 x 的两个成员 a 和 b 分别赋 1 和 2 : x.a=1; x.b=2; ; 3)将变量 x 的两个成员之和赋给 y 变量: y=x.a+x.b; ; 7、 若有以下结构体说明和定义: struct stu { char name[10];
F
第八章 结构体与其他构造类型 第 4 页 共 4 页
}
判断题
1.结构体类型的声明可以在函数外面进行,也可以在函数内部进行,但在使用结构体类型之前,必须
先进行声明。
T
2、结构体类型的成员可以是整型、实型、字符型等类型,但不能是另一个结构体类型。
F
3、在名为 aa 的结构体中,成员 x 可以是 bb 结构体类型,但必须保证 bb 结构体中没有名为 x 的成员。
8、若有以下程序:
struct stu
{ int num; char name [ 10]; };
void fun ( int x , struct stu *y )
{ printf ( " %d \t " , x );
printf ( " %s \n ", y->name );
}
Hale Waihona Puke Baidu
main ( )
{ struct stu a [ 4 ] = { { 1, " Mary " } , { 2 , " John " } , { 3 , " LiLi " } , { 4, " Sala " } };
{ struct
{ int a; int b; }a[3]={1,2,3,4,5,6} ;
printf ( " %d\n", a[0].b*a[2].a/a[1].a*a[0].b ) ; }
程序运行后的输出结果是 。
A、6
B、4
C、2
D、1
7、若有以下定义
struct date
{ int year ;
main ()
{ struct st stu[8]={ { 1,82.5,78 },{ 2,60,54.5},{ 3,90,86.5 },{ 4,76.5,82},{ 5,65,46 },{ 6,73.5,64 },{ 7,54
.5,55 },{ 8,65,78.5 } };
int n;
n=fun ( stu ) ; printf ( " The number beyond 60:%-d\n " , n );
struct st
{ int num;
float s[2];
}; int fun (struct st stu[ ] ) {
int i, n=0; for(i=0; i<8; i++) if(stu[i].s[0]>=60&&stu[i].s[1]>=60) n++;
在此补充内容
return n;
}
C、strct st {int x; float y; }; struct st f1,f2; D、struct st { int x; float y;} ;struct f1,f2;
3、若有以下结构体说明
D
struct student
{ char name[10];
float score[4];
}std;
A、student.name="Liu"; B、std.name="Lee";
C、student.math=84; D、std.english=90
5、若有以下定义:
B
struct date
{ int year ;
int month ;
int day ;
};
struct student
{ char name[10];
char sex ; int age ; } u, *v=&u; 则对 u 中 age 域的引用形式可以有: u.age 、 (*v).age 和 v->age 。 8、以下程序运行后的输出结果是 4 . int s[4]={ 1,2,3,4 } struct { int x; int * y; } t={100,s },*k=&t; main( ) { printf (" %d\n" , t.y[3]); } 9、下面程序的功能是输出结构体数组的内容。请将程序补充完整 struct { char name[10]; char sex; int age ; }p[3]={ { "Lee", 'f' , 46 },{ "Mon", 'm' , 62 },{ "Fan", 'f' , 25 } }; main ( )
} team[10];
team 数组所占存储单元字节数为 。
A、26
B、300
C、286
D、260
4、已知表示学生信息的结构体如下,对结构体成员的赋值方式正确的是 。
D
struct student
{ int num;
char name[10];
float english ;
float math;
float computer;
{ char name[10]; long int tel ; int age ; } ; void fun(struct stu *p , int a)
{ printf( "%s %d\n" ,p->name,a) ; } main( )
{ struct stu student[4]={ { "ZhangSan", 61111111,17 }, { " LiSi ",62222222,16 }, { " WangWu", 63333333,19 } , { "ZhaoLiu ", 64444444,18} } ; fun(student+2,student[1].age);
相关文档
最新文档