标签:
预处理指令:在编译之前执行的指令,一般以 # 开头。
#include: 系统自带的文件用<>,自己写的文件用 "" 。
.h称为头文件,是用来声明一些常用的函数,假如想使用这些函数,就必须包含这个头文件。
main函数:整个C程序的入口点,一个C程序有且只有一个main函数,C程序main函数不写返回值类型不报错,默认返回int类型。
1 #include <stdio.h> 2 3 main() 4 {}
编写程序——>编译——>链接(目标代码 & C语言函数库)——>生成可执行机器代码——>运行程序
编译:将C的源程序翻译成计算机可以识别的二进制形式的目标文件代码,由C的编译器完成。编译成功会生成目标文件,文件名跟源程序文件名一样,扩展名为".obj"。如果一个项目中有多个C源文件,编译成功则会生成多个.obj目标文件。
链接:将所有有关联的.obj目标文件和系统提供的C库函数等组合在一起生成可执行文件的过程,称为"链接"。
1.主函数(main函数)。
2.开发人员自定义的函数
3.C语言提供的库函数。
因为C语言是从上往下编译的,所以调用函数时需要在main函数前做一个声明。函数声明可以放在 .h 文件中,函数定义放在 .c 文件中。
在定义函数时,函数名后面的 () 中定义的变量成为形参(形式参数),在调用函数时传入的值称为实参(实际参数)。
注意:能不能#include .c文件?
不能。因为.c文件是定义函数的,#include .c文件会有函数重复声明的问题,导致在链接阶段报错。
空类型:void
基本数据类型:int(整形),float(单精度浮点型),double(双精度浮点型),char(字符型)
构造类型:数组,struct(结构体),union(共用体),enum(枚举)
指针类型
存储计算过程中所用的值,必须先定义类型再使用。
定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。
在C语言中,声明一个局部变量后,没有经过初始化赋值时可以使用的。不过不建议这样做,因为系统会随意给该变量赋值,得到的是一个垃圾数据。变量在使用前还是应该先初始化再使用。
short |
短型 |
long |
长型 |
signed |
有符号型 |
unsigned |
无符号型 |
1. short和long可以提供不同长度的整形数,可以改变整形数的取值范围,short的取值范围是-32768~32767,long的取值范围是-2147483648~2147483647。
2. 数据的存储长度也会跟着变化。
3. 不同编译器环境下,取值范围和占用的长度是不一样的,ANSI \ ISO制订了以下规则:
循环语句:do while、while、for
条件语句:if、if-else、switch
goto语句
算数运算符:+、-、*、/、%
关系运算符:<、<=、>、>=、==、!=
逻辑运算符:&&、||、!
赋值运算符:=、+=、-=、*=、/=、%=
逗号运算符和逗号表达式:用逗号运算符连接起来的表达式称为逗号表达式;整个逗号表达式的值是最后一个表达式的值。
条件运算符和条件表达式(三目运算符):表达式1 ? 表达式2 : 表达式3
sizeof:用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
注意:
1 size_t size = sizeof(‘A‘);
这时size打印出来为4字节,因为‘A‘会被转成 int 型再拿去求所占字节数。应更改为:
1 char d = ‘A‘; 2 size_t size = sizeof(d);
int a[10];
1 //查看数组的地址 2 int a[5]; 3 //第一种方式: 4 printf( "%d" , &a[0] ); 5 //第二种方式: 6 printf( "%d" , a );
数组名代表整个数组的地址,就是数组的起始地址,也就是第0个元素的地址。
1 int a[2][3];
1 //查看二维数组的地址 2 int a[2][3] ; 3 //第一种方式: 4 printf( "%d" , &a[0][0] ); 5 //第二种方式: 6 //a[0] 也是个数组,所以 a[0] 就是数组名,就是代表着这个数组的地址 7 printf( "%d" , a[0] ); 8 //第三种方式: 9 printf( "%d" , a );
%.2f |
保留两位小数 |
%4d |
占用4个空格的空间 |
& |
取地址符 |
标签:
原文地址:http://www.cnblogs.com/kcvly/p/4354751.html