C 语言
1.基础
1.基础数据类型,运算符,表达式
2.常用输入输出函数
3.流程控制
2.重点
1.数组
2.函数
3.指针
3.难点
1.结构体
2.链表
3.内存管理
基础知识
1.进制转换:2(B) 8(O) 10(D) 16(H)
进制数对应的值=[对应位*对应位权值【进制数的当前位数*几进制的(位数-1次方))】之和 从右往左数
通常0开头一组数表示8进制,0X开头表示16进制
eg:077=63 0X29=41
八进制对应二进制三位,十六进制对应二进制四位
十进制快速转换二进制 128 64 32 16 8 4 2 1 凑
2.程序在C语言中运行方式
CPU由运算器和控制器构成
程序在外存中,造价便宜空间大,关机后可保存
程序运行时占用内存
计算机内部存储采用二进制,本质式高低电平。
3.负数在计算机中存储采用补码运算,正数存储它本身。
负数补码运算:原码 反码 反码加一得到补码 分配内存
4.gcc编译流程:gcc filename.c
- 预处理
处理和#相关的代码
头文件 宏定义替换 条件编码
eg:#include<stdio.h>
#define M 100
#if #elif #else …
- 编译
将C语言程序编译成汇编代码
gcc -S filename.c -o filename.s
- 汇编
将汇编代码编译成二进制代码
gcc -c filename.c -o filename.o
- 链接
将多个二进制代码链接成为一个可执行程序
gcc filename.c -o filename
1.基本数据类型,运算符,表达式
- 基本数据类型; (一个字节八位二进制数)
a.整形数据又分为无符号和有符号数
short(默认为有符号signed short)
short(短整型占两个字节)
int(整形四个字节)
long(长整型八个字节)
b.浮点型数据float(单精度浮点数精确到小数点后6-8位) double(双精度精确到12-14位)【和整数存储方式完全不同】没有无符号有符号的概念存储时分为三部分
0 | 1000 0010 | 00011 0000 0000 0000 0000 00 |
符号位 | 八位指数位 | 尾数位32位 |
float:一个符号位,八个指数位, 二十三位尾数位
double 一位符号位,十一位指数位,五十二位尾数位
double 一位符号位,十一位指数位,几位尾数位
float (四个字节)
double(八个字节)
c.字符型char,void 存储形式为a-z A-Z #&¥?等符号
char(一个字节) 存储字符对应的ASCII码对应数值的二进制
void(一个字节)
d.逻辑型(泊尔类型)bool
占内存空间一个字节,至于表示只有真和假(1 0)两个值。
注意:在C语言中所有的非0值为逻辑真值,0为逻辑假值
e.缺省类型(void)
搭配函数与指针使用
2.构造数据类型
结构体
共用体
枚举类型
- 操作数据对象:变量和常量
常量:程序运行过程中值不变的量,
变量:程序运行的过程中可以发生改变的量
表达式:由一个或者多个运算符连接的
a.整形常量:默认为int类型
100 int
100l long类型
100u unsigned int
100ul unsigned long
b.整形变量
使用前先对变量进行定义
变量名可以由数字,字母,下划线构成,不能用数字开头
变量名不能与c语言关键字重名
变量名最好是见名知意
变量具有存储空间与值域范围
c.浮点型常量:默认为double类型
3.1415
3.1415f
d.浮点型变量
e.字符型常量
f.字符型变量