1.C语言数据类型
1.1 C语言有32个关键字
(1) 数据类型关键字(12个):char、double、enum、float、int、long、short、signed、struct、union、unsigned、void; (2) 控制语句关键字(12个):break、case、continue、default、do、else、for、goto、if、return、switch、while; (3) 存储类型关键字(4个):auto、extern、register、static; (4) 其它关键字(4个):const、sizeof、typedef、volatile。
1.2 9种控制语句
if-else while continue switch return for do-while break goto
1.3 4种数据类型
1.4格式化输入输出
printf语句:printf("控制字符串",输出项列表),其中格式说明部分的完整格式为:
% - 0 m.n l或h 格式字符
scanf语句:scanf("控制字符串",地址表),控制字符串的完整格式为:
% * m l或h 格式字符
此外还有getchar()和putchar()函数。
2.一些注意事项
1.数组定义时,其大小不能为变量。
2.如果在函数定义中没有明确指出函数类型,默认的函数类型为int。
3.C语言中不允许在一个函数内部再去定义一个函数。
4.C语言规定:在以下几种情况下可以不在调用函数前对被调用函数作类型说明。
- 如果被调用函数的定义出现在主调函数或被调函数的定义出现在主调函数之后,但返回值类型为整型,可以不必加以说明。
- 如果一个函数要被一个文件中的多个函数调用时,可以将该函数的声明写在所有函数之前,则在各个主调函数中不必对所调用的函数再作类型说明。
5.C语言规定:实参于形参之间只有“按值”传送一种传送方式。也就是说当简单变量作为实参时,用户不能在函数中改变对应实参的值。
3.变量的作用域和存储类别
3.1变量的作用域
(1)局部变量:函数内部定义的变量,只在本函数范围内有效。
(2)全局变量:函数外部定义的变量,其作用域是变量定义的位置开始,到本源文件结束为止。
3.2变量的存储类别
-
自动型(auto)
函数内部定义的边玲,局限于所在的函数,故也称为局部变量。函数中的形参和函数中定义的变量都属于此类。如果省略关键字auto,系统隐含认为此变量为auto。 -
外部型或全局型(extern)
外部变量的定义是在所有函数体之外,用extern或默认存储类型说明,定义时可以赋初值,而且只能赋值一次。其作用域是整个程序。如果外部变量是在一个源文件中间定义,则在其定义之前的函数中(或在另一个源文件中)使用它时,应该用extern说明。 -
静态变量(static)
静态边玲是在定义它们的函数或文件中长久存在的变量。 -
寄存器型(register)
寄存器变量时局部变量,它只使用于auto型变量和函数的形式参数。