IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C--深度剖析--关键字(6) -> 正文阅读

[C++知识库]C--深度剖析--关键字(6)

条件判断对于我们来说,已经是非常信手拈来的事情了,这里我总结一些小小的细节,让我们更好的更深度的理解条件判断。

循环语法的深入理解

三种循环结构理解

三种循环:
while
do while
for

首先我们了解一下循环的三要素:1、循环条件初始化 2、循环判定 3、 循环条件的更新

我们先来看看while循环
在这里插入图片描述
这张图标示了循环的要素和循环的执行顺序。
基本是一个顺序的结构,while()if()其实他们两个判定逻辑是一样的,先计算得到逻辑,再去判断逻辑,最后执行。只不过while一遍后会回到二处再次判定。


for循环
for(int i= 0;i <10 ;i++)
最大的优点是语法结构紧凑,你不用担心程序太大,导致少了循环条件更新等小操作,从而导致程序bug难寻。
在这里插入图片描述


do while循环
程序一定会进入一次,怎么验证呢?我们把while后的判断赋成假,发现循环体还会执行一次才退出。
再很多游戏场景中我们会用到它。
在这里插入图片描述
我们推荐这样的写法,while写到花括号后面,并且是有 分号 的哦,不要忘记了。

死循环写法

while(1)
{ }
这里不需要多解释了,当然括号里只要是非零都可以,但是1会规范点,你如果写个8,看代码的人可能会突然愣一下。

for( ; ;)
for这样用也是可以的,以前我都没怎么用过,以后要多试试

do{
}while(1)
这里和while一样了

getchar函数和相关深剖

我们首先知道,在c语言程序运行时,编译器会自动帮我们打开三个文件:
标准输入 stdin FILE* stdin (键盘)
标准输出 stdout FILE* stdout (显示器)
标准输入 stderr FILE* stderr (显示器)
他们叫标准输入输出流

他们是一种文件指针类型的文件,我们也知道
FILE * open这个函数是用来打开文件的,上面三个函数和open是相同的类型。
为什么要用FILE * 这样的类型定义他们呢?
这是因为这样就可以用操作文件的方法,操作一切。可以控制键盘显示器硬盘等等。

我们使用C语言的时候为什么没有打开过文件呢?
我们都是直接printf(); scanf();这样直接用。
而且为什么内容会被打印到显示器上呢?
这就是因为编译器自动打开了上面三个标准输入输出流。

因为我们程序员要调试代码,要组织代码,都需要输入输出等直观可视化的内容。不然如果不打开这三个文件,我们怎么输入,怎么看输出。还得我们自己打开,编译器一看,这活它干了。

我们回到我们getchar这个函数上,它的功能是从键盘上获取字符。
在这里插入图片描述
这里可没有那么简单,我们可以看到这个getchar字符的返回值怎么是int ,按照我们的常规思维,不应该返回char吗?

我们知道char的范围是 [ 0 ,255] ,其中他们的每一位都在ascll表中有对应的意义。那如果我们 char getchar()失败应该返回什么呢?
一共8个比特位, 从 0000 0000 -> 1111 1111
哪一个都不能代表失败的意思,这256个字符都有其各自的意思。那1 0000 0000它呢?这不是被截断了吗又是0.
所以我们无法表示错误。
这就用了int 来返回了。

第二点:

我们还需要知道的一点是,当我们getchar一个字符,如果我们用回车结束,那getchar会多打印一行回车,getchar本来带一位回车。这样会打印两行回车,再去输出你输入的字符。所以一般getchar时 我们不用回车,空格就好了。

第三个关键点是:
我们从键盘上输入的所有内容 ,显示器上打印的所有内容全部都是字符 !!!

我们经常写的代码
printf ( “ %d” ,1234);
这个时候显示在显示器上的,其实都是字符,并不是数字
那我凭什么这么说?
我们拿一下printf的返回值,在打印这个返回值我们可以得到如下结果。
在这里插入图片描述
很明显时5个字符。
不仅仅printf打印出的是字符,我们从键盘输入到显示器的也是字符。不过是通过scanf的格式控制,转换了格式,把字符转换成你需要的格式并放在变量空间中。

所以我们可以更深刻的理解什么是格式化输入输出。
printf和scanf ,它们格式的是什么?
其实就是把字符格式化成对应的格式。
所以,linux中说一切皆文件,所以,我们把键盘和显示器,叫做字符设备

goto-真的很有用

void 的理解

void修饰函数和函数参数的作用

void指针的用途

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:19:22  更:2021-08-01 14:20:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/1 8:14:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码