收藏 分享(赏)

TP9 国二考试c语言教程.ppt

上传人:hyngb9260 文档编号:7802986 上传时间:2019-05-26 格式:PPT 页数:22 大小:542KB
下载 相关 举报
TP9 国二考试c语言教程.ppt_第1页
第1页 / 共22页
TP9 国二考试c语言教程.ppt_第2页
第2页 / 共22页
TP9 国二考试c语言教程.ppt_第3页
第3页 / 共22页
TP9 国二考试c语言教程.ppt_第4页
第4页 / 共22页
TP9 国二考试c语言教程.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、第九章,函数,2,回顾 2-1,指针是一个变量,它存储另一个对象的内存地址 指针的声明由基本类型、星号 (*) 和变量名组成 为指针赋值,赋值运算符右侧必须是一个地址如果是普通变量需要在前面加一个取地址运算符 &;如果是另一个指针变量或者是一个数组,不需要加 &运算符 运算符 * 用于返回指针指向的内存地址中存储的值,3,回顾 2-2,指针算术运算的含义是指针的移动,将指针执行加上或者减去一个整数值n的运算相当于指针向前或向后移动n个数据单元 指针可以执行比较相等的运算,用来判断两个指针是否指向同一个变量 指向数组的指针,存储的是数组中元素的地址。数组data的第 (i + 1) 个元素的地址

2、可表示为 &datai 或 (data+i),4,目标,描述 C 语言中的函数 掌握 C 语言中常见的内置函数 理解函数原型和函数的返回值 熟练掌握自定义函数的定义和调用,5,void main() :x=x*x*x;y=y*y*y;z=z*z*z;ans1=x+y+z;a=a*a*a;b=b*b*b;c=c*c*c;ans2=a+b+c;: ,为什么使用函数,重复多次的同一计算类型,void main() :ans1=cube(x,y,z);ans2=cube(a,b,c);: ,int cube(int a,b,c) int ans;ans=(a*a*a)+(b*b*b)+(c*c*c);

3、return ans; ,函数,主程序,ans,函数可以把相对独立的某个功能抽象出来,使之成为程序中的一个独立实体。可以在同一个程序或其他程序中多次重复使用,6,函数机制的优点,使程序变得更简短而清晰 有利于程序维护 可以提高程序开发的效率 提高了代码的重用性,7,函数类型,内置函数: 由语言系统提供; 用户无须定义,也不必在程序中作类型说明; 只需在程序前包含有该函数定义的头文件;,自定义函数: 用户在程序中根据需要而编写的函数;,8,常用内置函数,9,问题描述: 求自然数110的平方根和立方。,内置函数sqrt 和pow 示例,2,6,64,#include #include void m

4、ain() int x=1;double squareroot,power;while(x = 10)squareroot=sqrt(x);power=pow(x,3);printf(“ %d的平方根:%3.2ft%d的立方:%5.0f n“,x,squareroot,x,power);x+; ,1的平方根: 1.00 1的立方: 12的平方根: 1.41 2的立方: 83的平方根: 1.73 3的立方: 274的平方根: 2.00 4的立方: 645的平方根: 2.24 5的立方: 1256的平方根: 2.45 6的立方: 2167的平方根: 2.65 7的立方: 3438的平方根: 2.8

5、3 8的立方: 5129的平方根: 3.00 9的立方: 729 10的平方根: 3.16 10的立方: 1000 Press any key to continue,10,内置函数ceil和floor示例,2,6,64,#include #include void main() printf(“=floor()=“);printf(“n floor(99.1) = %f n“,floor(99.1);printf(“ floor(-99.1) = %fn“,floor(-99.1);printf(“ floor(99.9) = %fn“,floor(99.9);printf(“ floor(

6、-99.9) = %fn“,floor(-99.9);printf(“n=ceil()=“);printf(“n ceil(99.1) = %fn“,ceil(99.1);printf(“ ceil(-99.1) = %fn“,ceil(-99.1);printf(“ ceil(99.9) = %fn“,ceil(99.9);printf(“ ceil(-99.9) = %fn“,ceil(-99.9); ,=floor()=floor(99.1) = 99.000000floor(-99.1) = -100.000000floor(99.9) = 99.000000floor(-99.9)

7、= -100.000000=ceil()=ceil(99.1) = 100.000000ceil(-99.1) = -99.000000ceil(99.9) = 100.000000ceil(-99.9) = -99.000000 Press any key to continue,11,toupper和tolower示例,2,6,64,#include #include void main() char msg1,msg2,to_upper,to_lower;printf(“请输入一个小写字母:“);msg1=getchar();to_upper=toupper(msg1);printf(“

8、转换为大写:%cn“,to_upper);printf(“请输入一个大写字母:“);fflush(stdin);msg2=getchar();to_lower=tolower(msg2);printf(“转换为小写:%cn“,to_lower); ,请输入一个小写字母:d 转换为大写:D 请输入一个大写字母:E 转换为小写:e Press any key to continue,12,内置函数rand示例,2,6,64,#include #include /#include void main() int i; printf(“产生 10 个 0 到 99 之间的随机数序列:nn“); /sr

9、and(unsigned)time(NULL);for(i=0; i10; i+) printf(“%d “, rand() % 100); printf(“n“); ,产生 10 个 0 到 99 之间的随机数序列: 44 73 26 58 37 94 27 42 28 90 Press any key to continue,演示:示例4,13,函数定义,void displayDiscount() float price, discount_amt;printf(“请输入价格“);scanf(“%f, ,double max(double x, double y) double m;m=

10、xy?x:y;return m; ,该函数名为displayDiscount,无参数,使用void说明无返回值,函数体内的语句用于根据产品的价格求折扣后的价格。,该函数名为max,它有两个double类型的参数,返回值为double类型。在函数体内有三条语句实现了求两个数中较大的数,并将它返回。,14,函数原型,#include float count (int, int); void main() . . . . . float count(int x,int y) . . . ,函数原型说明在形式上与函数头部类似,最后加一个分号。原型说明中参数表里的参数名可以不写(只写参数类型)。,15,

11、通过在程序中使用函数名称,可以执行函数中包含的语句,这称为调用函数 函数之间允许相互调用,也允许嵌套调用 函数还可以自己调用自己,称为递归调用,#include void main() :set_discount();displayDiscount();: ,float set_discount() : float displayDiscount() : ,函数调用,16,void reverse() : ,#include void main() :palindrome();: ,void palindrome() :reverse();: ,函数嵌套调用,从一个函数调用另一个函数称为函数的

12、嵌套调用,17,/* 此函数用于计算 a 的阶乘 */ int factorial(int a) if (a = 1)return 1;elsea = a * factorial(a-1);return a; ,函数递归调用,在一个函数体内调用自身称为函数的递归调用,18,问题描述: 根据用户的选择求不同形状的面积。,函数调用示例,#include void AreaOfRect(); void AreaOfTriangle(); void AreaOfRound(); void main() int select;do printf(“ 0、退出n 1、长方形n 2、三角形n 3、圆形n“)

13、;printf(“请选择功能:“);scanf(“%d“, ,void AreaOfRect() int x,y; printf(“请输入长方形的长:“); scanf(“%d“, ,void AreaOfTriangle() int x,y; printf(“请输入三角形的底:“); scanf(“%d“, ,void AreaOfRound() int r; printf(“请输入圆形的半径:“); scanf(“%d“, ,函数原型,演示:示例6,19,int divisibleCheck(int num) if (num % 5 = 0) return 1;elsereturn 0;

14、,C语言中的函数至多可以返回一个值,不能返回多个值;返回值的数据类型必须与函数原型中返回值的数据类型匹配;当遇到 return 语句时,函数执行将终止。程序控制流将立即返回调用函数;,函数返回值,C 语言中的 return 语句用于向调用函数返回值,语法如下:return ();,20,函数返回值示例,#include int get_age(); void main() int age1, age2, age3;age1 = get_age();age2 = get_age();age3 = get_age();if ( (age1 age2) ,65,78,int get_age() in

15、t age;printf(“n请输入年龄: “);scanf(“%d“, ,请输入年龄:65,请输入年龄:78,请输入年龄:54,年龄为 78 岁的人最大,54,21,总结 2-1,函数是程序中的一个相对独立的单元或模块,程序在需要时可以任意多次地调用函数来完成特定功能 使用函数带来的好处: 程序更清晰、易维护、分模块方便设计与开发、提高代码的重用性 语言提供了极为丰富的内置函数,这些内置函数分门别类地放在不同的头文件中,要使用这些内置函数,只要在程序前包含相应的头文件即可,22,总结 2-2,自定义函数是用户在程序中根据需要而编写的函数 函数的结构包括:返回值类型、函数名、参数列表、函数体 函数原型说明以便向编译器指出该函数使用什么样的格式和语法 函数调用时程序控制流将转向被调函数,被调函数执行结束时,控制流返回主调函数 return 语句用于向调用函数返回值,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报