二级C语言培训PPT课件.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二级C语言培训PPT课件

第 九 章 对C的深入探讨 第 十 章 结构体与共用体 第十一章 文件;Merry Christmas;9.1 main函数的参数;例子: #include stdio.h int main(int argc, char *argv[ ]){ int count; printf(“命令行中有%d个参数:\n”, argc – 1); for(count =1 ; countargc; count++) printf(“%d: %s\n”, count, argv[count]); return 0; };9.2 编译预处理;例: #define E 2.71828 #define N (8*x+x*x) 一些注意的地方: #和define之间无空格 宏名习惯采用大写字母写,以与变量名区别 宏定义与变量定义不同,只做简单的替换,不分配空间 宏定义不是C语句,所以其后无封号 宏定义可以嵌套使用 #define PI 3.14159 #define R 5.5 #define CIRCLE 2.0*PI*R 宏的有效范围到源程序结束,所以一般在程序开头定义它;二、带参数宏定义 宏替换可以带有形式参数,程序中,可以使用实际参数代替这些形式参数 例子: #include stdio.h #define MAX(a, b) (ab?)a:b main( ) { int i=18, j = 16; printf(“The max number is:%d”, MAX(i ,j )); } 运行结果:The max number is : 18;;四、文件包含 文件包含命令是把指定的文件插入到该命令行位置取代该命令行,从而把指定的文件和当前源文件连成一个源文件 形式: #include 文件名 #include “文件名” 区别 直接在包含头文件的目录中去查找文件 “ ” 先在当前源文件目录中查找文件,没有找到的话再到包含头文件的目录中查找 注意:若需要包含多个头文件,可以使用多条include语句;9.3 变量与函数的存储分类;1.静态变量(static) 编译时分配存储空间,所占存储单元直到程序结束才释放,它的值在程序运行过程中一直存在,且变量的初始化只进行一次 静态变量包括: 全局变量 全局变量总是静态分配的,不能使用auto、register定义全局变量,关键字static作用于全局变量时,具有特殊含义,将限制该变量只在当前文件有效,不能被其他文件访问 局部变量 省略变量存储类型时,局部变量默认为auto类型,存储在动态存储区中,用static可以定义一种特殊的局部变量——将局部变量存储在静态存储区中;注意: 1.静态变量若没有手动初始化,都会自动进行初始化 2.静态局部变量不释放,所以函数再次调用时,不再对相同的静态局部变量进行初始化,直接使用 3.局部静态变量的作用域仅限于它所在的函数;2.自动变量(auto) 自动变量的存储空间是当程序执行到定义它的函数或语句块时才分配的,函数执行结束后自动释放,变量值也就不再存在。每次调用函数时,对于同样的变量,系统重新分配存储空间并进行初始化。 自动变量必然是局部的,所以不能用于定义全局变量。如果自动变量没有手动初始化,则它的值是未知的,注意和static类型的区别。 省略变量类型说明符时,局部变量的存储类型默认为auto,所以auto通常省略不写;3.寄存器变量(register) 也是一种局部变量,该变量不再内存存放而在CPU的寄存器中,所以运算速度很快,一般将循环变量设置为register类型,以提高程序执行速度 eg: register int i, j; for( i=0 ;i n-1; i++) for(j =0 ; j n; j++) if(a[i]a[j]) { ……} 注意:CPU中寄存器数量有限,所以register类型变量不能太多,且只能用于整形和局部变量;二、函数的存储分类 用extern说明函数 在函数返回值类型前面加extern说明函数为外部函数: extern int fun( ){ …… } extern可以省略,默认情况下都属于外部函数 外部函数可以被其它编译单位内的函数调用,如果其它编译单位需要调用该函数,必须在调用前使用extern对其所调用的函数进行声明 用static说明函数 使用static说明的函数称为静态函数,也叫做内部函数,只能被本编译单位内的函数调用。不能被其它编译单位内的函数调用。 static int fun() { …… };10.1 结构体(struct);;方法C

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档