c语言快速复习

上传人:wm****3 文档编号:43438063 上传时间:2018-06-06 格式:DOC 页数:18 大小:22.85KB
返回 下载 相关 举报
c语言快速复习_第1页
第1页 / 共18页
c语言快速复习_第2页
第2页 / 共18页
c语言快速复习_第3页
第3页 / 共18页
c语言快速复习_第4页
第4页 / 共18页
c语言快速复习_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《c语言快速复习》由会员分享,可在线阅读,更多相关《c语言快速复习(18页珍藏版)》请在金锄头文库上搜索。

1、C C 语言快速复习语言快速复习= C 语言源文件的组成 =预处理指令:凡是以#开头的行,都属于预处理指令。include define ifndef endif 等例如:#include #define N 10定义语句:结构体类型定义、别名定义、全局变量定义等。例如:struct student int id;int score;typedef int int32;int value = 10;声明语句:函数原型声明、全局变量声明等。例如:extern int fun(void);extern int value;函数:指令的集合,C 语言执行语句的基本单元,任何表达式都要被包含在函数内部

2、。= C 语言语法组成 =关键字:C 语言内置保留的符号,用作语法控制,组成了 C 语言的语法框架。存储类:auto extern register static 数据类型:int char short long float double signed unsigned void 控制语句:if else for while do break continue switch case default goto return 其他: sizeof volatile const union struct typedef enum标识符:用户自定义的符号,用来标记变量、函数、类型等。标识符的定义规则

3、:1. 只能由英文大小写、下划线、数字组成。2. 不能与关键字重名。3. 不能以数字开头。4. 长度限制(非标准) 。运算符:C 语言内置的符号,用作计算。在使用时要非常注意优先级和结合性。算术: + - * / % 关系: = 赋值: = += -= *= /= %= = . , () 1Byte = 8bit= C 语言的数据 =变量:用来暂存数据, 其数据值可以变化更改;整数型:char空间大小: 1Byte/* 在绝大多数的编译环境下是1B */取值范围: 0 255/* 无符号 */-128 + 127/* 有符号 */short空间大小: = 2B, = int/* 32bit 环

4、境下, 一般为 4B, 同int */取值范围: 0 4G/* 无符号 */-2G +2G/* 有符号 */long long/* GCC 扩展类型,非标准 */空间大小: 双倍的 long/* 32bit 环境下,一般为 8B */取值范围: 0 1020/* 无符号 */-1019 +1019/* 有符号 */浮点型:float/* 单精度浮点型 */空间大小: 4B/* IEEE 标准下 */取值范围: +-10+-38精度: 67 位double/* 双精度浮点型 */空间大小: 8B/* IEEE 标准下 */取值范围: +-10+-308精度: 1516 位/* 至多保证 16 位

5、精度,完全保证 15 位精度 */常量:一般用作直接参与运算, 其数值在运行过程中不可变。整数型: 十进制: 1, 2, 30, 1020333/* 开头非 0, 不加前缀,基数为 0123456789*/八进制: 010, 017, 077/* 前缀为 0, 基数为01234567 */十六进制: 0x10,0x1f, 0xfe/* 前缀为 0x,基数为0123456789abcdef */二进制: 0b010/* 前缀为 0b,基数为 01 */实数型:浮点:3.14, 1234.5678指数:3.14e1, 1.23456e5, -1.45e-10 /* 科学计数法,e左边是系数(精度)

6、 ,e 右边是指数(10 为底) */字符型:字符:a, b, 0, 1ASCII 码: 97, 98, 48, 49/* C 语言中字符用ASCII 码表示, ASCII 码是范围为 0127 的整数。 */字符串: “helloworld“, “i love china“, “blue shit“= C 语言语句及表达式 =定义函数:函数是程序的基本单元,任何的表达式都要包含在函数内部。返回值 函数名(参数 1, 参数 2, .)/* 参数个数根据实际需求决定,如果不需要则写 void 或不写 */定义语句 1;定义语句 2;.表达式 1;表达式 2;.return 返回值表达式;例如:i

7、nt main(void)int i = 10;int j = 20;i += j;j = 100;return 0;定义变量:变量用来存储数据,凡是定义在函数内部的都属于局部变量;凡是定义在函数外面的都属于全局变量。存储类型 数据类型 标识符;/* 定义个一个变量 */存储类型 数据类型 标识符 = 值;/* 定义并初始化变量 */数据类型 标识符;/* 存储类型可以省略,让编译器自动判别 */例如:auto int i;/* 定义一个自动型整型变量,注意auto 不能修饰全局变量 */static int j;/* 定义一个静态型整型变量 */int value;/* 定义一个整型变量,

8、常规写法;编译器会自动根据语境判别其存储类型 */= C 语言的运算符 =除了赋值运算和自增自减运算之外,任何表达式都不会影响原操作数的值。单目运算: 操作数只有一个。双目运算: 操作数有两个。三目运算: 操作数有三个。在同一个表达式中出现两个以上的运算符则称为复合运算。在复合表达式中要分清优先级,优先级高的要先运算。例如: a = b + c * d;遇到同级优先级要看结合性。例如: a + b - c;a = b = c;单目运算(后缀+和后缀-除外) 、三目运算、赋值运算都是右结合性,要优先计算右操作数。其余的都是左结合性,要优先计算左操作数。类型转换:C 语言的类型转换分为两种, 隐式

9、转换和显式转换。其中基本类型(int/short/char/float)可以自动隐式转换;复杂类型(*/struct)需要强制转换。有符号数和无符号数间:编译器先将所有的有符号数隐式转换为无符号数,结果为无符号数。例如:int a = -10; unsigned int b = 20;if (a 0 | a += 10)/* 因为 a 0 为真,能够决定整个表达式的结果, 所以 a+=10 不执行 */if (b 5 elsemax = b;可替换为:max = a b ? a : b;逗号表达式:使用, 符号间隔子语句。表达式的结果取最右值。例如:ret = (a = 10, b = 20,

10、 c = 30);ret 的值是 30。注意上述表达式的优先级,因为逗号比赋值的优先级低,所以要用圆括号包含起来。其他符号: - . 语句 2;.如果 if 控制的只有一条语句,可以不加。if (逻辑表达式)语句;- 二分支 -if (逻辑表达式) 语句 1;语句 2;. else 语句 1;语句 2;.- 多路分支(阶梯形式) -if (逻辑表达式) 语句 1;语句 2;. else if (逻辑表达式) 语句 1;语句 2;. else 语句 1;语句 2;.- 多路分支(嵌套形式)-if (逻辑表达式) 语句 1;语句 2;. else if (逻辑表达式) 语句 1;语句 2;. el

11、se if (逻辑表达式) 语句 1;语句 2;. else 语句 1;语句 2;.- switch 多路开关语句 -switch(表达式) case 标号 1:语句 1;语句 2;.break;case 标号 2:语句 1;语句 2;.break;case 标号 3:语句 1;语句 2;.break;.case 标号 N:语句 1;语句 2;.break;default:语句 1;语句 2;.break;注意:关键字 case 后面应该是一个常量标号。也可以是一个常量表达式,但是不能出现任何变量及其表达式。- while 循环 -while (逻辑表达式) 语句 1;语句 2;.说明: 当逻

12、辑表达式结果为真,则循环执行被控制的代码段,直到结果为假。- for 循环 -for (初始化表达式; 条件表达式; 增量表达式) 语句 1;语句 2;.说明: 初始化表达式,只在循环开始前执行一次,之后不再执行。条件表达式, 在每次循环前执行一次,如果满足条件则进入被控制代码段,否则退出(同 while) 。增量表达式, 在每次循环之后(被控制代码段之后)执行一次。补充:for 后面的三个表达式都可以省略,但是;不能省略。= 模块化编程 =按照功能划分,将程序分为几个功能模块,分别处理。简单程序可参照以下方式划分:输入校验处理输出= 数组 =数组是相同类型的有限集合。存储类型 数据类型 标识

13、符数量;例如:static int array10;数组的初始化: 数组在定义的同时可以整体赋值,此时称为初始化。例如:int a5 = 1,2,3,4,5;如果未完全赋满值,则未赋值的元素将清零。例如:int a5 = 1,2,3,4;此时,a0、a1、a2、a3的值分别为 1、2、3、4, a4的值为 0。数组在定义之后不可以整体赋值或取值,需要依次用下标表示。例如:a0 = 10;a3 = 30;拥有 N 个元素的数组下标范围是 0N-1。例如:int a5;其有效的元素为 a0、a1、a2、a3、a4。a5不是有效元素,禁止使用。= 指针 =指针就是地址。只有变量才可以取地址,常量不可以。定义指针:存储类型 数据类型 * 标识符;例如:static int *p;int *p;- 指针的运算 -算术运算:指针和整数: + -/* 指针加整数往高地址偏移,指针减整数往低地址偏移。 */相同类型的指针和指针: -/* 指针减指针,结果是两者之间相差的元素个数,而不是字节数 */单目指针: + -/* 等同于 p = p +

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号