A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 长厢厮守℡ 中级黑马   /  2015-12-5 14:09  /  971 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一.分支结构
1.if语句
   if(条件表达式){
      语句;
      ……
    }
代码演示
#include <stdio.h>
int main(int argc, const char *argv[]){
   int age = 10;// 定义一个变量记录年龄
   // 使用if语句进行选择
   if(age>=18){
    printf("已成年\n");
    }
   printf("未成年\n");

  return 0
}
2.if语句的多种形式
(1)如果条件表达式成立,就执行大括号中的语句
 if(条件表达式){
      语句;
      ……
    }
(2)如果条件表达式成立,就执行大括号中的语句,否则就执行else后面大括号中的语句
   自己的理解:(这里至少有一条语句会被执行)
 if(条件表达式){
      语句;
      ……
    } else {
      语句;
       ……
    }
(3)if(条件表达式1){
           语句;
          ……
         } else if(条件表达式2) {
           语句;
          ……
         } else if (条件表达式3){
           语句;
           ……
         } else {
           语句;
           ……
         }
          自己的理解:如果执行到条件表达式3就说明它前面的条件表达式都不成立
                               这么多代码块最多只会执行一个
代码演示
#include <stdio.h>
int main(int argc, const char *argv[]){
    //根据用户输入1~12的值,输出对应的季节
    // 提示用户输入
       printf("请输入1-12,用来代表月份") ;
    // 定义变量,接收用户的输入
       int month ;
       scanf("%d",&month);
    // 使用if语句判断季节
       if(month>=3&&month<=5){
           printf("春季:万物复苏\n");
         } else if(month>=6&&month<=8) {
            printf("夏季:烈日骄阳\n");
         } else if (month>=9&&month<=11){
            printf("秋季:秋高气爽\n");
         } else if(month==12||month==1||month==2){
            printf("冬季:千里冰封\n");
         } else {
            printf("你输入错误,该补补数学了\n");
         }
      return 0;
 }
注意点:
(1)if()里的小括号里的表达式,当常量与变量进行== 与!=的时候,通常把数字放在前面: 2==a
(2)只有一个分号的语句是一个空语句,空语句也是语句,所以在if()后面不要有分号
(3)if(){}代码块中定义的变量不可以在外部代码块中访问,如果想在if语句中定义变量,就必须加上{},否则会作用域紊乱
(4)if语句必须连接在一起,不可以有无头的if

2.switch语句
如果表达式的值等于常量的值,那么就执行这个常量后面的语句
switch(表达式){
  case 常量;
  语句; 
  ……
  break;
  default;
  语句;
  ……
  break;
}
代码演示
#include <stdio.h>
int main(int argc, const char *argv[]){
    //根据用户输入1~12的值,输出对应的季节
    // 提示用户输入
       printf("请输入1-12,用来代表月份") ;
    // 定义变量,接收用户的输入
       int month ;
       scanf("%d",&month);
      switch (month){
           case 3:
           case4: 
           case5:
                  printf("春季:万物复苏\n");
                   break;
           case 6:
           case7: 
           case8:
                  printf("夏季:烈日骄阳\n");
                 break;
           case 9:
           case10: 
           case11:
                  printf("秋季:秋高气爽\n");
                 break;
            case 12:
            case1: 
            case2:
                    printf("冬季:千里冰封\n");
                 break;
             default:
                    printf("你输入错误,该补补数学了\n");
      }
       return 0;
}

注意点
case后面的常量不可以重复
break作用:结束switch语句
switch语句只有遇到break或者switch后面的大括号才会停止
当switch与某一个case匹配了,那么后面的所有case都失效了
case后面只能是一个常量或者常量表达式
switch后面小括号中只能是整形表达式
自己的理解:当某个变量只有几个固定取值的时候,使用switch会更加简洁
如果是区间,则使用if语句

7 个回复

倒序浏览
进来看看,学习学习
回复 使用道具 举报
还可以哦 不错不错的
回复 使用道具 举报
cxk 发表于 2015-12-5 21:34
还可以哦 不错不错的

我把平时的笔记做成博客可以吗?能通过不。。
回复 使用道具 举报
顶顶加油加油
回复 使用道具 举报
长厢厮守℡ 发表于 2015-12-5 22:01
我把平时的笔记做成博客可以吗?能通过不。。

可以的  不过还要有自己的理解,还要c的内容,oc的内容 你去看帖呢 ,帖子里面有规定
回复 使用道具 举报
哇塞 看着就迷糊呢!!!!
回复 使用道具 举报
刚刚进班 学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马