第一天
-
C语言是当代最优秀的程序设计语言。
Java,C++都是面向对象的。C语言是面向过程的。发展历程C到C++到Java。 -
C允许直接访问物理地址,能进行位操作。汇编语言是低级语言,C语言是中级语言,C++,Java是高级语言。
-
基本数据类型构造成为构造数据类型
构造数据类型有:数组类型,结构体类型,共用体类型。 -
符号常量
定义方式:#define 标识符 常量
(预处理命令都用#开头,成为宏定义命令)
习惯上符号常量标识符用大写字母表示,变量标识符用小写字母表示。 -
C语言中的整常数有八进制、十进制、十六进制三种。
在程序中是根据前缀来区分各种进制数的
十进制常数没有前缀。
八进制数必须以0开头。
十六进制必须以0x或者0X开头。
基本整型长度16位,超出这个范围用长整数来表示,长整数用后缀L或者l来表示。 -
内存中的二进制存储是以补码的形式表示。
正数的补码和原码相同。
负数的补码,是将该数的绝对值的二进制形式按位取反,再加一。(注意第一个位置,不用取反,因为第一位数是符号位,不是数值位。)
转化规则:char,short到int到unsigend到long到double。 -
纠正9,自动类型转换,右边的类型长度长于左边的类型,是直接舍去小数部分,而不是数学上的四舍五入。
-
右结合性:意思是从右向左执行运算;例如
a=b=c,按a=(b=c)运算
左结合性:意思是从左向右执行运算;例如a+b+c,按(a+b)+c运算
除了赋值运算符外,所有二元运算符都是左结合的 -
除法运算中,若参与运算的数都为整型,结果也为整型,舍去小数。有一个是实型,结果就是为双精度实型。
-
赋值号:
(1)整型赋予实型时,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)。
(2)字符型赋予整型,是将字符的ASCII码整出来。
第三天
-
x*=y+7等价于x=x*(y+7),+的优先级比*的高。
-
程序可以分为三种基本结构:顺序结构,分支结构,循环结构。
C语句可以分为以下五类:
(1)表达式语句(执行表达式语句就是计算表达式的值,例如赋值语句,加法运算语句,自增自减)
(2)函数调用语句
(3)控制语句
(C语言有九种控制语句,分三类:
1、条件判断语句:if、switch
2、循环执行语句:do while、while、for
3、转向语句:break、goto、continue、return。
)
(4)复合语句
(把多个语句用括号括起来组成的一个语据称复合语句,在程序中,应把复合语句看成是单条语句,而不是多条语句)
(5)空语句
(只有分号组成的语句称为空语句,在程序中控语句可用来做空循环体
例如最常见的:
while(getchar()!=’\n’)
{
;
}
) -
第四天 -
scanf
%*d的意思是,读入后不赋予相应的变量,即跳过该输入值。
将12345678用格式%4d输入,只能输入1234前四位。
%ld表示输入长整型数据。
%hd表示输入短整型数据。 -
double的scanf输入必须要用%ld长整型形式。
-
if
if
else
中else采用就近原则与第二个if配对。 -
条件运算符的结合方向是 自右向左
a>b?a:c>d?c:d
应理解为 a>b?a:(c>d?c:d) -
switch 语句应注意以下几点
1、在case 后的各变量表达式的值不能相同,否则会出现错误。
2、在case后允许有多个语句,可以不用括号括起来。
3、各case和default子句的先后顺序可以变动,而不会影响程序的执行结果。
4、default子句可以省略不用。 -
goto语句的使用格式:
goto 语句标号;
其中标号是一个有效的标识符,这个标识符,加上一个“:”,一起出现在函数内某处。执行goto语句后,程序将跳转到该标号处,并执行其后的语句。另外,标号必须与goto语句同处于一个函数中,但可以不在一个循环中。通常goto语句与if语句连用,当满足某一条件时,程序跳到标号处执行。
(但是要注意:goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在多层嵌套退出时,用goto语句则比较合理。)
-
a++2 相当于 a2;a++。
-
while与do while一般情况下所得结果都是一样的,但有一种情况不一样,就是当while中的条件原来就是假的时。
-
break语句不能用于循环语句和switch语句之外的任何其他语句中。
注意:1)break语句对if-else语句不起作用。
2)在多层循环中,一个break语句只 向外跳一层。