鹏哥C语言红皮书(29-31)笔记回顾

        1.分支语句if else

                C语言是结构化的程序设计语言!

                        顺序结构

                        选择结构

                        循环结构

        2.什么是语句?

                        C语言中由一个分号;隔开的就是一条语句

        3.什么是分支语句呢?

                        如果...所以...然后...类似中文这种形式

        4.if语句

                语法结构:

                        if(表达式)

                                语句;

                        if(表达式)

                                语句1;

                        else

                                语句2

                多分支

                        if(表达式1)

                                语句;

                        else if(表达式2)

                                语句2

                        else

                                语句3

        5.C语言是如何表示真和假的呢?

                        非0就是真 -1

                        0就是假

                例1:
           

int main(){
    int age = 60;
    if(age<18)
    printf("少年\n");
else if (18<= age && age <26)
    printf("青年\n");
else if (age >= 26 && age<40)
    printf("中年\n");
else if(age >= 40 && age<60)
    printf("壮年\n");
else if(age>=60 && age<= 100)
    printf("老年\n");
return 0
}

          例2:

        1.判断一个数是否为奇数

        2.输入1-100之间的奇数

        //C99写法

int main()
{
    int i =0;    
    for(i=1;i<=100;i++)
{
     if(i%2 ==1)
        printf("%d",i);     
}
    return 0;
}

        //c++写法

int main()
{
    for(int i=1; i<=100;i+=2)
{
    printf("%d",i)
}
return 0;
}

        6.switch语句

                case 整型常量表达式(浮点型是不行的,必须包含常量值)

                        语句;

                例1:

                        

int main()
{
    int day =0;
    scanf("%d",&day);
    switch(day)
    {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            printf("工作日\n");
        case 6:
        case 7:
            printf("休息日\n");
            break;
        default:
            printf("输入错误\n");
            break;

    }
        return 0;
}

        例2:求M,N

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("m=%d,n=%d\n",m,n);
        return 0;
}

        7.循环语句while

                break,continue的作用如下例子

                        

int main()
{
int i =1;
//在while循环中,break用于永久的终止循环
//在while循环中,continue作用是跳过本次循环,continue后面的代码,直接去判断部分,看是否进行一次循环
while(i<=10)
{
    if(i==5)
        continue;
    
printf("%d",i);
i++;
}
return 0;
}

例子:

        1.

           

     //EOF -end of file -文件结束标志
    int main()
    {

    int ch =getchar();
    //printf("%c\n",ch);
    putchar(ch); //输出一个字符
    return 0;
}

                2.

                

int main()
{
    int ch =0;
//CTRL+Z -getchar 就读取结束

while((ch=getchar())!=EOF)
{
    putchar(ch);
}
return 0;
}

               8.循环语句while2

                        例:第一种方法密码失败
     

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()

{

 //
char password[20] = {0};
printf("请输入密码:>");
scanf("%s",password);
printf("请输入密码(Y/N):>");
int ch = getchar();
if(ch=='Y')
{
    printf("确认成功\n");
}
else
{
    printf("确认失败\n");
}
return 0;
}

        例:第二种方法密码失败

int main()
{
    char password[20] = {0};
    printf("请输入密码:>");
    scanf("%s",password);
    printf("请输入密码(Y/N):>");

    //清理缓存区
    getchar(); //处理'\N'

    int ch = getchar();
    if(ch == 'Y')
    {
        printf("确认成功\n");
    }
    else
    {
        printf("确认失败\n");
    }
    return 0;
}

例子3:无问题可正常输入

        

int main()
{
    //
    char password[20] ={0};
    printf("请输入密码:>");
    scanf("%s",password); //123456
    printf("请输入密码(Y/N):>")    ;    
    
    //清理缓存区
    //getchar(); //处理'\n'
    //清理缓冲区中的多个字符
    int tmp = 0;
    while((tmp = getchar()) != '\n')
    {
        int ch = getchar();
        if(ch == 'Y')
    {
        printf("确认成功\n");
    }
    else
    {
    
        printf("确认失败\n");
    }
        return 0;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值