1.三种程序结构:顺序结构、选择结构(选择结构)、循环结构
2.读程序都要从mian()入口,是程序运行的起点,从上往下读,有且只有一个mian函数
3.采用二进制存储,数据存放位置就是他的地址
4.bit是位,是指为0或1,byte是字节,1byte=8bit
5.编译预处理不是C语言的一部分,不占运行时间,不加分号。C语言编译的程序称为源程序,又称编译单位,它以ASCII数值存放在文本文件中
#define PI 3.14159;? 错误,不能加分号
6.在函数中不可在定义函数
7.算法:可以没输入,但一定要用输出
8.break可用于循环结构和switch语句
? ?每个C语言程序写完后,都是先编译,在链接,最后运行? (.c --> .obj --> .exe)
? .c和.obj文件无法同时运行,只有.exe文件才可以运行
a.由字母、数字、下划线组成,出现其它元素就为错,第一个必须为字母或下划线
b.标识符分为关键字,预定义标识符,用户标识符
? 关键字:不可以作为用户标识符号。
? mian? define? scanf? printf? 都不是关键字。If是可以作为用户标识符,因为第一个字母大写了
? 预定义标识符:define? scanf? printf? include?
? 预定义标识符可以作用户标识符
a.C语言中八进制以0开头,十进制以0x开头
b.小数的合法写法
? C语言中小数点两边有一个是零的话,可以不用写
? 1.0可写成1.
? ?0.1可写成.1
c.实型数据的合法形式
? 2.333e-1 合法,且数据是2.333×10-1
? e前e后必有数,e后必为整数
d.整形4个字节,字符型1个字节,双精度8个字节
? ?long int x? ?表示x为长整型
? ?unsigned int x? 表示x为无符号整型
? ?表达式一定有数值
a.算术表达式:+? ?-? ? *? ? /? ? %
? /? ?两边都是整数的话,结果为整数
? ? ? 如果有一边为小数,结果为小数
%? ?符号两边要为整数
b.赋值表达式
? ?表达式数值是最左边的数值,a=b=5,该表达式为5,常量不可以赋值
? ?int x=y=10; 错? 不可以连续赋值? 该表达式先算x=y,此时y还未赋值
? ?int x,y;x=y=10;对
? ?int x=7.7;? 对? x为7
? ?float y=7;? 对? y为7.0
c.复合的赋值表达式
? ?int a=2;
? ?a*=2+3;结果为12
d.自加表达式
? ++在前先加再用,++在后先用再加
e.逗号表达式
? 优先级别最低,表达式的数值为最右边的数值
? ?z=(2,3,4)? 数值为4
? ?z=2,3,4? ? ? ?数值为2
f.
? ?空语句不可随意执行,会导致逻辑错误
? ?注释不是C语言,不占运行时间,没有分号,不可嵌套
g.强制转换
? ?(int)a? 是在类型上有括号
? ?(int)(a+b)是将a+b转型? ?(int) a+b是将a转型后再加b
h.三种取整丢小数情况
? int a=1.6;
? (int) a;
? 1/2;? ?3/2;
a.’1‘是字符占1个字节,“1"是字符串占两个字节(含结束符号\0)
b.单个字符错误表示? ‘65’? “1”
? ?字符可以进行算术运算? ‘0’-0=48
c.转义字符
? 转义字符一般分为转义字符、八进制转义字符、十六进制转义字符
? 一般转义字符:\0? ? \n? ? \'? ? \\"? ? \\
? 八进制转义字符:’\141'? 合法,前导的0不能写
? 十六进制转义字符:‘\x6d’? ?合法 ,前导的0不能写,且x是小写
d.
? ?char a=65;
? ?printf("%c",a);? ?结果为a
? ?printf("%d",a);? ?结果为65
? ?先把十进制转成二进制,二进制中采用补码运算,再把结果转为十进制
a.按位与 &
同为1才为1
b.按位或 |
同为0才为0
c.按位异或 ^
相同为为0,不同为1
d.左移 <<
二进制数整体向左移,低位补0
e.右移 >>
正数 二进制数整体向右移,高位补0
负数?二进制数整体向右移,高位补1
在没有舍去数据的时候,<<左移一位表示乘以2,>>右移一位表示除以2
??