第4次作业
一,笔记
二
,代码列表
三,问题
(1)pta
以下scanf
函数调用语句中不正确的是__。(2分)
struct pupil {
char name[20];
int age;
int sex;
} pup[5], *p=pup;
问;pup[0].name为什么不加&
答;因为scanf后必须跟地址,pup[0].name就是数组首地址,所以不用在取地址。
(2)视频
1,C语言结构的作用是什么?
答;在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中,姓名应为字符型;学号可为整型或字符型;年龄应为整型;性别应为字符型;成绩可为整型或实型。显然不能用一个数组来存放这一组数据。因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言中给出了另一种构造数据类型——“结构(structure)”或叫“结构体”。 它相当于其它高级语言中的记录。“结构”是一种构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。结构既是一种“构造”而成的数据类型,那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义函数一样。
2,.视频中的%i是什么?
%i和%d 没有区别。%i 是老式写法。都是整型格式。
%i与%d:在printf格式串使用时,没有区别。
在scanf格式串使用时,有一点区别:在scanf格式中,%d只与十进形式的整数相匹配。而%i可以匹配八进制、十进制、十六进制表示的整数。
3,结构变量和结构类型有什么不同?
两个不同的概念,结构变量:struct student s1,max;其中定义了s1、max结构变量,其数据类型为struct student.
结构类型:struct 结构名{类型名 结构成员名;..........};其中,struct 与结构名两者合起来共同组成结构类型名。