C语言—分支和循环详解(基础入门篇)

一.绪论

  C语言是结构化的程序设计语言,这里的结构是顺序结构,选择结构,循环结构,我们可以使用对应的语句来实现这些结构,下面我将为大家详细介绍一下这些语句,当了解这些语句之后我们便可以靠这些语句写一些简单的代码。即使你是零基础,看完这篇文章也能够进行一些简单的代码编写。

二.选择语句

2.1 if语句

  了解一个语句首先要了解它的语法

  if语句语法形式如下:

  表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行

  在C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果不是0,则语句执行。当然纸上谈兵是不切实际的,下面我会举例说明让大家切实理解其中的含义

输入一个整数判断是否为奇数,这时就可以用到我们的if语句

这时就会有小伙伴问了那我想要连偶数也能判断怎么办,你这个只能判断奇数啊

这时就需要if...else...语句了

2.2 if...else...语句

语法形式如下:

现在回到上面的问题,如果是奇数打印奇数否则打印偶数,有了if...else...语句的加入这个问题就迎刃而解了

2.3 switch语句

switch语句是一种特殊形式的if...else结构,用于判断条件有多个结果的情况。它把多重的else if改成更易用,可读性更好的形式。

 上面代码中,根据表达式expression不同的值,执行相应的case分支。如果找不到对应的值,就执行default分支。

注:

switch后的expression必须是整形表达式

case后的值必须是整形常量表达式

下面我将举一个打印星期的例子

#include <stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日\n");
		break;
	case 6:
	case 7:
		printf("休息日\n");
		break;
	default:
		printf("输入错误\n");
		break;
	}
	return 0;
}

三.循环语句

3.1 while循环

语法如下:

while(表达式)
       语句;

 while语句的执行流程:

首先上来就是执行判断表达式,表达式值为0,循环直接结束;表达式的值不为0,则执行循环语句,语句执行完后再继续判断,是否进行下一次判断。

下面我将进行一次while循环的实践,在屏幕上打印1~10

3.2 for循环

for循环是三循环中使用最多的,for循环语法形式如下:

for(表达式1;表达式2;表达式3)
         语句;

 表达式1用于循环变量的初始化

表达式2用于循环结束条件的判断

表达式3用于循环变量的调整

for循环中首先执行表达式1初始化循环变量,接下来就是执行表达式2的判断部分,表达式2的结果如果==0,则循环结束;表达式2的结果如果!=0则执行循环语句,循环语句执行完后,再去执行表达式3,调整循环变量,然后再去表达式2的地方执行判断,表达式2的结果是否为0,决定循环是否继续。

整个循环过程中,表达式1初始化部分只被执行一次,剩下的就是表达式2,循环语句,表达式3在循环。还是相同的问题想要用for语句在屏幕上打印1~10,相信聪明的小伙伴已经有思路了~

#include <stdio.h>
int main()
{
  int i = 0;
  for(i=1;i<=10;i++)
{
  printf("%d ",i);
}
  return 0;
}
3.3 do while循环

do的最少,它的语法如下:

do
   语句;
while(表达式);

while和for这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,然后再执行while后的判断表达式,表达式为真就会进行下一次,表达式为假则不再继续循环。

现在我们再用do while语句尝试在屏幕上打印1~10的值

#include <stdio.h>
int main()
{
	int i = 0;
	do
	{
		i++;
		printf("%d ", i);
	} while (i < 10);
	return 0;
}

四.go to语句

C语言提供了一种非常特别的语法,就是goto语句和跳转标号,goto语句可以是现在同一个函数内跳转到设置好的标号处。

举个例子

#include <stdio.h>
int main()
{
	printf("hehe\n");
	goto next;
	printf("haha\n");
	

next:
	printf("跳过了haha的打印\n");
	return 0;
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值