C语言速览——3、分支与循环语句、函数

一、分支与循环语句

1.语句的概念

       C语言中的语句其实与自然语言的中的语句概念相似,一句话的结束以;为标志,分为五大类

       C语言中的控制语句可分为以下三类

1. 条件判断语句也叫分支语句: if 语句、 switch 语句
2. 循环执行语句: do while 语句、 while 语句、 for 语句
3. 转向语句: break 语句、 goto 语句、 continue 语句、 return 语句

        转向语句一般配合循环使用

2.分支语句

   2.1 if语句

        来看代码

#include<stdio.h>

int main()
{
	int input = 0;
	printf("前进还是后退?\n");
	printf("1.前进  2.后退:>");
	scanf("%d", &input);
	if (input == 1)
	{
		printf("前进");
	}
	else if (input == 2)
	{
		printf("后退");
	}
	else
	{
		printf("A和B里选C的家伙啊!");
	}
	return 0;
}

        if语句的基本语法就是

        if(表达式)

        {处理方法}

        else if(表达式)

        {处理方法}

        .......

        else

        {处理方法}

         if语句可以接多种else的情况。当处理方法是单语句时,可以不加大括号{},多语句时必须加大括号。else可以加也可以不加。

        if语句也可以嵌套,嵌套时,else和与其最近的if进行匹配

#include<stdio.h>

int main()
{
	int i = 0;
	int n = 1;
	if (i == 1)
		if (n == 1)//else与我相匹配哦
			printf("hh");
	else //此处的else上一个if匹配
		printf("aa");
	return 0;
}

        这段分支代码是当i是1并且n1是打印hh,i是1但n不是1是打印aa,虽然没有语法错误,但可读性较差。若用大括号写出来,理解起来会方便很多

#include<stdio.h>

int main()
{
	int i = 0;
	int n = 1;
	if (i == 1)
	{
		if (n == 1)
		{
			printf("hh");
		}
		else
		{
			printf("aa");
		}
	}
	return 0;
}

   2.2 switch语句

        switch语句的功能与if语句相同,适用于多个分支的情况,当选择情况较多时,适合用switch语句,其基本的语法形式是

//default是默认的意思
//当常量表达式的结果不符合case中的任何一个
//会执行default
//default的处理方法可由用户定义
//编译器默认的方法是什么也不做
switch (常量表达式)
{
case 常量:
    处理方法;
    break;
case 另一个常量:
    处理方法;
    break;
default:
    处理方法;
    break;
}

        switch后面的必须是常量表达式,所得结果必须是一个常量。default子句的位置随意,没有硬性规定

        break可以不加,此时会从这一case处依次向下执行,直到遇到break或退出,如

#include<stdio.h>

int main()
{
	int input = 1;
	printf("请输入");
	scanf("%d", &input);
	switch (input)
	{
	case 1:
		printf("111");
	case 2:
		printf("222");
	case 3:
		printf("333");
	default:
		printf("000");
	}
}

        当输入1是,会依次打印111 222 333 000,若输出1、2、3之外的任意一个数,会打印000然后结束。但若default放在case 1 之上,则会打印000111222333

3、循环语句

   3.1 while语句

        while语句的语法为

while (常量表达式)
{
	循环体
}

        当常量表达式结过为0时结束循环,非0时循环继续,一般在循环体内对循环变量进行调整,使其满足一定条件时结束循环,如要打印1到10的数字

#include<stdio.h>

int main()
{
	int i = 10;
	while (i)
	{
		printf("%d", i--);
		i--;
	}
}

        也可以在循环中添加break,continue语句。break语句会结束整个循环,continue语句会调过当前循环。如下,则i为10时跳过循环,i为5时循环结束,最终会打印9 8 7 6

#include<stdio.h>

int main()
{
	int i = 10;
	while (i)
	{
		if (i == 5)
		{
			break;
		}
        if (i == 10)
		{
			continue;
		}
		printf("%d ", i--);
		i--;
	}
}

   3.2 for语句

        for循环语句在之前的内容中有过简单介绍,其用法也比较简单,语法为

  for(循环变量初始化; 循环条件判定; 循环变量的调整)

        同样,打印数字1到10,用for循环则是

#include<stdio.h>

int main()
{
    int i = 0;
    for(i = 1; i<=10; i++)
    {
        printf("%d ", i);
    }
}

        在for循环中,break语句会直接结束循环,而continue语句会跳过当前循环,直接到循环变量调整部分。

        在for循环中,初始化,条件,调整,三个部分可任意省略,也可以全省略(此时若循环体内无break则死循环)

   3.3 do while语句 

        do while循环与上两者的不同是,这个循环一定会执行一次,不论循环条件如何,语法为

do
{
    循环体;
}
while(常量表达式);

        break语句依然会直接结束循环,continue语句会跳转到循环条件判断部分(即常量表达式),这种循环用的较少

二、函数

        函数的基本语法是

//()内是参数
返回值类型 函数名 ()
{
    函数体;
}

        函数可以实现很多功能,如加法函数,阶乘函数等,虽然C语言本身提供一些库函数,但很多功能仍需要用户自己去实现。使用函数,可以代码复用,简化代码,如下

#include <stdio.h>

int Add(int x, int y)
{
   int z = x+y;
   return z; 
}

int main()
{
    int num1 = 0;
    int num2 = 0;
    int sum = 0;
    printf("输入两个数:>");
    scanf("%d %d", &num1, &num2);
    sum = Add(num1, num2);
    printf("sum = %d\n", sum);
    return 0; 
}

        不同函数之间可以互相调用,但函数内部不允许定义其他函数

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值