【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 条件1if (i>5){//条件成立,输出内容printf("i大于5");}//i<5 条件2else 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最大是9for (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;
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware虚机启动报dm0 internal error xfs_want_corrupted_goto at line 1727 报错,虚机进入救援模式

k8s虚机k8s-master01节点虚机开机启动进入救援模式&#xff0c;提示 internal error xfs_want_corrupted_goto at line 1727 报错 进入救援模式后无法执行其它命令&#xff0c;只能先查询相关报错&#xff0c;再进行修复 处理办法&#xff1a; 1、查看相关报错信息 # jour…

BluetoothDevice 序列化问题

文章目录 前言思考分析定位 前言 在做蓝牙设备通信时&#xff0c;遇到一个奇葩的问题&#xff0c;公司另一个部门开发的蓝牙组件库&#xff0c;把蓝牙设备BluetoothDevice进行了序列化&#xff0c;在连接时候又进行反序列化。但是当我去调试我的项目时&#xff0c;发现发序列化…

人大金仓证书过期问题

select count(*) from sys_stat_activity select GET_LICENSE_VALIDDAYS(); 试用企业版3个月到期后&#xff0c;改为专业版&#xff0c;有效期仍是3个月 1、在kingbase用户下执行sys_ctl -D data start时报错 ./sys_ctl -D /home/kingbase/KingbaseES/data start 等待服务器进…

P1160 队列安排

这很明显是一个链表的题目&#xff0c;考链表的基础知识 开始先定义了一个结构体节点&#xff0c;里面有一个val和一个指向node结构体的指针next 然后通过typedf将linkedlist表示为一个指向node的指针 insert代表右插入 push是左插入 #include <iostream> using nam…

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-3燃烧卡路里-系统分析实例

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-3燃烧卡路里-系统分析实例 1. 数学模型2. 比例控制 Proprotional Control 1. 数学模型 2. 比例控制 Proprotional Control

建筑工程企业网站建设的效果如何

建筑工程团队也是市场重要的组成部分&#xff0c;尤其是建筑公司&#xff0c;往往更具品牌力&#xff0c;而在企业发展方面也面临多个痛点&#xff1a; 1、品牌宣传拓客难 建筑工程属于高价、长时间跟进的行业&#xff0c;因此无论需求者还是商家都非常看重企业品牌及业务纵深…

C++学习笔记(十三)

一、C对象模型和this指针 1.1 成员变量和成员函数分开存储 在C中&#xff0c;类内的成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象 #include <iostream>using namespace std;class a1 {};class a2 {int a; };class a3 {int a;static int b; };class …

基于ssm端游账号销售管理系统论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对端游账号销售信息管理混乱&#xff0c;出错率高&#xff0c;信息安全…

让你从此不再惧怕ANR

原文链接 让你从此不再惧怕ANR 这篇文章是基于官方的Diagnose and fix ANRs翻译而来&#xff0c;但也不是严格的翻译&#xff0c;原文的内容都在&#xff0c;又加上了自己的理解以及自己的经验&#xff0c;以译注的形式对原文的作一些补充。 当一个Android应用的UI线程被阻塞时…

[排序篇] 冒泡排序

目录 一、概念 二、冒泡排序 2.1 冒泡降序(从大到小排序) 2.2 冒泡升序(从小到大排序) 三、冒泡排序应用 总结 一、概念 冒泡排序核心思想&#xff1a;每次比较两个相邻的元素&#xff0c;如果它们不符合排序规则&#xff08;升序或降序&#xff09;则把它们交换过来。…

Linux内存管理(十七):percpu 机制(2)——动态分配

源码基于:Linux5.4 约定: 芯片架构:ARM64内存架构:UMACONFIG_ARM64_VA_BITS:39CONFIG_ARM64_PAGE_SHIFT:12CONFIG_PGTABLE_LEVELS :3关联博文: percpu机制(1)——框架实现 percpu机制(2)——动态分配 0. 前言 上一篇博文 我们剖析了 percpu 机制的整个框架,包括per…

大致人类应该是短时记忆和利用短时记忆控制利用周围环境达到长期记忆的吧

这里写目录标题 图代码代码解析图 代码 import timedef route_llm(route_text):passdef write_to_dask(one_sum, one_text, one_path

小程序嵌套H5

小程序嵌套H5 使用Hbuild x开发H5页面项目里面使用了js-sdk工具包H5发布完成之后生成URL。新建一个小程序空项目&#xff0c;填写小程序的appid。本地调试的时候如果报错无法打开该网页&#xff0c;那么需要勾选先的不校验。发布体验版本需要注意下面的两个配置点。 使用Hbuild…

中通快递单号查询入口,将指定某天签收的单号筛选出来

批量查询中通快递单号的物流信息&#xff0c;将指定某天签收的单号筛选出来。 所需工具&#xff1a; 一个【快递批量查询高手】软件 中通快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;并登录 步骤2&#xff1a;点击主界面左…

Spring Boot中JdbcTemplate多数据源配置

作者简介&#xff1a;大家好&#xff0c;我是撸代码的羊驼&#xff0c;前阿里巴巴架构师&#xff0c;现某互联网公司CTO 联系v&#xff1a;sulny_ann&#xff08;17362204968&#xff09;&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗…

编译 Flink代码

构建环境 JDK1.8以上和Maven 3.3.x可以构建Flink&#xff0c;但是不能正确地遮盖某些依赖项。Maven 3.2.5会正确创建库。所以这里使用为了减少问题选择 Maven3.2.5版本进行构建。要构建单元测试&#xff0c;请使用Java 8以上&#xff0c;以防止使用PowerMock运行器的单元测试失…

云计算核心技术

1.1 云计算的定义 云计算是目前业内的热点概念&#xff0c;它以开放的标准和服务为基础&#xff0c;以互联网为中心&#xff0c;提供安全、快速、便捷的数据存储和网络计算服务&#xff0c;让互联网这片“云”上的各种计算机共同组成数个庞大的数据中心及计算中心。它可以被看成…

求职智能分析系统

本项目是一个基于Flask轻量级框架的计算机就业数据可视化分析平台。 采用echarts和ajax等技术进行数据展示和用户交互。

【电路笔记】-电位器

电位器 文章目录 电位器1、概述2、电位器类型2.1 旋转电位器2.2 滑块电位器2.3 预设和微调电位器2.4 变阻器 3、电位器示例14、电位器作为分压器5、电位器示例26、变阻器6、滑块变阻器7、线性或对数电位器8、总结 当连接的轴物理旋转时&#xff0c;电位计和变阻器的电阻值会发生…

一个简单的Wireshark和TCP三次握手,为什么能难住阿里6年测试?

之前写过一篇博客&#xff1a;用 Fiddler 来调试HTTP&#xff0c;HTTPS。 这篇文章介绍另一个好用的抓包工具wireshark&#xff0c; 用来获取网络数据封包&#xff0c;包括http,TCP,UDP&#xff0c;等网络协议包。 记得大学的时候就学习过TCP的三次握手协议&#xff0c;那时候…