C语言复习

来源:互联网 发布:8051单片机内部结构图 编辑:程序博客网 时间:2024/06/15 00:18

C语言复习

变量与零值比较

布尔变量与零值比较

1.不可将布尔变量直接与TRUE,FALSE或者1,0进行比较。

下面代码都是不良风格if(flag == true)if(flag == 1)if(flag == false)if(flag ==0)

整型变量与零值比较

1.应当将整型变量用 “==”或“!=” 直接与0比较

浮点变量与零值比较

1.不可以将浮点变量用”==”或“!=”与任何数字比较

if(x == 0.0) //错误的!!正确写法:if((x>=-EPSINON)&&(x<=EPSINON))其中EPSINON是允许的(即精度)

指针变量与零值比较

1.应当将指针变量用”==”或“!=”与NULL比较。

if(p == NULL)if(p != NULL) //p与NULL显示比较,强调p是指针变量不要写成:if( p == 0)if(p != 0) //容易让人误解p是整型变量或者:if(p)if(!p)  //容易让人误解p是布尔变量

switch语句

switch(表达式)    语句

注意: 表达式的结果必须是整型值!!!
如果在switch语句的执行中遇到了break语句,执行流就会立即跳转到语句列表的末尾。

int main(){   int n = 1;int m = 2;switch (n){case 1:    m++;case 2:    n++;case 3:    switch (n)    {//switch允许嵌套使⽤    case 1:        n++;    case 2:        m++;        n++;        break;    }case 4:    m++;    break;default:    break;}printf("n = %d, m = %d\n", n, m);system("pause");return 0;

}

结果:n = 3, m = 5;

循环

while循环

1.break用于永久终止循环
2.continue用于终止当前的那次循环,
注意:这两条语句的任何一条如果出现于嵌套循环的内部,他只对最内层的循环其作用,不会影响外层循环的执行。

for循环

1.不可以在for循环体内修改循环变量,放置for循环失去控制。
2.建议for语句的循环控制变量的取值采取“半开半闭区间”写法。

A:    for(int x=0;x<N;x++)    {        ...    }
B:     for(int x=0;x<=N-1;x++)    {        .....    }

与 B相比,A的写法更加直观。
阅读下面小程序,循环执行了多少次??

for(i = 0, k= -1;k=0;i++,k++)    k++;

答案:0次。

for(i = 0, k= -1;k=1;i++,k++)    k++;

答案:无线循环
练习:编写代码,演⽰多个字符从两端移动,向中间汇聚

    void Test(){    char buf[80] = "################";    char src[] = "Hello everyone!!";    int i, j;    printf("%s\n", buf);    for (i = 0, j = strlen(src) - 1; i <= j; i++, j--)    {        buf[i] = src[i];        buf[j] = src[j];        Sleep(1000);        printf("%s\n", buf);    }}

这里写图片描述

原创粉丝点击