【C语言快速学习基础篇】之二控制语句、循环语句

2023-12-14 11:58:14

C语言介绍
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。
C语言拥有经过了漫长发展历史的完整的理论体系,在编程语言中具有举足轻重的地位。

一、控制语句

在这里插入图片描述

1.1、if…else…单条件语句

#include<stdio.h>

int main() 
{
	int i = 5;
	//i>5 条件
	if (i>5)
	{
		//条件成立,输出内容
		printf("i大于5");
	}
	else
	{
		//条件不成立,输出内容
		printf("i小于等于5");
	}
}

在这里插入图片描述

1.2、if…else if…else…多条件语句

#include<stdio.h>

int main() 
{
	int i = 4;
	//i>5 条件1
	if (i>5)
	{
		//条件成立,输出内容
		printf("i大于5");
	}
	//i<5 条件2
	else if (i < 5)
	{
		printf("i小于5");
	}
	else 
	{
		//条件不成立,输出内容
		printf("i等于5");
	}
}

在这里插入图片描述

1.3、switch…case

  • break必须有,不然会继续执行下面代码
int main()
{
	int i = 4;
	switch(i)
	{
		case 1:printf("i=%d", i);
			break;
		case 2:printf("i=%d", i);
			break;
		case 4:printf("i=%d", i);
			break;
		default:printf("输入的数字是%d", i);
	}
}

在这里插入图片描述

二、循环语句

在这里插入图片描述

2.1、for循环

#include<stdio.h>

int main() 
{
	/*
		int i=0;初始值
		i<10;循环条件
		i++;改变循环条件
	*/
	for (int i = 0; i < 10; i++)
	{
		//循环体
		printf("i=%d\n", i);
	}
}

在这里插入图片描述

2.2、while循环

#include<stdio.h>

int main() 
{
	/*
		int i=0;初始值
		i<10;循环条件
		i++;改变循环条件
	*/
	int i = 0;
	while (i < 10)
	{
		printf("i=%d\n", i);
		i++;
	}
}

在这里插入图片描述

2.3、注意:for循环和while循环使用上面等同

#include<stdio.h>

int main() 
{
	/*
		int i=0;初始值
		i<10;循环条件
		i++;改变循环条件
	*/
	for (int i = 0; i < 10; i++)
	{
		//循环体
		printf("i=%d\n", i);
	}
	printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
	int i = 0;
	while (i < 10)
	{
		
		printf("i=%d\n", i);
		i++;
	}
}

在这里插入图片描述

2.4、do while循环

2.4.1、while条件成立时

#include<stdio.h>

int main() 
{
	/*
		int i=0;初始值
		i<10;循环条件
		i++;改变循环条件
	*/
	int i = 0;
	do
	{
		printf("%d\n", i);
		i++;
	} while (i < 10);
}

在这里插入图片描述

2.4.2、while条件不成立时

#include<stdio.h>

int main() 
{
	/*
		int i=0;初始值
		i<10;循环条件
		i++;改变循环条件
	*/
	int i = 0;
	do
	{
		printf("%d\n", i);
		i++;
	} while (i > 10);
}

在这里插入图片描述

2.5、跳出循环的条件

2.5.1、break结束整个循环

#include <stdio.h>

int main() {
    int i, j;
    for (i = 0; i < 10; i++)
    {
        if (i == 5) 
        {
            break;
        }
        printf("i=%d\n", i);
        
    }
    return 0;
}

在这里插入图片描述

2.5.2、continue结束本次循环

#include <stdio.h>

int main() {
    int i, j;
    for (i = 0; i < 10; i++)
    {
        if (i == 5) 
        {
            continue;
        }
        printf("i=%d\n", i);
        
    }
    return 0;
}

在这里插入图片描述

2.6、实战案例

2.6.1、99乘法表for循环

#include<stdio.h>

int main() 
{
	//第一层循环
	for (int i = 1; i < 10; i++) 
	{
		//第二层循环 初始化j=1,然后j=2,j=3...j=9,因为i最大是9
		for (int j = 1; j <= i; j++)
		{
			//9*9乘法表的格式 \t是水平制表符
			printf("%d * %d = %d\t", j, i, i * j);
		}
		//使乘法表呈现阶梯型更美观
		printf("\n");
	}
}

在这里插入图片描述

2.6.2、99乘法表while循环

#include<stdio.h>

int main() 
{
	int i = 1;
	while (i < 10)
	{
		int j = 1;
		while (j <= i)
		{
			printf("%d * %d = %d\t", j, i, i * j);
			j++;
		}
		i++;
		printf("\n");
	}
}

在这里插入图片描述

2.6.3、for循环打印空心菱形

  • 逻辑-适用于奇数
    在这里插入图片描述
#include <stdio.h>

int main() {
    int i, j, rows = 7, lx = rows / 2;
    for (i = 0; i < rows; i++)
    {
        for (j = 0; j <= rows; j++)
        {
            if (j==abs(lx-i)||j==rows-(abs(i-lx)+1))
            {
                printf("*");
            }
            else if (j == rows)
            {
                printf("\n");
            }
            else
            {
                printf(" ");
            }
        }
    }
    return 0;
}

在这里插入图片描述

文章来源:https://blog.csdn.net/walykyy/article/details/134865141
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。