news 2026/4/15 12:02:10

【C++入门必备】最详细入门教程(3)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C++入门必备】最详细入门教程(3)

前言

注意:只针对Windows版,如果有误,请友善指正
千百年来(其实也没有千年)
这款语言一直言传至今
它举世闻名
谈到它的人
有的恐惧,有的欢喜
这,就是C语言。

第三章·终于开始写代码啦!

四、循环语句(for、while、do-while)

AAA小剧场——
A:叮铃铃,上课啦!我们今天将学习循环语句,先来讲讲for循环吧,伪代码如下:

for(循环变量类型 循环变量名=循环初始值;循环条件;变量变化){循环执行内容}

举个荔枝吧,如果我们想要输出1~100的数,如果我们直接用c out语句一个个输出的话,那么我们的代码会变得特别长,这个时候就需要用到循环语句了

#include<bits/stdc++.h>usingnamespacestd;intmain(){for(inti=1;i<=100;i++){//表示i从1循环到100,每次循环i都要+1,循环100次,每次输出i的值cout<<i<<endl;}return0;}

当然,如果我要倒着输出1~100的数,谁会写呢?
T:这个问题很简单,只需要把老师给的代码中第四行for语句改一下即可

#include<bits/stdc++.h>usingnamespacestd;intmain(){for(inti=100;i>=1;i--){//表示i从100循环到1,每次循环i都要-1,循环100次,每次输出i的值//注意!不是i++是i--,不是<=1是>=1,千万不要写错,并且末尾不能有分号!cout<<i<<endl;}return0;}

A:小T的方法很正确,接下来我给你们一个任务:输入一个整数n,输出1~n所有的质数
质数(也称素数)的定义:当一个自然数(一般不包括0)的因数(可以被这个数整除)只有1和它本身,则称之为质数,1不是质数,也不是合数
片刻之后——
C:这个题目普及到了一个新知识点——循环嵌套,跟if嵌套同理,循环也是可以嵌套的

#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;cin>>n;for(inti=2;i<=n;i++){//1肯定不是质数,直接从2开始枚举到nboolisPrime=1;//一个是否是的布尔值,只有1和0两个值,1代表true,2代表falsefor(intj=2;j*j<=i;j++){//j依次枚举i可能的因数,如果有因数,那么直接将isPrime的值改为false,退出循环if(i%j==0){//如果可以整除isPrime=0;break;//新知识点:用break直接打断循环,注意!只能打破自己所在的这一层循环!}}if(isPrime){//如果isPrime的值=true,那么就是质数了cout<<i<<endl;}}return0;}

我的代码运用循环嵌套判断是否是质数,而用Break节省时间复杂度。
A:小C的方法非常好,完美地展现了判断质数的方法。
Q:老师,我有一个问题,为什么在判断is Prime的值是否为1时,不用写if(isPrime==1)而是直接写if(isPrime)呢?
A:这个东西就要扯到上节课的知识了,直接这样写就可以代表判断is Prime是否为1了,除了用bool可以这样写,int也可以!代表这个数是否小于0,如果是,则不执行,不是则执行。(喝口水,突然呛了几下)
C:我预习了接下来的内容,接下来还是我给大家讲讲while语句和do-while语句的使用吧!打个比方,我们还是用之前输出1~100的例子,那么用while语句怎么写呢?如下

#include<bits/stdc++.h>usingnamespacestd;intmain(){inti=1;while(i<=100){//表示i从1循环到100,每次循环i都要+1,循环100次,每次输出i的值cout<<i<<endl;i++;//注意!因为先将i赋值为了1所以要显示出i再++!}return0;}

S:那我明白了,在while语句中,只需要while(循环条件){循环语句}就行了,而i变化的操作则放在了循环语句里,定义则放在了循环之外。而且我还发现,我们如果直接在循环条件里写0及以上的数字,是不会编译错误的,它会将这个值当做布尔类型计算。

#include<bits/stdc++.h>usingnamespacestd;intmain(){string s="阿巴阿巴";while(1){cout<<s<<endl;}return0;}

这样的话它会无限输出“阿巴阿巴”,这样的话很不好,所以千万不要以为里面填1代表着循环一遍,千万别偷懒!本人亲身经历
T:嗯嗯,我也懂了,我们也可以写这么一个程序:

#include<bits/stdc++.h>usingnamespacestd;intmain(){inta,b;while(cin>>a>>b){//如果不输入A和B了,那么直接退出循环,实战中停止输入可以输入/zcout<<a<<'+'<<b<<'='<<a+b<<endl;}return0;}

Q:(内心ops:不是就我没听懂)
C:(眼神犀利,瞄准了小Q)来小Q你来写个程序,每次输入一个正整数,判断这个数是奇数还是偶数。
Q:好——吧?

#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;while(cin>>n){if(n%2==1)cout<<"是奇数"<<endl;elsecout<<"是偶数"<<endl;};return0;}

S:(清了清嗓子)嗯哼,小Q你犯了一个错误,请允许我善意地指正。在第八行末尾那个右花括号后面不能有分号。
Q:嗯嗯,我马上改!
A:(缓了过来)看来你们基本都已经掌握了,那么我们接下来学一学do-while语句。举个荔枝,do-while语句至少会执行一遍,他是先执行一遍后再去判断是否能继续执行。

#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;do{cin>>n;boolis=1;for(inti=2;i*i<=n;i++){//不同的循环也是可以嵌套滴if(n%i==0)is=0,break;//用逗号隔开可以一起在一个判断里执行}if(is)cout<<"Yes"<<endl;//如果是素数则输出Yeselsecout<<"No"<<endl;//否则输出No}while(n!=0);//注意!这里就要有分号了!return0;}

今天的课业就到这里,今天作业:
作业:
1.写一个程序,输出100遍“别人笑我穿的厚,我笑他人冻的透。”
2.写一个程序,每次输入一个数,输出1~这个数的所有偶数,直到这个数为0
3.写一个程序,每次输入一个小写字母,输出所有’a’到这个字符的字符,直到这个字符不为小写字母

下节课我们会讲数组类型,请大家阅读相关书籍提前预习,这是一个很重要的知识点!前提是你要学会循环与循环嵌套!

番外(结语,嗯对今天写得更少)

别人笑我太年轻,我笑他人死脑筋
别人笑我单身狂,我笑他人是海王
别人笑我爱宅家,我笑他人被风刮
别人笑我吃得慢,我笑他人胃病犯
别人笑我学不好,我笑他人脑袋烧
别人笑我书呆子,我笑他人文盲小子
别人笑我起太早,我笑他人把夜熬
别人笑我太单纯,我笑他人心太狠
别人笑我缺点赞,我笑他人太虚荣
别人笑我少收藏,我笑他人灰尘房
别人笑我没粉丝,我笑他人粘蛛丝
但再这样下去,我尽管笑他粘蛛丝也没用啊!快点关注我啊!!!

完结撒花(*-∀-)ノ花

你就说是不是撒花吧

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 9:11:50

Step-Audio 2终极指南:5分钟掌握多模态音频AI的完整使用方法

Step-Audio 2终极指南&#xff1a;5分钟掌握多模态音频AI的完整使用方法 【免费下载链接】Step-Audio-2-mini-Think 项目地址: https://ai.gitcode.com/StepFun/Step-Audio-2-mini-Think 多模态音频AI技术正在彻底改变我们与机器交互的方式&#xff0c;而Step-Audio 2系…

作者头像 李华
网站建设 2026/4/15 10:47:09

出海卖家在使用的软件产品形态

跨境电商软件生态已发展成一个高度成熟、分工明确的矩阵。本文围绕选品、运营、营销、供应链、数据分析等核心环节的软件工具,将其划分为以下六大核心形态: 浏览器插件: 轻量级、高渗透率,作为数据获取的“前端触角”,深度集成在浏览器中。 选品与市场研究工具: 专注于发现…

作者头像 李华
网站建设 2026/4/14 22:28:14

如何用5步快速部署GOT-OCR-2.0:全面解析阶跃星辰OCR开源模型的核心优势

在数字化浪潮席卷各行各业的今天&#xff0c;阶跃星辰推出的GOT-OCR-2.0-hf开源模型为多语言文字识别领域带来了革命性突破。这款基于Apache 2.0协议的开源OCR工具&#xff0c;不仅支持从普通文档到复杂场景的全面识别&#xff0c;更在表格、公式、乐谱等特殊内容处理上展现出卓…

作者头像 李华
网站建设 2026/4/15 10:50:15

66、流行编程语言介绍

流行编程语言介绍 在Ubuntu系统上,有许多常用的编程语言,本文将为大家介绍其中一些语言,涵盖古老经典和新兴潮流,帮助大家初步了解这些语言,为后续学习提供指引。 1. Ada Ada语言基于Pascal语言,以Ada Lovelace(1815 - 1852)命名,她编写了首个旨在由机器处理的算法…

作者头像 李华
网站建设 2026/4/15 10:48:33

4-bit量化技术突破:FLUX模型实现50%显存节省与8.7倍加速

4-bit量化技术突破&#xff1a;FLUX模型实现50%显存节省与8.7倍加速 【免费下载链接】nunchaku-flux.1-krea-dev 项目地址: https://ai.gitcode.com/hf_mirrors/nunchaku-tech/nunchaku-flux.1-krea-dev 你是否曾经因为显存不足而无法运行专业的AI绘图模型&#xff1f;…

作者头像 李华
网站建设 2026/4/15 10:52:05

终极AI数据管道自动化指南:从混乱到有序的完整解决方案

终极AI数据管道自动化指南&#xff1a;从混乱到有序的完整解决方案 【免费下载链接】airflow Airflow 是一款用于管理复杂数据管道的开源平台&#xff0c;可以自动执行任务并监控其状态。高度可定制化、易于部署、支持多种任务类型、具有良好的可视化界面。灵活的工作流调度和管…

作者头像 李华