一
函数scanf()和gets()都可用来输入字符串,
而printf()和puts()都输出字符串。
在scanf()中使用%s,输入参数必须是字符型数组名。该函数遇回车或空格输入结束,并自动将输入的数据和字符串结束符' '送入数组中。
gets中遇回车输入结束,自动将输入的一串字符和' '送入数组中
二
struct是定义结构类型的关键字,在struct之后,自行命令一个结构名,必须为合法的c标识符。
与数组相比 他可将不同类型的相关信息组织在一起。
又如,平面上任意一点都可用x坐标和y坐标共同确定
struct point{ dounle x; double y; };
定义了一个名为struct point的结构数据类型x,y类型相同,也可以用数组的方式表达,但采用结构来描述其整体性更强 增加程序可读性。
三
结构变量的定义和初始化
1.单独定义
单独定义是指先定义一个结构类型,再定义这种结构类型的变量。
2.混合定义
定义结构类型的同时定义结构变量
一般形式为
struct 结构名{
类型名 结构成员名1;
类型名 结构成员名2;
....
类型名 结构成员名5;
}结构变量名表;
例如:
struct student{ int num; char name[10]; int computer,english,math; double ave; }s1,s2;
这种方法和第一方法实质一样,都是即定义了结构类型struct student,也定义了结构变量s1 s2
3。无类型名定义
指定义结构变量时省略结构名
这种方式采用以下形式定义结构类型并同时定义结构变量。
struct {
类型名 结构成员名1;
类型名 结构成员名2;
....
类型名 结构成员名5;
}结构变量名表;
此省略了结构名由于没有给出结构名,在此定义语句后面无法再定义这个类型其他结构变量,除非把定义过程再写一遍。
遇到的问题:当遇到作业第三那题那种长代码会手忙脚乱,对于代码次序不是很明确,粗心
解决方法:参照书中例题解决(第三题我交了2份 可以运行的是参照书中例题,运行不出来的是自己打的)