这个作业属于哪个班级 | C语言--网络2011,2012(集美大学) |
---|---|
这个作业的地址 | C博客作业03--函数 |
这个作业的目标 | 学习如何设计函数、C语言基本数据类型 |
姓名 | 张官德 |
PTA总分
1.本章学习总结
1.1函数定义、调用、声明
- 函数定义
函数返回值类型 函数名 (参数类型1 参数名1, 参数类型2 参数名2,...)
{
函数体
语句1;
语句2;
......
}
- 函数声明
函数的声明在main()函数之前,格式
函数返回值类型 函数名 (参数类型1 参数名1, 参数类型2 参数名2,...);
注意分号要加。
- 函数调用
- 调用某函数的函数称主调函数;被调用的函数称为被调函数。
- 除了main函数以外,其他函数不能自己运行,有调用才运行。
- 有返回值类型的函数将返回值赋给调用者。
1.2 全局、局部变量、静态局部变量
-
全局变量
在main函数外定义,各个函数都可以使用,在一个函数中,值改变后,该变量随之变化。 -
局部变量
在函数内定义,仅限于该函数中使用,无法被其他函数识别和使用。 -
静态局部变量(static)
作用:将函数中此变量的值保存至下一次调用。很好地实现变量不被初始化的问题。
1.3 C数据类型及注意点
-
数据储存
计算机以二进制处理信息,数值可以用原码,反码,补码表示(一般以补码表示)。 -
数据类型
例如:
名称 | 类型名 | 数据长度 | 取值范围 |
---|---|---|---|
整形 | int | 32位 | -231~231-1 |
短整形 | short(int) | 16位 | -32768~32767 |
长整形 | long(int) | 32位 | -231~231-1 |
字符型 | char | 8位 | 0~255 |
单精度浮点型 | float | 32位 | 约+-(10(-3.8)~103.8 |
双精度浮点型 | double | 64位 | 约+-10(-308)~10308 |
注意:1. 在整形前加unsigned表示取值范围从零开始到最大值
-
取值范围负数部分最小的数的绝对值比正数部分最大值小1,是由于负数反码加一的结果。
-
数据类型转化时要格外注意浮点数转化为整数时出现的精度损失(不可避免),这可能导致转化的整数小一。
1.4运算符
-
关系运算符
优先级比较:
{< ,>, <=, >=} > {==,!=} -
逻辑运算符
“与”>"或" 即 “&&”>"||"
注意:逻辑运算符例如: exp1||exp2 先算exp1,若exp1为1,则exp2没必要运算了。 -
三目运算符(条件运算符)
例:表达式(n>0)?2.9:1
表示:若n>0则表达式值为2.9,否则为1。 -
位运算
运算符 | 名称 |
---|---|
& | 与 |
| | 或 |
^ | 异或 |
~ | 取反 |
<< | 左移 |
>> | 右移 |
学习体会
- 学习了函数的声明调用,冗长的代码简洁了许多,加之学会了将函数写在其他文件后,整个代码就更“清楚”多了。
2. 小学生口算表达式自动生成系统
2.1 代码流程图
2.2 函数功能及全局变量介绍
2.21 全局变量
如上图所示:
2.22 菜单相关函数(以一年级为例(其他差不多))
- 三个函数
2.3 运行结果截图,测试用例。
......
2.4 大作业中编程技巧总结
- 注意适当的全局变量会给予代码以方便
- 多建立文件存函数,尽量使main函数简洁。
- 可以将函数名组合成一个头文件