C语言--分支与循环

1.提高代码效率,判断i是否位偶数

传统写法:

int i = 1;
while(i < 100)
{
    if(i%2 ==1)
        printf("%d\n",i)
    i++;
}

这段代码循环100次

优化写法:


int i = 1;
while(i <= 100)
{
    printf("%d\n",i)
    i += 2;
}

2.switch语句 分支语句 常常用于多分支的情况

switch(day)
{
    case 1:
            printf("Mon");
            break;
    case 2:
            printf("Tue");
            break;
}

switch 后面的表达式必须是整型和枚举类型,case 后面必须是整型常量表达式 const修饰的是常变量 不能使用 单独使用无法直接实现分支,配合break使用结束本次选择,具体需求根据逻辑判断。

例如:输入1-5是工作日,6-7是休息日

switch(day)
{
    case1:
    case2:
    ...
    case5:
        printf("工作日");
        break;
    case6:
    case7:
        printf("休息日");
        break;
}

default:       //处理非case语句

int main()
{
    int n = 1;
    int m = 2;
    switch(n)
    {
        case 1:
                m++;
        case 2:
                n++;
        case 3:
                switch(n)
               {
                  case 1 :
                    n++;
                   case 2:
                        m++;
                        n++;
                        break;
                }
        case 4:
                m++;
                break;
       default:
                break;
}      

3.break与continue

break:终止当前循环

continue:跳过本次循环continue后面的代码,直接去判断部分判断

4.EOF  end of file 文件结束标志 -1

5.

int main()
{
    char password[20] = {0};
    printf("请输入密码:");
    scanf("%s",password);
    // 清理\n
    getchar();
    printf("请确认密码:");
    int ch = getchar();
    if(ch = 'y')
        printf("successful");
    else
        printf("fail");

getchar:接收字符

putchar :打印字符 // c plus plus官网查找定义

scanf()从键盘上获取数据 存到数据缓冲区 比如输入abcdef回车 abcdef被password读取 留下\n被getchar读到

优化后的代码:

int main()
{
    char password[20] = {0};
    printf("请输入密码:");
    scanf("%s",password);
    // 清理\n
    int tmp = 0;
    while( tmp = getchar() != '\n');
    printf("请确认密码:");
    int ch = getchar();
    if(ch = 'y')
        printf("successful");
    else
        printf("fail");

错题本:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值