史上最全面~~C语言知识点整理版
常量
标识符
三、变量
四、表达式
(负号)++ -- & (取变量地址)* (type )(强制类型)
算运右目
备注:
1自增自减运算++在前先加后用,++在后先用后加
2、z= (2, 3, 4)(整个是赋值表达式)这个时候z的值为4。z= 2,3, 4 (整个是逗号表达式)这个时候z的值为
2。
3、三种取整丢小数的情况:
1)int a =1.6 ;
2)(int)a;
3)1/2; 3/2;
4、eg: 00001010&00001000=00001000
00001010|00001000=00001010
10人8=00001010人00001000=00000010
转换运算符:
五、输入输出函数
使用printf和scanf函数时,要在最前面加上#include “stdio.h"调用printf时,float会自动转换成double
scar f注意:
i. 格式控制串可控制截取用户输入的前几个字符给变量,但不能控制输入几位小数给
变量,如不能写成seanf( %4.2f",&x);
ii. 第二个参数给的是地址,即要么是&+变量名或数组元素名的形式,要么就是一个数组名或指针变量名,如int *p,a; p=&a; scanf( %d”,p);
iii. 考试时注意看题目给你写好的scanf的格式
1. 若其格式控制串内各格式符用“,”隔开如seanf( %d, %c,%d”,&a,&ch,&b);那输
入时也要用逗号隔开,如此例输入时应:3,+,5
2. 若是这种格式scanf( %d %d”,&a,&b);则输入时应:3 5;
3. 若是这种格式scanf( %d%c%d”,&a,&ch,&b);则输入时应3+5,若写成3 + 5贝V a=3,ch=
‘ '(空格),b=任意值
4. 输入函数是,123和1 2 3是不一样的,用空格隔开。想要完成单个输入的时候用
空格间隔,输入的格式符里不要有\n
六、C语言的语句
语句标记lable
标示符:标号这种标示符的有效区间只在函数内goto语句格式,goto语句标记的标示符
七、C程序的基本结构
void mai n()
{
声明部分用来定义变量和声明自定义函数的原型,需以“;”结尾,如int x;
执行语句部分各种语句,如x=3; printf( %d”,x);
}
八、选择结构语句
九、循环结构
for(表达式1 ;表达式2;表达式3)循环体语句
执行过程:计算表达式1一判断表达式2一 1 :执行循环体;0语句执行结束一计算表达式3一循环判断表达式2。
while循环语句do while循环语句
i while(表达式)循环体语句一先判断后循环
执行过程:判断表达式一0 :结束语句;1:执行循环体一(循环)判断表达式。
ii do 循环体语句while(表达式);一先循环后判断
执行过程:执行循环体一判断表达式一0:结束语句;1 :执行循环体一(循环)break语句:放在循环体内实现的功能是结束其所在的那层循环的执行。
十、数组
字符串函数
内
函数定义 函数调用流程
函数名(形式参数列表)
调用函数的格式函数名(实际参数列表);
内部变量定义和声明部分 执行语句
1. 函数类型是指返回值的类型,即要与return 语句后跟的表达式的值的类型一致。 若
函数类型为void 则说明该函数无返回值,即函数体里不能出现 return 语句。
2. 形式参数列表里定义的变量要记得给它们指定类型, 而且如果同时要定义多个,应在
每个前面都分别指定类型名,而不能写成int x,y;
3. 函数体里能写的语句跟 main 函数一样,在开头可定义所需要的变量,后面跟上一堆 执行语句。
十三、 指针
指针变量定义:对于变量i ,如果用另一个变量记住它的地址,
那么记住了其他变量的
地址的变量就是指针类型的变量, 一般称为指针变量。严格的说一个指针是一个地址, 是一个常量。
指针变量的声明: 类型名*指针变量名; 指针运算符:&取地址运算符
*
:取内容运算符
Eg : int i; /*
定义整型变量i*/
int *p;
/* 定义指针变量p*/
p=&i ; /*p 指向 i*/ *p=3 ; /*
使i 的内容为3*/
通过指针变量访问它所指向的普通变量的值
先将普通变量的地址赋值给指针变量,再通过指针运算符
*得到普通变量的值。
int *p,x,y;x=3;p=&x;
贝U printf ( %d ”*p );会打印出3即x 的值
y=*p ;则y 的值变为3 *p=5 ;则x 的值变为5
指针变量加上(减去)一个位移的效果
若指针变量存入的是数组元素的地址,
则其加一减一得到的是那个数组元素下一个
或前一个元素的地址。 int a[10]; p=& a[3];
*p 得到的是a[3]的值。
十二、
函数
函数类型
{
}
Eg :
2000
I
2000
400
这里p 就是个指针。 400
P
2000
若p++ ;此时p存放的是a[4]的地址&a[4]; *p得到的就是a[4]的值。或p--;此时p存放的是a[2]的地址
&a[2] , *p得到的就是a[2]的值。
行指针
i. 主要是对于二维数组来说的,二维数组每行都有自己的地址,第0行地址用数
组名表示,第i行地址为数组名+i;而想要得到二维数组里一个元素的地址,必需先得到其所在行的地址,然
后再由那个地址得到元素的地址,比如说int
a[3][4];定义了一个二维数组,该二维数组第0行的地址为a,第1行的地址为
a+1,第2行的地址为a+2,想从行的地址得到元素的地址,需在行地址前加上指
针运算符“ * ”,即*a就是第0行首个元素的地址即a[0][0]的地址,而a[0][2]的地
址就是在a[0][0]的地址基础上加上位移量2,即*a+2,然后想得到a[0][2]这个元
素的值呢就再加上一个指针运算符“*”,即*(*a+2),类似地,想得到a[2][2]这个
元素的值呢就是*(*(a+2)+2)
ii. 定义行指针变量:类型名(*变量名)[数组长度];
如int (*p)[4],a[3][4]; p=a;此时就可把p当成a来用,用法同上所述。
判断是否合法访问数组元素:若是指针法访问,判断指针后跟的是否地址;若是下标法访问,判断下标有无越界。
函数指针:函数名即为函数的地址(指针)
i. 函数指针变量的定义:类型名(*变量名)(形参列表);如int (*p)();
ii. 赋值:指针变量=函数名;设有个函数其函数名为max,则要将该函数的地址给p 的话只要执行如下语句即可p = max;
指针数组:指针数组的数组元素都是指针变量,是用来存放变量的地址的,定义格式为
类型名*变量名[数组长度];如int * p[10];
指向指针的指针:指针变量也是一种变量,故在内存中也有对应的一个地址,而要存放
指针变量的地址,就要求助于用来存放指针变量的地址的指针变量,定义格式类型名
** 变量名;如int *p1; int **p2; int a=3; 可进行赋值p仁&a; p2=&p1;则a、*p1 和**p2 的值都是3.
十四、宏定义
十五、结构体,共用体,枚举类型
十六、Turbo C的使用
菜单激活:F10
菜单切换:左右方向键在不同菜单间切换,上下方向键在同一个菜单不同选项间切换。
载入文件:两种方法:1?找到源文件所在位置,直接将其拉到Turbo C快捷方式上;2. F3
运行程序:ctrl+F9
看程序运行结果:alt+F5
进入编辑状态:菜单Edit
保存:F2
插入状态切换:In sert键
十七、Visual C6.0的使用
安装问题:
1、打开VC++窗口,File文件-新建-选中工程-添加工程名-选择好路径-选中
win 32c on soleApplicati on
2、打开File-新建-选中文件-添加文件名-选择好路径-选中C++SoureFile-确定
3、保存文件:FILe-保存
4、编译:Built 组建-Compile 编译或ctrl+F7
无错误提醒时,Built组建-!执行或ctrl+F5
5、如果新建一个程序:File-CloseWorkpace ,重复1-4