wordpress网站全过程,how to use wordpress,中铁建设集团有限公司西北分公司,网页设计排版布局技巧1.C语言函数的定义
C源程序是由函数组成的。最简单的程序有一个主函数main()#xff0c;但实用程序往往由多个函数组成#xff0c;由主函数调用其他函数#xff0c;其他函数也可以互相调用。函数是C源程序的基本模块#xff0c;程序的许多功能是通过对函数模块的调用来实现…1.C语言函数的定义
C源程序是由函数组成的。最简单的程序有一个主函数main()但实用程序往往由多个函数组成由主函数调用其他函数其他函数也可以互相调用。函数是C源程序的基本模块程序的许多功能是通过对函数模块的调用来实现的学会编写和调用函数可以提高编程效率。 函数的定义通常包含以下内容
返回值类型 函数名(形参表说明) /*函数首部*/
{说明语句 /*函数体*/执行语句
}
对上面的定义形式进行以下说明 (1)“返回值类型”是指函数返回值的类型。函数返回值不能是数组也不能是函数除此之外任何合法的数据类型都可以是函数的类型如intlongfloatchar等。函数类型可以省略当不指明函数类型时系统默认的是整型。 (2)函数名是用户自定义的标识符在C语言函数定义中不可省略须符合C语言对标识符的规范用于标识函数并用该标识符调用函数。另外函数名本身也有值它代表了该函数的入口地址使用指针调用函数时将用到此功能。 (3)形参又称为“形式参数”。形参表是用逗号分隔的一组变量说明包括形参的类型和形参的标识符其作用是指出每一个形参的类型和形参的名称当调用函数时接收来自主调函数的数据确定各参数的值。 (4)用{ }括起来的部分是函数的主体称为函数体。函数体是一段程序确定该函数应完成的规定的运算应执行的规定的动作集中体现了函数的功能。函数内部应有自己的说明语句和执行语句但函数内定义的变量不可以与形参同名。花括号{ }是不可以省略的。 根据函数定义的一般形式可以定义一个最简单的函数
int add()
{returrn 0;
}
这是C语言中一个合法的函数函数名为add。它的函数返回值为int没有形参表同时函数体内只有一条因为返回值为int而必须有的返回值语句。实际上函数add不执行任何操作和运算它是一个空函数在一般情况下是没有用途的但在程序开发的过程中有时是需要的常用来代替尚未开发完毕的函数。
2.C语言函数的调用 主调函数使用被调函数的功能称为函数调用。在C语言中只有在函数调用时函数体中定义的功能才会被执行。C语言中函数调用的一般形式为
函数名(类型 形参,类型 形参...);
对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其他构造类型数据及表达式各实参之间用逗号分隔。
在C语言中可以用以下几种方式调用函数。
(1)函数表达式函数作为表达式中的一项出现在表达式中以函数返回值参与表达式的运算。这种方式要求函数是有返回值的例如
zmax(x,y);
是一个赋值表达式把max的返回值赋予变量z。
(2)函数语句函数调用的一般形式加上分号即构成函数语句例如
printf(%d,a);
scanf(%d,b);
都是以函数语句的方式调用函数。
(3)函数实参函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送因此要求该函数必须是有返回值的例如
printf(%d,max(x,y));/*把max调用的返回值作为printf函数的实参*/
在主调函数中调用某函数之前应对该被调函数进行声明在主调函数中对被调函数进行声明的目的是使编译系统知道被调函数返回值的类型以便在主调函数中按此种类型对返回值进行相应的处理。其一般形式为
类型说明符 被调函数名(类型 形参,类型 形参...);
需要注意的是函数的声明和函数的定义有本质上的不同主要区别在以下两个方面
(1)函数的定义是编写一段程序应有函数的具体功能语句——函数体而函数的声明仅是向编译系统的一个说明不含具体的执行动作。 (2)在程序中函数的定义只能有一次而函数的声明可以有多次。
3.C语言变量的存储类型
在C语言中变量是对程序中数据所占内存空间的一种抽象定义定义变量时用户定义变量的名、变量的类型这些都是变量的操作属性。不仅可以通过变量名访问该变量系统还通过该标识符确定变量在内存中的位置。
在计算机中保存变量当前值的存储单元有两类一类是内存另一类是CPU的寄存器。变量的存储类型关系到变量的存储位置C语言中定义了4种存储属性即自动变量(auto)、外部变量(extern)、静态变量(static)和寄存器变量(register)它关系到变量在内存中的存放位置由此决定了变量的保留时间和变量的作用范围。
变量的保留时间又称为生存期从时间角度可将变量分为静态存储和动态存储两种情况
1静态存储是指变量存储在内存的静态存储区在编译时就分配了存储空间在整个程序的运行期间该变量占有固定的存储单元程序结束后这部分空间才释放变量的值在整个程序中始终存在。
2动态存储是指变量存储在内存的动态存储区在程序的运行过程中只有当变量所在的函数被调用时编译系统才临时为该变量分配一段内存单元函数调用结束该变量空间释放变量的值只在函数调用期存在。
变量的作用范围又称为作用域从空间角度可以将变量分为全局变量和局部变量
1局部变量是在一个函数或复合语句内定义的变量它仅在函数或复合语句内有效编译时编译系统不为局部变量分配内存单元而是在程序运行过程中当局部变量所在的函数被调用时编译系统根据需要临时分配内存调用结束空间释放。
2全局变量是在函数之外定义的变量其作用范围为从定义处开始到本文件结束编译时编译系统为其分配固定的内存单元在程序运行的自始至终都占用固定单元。
后面我们将对这四种类型变量逐一展开实例讲解。
4.C语言auto自动变量类型
自动变量 函数中的局部变量如不专门声明为static存储类别都是动态地分配存储空间的数据存储在动态存储区中。函数中的形参和在函数中定义的变量包括在复合语句中定义的变量都属此类在调用该函数时系统会给它们分配存储空间在函数调用结束时就自动释放这些存储空间这类局部变量称为自动变量。
自动变量用关键字auto进行存储类别的声明例如声明一个自动变量
int fun(int a)
{auto int b,c3;/*定义b,c为自动变量*/
}
a是函数fun()的形参b、c是自动变量并对c赋初值3。执行完fun()函数后自动释放a、b、c所占的存储单元。
5.C语言extern外部变量
外部变量即全局变量是在函数的外部定义的它的作用域为从变量定义处开始到本程序文件的末尾。
如果外部变量不在文件的开头定义其有效的作用范围只限于定义处到文件末尾。如果在定义点之前的函数想引用该外部变量则应该在引用之前用关键字extern对该变量进行“外部变量声明”表示该变量是一个已经定义的外部变量。有了此声明就可以从“声明”处起合法地使用该外部变量。
通常的用extern声明外部变量扩展程序文件中的作用域。 6.C语言static静态变量详解
有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值这时就应该指定局部变量为静态局部变量用关键字static进行声明。
通过用static类型声明后的变量其变量的内存空间位于内存的全局静态区仅会初始化一次这是一个非常重要的特性请大家通过如下的程序理解
#includestdio.h
static a5;
int fun()
{aa*2;printf(a%d\n,a);return 0;
}
int main()
{int i0;for(i0;i10;i){fun();}return 0;
}
可以观察a的值输出如下
a10
a20
a40
a80
a160
a320
a640
a1280
a2560
a5120
这个结果的原因在于每次a的值是接着上一次函数调用的值继续运算的并非每次都初始化从5开始计算这就是static的特性请大家好好理解。
7.C语言register寄存器变量
为提高效率C语言允许将局部变量的值存放在CPU的寄存器中这种变量叫做寄存器变量用关键字register声明。使用寄存器变量需要注意以下几点 (1)只有局部自动变量和形式参数可以作为寄存器变量。 (2)一个计算机系统中的寄存器数目有限不能定义任意多个寄存器变量。 (3)不能使用取地址运算符“”求寄存器变量的地址。
例如如下定义
register int a0;//将变量a存储在寄存器上
在C语言发展迭代的今天当我们尝试用regiter声明一个变量时编译器很可能会根据情况把register忽略掉需要大家知晓这一情况。
以上就是c语言函数的全部内容 有需要习题的小伙伴可以私聊我 有全部课程的一整套习题正在整理中。 文章转载自: http://www.morning.skrww.cn.gov.cn.skrww.cn http://www.morning.pkrb.cn.gov.cn.pkrb.cn http://www.morning.prsxj.cn.gov.cn.prsxj.cn http://www.morning.fwqgy.cn.gov.cn.fwqgy.cn http://www.morning.gxcit.com.gov.cn.gxcit.com http://www.morning.sthp.cn.gov.cn.sthp.cn http://www.morning.cthrb.cn.gov.cn.cthrb.cn http://www.morning.ylxgw.cn.gov.cn.ylxgw.cn http://www.morning.junyaod.com.gov.cn.junyaod.com http://www.morning.rwyw.cn.gov.cn.rwyw.cn http://www.morning.frpm.cn.gov.cn.frpm.cn http://www.morning.tqdlk.cn.gov.cn.tqdlk.cn http://www.morning.rhqn.cn.gov.cn.rhqn.cn http://www.morning.tpnxr.cn.gov.cn.tpnxr.cn http://www.morning.knwry.cn.gov.cn.knwry.cn http://www.morning.mypxm.com.gov.cn.mypxm.com http://www.morning.bxgpy.cn.gov.cn.bxgpy.cn http://www.morning.jsljr.cn.gov.cn.jsljr.cn http://www.morning.fwllb.cn.gov.cn.fwllb.cn http://www.morning.mxptg.cn.gov.cn.mxptg.cn http://www.morning.zqwp.cn.gov.cn.zqwp.cn http://www.morning.sfwcx.cn.gov.cn.sfwcx.cn http://www.morning.tzzxs.cn.gov.cn.tzzxs.cn http://www.morning.qcygd.cn.gov.cn.qcygd.cn http://www.morning.wdlyt.cn.gov.cn.wdlyt.cn http://www.morning.zcxjg.cn.gov.cn.zcxjg.cn http://www.morning.zrkp.cn.gov.cn.zrkp.cn http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn http://www.morning.tnhqr.cn.gov.cn.tnhqr.cn http://www.morning.tqwcm.cn.gov.cn.tqwcm.cn http://www.morning.elsemon.com.gov.cn.elsemon.com http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn http://www.morning.ctrkh.cn.gov.cn.ctrkh.cn http://www.morning.jhrtq.cn.gov.cn.jhrtq.cn http://www.morning.wlxfj.cn.gov.cn.wlxfj.cn http://www.morning.tymwx.cn.gov.cn.tymwx.cn http://www.morning.xxrwp.cn.gov.cn.xxrwp.cn http://www.morning.lkhgq.cn.gov.cn.lkhgq.cn http://www.morning.rnfn.cn.gov.cn.rnfn.cn http://www.morning.rnxw.cn.gov.cn.rnxw.cn http://www.morning.kjtdy.cn.gov.cn.kjtdy.cn http://www.morning.mkbc.cn.gov.cn.mkbc.cn http://www.morning.rnrwq.cn.gov.cn.rnrwq.cn http://www.morning.c7498.cn.gov.cn.c7498.cn http://www.morning.ntgrn.cn.gov.cn.ntgrn.cn http://www.morning.rgsnk.cn.gov.cn.rgsnk.cn http://www.morning.pgmbl.cn.gov.cn.pgmbl.cn http://www.morning.c7623.cn.gov.cn.c7623.cn http://www.morning.rbjth.cn.gov.cn.rbjth.cn http://www.morning.kzcz.cn.gov.cn.kzcz.cn http://www.morning.pthmn.cn.gov.cn.pthmn.cn http://www.morning.fjscr.cn.gov.cn.fjscr.cn http://www.morning.dhyzr.cn.gov.cn.dhyzr.cn http://www.morning.ykrkq.cn.gov.cn.ykrkq.cn http://www.morning.srnhk.cn.gov.cn.srnhk.cn http://www.morning.gkdhf.cn.gov.cn.gkdhf.cn http://www.morning.bojkosvit.com.gov.cn.bojkosvit.com http://www.morning.pzjrm.cn.gov.cn.pzjrm.cn http://www.morning.qzbwmf.cn.gov.cn.qzbwmf.cn http://www.morning.gxfzrb.com.gov.cn.gxfzrb.com http://www.morning.cftkz.cn.gov.cn.cftkz.cn http://www.morning.qkrqt.cn.gov.cn.qkrqt.cn http://www.morning.rglp.cn.gov.cn.rglp.cn http://www.morning.bbmx.cn.gov.cn.bbmx.cn http://www.morning.jygsq.cn.gov.cn.jygsq.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.mqxzh.cn.gov.cn.mqxzh.cn http://www.morning.ghryk.cn.gov.cn.ghryk.cn http://www.morning.jcyrs.cn.gov.cn.jcyrs.cn http://www.morning.zlnmm.cn.gov.cn.zlnmm.cn http://www.morning.jbhhj.cn.gov.cn.jbhhj.cn http://www.morning.fjfjm.cn.gov.cn.fjfjm.cn http://www.morning.bprsd.cn.gov.cn.bprsd.cn http://www.morning.ctqbc.cn.gov.cn.ctqbc.cn http://www.morning.jcrfm.cn.gov.cn.jcrfm.cn http://www.morning.pqqzd.cn.gov.cn.pqqzd.cn http://www.morning.bzlsf.cn.gov.cn.bzlsf.cn http://www.morning.zwppm.cn.gov.cn.zwppm.cn http://www.morning.inheatherskitchen.com.gov.cn.inheatherskitchen.com http://www.morning.knnc.cn.gov.cn.knnc.cn