复习c 语言7-30

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
/*
1.分支语句
if  switch
2.循环语句
while for  do...while
3.goto语句
*/
//就近原则
//无输出
//int main()
//{
//    int a = 0;
//    int b = 2;
//    if (a == 1)
//        if (b == 2)
//            printf("hehe\n");
//        else
//            printf("haha\n");
//    return 0;
//}
//int MAX(int x, int y)
//{
    //可读性不强,易看错
    //if (x > y)
    //{
    //    return x;
    //}
    //return y;
    //正确写法:
    //if (x > y)
    //{
    //    return x;
    //}
//  }
//int main()
//{
//    int x = 10;
//    int y = 20;
//    int num = 4;
//    int max = MAX(x, y);
//    printf("%d\n", max);
//    //if (num = 5)//hehe
//    if(5 == num)//这种写法更加好,不容易出现上一行代码的情况
//    {
//        printf("hehe\n");
//    }
//    return 0;
//}
//判断一个数字是否为奇数
//int main()
//{
//    int a = 34;
//    printf("请输入一个整数:");
//    scanf_s("%d", &a);
//    //判断该数字是否为奇数 a%2=1
//    if ( a % 2 == 1)
//    {
//        printf("a 是奇数\n");
//    }
//    else
//        printf("a不是奇数\n");
//    return 0;
//    }
// 
//int main()
//{
    //判断1-100之间的奇数
    /*方法一
    int i = 1;
    while (i <= 100)
    {
        printf("%d ", i);
        i += 2;
    }
    */
    //方法二
   /*int i = 1;
    while (i <= 100)
    {
        if (i % 2 == 1)
        {
            printf("%d ", i);
        }
        i++;
    }
    */

//        return 0;
    
//}
//方法三
//int main()
//{
//    //创建一个1-100的数组
//    int arr[100] = { 0 };
//    int i = 0;
//    //定义一个中间值
//    int teap = 1;
//    //填充数组
//    for (i = 0; i < 100; i++)
//    {
//        arr[i] = teap;//arr[0] = 1;
//        teap++;//teap = 2;
//    }
//    //循环整个数组
//    int j = 0;
//    int count = 0;
//    printf("1-100之间的奇数为:");
//    for (j = 0; j < 100; j++)
//    {
//        if (arr[j] % 2 == 1)
//        {
//            printf("%d ", arr[j]);
//            count++;
//        }
//    }
//    printf("count = %d\n", count);
//    return 0;
//}
/*
switch(整型表达式)
{
 case 整型/整型常量表达式:
}
*/
//int main()
//{
//    int day = 0;
//    scanf_s("%d", &day);
//    switch (day)
//    {
//    case 1://case n是错误的表达,case 1+0是可以的
//        printf("星期一\n");
//        break;//结束整个循环
//    case 2:
//        printf("星期二\n");
//        break;
//    case 3:
//        printf("星期三\n");
//        break;
//    case 4:
//        printf("星期四\n");
//        break;
//    case 5:
//        printf("星期五\n");
//        break;
//    case 6:
//        printf("星期六\n");
//        break;
//    case 7:
//        printf("星期天\n");
//        break;
//    default://处理一些非法输入,提示输入错误,可有可无,建议放在最后
//        printf("输出错误\n");
//        break;
//    }
//    return 0;
//}
//int main()
//{
//    int n = 1;
//    int m = 2;
//    switch (n)
//    {
//    case 1:
//        m++;//3
//    case 2:
//        n++;//2
//    case 3:
//        switch (n)//2
//        {
//        case 1:
//            n++;
//        case 2:
//            m++;//4
//            n++;//3
//            break;//结束循环
//        }
//        case 4:
//            m++;//5
//            break;
//        default:
//            break;
//    }
//        printf("m = %d n = %d\n", m, n);//5 3
//    return 0;
//}
/*continue在while循环中的作用:用于终止本次循环的,
 也就是循环中continue后边的代码不会再执行,
 而是直接跳转到while语句的判断部分,进行下一次循环的入口判断
*/
/* break在while循环中的作用:在循环中只要遇到break,
就停止后期的所有的循环,直接终止循环---用于永久终止循环的
*/
//输出1-10的数字
//int main()
//{
//    int i = 1;
//    //while (i <= 10)
//    //{
//    //    printf("%d ", i);//12345678910 
//    //    i++;
//    //}
//    while (i <= 10)
//    {
//        //if (i == 5)
//        //    continue;//死循环,i变量没有发生改变
//        //if (i == 5)//输出1234,到i=5时,直接跳出循环
//        //    break;
//        //printf("%d ", i);
//        //i++;
//        i++;
//        if (i == 5)//2 3 4 6 7 8 9 10 11
//            continue;
//        printf("%d ", i);
//    }
//    return 0;
//}
//int main()
//{
//    int ch = 0;
//    //EOF---end of flie 文件结束标志
//    //ctrl+z可以结束整个while循环,但是输出EOF不能结束while循环
//    while ((ch = getchar() != EOF))
//    {
//        putchar(ch);
//    }
//    return 0;
//}
//int main()
//{
//    int ret = 0;
//    int ch = 0;
//    char password[20] = { 0 };
//    printf("输出密码:>");
//    scanf("%s ", password);//输入密码时按下回车---\n,而%s只读取数字,还有其他符号未读取
//    while ((ch = getchar()) != '\n')
//    {
//        ;//空语句
//    }
//    printf("请确认(Y/N):>");//数组输入时不用取地址符
//    ret  = getchar();
//    if (ret == 'Y')
//    {
//        printf("确认成功\n");
//    }
//    else
//    {
//        printf("放弃确认\n");
//    }
//    return 0;
//}
//int main()
//{
//    int ch = 0;
//    while ((ch = getchar()) != EOF)
//    {
//        //只读取数字
//        if (ch < '0' || ch >'9')
//            continue;
//        //相同的输出结果
//        printf("%c\n", ch);
//        putchar(ch);
//    }
//    return 0;
//}
//for循环
//int main()
//{
//    int i = 0;
//    //  初始化  判断    调整
//    for (i = 1; i < 10; i++)
//    {
//        //死循环
//        if (i = 5)//不可在for循环内修改循环变量,防止for循环失去控制
//            printf("haha\n");
//        printf("hehe\n");
//    }
//    return 0;
//}
//int main()
//{
//    int i = 0;
//    //i < 10
//    for (i = 0; i <= 9; i++)//建议for循环中循环的控制变量的取值采用的是"前闭后开"写法
//    {
//        printf("%d ", i);
//    }
//    return 0;
//}
//变种一:
//int main()
//{
//    int i = 0;
//    int j = 0;
//    //输出结果为10次hehe
//    for (; i < 10; i++)
//    {
//        for (; j < 10; j++)
//        {
//            printf("hehe\n");
//        }
//    }
//    return 0;
//}
/*
for循环可以省略初始化,条件,调整,但是不可盲目省略条件,就会像下面代码一样陷入死循环
*/
//int main()
//{
//    for (; ;)//死循环
//    {
//        printf("haha\n");
//    }
//    return 0;
//}
//变种二:
//int main()
//{
//    int x = 0;
//    int y = 0;
//    //两个for循环镶嵌
//    for (x = 0, y = 0; x < 2 && y<5; ++x, y++)
//    {
//        printf("haha\n");//两个haha
//    }
//        return 0;
//}
//笔试题:循环了多少次?
//int main()
//{
//    int i = 0;
//    int k = 0;
//    //循环0次 k=0---条件判断为假,循环不进去
//    for (i = 0, k = 0; k = 0; i++, k++)
//        k++;
//}
/* do while循环的结构--特点:循环语句至少执行一次,使用场景有限,不常用
* do{
*  循环语句;
* }while(表达式);
*/
//打印1-10
//int main()
//{
//    int i = 1;
//    do {
//        printf("%d ", i);
//        i++;
//    } while (i < 11);
//    return 0;
//}
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值