C语言基础
基本数据类型
常用的数据类型有: 整型int:整数,一般占4个字节。其中短整型(short int)占2个字节,长整型(long int)占4个字节。 分为有符号(signed int)类型和无符号(unsigned int)类型。数据的保存是以其补码的形式进行,正整数的补码 与原码一致,而负数得到反码的过程是:原码——反码——反码加“1”——补码。
单精度浮点型float:单精度浮点数,一般4个字节长。 双精度浮点型double:双精度浮点数,一般8个字节长。
字符型char:字符,占1个字节。
每一个字节都代表着8个二进制数,一般称8位。
变量与常量 局部变量:在函数内部定义说明,其作用域仅限此函数内;
全局变量:在函数外部定义说明,其作用于是函数所在的整个源文件;
常量:其值不会发生改变,只能被访问、被读,而不能被写、被赋值;
static与extern static既可以修饰局部变量,也可以修饰全局变量。对于局部变量,static可以将本应该储存在栈区的变量存放到静态数据区,使得在局部变量生命周期延长到整个程序结束,而不是函数结束;对于全局变量,static会改变其作用域,由原来的整个工程可见变为本源文件可见;对于修饰函数,其作用与修饰全局变量类似。
extern表示对变量和函数的声明,而不是直接定义。它声明的变量和函数属于外部变量或者外部函数,表示该变量或函数是在其他地方(本源文件或其他源文件)被定义的。一个变量或者函数,在同一个工程中,只能被定义一次,而可以在多个源文件中被多次声明。
const:用const修饰变量时,该变量就变成“readonly”——只读数据了。虽然不可以直接通过该变量去修改其对应内存中的数据,但是可以通过指针等方法对其中的数据进行修改。
volatile:在编译过程中,可能存在一些无用的变量或者语句被忽略,如果用volatile对其进行修饰,无论什么情况下编译器都会在访问变量时对其进到内存中读取数据,不管是否能派上用场。
运算符、表达式、操作符等
常用运算符有算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符等。应多加练习,熟悉之间的优先级,避免混淆。
值得注意的是 ++和--运算符的用法。以++为例:在式子中,++i 应该在执行运算之前先将i自增,再进行运算;i++ 在运算中可忽略,先进行基本的运算,最后将i加1。
位操作符包括:“&按位与;“||“按位或;”~”按位非等。
语句
除基本的赋值语句外,经常使用的有条件语句和循环语句。条件语句比如if语句:if (条件语句)
{
执行动作;
}
循环语句常用的有:1.While(表达式)语句;
2.do
语句
while(表达式);
3.for(表达式1;表达式2;表达式3)
{
语句;
}
4.switch(value)
{
case value1:
语句;
break;
case value2:
语句;
break;
}
各种循环语句之间可以进行嵌套使用,在选择语句时,应根据实际情况选择最简洁效率最高的方法去实现功能。