第四次作业

C语言第四次作业

观看视频3.2.1,3.2.2,3.2.3

一、看视频做笔记

 

二、编辑程序列表

 

三、书本上的代码运行结果:

1、书本9.1输出平均分最高的学生代码

2、书本9.2学生成绩排序代码

3、书本9.3修改学生成绩代码

 

四、观看视频中存在的问题:

1、数组与结构体变量有哪些区别?

(1)、同一数组各元素的类型必须一致(如要么都是int型,要么都是float型)而一个结构体变量的各成员类型可以不一致。因此当需要保存相同类型的一组数据时应该用数组,当需要保存不同类型的一组数据时(如一个人的各种信息)应使用结构体变量。

(2)、数组名与结构体变量名也是不同的。数组名之间不允许赋值(因为都是假想的指针变量,值不能改),而两个结构体变量名之间允许赋值,会将全部内容复制过去。

2、注意:在结构体类型的定义中,}后面的分号是必不可少的。这对{ }与复合语句和switch语句的 { }都不同。

3、%i是什么?

答:在printf函数格式字符中:%i和%d以带符号的十进制形式输出整数(正数不输出符号)%i可以以八进制 十六进制转换十进制形式,则%d不能转换,直接输出。

五、PTA作业遇到的问题:

1、对于以下结构定义,++p->str中的++加在()

A、指针str上

B、指针P上

C、str指的内容上

D、以上均不是

问题:不知道++到底是加到哪?不知道++和->那个优先级高?

解决方法:经过老师发的文件知道->比++优先级要高

且课上将到:当P指向结构变量s1时,下面三条语句的效果是一样的

s1.num = 101;

(*p).num = 101;

p->num = 101;

所以本题++应该加在str上。

原文地址:https://www.cnblogs.com/wjb13579246/p/12590918.html