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

文章目录

  • 一、控制语句
    • 1.1、if...else...单条件语句
    • 1.2、if...else if...else...多条件语句
    • 1.3、switch...case
  • 二、循环语句
    • 2.1、for循环
    • 2.2、while循环
    • 2.3、注意:for循环和while循环使用上面等同
    • 2.4、do while循环
      • 2.4.1、while条件成立时
      • 2.4.2、while条件不成立时
    • 2.5、跳出循环的条件
      • 2.5.1、break结束整个循环
      • 2.5.2、continue结束本次循环
    • 2.6、实战案例
      • 2.6.1、99乘法表for循环
      • 2.6.2、99乘法表while循环
      • 2.6.3、for循环打印空心菱形

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;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/235854.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023年【广东省安全员C证第四批(专职安全生产管理人员)】考试题及广东省安全员C证第四批(专职安全生产管理人员)报名考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 广东省安全员C证第四批&#xff08;专职安全生产管理人员&#xff09;考试题参考答案及广东省安全员C证第四批&#xff08;专职安全生产管理人员&#xff09;考试试题解析是安全生产模拟考试一点通题库老师及广东省安…

别划走!3分钟看懂 Git 底层工作原理

这是一篇能让你迅速了解 Git 工作原理的文章&#xff0c;实战案例解析&#xff0c;相信我&#xff0c;3 分钟&#xff0c;绝对能够有收获&#xff01; Git 目录结构 Git 的本质是一个文件系统&#xff08;很重要&#xff0c;记住这句话&#xff0c;理解这句话&#xff09;&am…

浅谈 USB Bulk 深入浅出 (1) - USB 传输模式 及 何谓 USB bulk

来源&#xff1a;大大通【阿福的随笔】浅谈 USB Bulk 深入浅出 (1) - USB 传输模式 及 何谓 USB bulk 1. USB 传输模式有哪些 USB 是即插即用使用差动信号的装置界面&#xff0c;是以 端点 ( Endpoint )&#xff0c;做为传输装置的输出入端&#xff0c;透过不同的端点 ( Endp…

工作中常用的RabbitMQ实践

目录 1.前置知识 准备工作 2.导入依赖 3.生产者 4.消费者 5.验证 验证Direct 验证Fanout 验证Topic 1.前置知识 rabbitmq有五种工作模式&#xff1b;按照有无交换机分为两大类 无交换机的&#xff1a;简单队列(一对一,单生产单消费)、工作队列(工作队列有轮训分发和公…

内网穿透的应用-如何结合Cpolar内网穿透工具实现在IDEA中远程访问家里或者公司的数据库

文章目录 1. 本地连接测试2. Windows安装Cpolar3. 配置Mysql公网地址4. IDEA远程连接Mysql小结 5. 固定连接公网地址6. 固定地址连接测试 IDEA作为Java开发最主力的工具&#xff0c;在开发过程中需要经常用到数据库&#xff0c;如Mysql数据库&#xff0c;但是在IDEA中只能连接本…

VS Code使用教程

链接远程服务器 https://blog.csdn.net/zhaxun/article/details/120568402 免密登陆服务器 1生成客户机&#xff08;个人PC&#xff09;密令 ssh-keygen -t rsa生成的文件在主目录的.ssh文件当中。 查看密令并复制到linux系统当中 cat id_rsa.pub 2复制到服务器中 echo …

用C语言了解文件那些下 ‘流‘ 事

本篇会加入个人的所谓‘鱼式疯言’❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言,而是理解过并总结出来通俗易懂的大白话,我会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的&#xff0c;可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 前言 &#…

AMEYA360:大唐恩智浦荣获 2023芯向亦庄 “汽车芯片50强”

2023年11月28日&#xff0c;由北京市科学技术委员会和北京市经济和信息化局指导、北京经济技术开发区管理委员会主办、盖世汽车协办的“芯向亦庄”汽车芯片大赛在北京亦庄成功闭幕。 在本次大赛中 大唐恩智浦的 电池管理芯片DNB1168 (应用于新能源汽车BMS系统) 凭卓越的性能及高…

PDF控件Spire.PDF for .NET【转换】演示:将 PDF 转换为 Excel

PDF是一种通用的文件格式&#xff0c;但它很难编辑。如果您想修改和计算PDF数据&#xff0c;将PDF转换为Excel将是一个理想的解决方案。在本文中&#xff0c;您将了解如何使用Spire.PDF for .NET在 C# 和 VB.NET 中将 PDF 转换为 Excel。 Spire.Doc 是一款专门对 Word 文档进行…

医疗设备智慧管理助力医院提质增效,阿基米德amp;健康界实践分享

近日&#xff0c;苏州阿基米德网络科技有限公司与医疗领域头部级媒体健康界&#xff0c;联合举办“数智为擎 提质增效——医学装备智慧管理创新发展论坛”的直播活动。 直播现场&#xff0c;来自上海交通大学医学院附属同仁医院、中华医学会航海医学分会、苏州阿基米德的专家们…

vscode报错:建立连接:XHR failed

文章目录 问题解决方案 问题 Windows端ssh远程连接Linux端&#xff0c;Windows端vscode报错&#xff1a;“…XHR failed.” 解决方案 参考&#xff1a;解决 Windows 端 VS Code “无法与 “…“ 建立连接&#xff1a;XHR failed.” 问题 亲测有效。 总结&#xff1a; linux…

如何在小米路由器4A千兆版刷入OpenWRT并通过内网穿透工具实现公网远程访问

文章目录 前言1. 安装Python和需要的库2. 使用 OpenWRTInvasion 破解路由器3. 备份当前分区并刷入新的Breed4. 安装cpolar内网穿透4.1 注册账号4.2 下载cpolar客户端4.3 登录cpolar web ui管理界面4.4 创建公网地址 5. 固定公网地址访问 前言 OpenWRT是一个高度模块化、高度自…

代码随想录二刷 |二叉树 |144.二叉树的前序遍历

代码随想录二刷 &#xff5c;二叉树 &#xff5c;144.二叉树的前序遍历 题目描述解题思路代码实现递归法迭代法 题目描述 144.二叉树的前序遍历 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输…

使用Sourcetrail解析C项目

阅读源码的工具很多&#xff0c;今天给大家推荐一款别具一格的源码阅读神器。 它就是 Sourcetrail&#xff0c;一个免费开源、跨平台的可视化源码探索项目 使用

Python+Appium自动化测试之元素等待方法与重新封装元素定位方法

在appium自动化测试脚本运行的过程中&#xff0c;因为网络不稳定、测试机或模拟器卡顿等原因&#xff0c;有时候会出现页面元素加载超时元素定位失败的情况&#xff0c;但实际这又不是bug&#xff0c;只是元素加载较慢&#xff0c;这个时候我们就会使用元素等待的方法来避免这种…

前端知识(十三)——JavaScript监听按键,禁止F12,禁止右键,禁止保存网页【Ctrl+s】等操作

禁止右键 document.oncontextmenu new Function("event.returnValuefalse;") //禁用右键禁止按键 // 监听按键 document.onkeydown function () {// f12if (window.event && window.event.keyCode 123) {alert("F12被禁用");event.keyCode 0…

设计模式-门面模式(Facade)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、定义二、结构 前言 在组件构建过程中&#xff0c;某些接口之间直接依赖会带来很多问题&#xff0c;甚至无法直接实现。采用一层间接接口&#xff0c;来隔离…

低代码开发:属于“美味膳食”还是“垃圾食品”

目录 引言低代码是什么&#xff1f;低代码的优点使用挑战未来展望最后 引言 随着数字化转型的迅猛发展&#xff0c;低代码开发平台逐渐成为了企业和开发者的关注焦点&#xff0c;尤其是前两年低代码的迅速火爆&#xff0c;来势汹汹&#xff0c;号称要让大部分程序员下岗的功能…

导入pgsql中的保存的html数据到hive时,换行符无法被repalce

数据如图所示&#xff1a; 当我使用replace函数 \r\n 、\r 、 \n替换时。无论如何都无法替换 最终发现可以使用chr(ASCII码) 可以匹配到&#xff0c;坑我好久。 replace(replace(replace(replace(replace(bid_html_con, chr(9),),chr(10),),chr(13),),chr(160),),chr(32),)

EDA 数字时钟

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、数字时钟是什么&#xff1f;二、EDA里面数码管的显示1.元件模型2.参考程序3. 实验仿真波形4.实验现象5. 仿真问题 三、显示时钟1. 时钟电路模块2.参考程序3…