黑马程序员---C语言基础---条件、循环语句、函数

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、分支结构(条件语句)

         分支结构即根据条件来判断到底执行哪些代码,分为if语句和switch语句
1.if语句
    简单使用:
    if (条件判断语句)  语句;例:
if(a>1)
  a = a+1;
 
     if (条件判断语句)  语句1; else 语句2;例: 
 
if(a>1) 
  a=a+1;
  else 
    a = a-1;
 
     if (条件判断语句)  {语句1;} else {语句2};例: 
 
if(a>1) {
   a=a+1;
   }else {
      a = a-1;}
     if -else if-else,例:
<pre name="code" class="objc"><span style="font-size:14px;">if(a>1) {
   a=a+1;
   }else if(a>0){
      a = a-1;      
      }else{
         a = 0;}</span>
 
    实例1,利用if分支结构实现的剪刀石头布游戏:
#include <stdlib.h>

int main(int argc, const char * argv[]) {
    
    int a,b = -1;
    
    printf("规则:0 代表剪刀,1 代表石头,2 代表布\n请出拳\n"); 
    scanf("%d",&a);                                      //用户输入数组作为出拳依据  
    b = arc4random_uniform(3);                           //计算机产生0到2的随机数字作为出拳依据
    
    if (a < 0 || a > 2){
        printf("输入错误\n");                             //判断输入是否合法
    }
        else if ((a == 0 && b == 2) || (a == 1 && b == 0) || (a == 2 && b == 1)){    //判断输赢并打印
            printf("恭喜你你赢了\n您出的是%d,电脑出的是%d\n",a,b);
        }
            else if((a == 0 && b == 0) || (a == 1 && b == 1) || (a == 2 && b == 2)){
                printf("你和电脑打成了平手");
            }
                else printf("对不起你输了\n您出的是%d,电脑出的是%d\n",a,b);
    return 0;
}
2.switch语句
         简单使用: switch (表达式) {case 数值1: break; … default: break;},例:
 int a = 10;
 switch (a) {
     case 0:
         printf("这是一个0");
         break;
     case 5:
         printf("这是一个5");
         break;
     case 10:
         printf("这是一个10");
         break;
     default:
         printf("什么也不是");
         break;
 }
实例2,利用switch分支结构实现的通过月份打印季节程序:
#include <stdio.h>

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

    int mon; 
    printf("请输入月份\n");
    scanf("%d",&mon);                            //定义变量接收用户输入的月份
    
    if (mon < 1 || mon > 12) {                   //判断输入是否合法
        printf("输入月份有误\n");
    }
    
    switch (mon) {                               //通过switch语句执行相应代码并打印结果
        case 3:
        case 4:
        case 5:
            printf("现在是春季\n");
            break;
        case 6:
        case 7:
        case 8:
            printf("现在是夏季\n");
            break;
        case 9:
        case 10:
        case 11:
            printf("现在是秋季\n");
            break;
        case 12:
        case 1:
        case 2:
            printf("现在是冬季\n");
            break;
        default:
            break;
    }
    return 0;
}

二、循环结构

1.while语句
简单使用: while (表达式)  {语句;},例:
while(a<5){
    a++;
}
         实例3,实现1加到100的程序:
#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    int a = 0;
    int sum = 0;                          //定义变量储存结果
    
    while (a <= 100) {                    //循环从1加到100并用sum储存结果
        sum += a;                         
        a++;
    }
    printf("1加到100的结果为%d\n",sum);     //打印结果
    return 0;
}
2.do while语句
            用法与while用法类似,只不过这里是先执行一次循环体后在进行循环条件判断
3.for循环
          简单使用: for(语句1;语句2;语句3){语句4;},例:
for(int i = 0;i<5;i++){
    printf("正再循环");
}
           实例4,实现打印九九乘法表的程序:
#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    for (int a = 1;a <= 9 ;a++) {                 //外层循环控制第二个数从1到9
        for (int b = 1; b <= a; b++) {            //里层循环控制第一个数只能是大于等于1且小于等于第二个数的整数
            printf("%d*%d=%d  ",b,a,a*b);         //打印每个式子
        }
        printf("\n");                             
    }
    return 0;
}
4.循环中的break和continue
break通常用于switch和循环中,作用是跳出当前循环,注意一个break只向外跳一层
continue则用于for、while、do-while中,通常与if连用,结束指定条件下的循环,用于加速循环

三、函数

任何一个C语言程序都是由一个或者多个程序段构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”,所以,可以说C语言程序是由函数构成的。C语言中定义函数的目的是为了将一些常用的功能封装起来,方便以后调用
1.无参无返回值函数:void 函数名(){语句;}例:
void  print(){
    printf("这是一个函数");
}
2.无参有返回值函数:int 函数名(){语句;}例
int  test(){
    printf("这是一个函数");
    return 0;
}
3.有参无返回值函数:void 函数名(参数){语句;}例:
void test1(int a){
    printf("a的值为%d",a);
}
4.有参有返回值函数: int 函数名(参数){语句;}例:
int test1(int a){
    printf("a的值为%d",a);
    return a;
}
5.递归函数:函数本身调用自己的函数
下面函数属于递归函数,作用是计算n的阶乘
int cheng(int n){
    
    int result = 0;                     
    if (n == 1){
        result = 1;                     //多次调用后,n值最终减为1,结束递归引用
    }else {
        result=cheng(n-1)*n;            //n传入函数后,执行阶乘运算
    }
    return result;
}
6.注意事项:
1)不能嵌套定义函数
2)不能重复定义一个函数,但可以重复声明
3)死循环调用,即递归调用,需要有让函数调用结束的条件
4)函数在调用前必须要进行声明

四、补充:include

include是一个系统预处理指令,作用是拷贝程序所需的头文件,只是一个文件拷贝作用
1.#include <  >表示引入系统头文件
2.#include " "表示引入用户自定义头文件
3.程序进行编译时include的文件寻找路径为:
   用户自己写的头文件—>到编译器路径下寻找—>到系统include路径下找—>没有找到就会报错
   


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值