C语言考试的一些东西
1.float *a[5];这样的数组里面的每个数组里储存的是一个指针;
2.M++;是先打印再进行加法的操作;++m是先进行加法的运算再进行的打印的操作;
3.字符串类型如果是在一开始的时候进行赋值操作的话,比如char s[6]='china';是要把最后的‘/0’计算在里面的。但是实际上进行strlen(m);的运算的时候,最后的结果数值还是5;
4,strlen()一定要记住是对字符型的变量进行的运算。这一点对于我自己来说有的时候还是会出错;
5,浮点型的变量(也就是实型变量)的储存和整形的很不一样,所以说有的运算的偏差有点大,比如pow(a,b)函数的原型中a.b都是单浮点类型的变量,如果用的是整形的变量便会有可能出现少个一的事情。
6.关于变量的储存类型,有以下几种auto:auto称为自动变量(局部变量)//储存在了动态储存区域——栈中;
static:static称为静态变量//当static用来修饰局部变量的时候,它就改变了局部变量的存储位置,从原来的栈中存放改为静态存储区。但是局部静态变量在离开作用域之后,并没有被销毁,而是仍然驻留在内存当中,直到程序结束,只不过我们不能再对他进行访问。
静态函数不能被其他文件所用。静态函数就是在函数的声明之前用static 来声明的变量。
extern:extern称为外部申明,这个类型需要十分注意,因为extern这个申明的作用是使得一个变量在其他的文件(执行文件,头文件)也可以使用,并且申明这个变量在一开始的时候是什么类型的。但是你要是在一开始就是这样使用的话,比如:extern m;这里会报错;因为根本在此之前就没有申明过这个东西。
register:register称为寄存器变量
7.C语言的最新标准总共是有32个关键字;
auto :声明自动变量
break:跳出当前循环
case:开关语句分支
char :声明字符型变量或函数返回值类型
const :声明只读变量//关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变
continue:结束当前循环,开始下一轮循环
default:开关语句中的“其它”分支
do :循环语句的循环体
double :声明双精度浮点型变量或函数返回值类型
else :条件语句否定分支(与 if 连用)
enum :声明枚举类型
extern:声明变量或函数是在其它文件或本文件的其他位置定义
float:声明浮点型变量或函数返回值类型
for:一种循环语句
goto:无条件跳转语句//听老师说为了让程序更加的符合什么规范来着,忘了,面试的时候不让用这个goto,我也没用过,但是好像很方便啊。
if:条件语句
int: 声明整型变量或函数
long :声明长整型变量或函数返回值类型
register:声明寄存器变量
return :子程序返回语句(可以带参数,也可不带参数)//不带参数的时候可以当成是一个语句来执行。
short :声明短整型变量或函数
signed:声明有符号类型变量或函数
sizeof:计算数据类型或变量长度(即所占字节数)
static :声明静态变量
struct:声明结构体类型
switch :用于开关语句
typedef:用以给数据类型取别名
unsigned:声明无符号类型变量或函数
union:声明共用体类型
void :声明函数无返回值或无参数,声明无类型指针
volatile:说明变量在程序执行中可被隐含地改变//防止被优化,因为有的时候变量会被优化进寄存器里面,这样的话,在进行不同的函数之间的全局变量的转换的时候,有可能会因为变量的只没有改变而导致程序出现这样那样的错误。
while :循环语句
8.C语言的二维数组中的没有会的初值的元素统统被赋予了初值0;

浙公网安备 33010602011771号