news 2026/5/19 13:37:58

【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/5/14 22:20:29

Armbian音频革命:彻底攻克嵌入式Linux声音系统配置难题

还在为单板计算机上的音频问题而苦恼吗&#xff1f;Armbian系统结合ALSA音频框架&#xff0c;为你带来前所未有的嵌入式音频体验。本文将深度解析如何在各类开发板上构建完美的声音系统&#xff0c;从基础配置到高级优化&#xff0c;一网打尽所有技术要点。 【免费下载链接】bu…

作者头像 李华
网站建设 2026/5/16 17:47:13

64、Ubuntu 下的 C/C++ 编程工具与 Mono 使用指南

Ubuntu 下的 C/C++ 编程工具与 Mono 使用指南 1. C/C++ 基础与 Ubuntu 工具概述 Linux 内核大多用 C 语言编写,这使得 Linux 能适配众多不同的 CPU。C++ 是 C 语言的面向对象扩展,C++ 编译器能正确编译 C 程序,但 C 编译器无法编译 C++ 代码。在 Ubuntu 系统中,为 C/C++ …

作者头像 李华
网站建设 2026/5/16 14:03:30

终极wired-elements完整教程:手绘风格组件创意开发指南

终极wired-elements完整教程&#xff1a;手绘风格组件创意开发指南 【免费下载链接】wired-elements 项目地址: https://gitcode.com/gh_mirrors/wir/wired-elements 厌倦了千篇一律的标准UI界面&#xff1f;wired-elements正是你需要的创意解决方案&#xff01;这是一…

作者头像 李华
网站建设 2026/5/11 17:52:50

大模型MCP服务:枚举参数的爱恨情仇

哈哈&#xff0c;老铁们&#xff01;今天咱们来唠唠大模型MCP服务里用枚举类型当参数的"爱恨情仇"&#xff0c;就像在火锅店选锅底——看着简单&#xff0c;但选错能让你涕泪横流&#xff01;&#x1f372;⭐ 优点篇&#xff1a;枚举的"真香时刻"1. 类型安…

作者头像 李华
网站建设 2026/5/18 12:50:37

20分钟快速上手:使用HandyControl打造专业级WPF文件管理器

20分钟快速上手&#xff1a;使用HandyControl打造专业级WPF文件管理器 【免费下载链接】HandyControl Contains some simple and commonly used WPF controls 项目地址: https://gitcode.com/gh_mirrors/ha/HandyControl 还在为WPF应用界面简陋而烦恼&#xff1f;想要快…

作者头像 李华
网站建设 2026/5/19 11:17:20

GitHub工作流终极指南:从技术原理到实战深度解析

GitHub工作流终极指南&#xff1a;从技术原理到实战深度解析 【免费下载链接】introduction-to-github Get started using GitHub in less than an hour. 项目地址: https://gitcode.com/GitHub_Trending/in/introduction-to-github 在当今软件开发领域&#xff0c;GitH…

作者头像 李华