一、float 型变量的有效数字:7位有效数字。也就是说高于7位的将会被丢失。
a=123456.789e5
b=a+20
这是a与b相等。
二、各类数值型间的混合计算转换,横向为必转。
double → float
^|
long
^|
unsigned(注意了:如果int与unsigned计算,结果为unsigned的)
^|
int <- char,short
三、++,--运算结合方向为自右至左
-i++等同于-(i++)
如果i=3
printf("%d",-i++);
最后输出-3,i为4
四、c函数默认返回int型变量。也就是说,不加返回类型的函数默认返回int型。
return语句可以写成return(something);
五、汉诺塔
汉诺塔的主要递归:
void hanoi(int n,char one,char two,char three)
{
if(n==1)
move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}六、register变量(寄存器变量)
寄存器变量(有些编译器自动优化,对该类型不做处理)
使用平凡的变量,直接放在寄存器中。
注:只有局部变量和形式参数可以作为寄存器变量。
函数结束时释放寄存器。在调用另一个函数时,该寄存器又可以重新被利用。
七、用static声明外部变量
使用static 声明的外部变量,只限于在本文件中使用,而不能被其他文件引用。也就是说其他文件即使使用extern也无法访问本文件的内容。
八、C中的变量类型总结
对变量的关键字有:static、auto(可省略)、register、extern。
static:静态内部变量,静态外部变量
auto:自动变量(动态局部变量)
register:寄存器变量
extern:表明是一个已被定义的外部变量。
如,可以这样:
main()
{
extern int A,B;
printf("%d",max(A,B));
}
int A=13,B=-8;也就是说,外部变量不一定是本文件外部的变量。外部变量就是全局变量。全局变量包括:静态外部变量(static,即不允许其他文件访问)和外部变量(允许其他程序访问)。
从作用域来分:
局部变量包括:
自动变量
静态局部变量
寄存器变量
形式参数
全局变量包括:
静态外部变量
外部变量
从变量存在的时间来区分:
动态存储:
自动变量
寄存器变量
形式参数
静态存储:
静态局部变量
静态外部变量
外部变量
从存放的位置来区分:
内存中静态存储:
静态局部变量
静态外部变量
外部变量
内存中动态存储:
自动变量
形式参数
CPU寄存器存储:
寄存器变量
九、内部函数与外部函数
内部函数:
只能被本文件中的其他函数调用的函数称为内部函数。
在函数前面加static。
如:static int fun(int a, int b);
内部函数又称为静态函数。
外部函数:
在函数前面加上extern关键字,默认的函数都为外部函数。
可供其他文件调用。
本文介绍了C语言中的重要概念,包括浮点数精度、数据类型转换、递增递减运算符的方向、函数默认返回类型、汉诺塔问题的递归解决方法、寄存器变量的作用及限制、static关键字声明外部变量的特性、变量类型总结、内部与外部函数的区别。
2907

被折叠的 条评论
为什么被折叠?



