嵌入式学习心得(Day 5)

1从终端接收一个字符,打印出该字母在字典中的下一个字母,如果输出z或者Z,则对应输出a和A,如果不为字母则打印输出“输入错误”

#include<stdio.h>
int main()
{
    char ch = 0;
    ch = getchar();
    if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'))
{
    if ('z' == ch || 'Z' == ch) {printf("%c",ch-25);}
    else {printf("%c",++ch);}
}
    else printf("输入错误");
    return 0;
}

练习从终端输入一个成绩,判断成绩等级

#include<stdio.h>
int main(void)
{
    int a = 0;
    scanf("%d",&a);
    switch(a/10)
{
    case(10):
    case(9):printf("A");break;
    case(8):printf("B");break;
    case(7):printf("C");break;
    case(6):printf("D");break;
    default:printf("Bad");

}


    return 0;
}

0 - 1000 以内能同时被2,3,5整除的数之和

#include<stdio.h>
int main()
{
     int i = 0, sum = 0;
     while(i <= 1000)
     {
         if (0 == i%2 && 0 == i%3 && 0 == i%5){
          sum = sum +i;
          printf("%d\n",i);}                         
         i++;
     }
 printf("0-1000内能同市被2,3,5整除的数的和为%d\n",sum);
 
     return 0;
 }
 

打印出0 - 1000以内所有能同时被 2 3 5 整除余 1 的所有数字(每8个数字一行)及其个数

#include<stdio.h>
int main(void)
{
    int i = 0,b = 0;
    while(i < 1001)
    {
        if((i%2 == 1)&&(i%3 == 1)&&(i%5 == 1))
        {
            printf("%5d",i);
            b++;
            if(b%8 == 0) printf("\n");
        }
    i++;
    }
    printf("\n满足条件的个数为%d\n",b);
    return 0;
}

从终端输入x的值根据公式获得y的值

                    1 + 2 + 3 + .. + x                  (0 < x <= 5)

        y =      100 - x - (x-1) - (x-2) - ... - 1   (5 < x <= 10)

                    x^2                                 (x > 10)   

   #include<stdio.h>
   int main()
   {
       int x = 0,y = 0,i = 0;
       scanf("%d",&x);
       if (x > 10) y = x*x;
       else if (x > 5 && x < 11)
       {   
           for (y=100,i=x;0 != i;i--)
          {
              y = y-i;
          }
      }
      else if ((x >0)&&(x < 6))
      {
          for (i = 1;i < x+1;i++) y+=i;
      }
      else ;
      printf("%d\n",y);
      return 0;                                      
   }

优先级高的先看成一个整体

else 总与他上面相邻的未匹配if 配合使用

优先等级:括号>单目运算>双目运算>三目运算>赋值运算>逗号

switch()里面的不能是浮点型

c语言中不能连续比较

control + c 可以结束正在运行的代码

1.if分支语句:

    练习:编写程序,从终端接收两个数 Num1和Num2,如果Num1 >= Num2则打印Num1

         否则将两者交换打印Num1

    使用场景:

        1.判断逻辑使用分支语句

        2.同一类数据完成不同操作

    1.简单分支:

    2.阶梯分支:

        if (表达式1)

        {

            语句块1;

        }

        else if (表达式2)

        {

            语句块2;

        }

        else if (表达式3)

        {

            语句块3;

        }

        else

        {

            语句块4;

        }

    3.嵌套分支:

        if (表达式1)

        {

            语句块1;

            if (表达式2)

            {

                语句块2;

                if (表达式3)

                {

                    语句块3;

                }

            }

        }

        最多嵌套3-5层

2.switch分支:

    1.基本形式:

        switch (整形表达式)

        {

            case 常量1:语句块1;break;

            case 常量2:语句块2;break;

            case 常量3:语句块3;break;

            default:

                语句块4;

        }

        注意:

            1.switch后面的表达式的值必须为整形

            2.case后面必须为常量,不能是变量或表达式

            3.switch只与case后面的值比一次,如果相同则顺序向下执行,直到break或程序结束退出

    2.switch嵌套

        里层switch结束后如果不加break,外层switch顺序向下执行

3.循环结构:

    1. while 循环

        1.基本形式

            while (表达式)

            {

                语句块1;

            }

        2.死循环

            while (1)

            {

               

            }

    2. do .. while 循环

        1.基本形式:

            do {

                语句块;

            } while (表达式);

            注意:

                1.do .. while后面要加;

                2.do while无论表达式是否成立都会先执行一次

                3.do while和while不能等价转换

    3. for循环

        1.基本形式:

            for (A; B; C)

            {

                D;

            }

            A:在循环前执行一次

            B:循环的条件

            C:每次循环结束后都执行C

            D:循环体内部代码

4. goto循环

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值