C博客作业03--函数
| 这个作业属于哪个班级 | C语言--网络2011/2012 |
| ---- | ---- | ---- |
| 这个作业的地址 | C博客作业03--函数 |
| 这个作业的目标 | 学习如何设计函数、C语言基本数据类型 |
|姓名|骆念念|
0.展示PTA总分(0----2)
1.本章学习总结(4分)
1.1 函数定义、调用、声明
函数定义
函数类型 函数名 (类型1,形参1,类型2,形参2)
{
函数实现过程
}
函数首部不能加分号,它和函数体一起构成完整语句
例子
double cylinder(double r,double h)
函数调用
任何程序的执行,都是从主函数开始,如果遇到某个函数的调用,主函数就暂停执行,转而执行相应的函数,函数调用完后返回主函数,主函数继续执行;
例子
#include<stdio.h>
int main()
{
double height ,radius,volume;
double cylinder(double r,double h);
printf("Enter radius and height:");
scanf("%lf %lf",&radius,&heught);
volume =cylinder(radius,height);
printf("volume=%.3f\n",volume);
return 0;
}
double cylinder(double r,double h)
{
double result;
result=3.1415926*r*r*h;
return result;
}
函数的调用形式为:
函数名 (实参);
实参可以是常量。变量,和表达式。
对于实现计算功能的函数,函数调用通常出现在两种情况下:
1.赋值语句
voulme=cylinder(radius,height);
2.输出函数的实参
printf("%.f",cylinder(radius,heught));
参数传递
形参和实参必须一一对应,两者数量相同,类型尽量一致。当调用函数时,实参的值会一次传给形参。
函数声明
格式:
函数类型 函数名 (形参);
如果自定义函数放在主函数后面,需要在函数调用前加上函数声明。函数声明是一条语句,需要加上分号。
1.2 全局、局部变量、静态局部变量
全局变量放在主函数外面,可以被主函数和自定义函数公用,。全局变量的范围是从定义开始到程序所在文件的结束,它对所有函数都起作用。局部变量定义在函数内,可以避免函数之间的变量的干扰。静态变量的生存周期会持续到程序结束,由于储存单元被保留,一旦含有静态局部变量的函数被再次调用,那么,上一次的值有被保留,也就是说,这一次的函数调用会继续使用该值。静态局部变量在数组中也有用到。在使数值初始化为0时,可以写static int a[10];这样使得数组的每一个元素都初始化为0,但是不能用int a[10]={0};这样会使第一个为0,而其他元素会使不确定的值。
1.3 C数据类型及注意点
0dd表示八进制数,0xdd表示十六进制,十进制整数由正负和阿拉伯数字0-9组成,但首位数字不能是0.八进制整数由正负号和阿拉伯数字0-7组成,首位数字必须是0.十六进制整数是由正负号和阿拉伯数字0-9英文数字a-f或A-F,首位数字必须是0x或0X。浮点表示法:实数有正号,负号,阿拉伯数字0-9和小数点组成,必须要有小数。并且小数点的前后至少一边要有数字。科学计数法:实数有正负号数字阿拉伯数字和字母e组成,e是指数的标志,在e之前要有数据,e之后的指数只能是整数。
区分++n和n++:++n是先执行n=n+1,再将n的值赋值给++n,n++相反。
1.4 C运算符
运算符有+=,-=,/=,%=.
学习体会
古人云,检验学习的唯一标准是实践,虽然我听了感觉懂了,但是做起来就不是那么一回事了。所以我要花更多的时间在C语言上。从实践中找到解题的思路,以及总结方法。特别是函数,当自己要定义一个函数时,要对函数的运用非常熟悉。
2.综合作业(6分):小学生口算表达式自动生成系统
2.1.模块流程图
一年级模块流程图
二年级模块流程图
暂时不怎么会
三年级 模块流程图
暂时也不怎么会
2.2.函数功能及全局变量介绍
2.2.1.全局变量
2.2.2 菜单相关函数
2.2.2 出题相关函数
2.3.运行结果截图,测试用例
2.4.大作业中编程技巧总结
代码提交
int GetValue(int grade)
{
int value;
switch (grade)
{
case 1:value = rand() % 10; break;
}
return value;
}
char GetOperator(int grade)
{
int n;
char ch;
n = rand() % 2;
if (n == 0)
{
ch = '+';
}
if (n == 1)
{
ch = '-';
}
return ch;
}