fanzongsao 发表于 2017-7-23 14:12:24

《带你学C带你飞》学习笔记_SE12

本帖最后由 fanzongsao 于 2017-7-24 09:04 编辑

要点:
                0、要养成用 { } 的习惯!
                1、处理多分支结构时,可考虑switch语句。格式如下
                        switch(表达式)
                        {
                                case 常量表达式1: 语句或程序块
                                case 常量表达式1: 语句或程序块
                                ·····
                                default: 语句或程序块
                        }
               2、break. 当switch跳到某个位置后,会一直往下执行,break可以让代码跳出switch;
                3、判断条件时要注意‘==’。
                4、用 getchar() 来过滤scanf 输入的空格键

测试题:
                0、最“短小快”的C语言语句是;   ;
                1、程序块是指用大括号括起来的若干语句;
                2、case 后面要加整型常量或整型常量表达式,不能加范围;
                3、case 后面不可以加浮点数;
                4、case 后面表达式的值不能相同。case1+1 和case2/1 相同,所以错误;
                5、#include<stdio.h>

                        int main()
                        {
                                char ch = "FishC";
                                int i ;
       
                                printf("请输入你想访问的字符序号(0-5):");
                                scanf("%d",&i);
       
                                if(i>=0 && i<=5)
                                {
                                        printf ("第%d个字符是%c\n",i,ch);
                                }
                                else
                                {
                                        printf("你输入有误!\n");
                                }
       
                                return 0;
                        }




动动手:
                0、
                #include<stdio.h>

                int main()
                {
                        int judge = 1;
                        float a , b, result;
                        char m;
               
                        printf("请输入一个简单的四则运算式子:");
                        scanf("%f %c %f",&a,&m,&b);
       
                        switch (m)
                        {
                                case '+' : result = a + b; break;
                                case '-' :result = a - b; break;
                                case '*' : result = a * b; break;
                                case '/' : if(b != 0 )
                                                        {
                                                                result = a/b;
                                                        }
                                                        else
                                                        {
                                                                judge = 0;
                                                               printf("除数不能为0!\n");
                                                       }; break;
                                       
                                default : ;break;
                        }
               
                        if (judge)
                        {
                                printf("结果是:%.2f\n",result);
                        };
                        return 0;
               }


                1、
                #include <Servo.h>

                // 为了方便调用,我们为控制左右电机
                // 前进后退的数字引脚进行了宏定义
                #define LEFT_MOTO_GO    8
                #define LEFT_MOTO_BACK    9
                #define RIGHT_MOTO_GO    10
                #define RIGHT_MOTO_BACK    11
       
                // ...省略部分代码...

                void loop()
                {
                  char ch; // 用于接受命令
          
                  switch(ch)
                  {
                      case 'g' :
                                {
                                        digitalWrite(LEFT_MOTO_GO, HIGHT);
                                        digitalWrite(LEFT_MOTO_BACK, LOW);
                                        digitalWrite(RIGHT_MOTO_GO, HIGHT);
                                        digitalWrite(RIGHT_MOTO_BACK, LOW);
                                        break;
                                }
                                case 'b' :
                                {
                                        digitalWrite(LEFT_MOTO_GO, LOW);
                                        digitalWrite(LEFT_MOTO_BACK, HIGHT);
                                        digitalWrite(RIGHT_MOTO_GO, LOW);
                                                        digitalWrite(RIGHT_MOTO_BACK, HIGHT);
                                        break;        
                                }
                                case 'r' :
                                {
                                        digitalWrite(LEFT_MOTO_GO, HIGHT);
                                        digitalWrite(LEFT_MOTO_BACK, LOW);
                                        digitalWrite(RIGHT_MOTO_GO, LOW);
                                        digitalWrite(RIGHT_MOTO_BACK, LOW);
                                        break;
                                }
                                case 'l' :
                                {
                                        digitalWrite(LEFT_MOTO_GO, LOW);
                                        digitalWrite(LEFT_MOTO_BACK, LOW);
                                        digitalWrite(RIGHT_MOTO_GO, HIGHT);
                                        digitalWrite(RIGHT_MOTO_BACK, LOW);
                                        break;
                                }
                                default :
                                {
                                        digitalWrite(LEFT_MOTO_GO, LOW;
                                        digitalWrite(LEFT_MOTO_BACK, LOW);
                                        digitalWrite(RIGHT_MOTO_GO, LOW);
                                        digitalWrite(RIGHT_MOTO_BACK, LOW);
                                        break;
                                }
                   }
               
                  // ...省略部分代码...
                }
               
页: [1]
查看完整版本: 《带你学C带你飞》学习笔记_SE12