|  | 
 
| 
本帖最后由 fanzongsao 于 2017-7-24 09:04 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 要点:
 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[6] = "FishC";
 int i ;
 
 printf("请输入你想访问的字符序号(0-5):");
 scanf("%d",&i);
 
 if(i>=0 && i<=5)
 {
 printf ("第%d个字符是%c\n",i,ch[i]);
 }
 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;
 }
 }
 
 // ...省略部分代码...
 }
 
 | 
 评分
查看全部评分
 |