###C语言程序设计-----C语言学习(3)#

前言:感谢老铁的浏览,希望老铁可以一键三连加个关注,您的支持和鼓励是我前进的动力,后续我会分享更多学习编程的内容。

 

###C语言程序设计-----C语言学习(3)#_第1张图片

 

一.  主干知识的学习  

1.二分支结构和if-else语句

  二分支结构的形式主要有两种,如图所示,使用基本的if语句实现,即if-else语句和省略else的if语句。

下图为两种语句的流程图图解:

###C语言程序设计-----C语言学习(3)#_第2张图片 

(1)用if-else语句实现,该语句的一般形式为:

                  if(表达式)

                          语句1;

                  else

                          语句2;

执行流程:先求解表达式,如果表达式的值为‘真’,就执行语句1;否则(即表达式的值为‘假’),就执行语句2。语句1和语句2总要执行一个,但是不会都执行。

(2)用省略else的if语句实现,该语句的一般形式为:

                 if(表达式)

                          语句1;

执行流程:先求解表达式,如果表达式的值为‘真’,就执行语句1;否则(即表达式的值为‘假’),就什么都不做。

注意:这里的语句1和语句2也称为内嵌语句,只允许是一条语句,若需要使用多条语句,应该用大括号把这些语句括起来组成复合语句。

2.多分支结构和else-if语句

else-if语句是最常用的实现多分支(多路选择)的方法,其一般形式为:

          if(表达式1)

                 语句1;

          else   if(表达式2)

                 语句2;

          ····

          else   if(表达式n-1)

                 语句n-1;

          else

                 语句n;

流程图如图所示:

###C语言程序设计-----C语言学习(3)#_第3张图片

 

执行流程:首先求解表达式1,如果表达式1的值为‘真’,则执行语句1,并结束整个if语句的执行,否则,求解表达式2······最后的else处理给出条件都不满足的情况,即表达式1,表达式2······表达式n-1的值都为‘假’时,执行语句n。

 

二.  具体实际案例语句的应用 

1.对于二分支结构:

(1)问题一:奇偶分家。输入一个正整数n,再输入n个非负整数,统计奇数和偶数各有多少个。

源程序:

#include 
int main()
{
	int count_odd, count_even, i, n, number;
	count_odd=0;        //count_odd记录奇数个数 
	count_even=0;      //count_even记录偶数个数 
	printf("Enter n:");
	scanf("%d", &n);
	printf("Enter %d numbers:", n);
	for (i=1; i<=n; i++)
	{
		scanf("%d", &number);
		if (number%2!=0)      //判断奇数的条件 
		{
			count_odd++;     //如果满足则奇数加一 
		}
		else
		{
			count_even++;      //否则偶数加一 
		}
	}
	printf("odd:%d, Even:%d", count_odd, count_even);
	
	
	return 0;
 } 

 

简单分析:这里首先是通过for语句来实现多个非负整数的读取(关于for语句的用法可看前面的博客),区分奇偶通过二分支结构if-else语句即满足括号内条件则执行odd++,不满足则执行对于的even++,从而实现完整的程序。

(2)问题2:统计指定数量学生的平均成绩与不及格人数。输入一个非负整数n,再输入n个学生的成绩,计算平均成绩,并统计不及格成绩的学生人数。

源程序:

#include 
int main()
{
	int count, i, n;
	double score, total;
	printf("Enter n:");
	scanf("%d", &n);
	count=0;   //count用于记录不及格人数 
	total=0;
	for (i=1; i<=n; i++)
	{
		printf("Enter score#%d:", i);  //学生成绩的输入     
		scanf("%lf", &score);
		total=total+score;  //计算总和 
		if (score<60)  //判断不及格条件 
		{
			count++;
		}
	}
	if (n!=0)
	{
		printf("Average=%.2f\n", total/n);  //求平均成绩 
	}
	else 
	{
		printf("input error");  //人数为零则显示输入错误 
	}
	printf("Number of failures=%d\n", count);   //显示不及格人数 
	
	return 0;
 } 

简单分析:同样这里通过for语句来实现指定学生的成绩输入,这里运用了两次if-else语句,第一次是为了区分成绩及格与不及格,从而统计不及格学生人数,第二次是为了避免输入指定学生人数为零,若为零,则显示输入有误。

2.对于多分支结构:

歌词的显示:

源程序:

#include 
int main()
{
	printf("请输入类型:");
	int type;
	scanf("%d", &type);
	if (type==5)
	{
		printf("我的纸飞机呀"); 
	}
	else if(type==2)
	{
		printf("飞呀飞"); 
	}
	else if(type==1)
	{
		printf("飞到了芦荡边"); 
	}
	else
	{
		printf("game over");
	}
	
	return 0;
}

简单分析:这里通过多分支语句即级联的else-if语句,从而实现对于不同的表达式下执行不同的语句,从而实现多分支的进行。

 

最后,感谢大家的浏览,期待老铁的一键三连加关注,编程路上有你不再孤单。

###C语言程序设计-----C语言学习(3)#_第4张图片 

 

 

 

你可能感兴趣的:(C语言学习,学习,开发语言,c语言,数据结构,算法,c++,c#)