c语言函数的课程,c语言例子课程:函数.ppt

news/2024/7/7 19:45:31

c语言例子课程:函数

8.1 概述 例8.18 输出1到5的阶乘值 #include void main() {int fac(int n); int i; for(i=1;i<=5;i++) printf(″%d!=%d\n″,i,fac(i)); } Int fac(int n) {static int f=1; f=f*n; return(f); } 8.9.4 register变量 变量的值是存放在内存中的。当程序中用到哪一个变量的值时,由控制器发出指令将内存中该变量的值送到运算器中。 经过运算器进行运算,如果需要存数,再从运算器将数据送到内存存放。 如果有一些变量使用频繁,则为存取变量的值要花费不少时间。为提高执行效率,C语言允许将局部变量的值放在CPU中的寄存器中,需要用时直接从寄存器取出参加运算,不必再到内存中去存取。由于对寄存器的存取速度远高于对内存的存取速度,因此这样做可以提高执行效率。这种变量叫做寄存器变量,用关键字register作声明。 例8.19使用寄存器变量 #include void main ( ) {long fac(long); long i,n; scanf("%ld",&n); for(i=1;i<=n;i++) printf("%ld!=%ld\n",i,fac(i)); } long fac(long n) {register long i,f=1; /*定义寄存器变量*/ for (i=1;i<=n;i++) f=f*i; return (f); } 8.9.5 用extern声明外部变量 外部变量是在函数的外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的末尾。在此作用域内,全局变量可以为程序中各个函数所引用。编译时将外部变量分配在静态存储区。用extern来声明外部变量,以扩展外部变量的作用城。 1. 在一个文件内声明外部变量 例8.20 用extern声明外部变量,扩展它在程序文件中的作用域 #include void main() { int max(int,int); /*外部变量声明*/ extern A,B; printf("%d\n",max(A,B)); } int A=13,B=-8; /*定义外部变量*/ int max(int x,int y) /*定义max函数 */ { int z; z=x>y?x:y; return(z); } 2. 在多文件的程序中声明外部变量 #include int A; /*定义外部变量*/ void main() {int power(int); /*函数声明*/ int b=3,c,d,m; printf(″enter the number a and its power m:\n″); scanf(″%d,%d″,&A,&m); c=A*b; printf(″%d*%d=%d\n″,A,b,c); d=power(m); printf(″%d**%d=%d\n″,A,m,d); } 例8.21 用extern将外部变量的作用域扩展到其他文件。本程序的作用是给定b的值,输入a和m,求a×b和am的值。文件file1.c中的内容为: printf("a[i]>b[i] %d times\na[i]=b[i] %d times\na[i]k) printf("array a is larger than array b\n"); else if (n


http://www.niftyadmin.cn/n/647663.html

相关文章

z怎么搭建linux网站,Linux znew初学者命令实例教程

您是否知道Linux提供了一种将.Z文件重新压缩为.gz文件的方法&#xff1f; 是的&#xff0c;znew命令可以让你这样做。 在本教程中&#xff0c;我们将使用一些易于理解的示例讨论此命令行实用程序的基础知识。 但在我们这样做之前&#xff0c;值得一提的是&#xff0c;这里的所有…

准确率,召回率,F值,机器学习分类问题的评价指标

下面简单列举几种常用的推荐系统评测指标&#xff1a; 1、准确率与召回率&#xff08;Precision & Recall&#xff09; 准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值&#xff0c;用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率…

c语言单元五循环递推,C语言单元复习题第06部份循环.doc

C语言单元复习题第06部份循环第6章 循环程序设计一、单选题以下关于循环的描述中&#xff0c;错误的是&#xff1a;(  )。A&#xff0e;可以用for语句实现的循环一定可以用while语句实现B&#xff0e;可以用while语句实现的循环一定可以用for语句实现C&#xff0e;可以用do..…

Linux创建boss账户,linux用户和用户组

一.用户和用户组1. /etc/group 储存当前系统中所有用户组信息Group:x:123:abc,def,xyz组名称&#xff1a;组密码占位符&#xff1a;组编号&#xff1a;组中用户名列表用户组编号1至499是系统预留编号,是用来分配给软件的.安装一个软件就会创建该软件的一个用户组并分配一个用户…

linux文件查找工具 -- find

简述&#xff1a;linux中find命令是一种强大的实时查找工具&#xff0c;它通过用户给出的路径&#xff0c;在该路径下的文件系统中进行文件查找。因此在遍历一个较大的文件系统时会比较花费时间&#xff0c;而且find命令占用资源也是比较大的&#xff0c;所以它的工作特点是&am…

android 照片 权限管理,Android6.0拍照,读取照片信息所用到的权限

在拍照,读取相册信息时应该加入权限判断,否则在没有相应权限时会直接出错的. 相关代码如下://判断是否有读写手机存储的权限if (ContextCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)! PackageManager.PERMISSION_GRANTED) {//权限还没有授予&…

Java中函数的递归调用

说到递归&#xff0c;java中的递归和C语言中也是很相似的&#xff0c;在Java中&#xff0c;递归其实就是利用了栈的先进后出的机制来描述的。 public class HelloWorld {public static void main(String[] args){// Scanner s new Scanner(System.in);// System.out.println(&…

c语言条件编译的作用,C语言中条件编译的作用

条件编译属于三种宏定义中的一种&#xff0c;条件指示符的最主要目的是防止头文件的重复包含和编译&#xff0c;例如:一个c文件包含同一个h文件多次&#xff0c;如果不加#ifndef宏定义&#xff0c;会出现变量重复定义的错误条件编译常用的有四个预处理命令&#xff1a;#if、#el…