C语言程序设计辅导

C语言程序设计辅导

ID:40841545

大小:741.01 KB

页数:50页

时间:2019-08-08

C语言程序设计辅导_第1页
C语言程序设计辅导_第2页
C语言程序设计辅导_第3页
C语言程序设计辅导_第4页
C语言程序设计辅导_第5页
资源描述:

《C语言程序设计辅导》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计第八讲一、对C语言的深入讨论1、对函数的讨论函数的参数函数的递归调用2、标识符的作用域3、函数的存储分类4、编译预处理5、动态存储分配1命令行参数命令行:在操作系统状态下,为执行某个程序而键入的一行字符命令行一般形式:命令名参数1参数2………参数nmain(intargc,char*argv[]){………}命令行参数传递带参数的main函数形式:C:TC>copy[.exe]source.ctemp.c有3个字符串参数的命令行命令行中参数个数元素指向命令行参数中各字符串首地址形参名任意命令行实参main(形参)系统自动调用main函数时传递第一个参数:main所在的可执行文件

2、名例输出命令行参数/*test.c*/main(intargc,char*argv[]){while(argc>1){++argv;printf("%s",*argv);--argc;}}main(intargc,char*argv[]){while(argc-->0)printf("%s",*argv++);}1.编译、链接test.c,生成可执行文件test.exe2.在DOS状态下运行(test.exe所在路径下)例如:C:TC>test[.exe]helloworld!运行结果:helloworld!运行结果:testhelloworld!argv[0]argv[1]arg

3、v[2]char*argv[]worldtesthelloargvargc=3函数的递归调用3个条件:(1)问题转化(2)利用转化过程解决问题(3)必须有明确的结束条件例:fun(intx){if(x/2>0)fun(x/2);printf(“%d”,x);}Main(){fun(6);}2变量的存储属性概述变量是对程序中数据的存储空间的抽象内存…….main(){inta;a=10;printf(“%d”,a);}编译或函数调用时为其分配内存单元1020002001程序中使用变量名对内存操作变量的属性数据类型:变量所持有的数据的性质(操作属性)存储属性存储器类型:寄存器、静态存储区、动态存

4、储区生存期:变量在某一时刻存在-------静态变量与动态变量作用域:变量在某区域内有效-------局部变量与全局变量变量的存储类型auto-----自动型register-----寄存器型static------静态型extern-----外部型变量定义格式:[存储类型]数据类型变量表;2.1变量的存储属性概述变量是对程序中数据的存储空间的抽象如:intsum;autointa,b,c;registerinti;staticfloatx,y;局部变量与全局变量局部变量---内部变量定义:在函数内定义,只在本函数内有效说明:main中定义的变量只在main中有效不同函数中同名变量,占不同内

5、存单元形参属于局部变量可定义在复合语句中有效的变量局部变量可用存储类型:autoregisterstatic(默认为auto)全局变量---外部变量定义:在函数外定义,可为本文件所有函数共用有效范围:从定义变量的位置开始到本源文件结束,及有extern说明的其它源文件应尽量少使用全局变量,因为:全局变量在程序全部执行过程中占用存储单元降低了函数的通用性、可靠性,可移植性降低程序清晰性,容易出错定义说明次数:只能1次可说明多次位置:所有函数之外函数内或函数外分配内存:分配内存,可初始化不分配内存,不可初始化>>>>>>外部变量说明:extern数据类型变量表;外部变量定义与外部变量说明不同若外

6、部变量与局部变量同名,则外部变量被屏蔽外部变量可用存储类型:缺省或staticintsum;intfun1(){sum+=20;}inta;intfun2(){a=20;sum+=a;}main(){sum=0;fun1();a=8;fun2();printf(“sum=%da=%d”,sum,a);}40)在一个C源程序文件中所定义的全局变量,其作用域为()。A)所在文件的全部范围B)所在程序的全部范围C)所在函数的全部范围D)由具体定义位置和extern说明来决定范围例外部变量定义与说明intmax(intx,inty){intz;z=x>y?x:y;return(z);}main(){

7、externinta,b;printf("max=%d",max(a,b));}inta=13,b=-8;运行结果:max=13externinta,b;intmax(){intz;z=a>b?a:b;return(z);}main(){printf("max=%d",max());}inta=13,b=-8;inta=3,b=5;max(inta,intb){intc;c=a>b?a:b;return(c)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。