C语法基础.ppt
文本预览下载声明
课程目标 本课程帮助学员对C语言编程技术的语法概念、编程技巧、程序优化等进行基础方面的学习与指导,并结合实际项目应用达到认识和掌握各种编程知识的目的。 让学员掌握C技术编程思想、方法和解决实际问题的技巧。 本课程把概念、知识点与案例相结合,进行案例教学。 一、C基本语法串讲 基本数据类型 基本数据类型 基本数据类型 基本数据类型 常量 符号常量 概念 符号常量是一种特殊形式的常量,即用一个 标识符表示一个常量。 定义形式 #define 常量名 常量值 符号常量规范:用大写形式 整型常量 实型常量(默认为double型,加上F/f表示float型) 字符型常量 字符串常量 字符常量与字符串常量区别 常量定义 #define方式 尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串 常量定义规则 需要对外公开的常量放在头文件中,不需要对外公开的常量放在定义文件的头部 为便于管理,可以把不同模块的常量集中存放在一个公共的头文件中 如果某一常量与其它常量密切相关,应在定义中包含这种关系,而不应给出一些孤立的值 例如: const float RADIUS = 100; const float DIAMETER = RADIUS * 2; 示例 C程序实例(1) 程序结果及分析 C程序实例(2) 程序结果及分析 程序结果及分析 运算符及表达式 运算符和表达式 算数运算符 关系运算符及算术表达式 关系运算符及算术表达式 逻辑运算符及逻辑表达式 逻辑运算符及逻辑表达式 条件运算符及条件表达式 赋值运算符及赋值表达式 逗号运算符及逗号表达式 逗号运算符及逗号表达式 求字节运算符 表达式和基本语句 运算符优先级 如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级 if语句 不可将布尔变量直接与TRUE、FALSE或者1、0进行比较,应该用:if (flag)或if (!flag) 应当将整型变量用“==”或“!=”直接与0比较 不可将浮点变量用“==”或“!=”与任何数字比较,应该用:if ((x=-EPSINON) (x=EPSINON)) 原理就是如果一个数比最小的正数大且比最大的负数小的话,那么这个数就是“零” const double EPSINON = 0.000001 //最小精度 double var; if(var EPSINON var - EPSINON) //var = 0 else ...... 应当将指针变量用“==”或“!=”与NULL比较 建议使用if(0 == i)的方式进行比较,常量放在==的前面 4.表达式和基本语句 循环语句的效率 在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数 如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面 for 语句的循环控制变量 不可在for 循环体内修改循环变量,防止for 循环失去控制 建议for语句的循环控制变量的取值采用“半开半闭区间”写法例如:for (int x=0; xN; x++) switch语句 每个case语句的结尾不要忘了加break 不要忘记最后那个default分支,即使程序真的不需要default处理 goto语句 主张少用、慎用goto语句,而不是禁用 格式说明符简介 d 格式符 功能 以带符号的十进制形式输出整数。 具体用法 %d: 按照整型数据的实际长度输出。 %md: 以m指定的字段宽度输出,右对齐。 %ld: 输出长整型数据。 %mld:输出指定宽度的长整型数据。 执行下面程序,注意输出格式: main( ) { int a=12,b=-3456; long int c=123456; printf(%5d\n,a); printf(%d\n,b); printf(%ld\n,c); printf(%d\n,c); } o 格式符 和 x 格式符 功能: 将内存单元中的二进制数补码直接转换成八进制数或十六进制数输出,不带符号位。 说明: 同“%d”类似,可以用“%mo”或“%mx”指定字段输出宽度。 对长整型数可以用“%lo”或“%lx”格式输出。 main() { int a=1,b=-1; printf(a:%8d,%8o,%8x\n,a,a,a); printf(”b:%8d,%8o,%8x\n,b,b,b); } u 格式符 功能:以无符号的十进制形式输出整数。 说明: 有符号数可用“%u”格式输出; 无符号数可用“%d”、“%o”
显示全部