006-高级语言程序设计C 第六章,C语言高级语言程序设计(一)-第六章 高级程序设计.ppt...

C语言高级语言程序设计(一)-第六章 高级程序设计

* 同名变量:同一作用域、不同作用域 下:举例 * 不是一个好的风格 下:变量初始化 * 其它常用库函数(续) 字符类别测试和转换 #include isalpha(c)c为字母,则为非0;否则结果为0 isupper(c) islower(c) isdigit(c) isspace(c)c为空白、换行、制表符,则为非0;否则结果为0 toupper(c)将c转换成大写字母 tolower(c)将c转换成小写字母 #define isupper(c ) (c >=‘A’ && c<=‘Z’)?1:0 其它常用库函数(续) ungetc(c, fp) #include 把字符c退回到文件fp 中。 系统调用 #include system(s) 执行字符串s中的命令。如system(“date”);显示日期和时间。 存贮管理 #include void *malloc(size_t size); void *calloc(size_t nobj, size_t n); void free(void *p); 其它常用库函数(续) 串操作 #include char *strcpy(char *s1, char *s2); char *strcat(char *s1, char *s2); int strcmp(char *s, char *t); int strlen(char *s); char *strchr(char *s, char c); char *strstr(char *s1, char *s2); 转换函数 #include double atof(const char *s); int atoi(const char *s); long atol(const char *s); 预处理程序 预处理关键字: #define #undef #include #if #ifdef #ifndef #else #endif #line C源程序 #include #define #if C预处理 程序 C编绎器 执行 程序 预处理程序:include 包含文件(include) 格式: #include “文件名”一般头文件 #inlcude 系统头文件 编译程序以该文件名的内容来替换该控制行,通常在每个源文件开头出现这样的行,是为了包含公共的#define和外部变量的说明以及函数原型。 预处理程序:include(续) 使用#include可把其它文件(往往是.h文件)的内容包含进来,#include还允许嵌套使用,如: s.c #include “f.h” f.h #include “r.h” … r.h 预处理程序:include(续) 使用#include的优点 可以把所有公共的、需要给程序各个函数共享的外部变量说明、函数原型和宏定义、类型定义等都放在某一文件上(通常以.h为文件后缀)。其它文件的开头只须用一条#include “该.h”文件的语句,就可以省去重写这些说明、定义的麻烦,而且程序结构更为清晰。如: #include #include #include “local.h” 预处理程序:if 条件编译(if) C语言预处理程序提供了根据条件对程序段进行有选择地编译的能力,而这些控制行本身不参加编译。 条件编译形式如下: #if 常量表达式 #ifdef 标识符 #ifndef 标识符 预处理程序:if(续)* 如: #if 常量表达式 程序段1-- 常量表达式为真时编译 #else 程序段2-- 常量表达式为假时编译 #endif 又如: #ifdef SPE_VER …-- SPE_VER已定义时编译 #else …-- SPE_VER未定义时编译 #endif 预处理程序:if(续) 我们经常可在一些头文件中见到下面语句: #ifndef FIRST #define FIRST … #endif 可用它们来避免该头文件被重复包含。 变量作用域 变量作用域:变量的使用范围; 在同一个作用域内,不允许定义同名变量; 在不同作用域内,允许定义同名变量。如果同名变量作用域重叠,则内层变量将屏蔽外层变量; 变量作用域 外部变量 外部静态变量 局部变量或内部静态变量 程序 文件 函数 变量作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值