二级知识点归纳

二级知识点归纳
一.数据类型:
1.分清常量与变量的区别

2.记住几种常用数据类型的名称与大小

3.清楚隐式转换和显式转换

4.清楚char型与int型互相转换原理

5.清楚各种表达式的数据类型

二.算术运算与表达式

1.清楚几种常用的运算符(尤其是sizeof,不要把它当成函数)

2清楚常用符号优先级

比如() [] .运算符优先级最高,正负自增自减非和取反运算符仅次于之,之后是乘除加减,左移右移,大小于,等于不等于,之后是三个位运算符,两个逻辑运算符,三目运算符,所有带有赋值意思的运算符排第14,仅高于逗号运算符

3.记住6个位运算符以及它们的算法(清楚计算机储存数据是以反码的形式,例如~0为-1)
&按位与,|按位或,^按位异或,~取反,<<左移,>>右移

4.记住所有的逻辑运算符的运算法则,非零即真法则,懒惰运算法则。

5.清楚宏定义#define的用法

6.清楚const常量的特点

7.常用的数学标准函数库(pow,fabs,sqrt,log,log10

三.键盘输入与输出

1.清楚printf与scanf的参数与返回值

2.清楚%s不会包含空格

3.清楚scanf不会读取换行符,而gets会

4.清楚什么叫格式化输入输出

四.循环部分

1.记住for,while,do...while三种循环,清楚do...while与其他两种的区别

2.清楚continue与break与goto的用法和区别

3.清楚case和default的用法

4.for循环里不可以定义新的变量(在c语言中不行,c99标准改了,不过我们大部分情况还是认为不可以)

5.for括号里的三个部分分别有什么作用,省去可能会有什么样的后果

五.函数

1.函数的定义

2.函数调用中变量的作用域和生存周期

3.递归法的理解与使用

4.函数的类型

六.数组

1.数组下表不可越界

2.数组名与指针的关系和区别(数组名其实就是一个指针,它几乎有指针的所有性质,只是它不能被赋值)

3.数组的定义与初始化的方法

4.二维数组储存数据的方式

七.指针

1.指针的概念与含义

2.传值调用函数与传址调用的区别

3.指针数组的定义与使用(不常用)

4.函数指针的定义与使用(不常用)

5.指针函数和函数指针的区别(不要求)

指针函数是指返回值是指针的函数,即本质是一个函数。函数指针是指向函数的指针变量。

6.指针与数组的运用(重要)

7.二维数组与一维指针和指针数组的运用(记住,别把这个和一维指针弄混)

一维指针可以指向二维数组,但是之后的操作都和一维数组的操作一样,因为二维数组在内存中储存形式和就是线性结构,而只有二维数组名和指向二维数组的指针数组名才能进行这种操作

int (*p)[3],a[3][3];//在这样的定义下才可以进行下面的表达式

((p+i)+j); //与p[i][j]等价,p为指向二维数组的指针数组名

((a+i)+j);//或者这样

//苏小红版c语言程序与设计第二版中,第300有详解,千万小心,别乱用!!!

八.字符串

1.字符串常用函数strlen,strcmp,strcat,strcpy的使用

2.清楚什么是字符常量

3.字符串的输入输出puts和gets,清楚他们的参数是什么(很多人看了gets就想当然的认为输入单个字符的函数是getc,其实不是,输入单个字符的函数是getchar,getc其实是文件操作函数,和fgetc一样)

4.如何向函数传递字符串

九.结构体,公用体,枚举

1.结构体,公用体,枚举的定义方式既用法

2.结构体,公用体的内存计算方式

3.typedef的用法

4.点运算符的用法

5.结构体指针的运用,->运算符的用法

6.链表(尽量了解,不要求)

十.文件的操作

1.文件指针的含义与运用

2.文件的打开和关闭

3.常用的文件操作函数,fgetc,fputc,feof,fgets,fputs,fscanf,fprintf,fread,fwrite。

4.fseek,rewind,ftell,fflush(尽量了解,不要求)

5.3个特别的文件指针stdin,stdout,stderr(不要求)在苏小红版c语言程序与设计第二版中,第405有详解

你可能感兴趣的:(二级知识点归纳)