【C程序设计语言】第三章-笔记

时间:2022-12-13 13:55:24

控制流

程序语言中用于控制各计算机操作执行的次序的语句

· 语句:表达式之后加上一个分号(;)

· 复合语句(程序块):花括号({ })

· if-else if-else

/* 折半查找函数binsearch:在v[0]<=v[1]<=···<=v[n-1]中查找x */
int binsearch(int x, int v[], int n)
{
    int low, high, mid;

    low = 0;
    high = n - 1;
    while(low <= high){
        mid = (low + high) / 2;
        if(x < v[mid])
            high = mid - 1;
        else if(x > v[mid])
            low = mid + 1;
        else
            return mid;
    }
    return -1;
}

· switch语句

· while循环与for循环
如果语句中需要执行简单的初始化和变量递增,用for合适
若没有初始化或重新初始化的操作,用while更合适

/* shell排序算法:先比较距离远的元素,可以快速减少大量的无序情况,从而减轻后续的工作 shellsort函数:按递增顺序对v[0]···v[n-1]进行排序 */
void shellsort(int v[], int n)
{
    int gap, i, j,temp;

    c = 0;
    for(gap = n/2; gap > 0; gap /= 2)
        for(i = gap; i < n; ++i){
            for(j=i-gap; j>=0 && v[j]>v[j+gap]; j-=gap)
                temp=v[j], v[j]=v[j+gap], v[j+gap]=temp; 
        }
}

· 逗号运算符, C语言优先级最低的运算符,在for语句中常用

· do-while循环

· break、continue

· 尽量少用的goto