转眼间学习C语言已经一学期了,对于C语言的知识也都有了一定的了解,现在对所学知识进行一下总结
C语言数据类型既简单运算主要介绍的是各种数据类型以及简单的赋值,计算 。
需要注意的是
1:变量在使用前要初始化
2:输入的数值超出数据类型的范围
3:在定义变量时,用于变量初始化的常量类 型与定义的变量类型不一致,会导致数据的缺失。
C语言运算中,两整数相除还是整数,求余运算时操作数必须为整数。
增一减一运算符要明确前加和后加的不同,前加 是指先自身加1再参与运算,后加是先参与运算, 运算结束后再自加1。
宏常量与const常量主要在程序中多次出现,且本身比较复杂的时候定义,增加程序的可读性与简洁性。注:宏常量定义后不需要在结尾加分号,const常量需要加分号。
关于自动类型转换与强制类型转换。移动类型转换有时在大范围的数据类型转换为小范围的数据类型是会丢失数据,可以在进行计算前先进行强制类型转换,确保数据的完整性。
常用的数学函数主要有sqrt(x),fabs(x),pow(x,y),使用时要在程序开头添加头文件#include<cmath>。
选择控制结构
选择控制结构是C语言中比较重要的一部分,主要介绍了两种选择语句。
if语句。if语句可用于单分支,双分支,多分支控制的条件语句,在平时使用时多使用if语句。
格式去下:
if(条件判断)
语句;
if(条件判断)
语句;
......
else
语句;
switch语句。switch语句用于多路选择条件语句。格式如下:
switch(表达式)
{
case 1:语句
case 2:语句
......
case n:语句
}
switch语句在每一中情况的语句后要加break,否则程序将会把所有情况都执行一遍。
循环控制结构
循环控制结构主要介绍了三种循环语句,分别是,for语句,while语句,do-while语句。
for语句 格式如下:
for(i=1;i<=n;i++){
语句序列;
}
while语句 格式如下:
while(条件语句){
语句序列;
}
do-while语句 格式如下:
do
{
语句序列
}while(条件语句)
注:while语句与do-while语句的区别:
do-while先循环后判断,while是先判断后循环,所以如果条件不成立,do-while比while多循环一次。
数组
数组的下标都是从0开始。
定义数组时不能使用变量定义数组的大小。
定义二维数组时数组的第一维的长度声明可以省略,但第二维的长度声明永远不能省略。
数组的排序
三大经典排序
1 冒泡排序:相邻的两个数一一比较,将每一次循环选出最大的数放到最后面。
2 插入排序:在一个已排好序的数组中从后往前一一作比较,如果比数组的数小,就将数组的数往后移一位,直到找到正确位置。
3 选择排序:用第一个数与其他数比较,如果其他数比第一个数大就交换,不然就不换,直到找到正确位置。
sort排序
既省时又省力的排序,默认从小到大排序,格式
sort(a,a+10,comp);
可以通过自己编写排序方式来改变sort的默认排序。
数组的查找
二分查找(折半查找)
int low = 1;
int high = n;
int mid;
while(low <= high)
{
mid = (high + low) / 2;
if(a[mid] == key)break;
if(a[mid] > key)high = mid - 1;
else
low = mid + 1;
}
cout<<"位置:"<<mid<<endl;
相比于其他查找方法,二分查找是目前查找速度最快的查找,在查找前应进行排序。