C 语言分支结构

#import <Foundation/Foundation.h>

//宏定义
//宏定义 一般使用于大型项目开发当中,或者在工作中经常使用的一些数据或者是接口(网址)我们使用宏定义的时候可以这样理解:理解为为我们的接口或者数据重新起一个名字用于代表这些数据或者接口.
//
//#define Num 123456

int main(int argc, const char * argv[]) {

//    int num1 = Num;
//    printf("%d\n",num1);
//    int num2 = Num;
//    printf("%d\n",num2);
//
    //...
    /**
     *BOOL类型表示是一种表示非真即假的数据类型(YES代表的是真(1),NO代表的是假(0)),他和我们c语言中所说的非0即真可以对应去记忆(它在内存中占一个字节,存储的数据是(YES和NO));

     //首先定义一个BOOL类型的变量,关系运算符,关系运算符:>,>=,<,<=,!=,==,用于比较两个常量(数值)的大小,比较的结果用于BOOL来接收,BOOL值返回的只有两种(YES->>1,NO->>0);使用%d进行占位.

//     */
//    BOOL isTure = 5>4;
//    printf("%d\n",isTure);

//    BOOL isTure1 = 6>=6;
//    printf("%d\n",isTure1);
//
//
//    int a = 10;
//    int b = 10;
//    BOOL isTure2 = a!=b;
//    printf("%d\n",isTure2);
//    

    /**
     *逻辑运算符:

     &&逻辑与:表达的是我们表达式两边同时为真的时候,
     我们整个表达式的结果才会为真,(关键字:并且,且,同时)

     口诀:同真则真---->短路现象:一假即假
     短路:如果第一个表达结果为假,那么他就不再进行后边的判断,所以整个表达式结果 (返回值)为假(0).

     || 逻辑或:表示我们表达式两边同时为假的时候我们整个表达式的结果为假(0),关键字(或者);

     口诀;同假即假--->短路现象:一真即真
     短路;如果第一个表达式结果为真,那么它就不再进行后边的判断,所以整个表达式结果为真(1)

     !逻辑非:颠倒是非,表示取反

     */
    /*
    //这是逻辑与的短路现象
    int a = 10;
    int b = 9;
    //            0  && 1
    int result = a<b && a>b;
    printf("%d\n",result);
    //逻辑或的短路现象
     //             1  ||  0
    int  result1 = a>b || a<b;
    printf("%d\n",result1);
    */

//
//    int a = 0;
//    int result = !(!(!a));
//    printf("%d\n",result);

//    int a = 7;
//    int b = 0;
//    int result = 0;
//    result = a && b;
//    printf("%d\n",result);
//
//
//    int a = 9;
//    int b = 7;
//    int c = 10;
//    //           1   || 0
//    int result = a<c ||b >c;
//    printf("%d\n",result);
//

#pragma mark---sizeof--
    //sizeof:计算内存中所占的字节数

    //    sizeof(12.3f);
    //    sizeof(4);
    //    sizeof(‘h‘);

//    int result = sizeof(4);
//    printf("%d\n",result);
//    int result1 = sizeof(12.3f);//如果没有后缀f我们系统默认是double类型
//    printf("%d\n",result1);
//    int result2 = sizeof(‘h‘);//打印出占4个字节,是因为转换其对应的ascii码值
//    printf("%d\n",result2);
//
//
//
//    //只有常量和变量的情况下我们才可以省略sizeof的()
//    int a;
//    int result3 = sizeof a;
//    printf("%d\n",result3);
//
//
//
    /*
     程序的三种结构:
     顺序(就是按顺序从上到下,从左到右依次执行)
     分支:(通过一个判断,在两个可选的语句序列之间,选择一个执行)
     循环:(在满足某个条件的情况下,重复反复的执行)

     分支:
     if(条件表达式){语句; }
     if(条件表达式){语句; } else{ 语句; };
     if(条件表达式){语句; } else if(条件表达式){语句;}else if(...){...}.... else {语句;};

     **/
//    if (1) {
//        printf("打豆豆~~");
//    }

//    练习:提示用户输入一个分数,如果分数大于250,就输出,我就是我,颜色不一样的烟火,否则就输出你连250都不如
//    //首先定义一个变量去接收我们的分数
//    int a;
//    //使用printf提示用户输入分数
//    printf("用户输入分数");
//    //使用scanf阻塞函数
//    scanf("%d",&a);
//    //if
//    if(a>250){
//        printf("我就是我,颜色不一样的烟火");
//    }
//    else
//    {
//        printf("你连250都不如");
//    }
//
//    

//    //提示用户输入一个分数,如果分数等于250,就输出,我就是250,嘿嘿嘿,如果分数大于250,就输出,我就是我,颜色不一样的烟火,如果分数小于250,就输出你连二傻子都不如.
//     int a;
//     printf("用户输入分数");
//     scanf("%d",&a);
//    if(a==250){
//        printf("我就是250,嘿嘿嘿");
//    }
//    else if(a>250){
//        printf("我就是我,颜色不一样的烟火");
//    }
//    else if(a<250){
//        printf("你连二傻子都不如");
//    }
//
    //提示输入一个成绩如果 等于100分就输出 宝贝真棒!!么么哒,
    //如果不等于100 就输出 看法宝!!!啪啪啪
//    int a;
//    printf("输入一个成绩");
//    scanf("%d",&a);
//    if (a==100) {
//        printf("宝贝真棒!!么么哒");
//    }
//    else if(a!=100){
//        printf("看法宝!!!啪啪啪");
//    }
    //输入一个钱数,如果小于100,就输出连100块都不给我,如果大于100就输出,肥皂已备好!!
//    int a;
//    printf("输入一个钱数");
//    scanf("%d",&a);
//    if(a<100){
//        printf("连100块都不给我");
//    }
//    else if(a>100){
//        printf("肥皂已备好!!");
//    }

    //如果在if后边()加了  ;        代表的是我们if语句结束,和我们下边的{ }花括号内的内容没有任何关系,不管条件表达式成立与否它都会执行
//    if (1){
//        printf("Hello!!\n");
//    }
////
//    char a;
//    printf("请输入一个字符");
//    scanf("%c",&a);
//    if(a==‘m‘){
//        printf("男性");
//    }

    /*输?入?一个年份,判断该年份是否是
    闰年
    ?如果是闰年,则输出该
    年是闰年,否则输出该年不是闰年。
    满?足闰年的条件
    1. 能被400整除。(如2000年是闰年,1900年不是闰年)
    2.能被4整除,但是不能被100整除。(如2004年就是闰年,
                        2010年不是闰年)
     */

//   //提示用户输入年份
//    printf("输?一个年份");
//    //定义一个变量year
//    int year = 0;
//    //输入年份
//    scanf("%d",&year);
//
//    if((year%400==0)||(year%4==0&&year%100!=0)){
//        printf("该年分是闰年");
//    }else{
//        printf("该年分不是闰年");
//    }
//    

    //请输入两个数字,如果a>b那么就输出a,如果a<b那么就输出b
//    printf("请输入两个数字");
//    //定义两个变量
//    int a,b;
//    //输入scanf函数
//    scanf("%d,%d",&a,&b);
//    //进行比较
//    if(a>b){
//        printf("%d",a);
//    }else if(a<b){
//        printf("%d",b);
//    }
//
//

#pragma mark--条件运算符--
    /*
     //格式 ?  :
     条件表达式 ?  表达式1 : 表达式2
     如果条件表达式为真 ,那么我们返回的值表达式1的值
     如果条件表达式为假 那么我们返回的是表达式2的值

     */
    /*
    int a = 8;
    int b = 6;

    //      8<6?8:6
    int c = a<b?a:b;
    printf("c = %d\n",c);

    */
    //求三个数的最大值
//    int a = 0,b = 0,c = 0;
//    int d = 0;
//    printf("请输入三个数\n");
//    scanf("%d,%d,%d",&a,&b,&c);
//    //先求出a,b的最大值
//    d = a>b?a:b;
//    //在让我们两个求出的最大值和第三个数进行比较
//    d = d>c?d:c;
//    printf("d = %d\n",d);

//
//    int a = 8;
//    int b = 7;
//    int c = 6;
//    int d = ((a>b?a:b)>c?(a>b?a:b):c);
//    printf("%d",d);

    //如果容控制台输入一个成绩,如果成绩在80-100之间,是输出优秀,如果在60-80,输出的中等,否则输出不及格.
//
//    printf("输入一个成绩");
//    int a;
//    scanf("%d",&a);
//    if(a>=80&&a<=100){
//        printf("优秀");
//    }else if(a>=60&&a<80){
//        printf("中等");
//    }else if(a<60){
//        printf("不及格");
//    }
//
//    从键盘输?入?一个字符,
//    如果是数字   打印 this is digital,
//    如果是大写字母  打印 this is capital letter,
//    如果是 小写字母 打印 this is letter,
//    如果是其他字符 打印 other。
    /*  printf("请输入一个字符");
    char a;
    scanf("%c",&a);
    if(a>=48&&a<=57){
    printf("this is digital\n");
    }else if(a>=65&&a<=90){
        printf("this is capital letter");
    }else if(a>=97&&a<122){
        printf("this is letter");
    }else{
        printf("other");
    }
    */
    /*
     switch
     格式
     Switch /(整型表达式)
     {
     case 值1:
     语句1;
     printf("...");
     break;
     }
     case 值2:
     {
     语句2;printf(".....");
     break;

     }
     ....
     default:
     {
     语句n;
     break;
     }
     }
     break 用在switch...case中 用于解说某个case分支,然后执行switch之外的语句.

     从控制台输?入1~4,对应打出春夏秋冬的英?文词

     */

     //首先定义个 整型变量
//    int a = 0;
//    printf("请选择季节:1(春季)2(夏季)3(秋季)4(冬季)\n");
//    scanf("%d",&a);
//    switch(a){
//        case 1:{
//            printf("Spring\n");break;
//        }
//        case 2:{
//            printf("summer\n");break;
//        }
//        case 3:{
//            printf("autumn\n");break;
//        }
//        case 4:{
//            printf("winter\n");break;
//        }
//        default:{
//            printf("这是什么鬼节日!!\n");break;
//        }
//
//
//    }
    //Switch:用于我们知道范围的一个判断语句,而且用于判断较少的时候

    //如果判定较多时我们使用if;(不知道范围使用)--且只知道具体范围

//
//    int a = 0;
//    printf("请选择月份,查看天数\n");
//    scanf("%d",&a);
//    switch(a){
//        case 1:
//        case 3:
//        case 5:
//        case 7:
//        case 8:
//        case 10:
//        case 12:{
//            printf("31天\n");
//            break;
//        }
//        case 4:
//        case 6:
//        case 9:
//        case 11:{
//            printf("30天\n");
//            break;
//        }
//        case 2:{
//            printf("28天\n");
//            break;
//        }
//
//    }
    /*枚举是?一种数据类型,是将?人能够识别的标识符和
    计算机能识别数字结合起来。
    作?用:
    罗列出所有的可能性,每?一种可能都是?一个枚举值,每?一个枚举值都对应?一个整数值
     */
   /* //格式:
    Enum:enum 枚举名 {枚举值表};
    目的是提高我们程序的可读性,
    作用:将人能够是别的标示符和计算机能识别数字结合起来

    */

    //定义一个枚举
    //枚举 默认从零开始
    enum JiJie
    {
        Spring,
        summer,
        full,//full = 1这样写是错误的,因为会和我们上边的summer产生冲突(spring)默认为零 summer为1,所以冲突
        winter

    };
    //输入对应的数字,打印出对应的季节
    printf("请输入数字:\n");
    enum JiJie jijie = 0;
    scanf("%d",&jijie);
    switch (jijie){
        case Spring:{
            printf("春天穿裤衩!!");break;
        }
        case summer:{
            printf("夏天穿棉袄!!");break;
        }
        case full :{
            printf("秋天穿秋裤!!");break;
        }
        case winter :{
            printf("冬天吃冰棍!!");break;
        }
        default:
        {
            printf("这叫什么事儿!!");break;

        }

    }

    return 0;
}
时间: 2024-10-13 14:44:10

C 语言分支结构的相关文章

c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数据类型, 还有BOO数据类型, 以及一些其它的数据类型, 如自定义的结构体数据类型 BOOL数据类型是一种表示非真即假的数据类型, 布尔类型的变量只有YES和NO两个值. YES表示表达式结构为真, 反之, NO表示表达式结果为假(在c语言中, 认为非0即为真), BOOL类型主要用与分支结构或循环

C语言中的分支结构

<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的c语言笔记,期待与您交流! 现实生活中我们经常需要根据不同的条件做出不同的选择.程序设计中也需要根据条件来选择不同的程序进行处理,这称之为分支结构. C语言中控制分支结构的主要是if语句和switch语句.首先说说if语句: if语句的单分支结构形式:if(条件 e)  { 语句 s; }.当条件e

C语言程序结构之分支结构if switch

一,程序的结构:顺序结构 :程序运行时按正常的流程运行   (程序内部运行实现线性结构:栈,队 列,链表,数组个人感觉) 分支结构 : 条件语句 if switch 循环结构 : while    do while    for 二,if语句 1,分类1)第一种形式: 构成:if(表达式){ 语句块; } 2)if....else的形式 用法:如果表达式的值为真(1) 执行语句块1 如果表达式的值为假(0) 执行语句块2 格式:if(表达式) { //如果表达式的值为真(1),会这行此代码块 语

c语言——运算符、分支结构、循环结构

一.运算符 关系运算符 关系运算符 含  义 数学中的表示 < 小于 < <= 小于或等于 ≤ > 大于 > >= 大于或等于 ≥ == 等于 = != 不等于 ≠ 条件运算符 max = (a>b) ? a : b; 逻辑运算符 运算符 说明 结合性 举例 && 与运算,双目,对应数学中的"且" 左结合 1&&0.(9>3)&&(b>a) || 或运算,双目,对应数学中的"

C语言之分支结构 if(一)

一 程序的三种基本结构 顺序结构:程序从上往下依次执行,这个叫顺序结构 分支结构:有选择的执行或者不执行某段代码 循环结构:重复的执行某段代码 二 分支结构之if 最简单的俩种用法 (tips: if语句后面的大括号可以省略:如果省略:那么这个if语句只能管理离它最近的那条语句并且,这条语句,不能是声明变量的语句) 1). 语法: if(表达式){ 语句块; } 语义:判断小括号里的表达式是否为真,如果为真,则执行语句块,否则不执行语句块 2). 语法:if(表达式){ 语句块1; }else{

iOS开发入门 ? C语言(分支结构 + 循环结构)

分支结构: if 语句: 第一种:如果条件表达式成立就执行小括号后面大括号中的语句 if(条件表达式){ 语句; ... } 第二种:如果条件表达式成立就执行if后面小括号后面大括号中的语句,否则就执行else后面大括号中语句 这里至少有一个代码会被执行 if(条件表达式){ 语句; ... }else{ 语句; ... } 第三种: if(条件表达式1){ 语句; .... }else if(条件表达式2){ 语句; .... }else if(条件表达式3){ 语句; .... } ....

Java语言之分支结构

1 流程控制语句 1.1 什么是流程控制语句 可以控制程序的执行流程 1.2 流程控制语句的分类 顺序结构 选择结构 循环结构 2 顺序结构 从上往下,依次进行. 3 分支结构 3.1 分支结构的分类 if语句 switch语句 3.2 if语句的格式 格式1 class IfStruct1{ public static void main(String[] args) { if(布尔表达式){ //语句体 } } } 格式2 class IfStruct2{ public static voi

c(分支结构、if语句、关系运算符)

// // c语言基础,分支结构 //BOOL,布尔类型,是一个非真即假的数据类型,只有两个值YES和NO //YES = 1,NO = 0; //在C语言中,非0即为真:(-1.3都是真) int a = 0; BOOL b= NO; //关系运算符 int m = 5, n = 10; BOOL result = NO; //大于 result = m > n; printf("result = %d\n", result);//BOOL类型用%d打印 no //大于等于 r

实验四—多分支结构及本章总结

一. 本次课学习到的知识点 1.字符型变量类型名char及字符型变量oP 2..字符输入函数getchar()功能为将输入的一个字符,赋值给字符型变量 3..逻辑运算符:逻辑非!,逻辑与&&,逻辑或|| 4..字符型数据的输入和输出:字符型数据的输入输出可以调用函数scanf().printf()和getchar().putchar() 函数getchar()和putchar()只能处理单个字符的输入和输出 5.switch语句:可以处理多分支选择问题.break语句的三种使用方法 6.要