流程控制

来源:互联网 发布:php 短信验证码生成 编辑:程序博客网 时间:2024/04/29 14:45

// 符号常量

#define str "一个字符串\n");

// 程序在编译的时候,在代码中凡是看到了 str,就使用后面的内容替换 str 处的东西


// 宏定义

// 在编译的过程中,有一个预编译(在编译的前面).在预编译过程进行宏替换


// 符号常量一般用在频繁使用的值上面

-----------------------------------------------$-----四个修饰词------------------------------------------------

#include <stdio.h>

#include <stdlib.h>


// int num; // 变量写在函数内叫定义,写在函数外叫声明

// 外部变量


// 只需要在函数外的变量前加上 static即可

// 这个由 static修饰的变量子允许在该文件中被使用


// extern

extern int num;


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

   

    

    // implicity 隐式的

    // explicity 显式的

    // declare 声明

    // 标识符 identifer 就是名字

    --------------------------------------go to  模型--------------------------------------------------------------

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

    

   goto label2;

    

    {

        //这个事一个代码块,逻辑上是一条语句

    }

    

label1:

    

    printf("打印出标记1\n");

    

   goto label3;

    

    

label2:

    

    printf("打印出标记2\n");

    

   goto label1;

    

    

label3:

    

    printf("打印出标记3\n");


---------------------------------------------------$-------------------------------------------------

//    // 一般代码逻辑较多使用这一种

//    // 判断了

//    if(score < 0 || score > 100) return 0;

//    

//    // 代码执行到这里,意味着什么?

//    

//    

//    // 一般代码的逻辑较少,使用这一种

//    if(score >= 0 && score <= 100) {

//        // 写代码

//    }

    


 

//    // 一般代码逻辑较多使用这一种

//    // 判断了

//    if(score < 0 || score > 100) return 0;

//    

//    // 代码执行到这里,意味着什么?

//    

//    

//    // 一般代码的逻辑较少,使用这一种

//    if(score >= 0 && score <= 100) {

//        // 写代码

//    }

    

   

//    // 一般代码逻辑较多使用这一种

//    // 判断了

//    if(score < 0 || score > 100) return 0;

//    

//    // 代码执行到这里,意味着什么?

//    

//    

//    // 一般代码的逻辑较少,使用这一种

//    if(score >= 0 && score <= 100) {

//        // 写代码

//    }

   

//    // 一般代码逻辑较多使用这一种

//    // 判断了

//    if(score < 0 || score > 100) return 0;

//    

//    // 代码执行到这里,意味着什么?

//    

//    

//    // 一般代码的逻辑较少,使用这一种

//    if(score >= 0 && score <= 100) {

//        // 写代码

//    }

   if(score <0 || score > 100)return 0;

    

   if(score >= 90) {

       printf("A\n");

    }else if(score >=80) {

       printf("B\n");

    }else if(score >=70) {

       printf("C\n");

    }else if(score >=60) {

       printf("D\n");

    }else {

       printf("E\n");

    }

---------------------------------------$-------------------------------------------------------------



#include <stdio.h>

#include <stdlib.h>


#if 0// 条件编译


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

    

   /*

        系统提供随机的石头(0),剪刀(1)或布(2)

        提示用户输入

        用户输入(用户输入的是数字)

        比较

        if(计算机 == 用户) 平局

        else if(计算机赢) {

            // ...

        } else {

            // ...

        }

     

        计算机赢

     

        计算机 == 石头 && 用户 == 剪刀

     || 计算机 == 剪刀 && 用户 ==

     || 计算机 == && 用户 == 石头

     

     */

    

    

    //如何实现随机数的生成

    // 引入头文件 stdlib.h

    // 使用函数

    // int arc4random_uniform(int num);

    // 生成一个 0 num 范围的随机数

    

    

    // int num = 1 + 2;

    // int res = arc4random_uniform(10);

    // 生成一个随机数,这个随机数的取值范围是 0,1,2,3,4,5,6,7,8,9

    // 创建一个100以内的随机数

    // arc4random_uniform(100)

    

    //科技文中,描述一个范围,常常用一个左值和右值来描述

    //但是描述范围的时候,如果不加说明,一般左值可以取得到,右值取不到

    

    

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

    

   return 0;

}


#endif




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


    

    // 0, 石头(0), 剪刀(1), (2)

    // 1, 系统提供一个随机数

   int computer = arc4random_uniform(3);

    

   printf("%d\n", computer);

    

    // 2, 提示用户输入

    printf("请玩家输入:石头(0),剪刀(1), (2)\n");

   int player;

   scanf("%d", &player);

    

    // 3, 验证用户的输入

   if(player != 0 && player !=1 && player != 2)return 0;

    

    // 4, 比较赢家

   if(computer == player) {

       printf("平局\n");

    }else if ((computer ==0 && player == 1)

            || (computer ==1 && player == 2)

            || (computer ==2 && player == 0)) {

       printf("计算机赢\n");

    }else {

       printf("玩家赢\n");

    }

    

    

   return 0;

}





#include <stdio.h>

#include <stdlib.h>


#if 0// 条件编译


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

    

   /*

        系统提供随机的石头(0),剪刀(1)或布(2)

        提示用户输入

        用户输入(用户输入的是数字)

        比较

        if(计算机 == 用户) 平局

        else if(计算机赢) {

            // ...

        } else {

            // ...

        }

     

        计算机赢

     

        计算机 == 石头 && 用户 == 剪刀

     || 计算机 == 剪刀 && 用户 ==

     || 计算机 == && 用户 == 石头

     

     */

    

    

    //如何实现随机数的生成

    // 引入头文件 stdlib.h

    // 使用函数

    // int arc4random_uniform(int num);

    // 生成一个 0 num 范围的随机数

    

    

    // int num = 1 + 2;

    // int res = arc4random_uniform(10);

    // 生成一个随机数,这个随机数的取值范围是 0,1,2,3,4,5,6,7,8,9

    // 创建一个100以内的随机数

    // arc4random_uniform(100)

    

    //科技文中,描述一个范围,常常用一个左值和右值来描述

    //但是描述范围的时候,如果不加说明,一般左值可以取得到,右值取不到

    

    

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

//    printf("%d\n", arc4random_uniform(10));

    

   return 0;

}


#endif




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


    

    // 0, 石头(0), 剪刀(1), (2)

    // 1, 系统提供一个随机数

   int computer = arc4random_uniform(3);

    

   printf("%d\n", computer);

    

    // 2, 提示用户输入

    printf("请玩家输入:石头(0),剪刀(1), (2)\n");

   int player;

   scanf("%d", &player);

    

    // 3, 验证用户的输入

   if(player != 0 && player !=1 && player != 2)return 0;

    

    // 4, 比较赢家

   if(computer == player) {

       printf("平局\n");

    }else if ((computer ==0 && player == 1)

            || (computer ==1 && player == 2)

            || (computer ==2 && player == 0)) {

       printf("计算机赢\n");

    }else {

       printf("玩家赢\n");

    }

    

    

   return 0;

}


-----------------------------switch-----------------------------------------------------------------------

/*

     语法:

     switch(整型表达式) {

         case 整型常量或表达式1: 语句1;

         case 整型常量或表达式2: 语句2;

         case 整型常量或表达式3: 语句3;

         ...

         case 整型常量或表达式N: 语句N;

         [default : 语句N+1;]

     }

     

     程序运行到 switch, 首先获得里面的参数.然后在 case 中找是否有匹配项

     如果没有,直接跳到 default执行, 然后结束 switch 结构

     如果有, 直接跳到指定的 case ,并执行后面的代码.

     每一个 case 可以跟一个 break 语句. break 语句是的执行完当前 case 后结束

     switch 结构, 如果没有 break, 那么接着执行紧挨着的后面的 case (case的贯穿)

     switch 结构中 default 语句可以省略

     

     注意: switch case , case 语句和 default 语句的位置是任意的

     */


----------------------------------------------------------------------------------------------------


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

    // 0 提示用户输入(num1, oper, num2)

   int num1, num2, res; // 1,, isRight = 1;

   char oper;

    

    

    printf("请输入第一个数字\n");

   scanf("%d", &num1);

    

    getchar();// 取消回车的影响

    

    printf("请输入运算符\n");

   scanf("%c", &oper);

    

    printf("请输入第二个数字\n");

   scanf("%d", &num2);


    

    // 1 根据 oper 进行计算

   switch (oper) {

       case '+': res = num1 + num2;break;

       case '-': res = num1 - num2;break;

       case '*': res = num1 * num2;break;

       case '/': res = num1 / num2;break;

        // 1,  default: printf("输入的运算符有误\n"); isRight = 0; res = 0;

            

       // 2,

       default: printf("输入的运算符有误\n");return0;

    }

   


    

    // 2 打印结果

    // 1, if(isRight)

    

   printf("%d %c %d = %d\n", num1, oper, num2, res);

    

   return 0;

}


 ----------------------------------------------------------------------------------------------------



// 铁路托运行李规定:行李重不超过50公斤的,托运费按0.15元每公斤计算,

    //如果超过50公斤,超出部分每公斤加收0.1元。编程实现上述功能。

    

    //随着物价的上涨,要求70公斤以下,按每公斤0.2元计算,超出的部分按照0.15元计算

    

   int maxWeight = 70;

   double price = 0.2;

   double deltaPrice = 0.15;

    

    

    // 0, 提示用户输入质量

    printf("请输入重量\n");

   int weight; // 重量

   double money = 0;

   scanf("%d", &weight);

    

    

    // 1, 进行计算

    

   if(weight > maxWeight) {

        money = maxWeight * price + (weight - maxWeight) * (deltaPrice + price);

    }else {

        money = weight * price;

    }

    

    

    // 2, 打印金额

   printf("需要缴费:%.2lf\n", money);







0 0
原创粉丝点击