1.头文件#include<stdio.h> 主函数int main() {主函数体}, 输出使用printf()并使用;分开。注释单行用//,注释多行使用/* */结束注释
2.标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线,而且标识符最多不超过8个字符,区分大小写
3.变量及赋值:使用变量之前必须先定义变量,定义形式: 变量类型 变量名 如int a,b,c 在变量定义中不允许连续赋值,如int a=b=c=5;是不合法的。变量赋值有两种:(1)先声明再赋值 如int age age=18(2)声明的同时赋值 如int age = 18
4. 基本的数据类型 : 数据类型: 基本类型(整型,浮点型,字符型);构造类型(枚举类型、数组类型、结构体类型、共用体类型);指针类型;空类型。int 有short int和long int, 字符类型是char 浮点型float ; 在输出语句中 %d整数型 %c 单个字符 %s 字符串 %f 浮点型 /n换行 如int a = 5; printf('a=%d', a);
5. 不可改变的常量: #define 常量名 常量值 并且在代码中不能对其进行重新分配新的值
6.自动类型的转换 char a = 'c'; int f = a; float b = a;
7.强制类型转换 float num = 9.6; printf( 'the number is %d\n', (int)num);
8. ++a :a先自增1后,再取值;--a:a先自减1后,再取值; 如 int a = 100; printf("a=%d\n", a++); 输出 100 ;printf("a=%d\n", ++a);承接上面,a先取值100, 之后输出a, 后a = a+1;即此时a值为101,而后a先自加1,后取值为102;即此刻输出为102;
9.运算符的优先级:
括号成员第一; //括号运算符[]() 成员运算符. ->
全体单目第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四; //这个"余"是指取余运算即%
移位五,关系六; //移位运算符:<< >> ,关系:>, <, >= ,<= 等
等于(与)不等排第七; //即== 和!=
位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)
"三分天下"八九十;
逻辑或跟与; //逻辑运算符:|| 和 &&
十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)
条件高于赋值, //三目运算符优先级排到13 位只比赋值运算符和","高
逗号运算级最低! //逗号运算符优先级最低
10. 三目运算符: 表达式1 ? 表达式2 : 表达式3; 先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。
11.if条件语句: if (判断语句){如果为真则执行语句1} do {循环体} while(判断条件);注意后面有分号在while 语句
do-while循环语句的语义是:它先执行循环中的执行代码块,然后再判断while中表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句
for 循环: for(表达式1;表达式2; 表达式3) {执行代码块}
第一步: 执行表达式1,对循环变量做初始化;表达式1之间可以用逗号隔开
第二步:判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;
第三步:执行表达式3;
第四步:执行for循环中执行代码块后执行第二步;
第五步:循环结束,程序继续向下执行。
12. 在输出多个变量的时候如printf("%D*%d=%D",i,j, i*j)
13. switch (表达式1){case 常量表达式1:执行代码块1, break; case 常量表达式2:执行代码块2 break; ...... }
switch后面的表达式语句只能是整型或者字符类型。在case后,允许有多个语句,可以不用{}括起来。各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
14.自定义的函数中可以有多个return语句,但是只能返回一个值;
15静态存储方式:是指在程序运行期间分配固定的存储空间的方式。静态存储区中存放了在整个程序执行过程中都存在的变量,如全局变量。
动态存储区中存放的变量是根据程序运行的需要而建立和释放的,通常包括:函数形式参数;自动变量;函数调用时的现场保护和返回地址等。
C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)