C语言学习记录
  lMkSwLP82OO5 2023年11月02日 50 0

第一次用,不知道可以插入代码块

易错点:

多使用空格,对齐,便于代码的阅读

if语句:

1、如果条件成立,要执行多条语句,应该使用代码块{}。

2、else的匹配:else是和它离的最近的if匹配的。

switch语句:

1、switch后面要是整形表达式;case后面要是整形常量表达式

2、在switch语句中,我们没办法直接实现分支,搭配break使用才能实现真正的分支:但具体是否使用break看我们自己的逻辑需求

3、default:

写在任何一个 case 标签可以出现的位置。

当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。

4、在最后一个 case 语句的后面加上一条 break语句,在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。

(之所以这么写是可以避免出现在以前的最后一个 case 语句后面忘了添加 break语句)。

while语句:

1、break在while循环中的作用:

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。

所以:while中的break是用于永久终止循环的。

2、continue在while循环中的作用就是:

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,

而是直接跳转到while语句的判断部分。进行下一次循环的入口判断




代码笔记:

#include<stdio.h>

//举例

int main()

{

    int age = 10;

    if(age<18)  //如果警报,前面多加一行代码scanf("%d",&age);

         printf("minorty\n");

    else if(18<=age<28);  // 先执行18<=age,为假得到0,进而0<23,得出10岁是青少年的错误结论

    else if(age>=18&&age<28)

         printf("youth\n");

    else if(age>=28&&age<50)

         printf("prime\n");

    else if(age>=50&&age<90)

         printf("old\n");

    else

         printf("长寿\n");//最后else也可以不写,即只用到前面的else if,不需要else这两行代码

    return 0;

}


int main()

{

    if(age<18)

            printf("minorty\n");

    else

            printf("adult\n");

    if(age<18)

            printf("minorty\n");

    return 0;

}  




if 语句要执行多个代码需要加大括号

/* int main()

{

    int age = 17;

    if (age<18)

    {

        printf("未成年\n");

        printf("不能结婚\n");

    }

    else

    return 0;

} */




/* //悬空else

int main()

{

 int a = 0;

 int b = 2;

 if(a == 1)

      if(b == 2)

          printf("hehe\n");

      else        //else与离他最近的未匹配的if匹配,就近原则

          printf("haha\n");

 return 0;

}  //没有结果




/* int main()

{

    int num = 4;

    if(5 == num);//常量放在左边,是一种更好的代码形势,此时若代码打成赋值不会运行

    {

          printf("hehe\n");

    }

          if(num = 5)\\赋值

       {

          printf("hehe\n");

        }

    return 0;//输出hehe,因为一个等号是赋值

}

 */




//练习

//判断一个数是否为奇数

//输出1-100之间的奇数

第一种:

/* int main()

{

    int i = 0;

    printf("Odd numbers between 1 and 100 are:\n",i);

    while (i<=100)

    {

        if(i % 2 !=0)

        {

            printf("%d\n",i);

        }

        i++;

    }

    if(i>100)

    {

        printf("over:\n");

    }

    return 0;


} */


第二种

/* int main ()

 {

    int i;


    printf("Odd numbers between 1 and 100 are:\n");


    for (i = 1; i <= 100; i++) {

        if (i % 2 != 0) {

            printf("%d ", i);

        }

    }


    return 0;

}  */





//////////Switch 语句

//原因,if语句分支过多太繁琐

// int main()

// {

//     int day = 0;

//     scanf("%d",&day);

//     if(1 == day)

//         printf("mondy\n");

//     if(2 ==day)

//         printf("tuesday\n");

//     if(3 ==day)

//         printf("wensday\n");

//     //……

//     return 0;

// }

//Switch也是一种分支语句 , 常 用于多分支情况

//switch(整形表达式)

//    case 整形常量表达式,----case 1 / case 1+0;   err----case 1.0(不是整形)   case n(变量也不行)

/* int main()

{

    int day = 0;

    scanf("%d",&day);

    switch(day)

    {

        case 1:

            printf("mondy\n");

            break;////         break,跳出Switch语句,若没有break,后面的所有case都会执行

        case 2:

            printf("tuesday\n");

            break;

        case 3:

            printf("wensday\n");

            break;

        case 4:

            printf("thusday\n");

            break;

        case 5:

            printf("friday\n");

            break;

        case 6:

            printf("saturday\n");

            break;

        case 7:

            printf("sunday\n");

            break;

    }

    return 0;

} */


//switch 语句例子

/* int main()

{

    int day = 0;

    int n = 1;

    scanf("%d",&day);

    switch(day)

    {

        case 1:

            if(1 == n)

            printf("sad\n"); //switch语句中可以出现if语句        

        case 2:

        case 3:

        case 4:

        case 5:

            printf("work\n");

            break;

        case 6:

        case 7:

            printf("rest\n");

            break;        //break不一定要有,看我们需要的逻辑,如例

            //即使最后一个case,也加上一个break,算是一个好习惯

        default:

//给个提示,提示输入的超出识别范围,不一定放在末尾,放在前面也不影响结果(要在switch语句里)

            printf("input err\n");

            break;

    }

    return 0;

} */




//while语句语法结构

//while(表达式)

//   循环语句


/* int main()

{

    if(1)

      printf("hehe\n");

    return 0;

} */


/* int main()

{

    int i = 1;

    while(i<=10)

    {

        if(i==5)

            // break;  //break跳出循环,结束整个循环

            continue;  // continue终止本次循环,跳到循环开头的入口判断

        printf("%d ", i);

        i = i++;

    }

    return 0;

} */



/* int main()

{

    int ch = getchar();//getchar() 字符输入函数----接受键盘输入的字符

    putchar(ch); //字符输出函数,输出字符, 功能与代码printf("%c\n",ch);相同

    printf("%c\n",ch);

    return 0;

} */


int main()

{

    int ch = 0;

    while ((ch = getchar()) != EOF)

    {

        putchar(ch);

    }

 //getchar() 字符输入函数----接受键盘输入的字符

    //如果输入EOF,它是一个一个字符输入并打印的,依然会满足  !=EOF,从而输出EOF

    ////ctrl + z 就会结束,不会进入循环;代表EOF---end of file---> -1 (ASCII)

    return 0;

}

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

lMkSwLP82OO5
作者其他文章 更多