粉丝1518获赞1.4万

三分钟哦,学 c 语言喽,每天三分钟学习更轻松。今天我们继续学习 c 语言啊, 今天主要学习 c 语言的 print f 函数,它是一个格式输出函数啊,它是把数据输出到屏幕,也就是控制台。然后呢,通过格式控制字串进行输,指定的输出数据类类型啊,它的参数是这样的,第一个参数是格式控制字串,然后呢,后面的依次是输出向一,输出向二,然后依次往后, 对吧?这是各个不同的输出项。然后呢,每个输出项呢,会替换掉格式控制字串里面的对应的位置的字母。比如说第一个整形, 实心式整数,整形有符号的,他呢是用这个第一个输出项,然后替换掉这个本报 d, 他 为什么没有替换到前面这个本报 d 呢?因为前面这有个本报号,这个本报号呢,将第二个本报号给转移了啊,他就把这个本报号当做正常的输出了,而不是把本报号和 d 放在一起进行输出啊,好,这是这个小概念。 然后呢,实心式无符号的整形呢,它是 assign 的, 可以用摆放 u 进行输出,摆放 u, 然后呢,长整形呢,可以用摆放 l、 d 进行输出。无符号长整形呢,它是 assign null, 就是 摆摆放号 l u 进行输出啊,我们可以演示一下看看效果 啊,就这四个,那摆放 d, 摆放 u, 摆放 l d 和摆放 l u 啊,然后基本数据类型除了整形,还有这个浮点数,浮点数呢,就是摆放 f 进行输出,那三点二 f, 它可以用摆放 f 进行的相应的替换输出。好双精度。浮点数呢,它是摆放 l f 啊,前面加个 l。 好,然后呢,我们也同样的看一下输出结果啊,在这里摆好 l、 f 和摆好 f 啊, double 类型的和 float 类型的进行输出。 除了整型,浮点型,还有字母型。字母型呢,我们用摆好 c, 摆好 c 进行输出。我们之前讲过, 字母型跟整形实际上是可以通用的啊,这里面我们就用同样的,我们是将一个字母通过百分号 d 进行输出,哎,这个会输出它的阿斯特码值,同样的,反过来我们把一个整形呢用字母型输出,也会输出它的对应的那个字母。好,我们看下结果, 在这里百万 c, 哎,它是可以把这个字母单个的字母进行直接输出,而用百万 d 输出一个单个字母呢,它是输出它相对应的阿斯特码。而用百万 c 呢,可以把一个整形转成对应的阿斯特码字母啊, 好,这是字母型。字母型,除了字母型之外呢,还有百万 s, 这个呢是输出对应的字母串,字母串是使用双引号去引的,而字母呢,它是用单引号,这个是有区别,要记得一下。好, 除此之外还有些特殊的,像十六精致,小写的十六精致呢,是用用摆放好 x, 那 它是这个,这是十六精致的英文啊,取了这个 x, 中间这个 x 表示,而大写的十六精致呢,它是用 百分号大 x 就 可以使出,然后呢,十六英寸的整形怎么写呢?可以用零 x 引着,然后后面跟上相应的十六英寸的数据就可以了啊,这里面是 abc, 它也是十六英寸的数据,表示十六英寸啊,好,八英寸整数呢,它是用百分号 o 进行表示,前面呢是多加一个零, 要注意前面多加一个零,他不是十进制,他是八进制。好,让我们同样的看一下运行的结果,那在这里,那这是小写的十六进制,这是大写的十六进制啊,这是呢是八进制啊,百分号小写的 x, 百分号大写的 x 和百分号 o。 好, 这是十六进制和八进制。除此之外还有特殊的列存地址, 它呢是用百分之二屁来进行输出的。取地址怎么取呢?用 andf 去加上一个变量,加上一个变量,提前定义好一个变量,然后用 andf 可以 取到这个变量的地址。然后呢用百分之二屁进行输出,它呢可以表示出来一个地址整片的宽度,我们同样的看一下结果,在这百分之二屁, 它表示一个变量的内存地址啊,那这些呢?从这开始,哎,这就是它的内存地址的总线的宽度,可以看出来,它是用十六英寸表示的,一个一位十六英寸呢,就表示四位二英寸啊,所以说它可以看出它的总总的地址,总线的宽度可以看出来。除此之外, print f 还有一些修饰符,一些特殊的特殊的修饰符可以使用。 像点 n f 呢,它是可以控制这个浮点数输出多少位小数,也就是保留几位小数进行四舍五入的。比如说点 f, 它是保留两位小数,使得进行四舍五入,我们输出的三点一四一五,然后呢,它保留两位小数呢?三点一四。同样看一下结果啊,在这 反方号点 n f, 它是保留两位小数啊,这里保留两位小数。除此之外还有一个前面加个 n d, 反方号 n d 呢,这种情况呢,它是比如说这里面反方五 d, 它是右对齐的,占多少个字母宽度?右对齐在右边,左边控住两位了,就这个意思啊,我们看一下结果, 在这转化到 n d, 它是右对齐,然后左边空出几位来啊。除此之外还有前面加一个短线啊,短线 n d, 转换到短线 n d, 它是占同样的占 n 个字母宽度,但是它是左对齐的,跟刚刚是有所区别的。同时在 在它右对齐的时候,同时在它右对齐的时候,我们可以在前面加一个零,这呢前面表示什么?表示宽度不足的时候补零,同样的看一下这两种情况,在这转化到短线 n d 呢,它是前面补上零,不足地方补上零。 好,然后科学计数法呢,它是百分号 e, 就是 中间那个 e, 它是小写的和百分号大写的 e 啊,中间那个 e 是 大写的啊。还有一个就是百分号 g, 它是自动选择百分号 f 或者是百分号 e, 是 把一个赋点数是用科学计数法或者是赋点数直接输出啊,自动选择,然后 f c, 看看结果 啊,在这那小写的 e, 大 写的 e 以及自动选择的结果。好,每天三分钟学习更轻松。

hello, 大家好,今天我们来聊一聊 c 语言当中的循环控制。呃,就是用 do, while 和 for 这三种循环语句怎么来控制程序的流程?嗯,然后怎么来用这些东西去构造一些比较复杂的重复执行的逻辑? 那我们就直接开始吧。 do while 语句的特点是先执行,然后再判断,所以它的这个循环体 至少会被执行一次,哪怕一开始这个条件就不满足。听起来有点像先斩后奏的感觉啊。对,能不能用代码来具体的表示一下?当然可以,度语句的语法是这样的,先写一个度,然后后面跟一对大括号。 在大括号里面写循环体,就是你要重复执行的代码。嗯,然后再写一个 while, 后面跟一对小括号,小括号里面写条件表达式,最后还要加一个分号就结束了。 它的执行顺序就是先执行一遍循环题里面的内容,然后再去判断外奥里面的条件,如果条件为真,就继续循环,如果为假就退出循环。比如说你要判断一个整数是基数还是偶数,并且要反复的判断,直到用户不想再继续了,这个时候就可以用度一句来做, 因为你至少要让用户输入一次数字,对吧?对,不管后面它还要不要继续,你都得先执行一次。那能不能用代码来实现一下这个例子呢?没问题,我们可以先定义两个变量,一个是 name, 用来存用户输入的整数。另一个是 choice, 用来存用户的选择, 然后就可以写度循环了。在循环里面先提示用户输入一个整数,接着用 scanf 把这个整数读进来,嗯,然后用 if 语句判断这个数能不能被二整除,如果能被二整除就是偶数,否则就是基数,并且把结果打印出来。 最后再问用户还要不要继续,如果用户输入的是 y, 就 继续循环,不是 y 就 结束循环。再来看一个输入验证的猜拳游戏的例子, 我们可以用度语句来做输入验证,比如说我们先定义一个变量 hand, 然后用度循环,让用户输入一个数字,代表他出的全, 接着判断这个数字是不是在零到二之间,如果不是,就打印一个错误提示,然后继续循环,嗯,直到用户输入了一个有效的数字才退出循环。懂了,懂了, 德摩根定律在这种条件判断里面会有什么实际的作用呢?德摩根定律可以让我们把一个复杂的条件表达式进行等价的变换,让它变得更简单或者更符合我们的需求。简单记忆的话,德摩根定律就是,如果在括号外面加上一个否,那么括号里面的元素都要去否,然后与变成或 或变成语。这个在我们写循环条件的时候特别有用。那怎么用都语句来实现对一系列整数的求和以及求平均值呢?我们可以用度语句来做这个事情。先定义三个变量, sum 用来存总和, c n t 用来存输入了多少个数, t 用来临时存用户输入的数。然后用度循环,不断地让用户输入数字,每输入一个数字,就把它加到 sum 里面, 并且让 c n t 加,一直到用户输入了零,就结束循环,最后用 sum 除以 c n t 就 得到了平均值。那我们接下来要聊的是 while 语句,这个语句在使用的时候,它的执行逻辑是怎么样的? while 语句是先判断条件,条件成立才会执行循环体, 如果一开始条件就不成立,那循环体一次都不会执行。这么说的话, while 语句和度语句的执行顺序是完全不一样的。是的, while 语句的语法也很简单,就是一个 while 后面跟一对小括号,小括号里面是条件表达式,然后是一对大括号,大括号里面是循环体。 每次循环之前都会先判断一下条件,如果条件为真,就执行循环体,然后再回来判断条件, 直到条件为假,就跳出循环。我想知道用 while 语句怎么实现从一个输入的整数开始倒数,一直数到零?我们可以先定义一个变量 no, 然后让用户输入一个数,把这个数存到 no 里面。嗯, 接着用 while 循环,只要 no 大 于等于零,就打印 no 的 值,然后让 no 减一,这样就可以实现倒数了。明白了,那如果说要连续地显示指定个数的星号, 这个用 while 循环要怎么写?很简单,我们可以先让用户输入一个数字,然后用 while 循环,只要这个数字还大于零,就打印一个星号,然后让这个数字减,一,直到这个数字变成零,就不打印了。原来是这样啊,那 while 循环里面那个数字减一的操作,放在不同的位置会有影响吗? 会有影响,放在不同的位置效果是不一样的。如果是放在打印星号之前,就是先打印再减一, 这两种写法打印出来的星号数量是一样的,但是循环结束后,那个数字的值是不一样的。我还有个问题,如果要输入多个整数,然后求它们的总和以及平均值,用 while 循环要怎么写? 我们可以先让用户输入要输入多少个数字,然后定义一个变量来计数,一个变量来存总和,接着用 while 循环,只要计数还没有达到用户输入的数字个数,就继续让用户输入数字,并且把这个数字加到总和里面,然后计数加一, 最后用总和除以数字个数就得到了平均值。哎,如果说要把一个正整数的每一位都倒过来输出, 这个用 while 循环要怎么实现?这个问题也可以用 while 循环来解决。我们可以先定义两个变量,一个用来存原始的数字,另一个用来存倒过来的数字, 然后用外循环,只要原始数字还不是零,就把它的最后一位取出来,加到倒过来的数字里面,然后把原始数字除以十,去掉最后一位,直到原始数字变成零,最后输出倒过来的数字就可以了。好的,那么我们现在来介绍一下非常常用的赋语句。 for 语句是把初步条件判断和更新操作都写在同一行,它的语法是这样的,一个 for 后面跟一对小括号,小括号里面用分号隔开三个部分,第一部分是初步只会执行一次,第二部分是条件判断,每次循环之前都会判断一下,如果为真就执行循环体。 第三部分是更新操作,每次循环结束之后会执行,然后再回去判断条件。哦,这样看起来确实很紧凑。那它和 while 循环比起来有什么明显的不同吗? 最大的不同就是 for 循环,把所有跟循环有关的操作都写在了一起,所以它的结构会更清晰,更适合已知循环次数的情况。嗯,而 while 循环的话,它的灵活性会高一些,适合那种循环次数不确定的情况。 那比如说要递增地显示从零到用户输入的整数之间的所有数,这个用 for 循环和 while 循环分别要怎么写?用 for 循环的话,就可以直接在 for 后面的小括号里面把初步条件和更新都写好, 然后在循环题里面打印当前的数就行了。对,而 while 循环的话,要先在外面初步化一个变量,然后在 while 后面写条件,在循环题里面打印当前的数,并且手动地更新变量。哦哦,那如果说要打印指定数量的星号,这个用 for 循环要怎么实现? 很简单,我们可以先定义一个变量 no, 用来存用户输入的星号数量,然后用 for 循环让循环变量 i 从一开始每次循环打印一个星号,然后 i 加一,直到 i 大 于 no 就 结束循环。那如果说要显示用户输入的整数以内的所有偶数, 这个用 for 循环要怎么写?这个也可以用 for 循环来做。我们可以先定义两个变量 n 和 i, 然后让用户输入一个数,存到 n 里面,接着用 for 循环让 i 从二开始,每次加二,这样就只会便利到偶数, 然后在循环题里面打印 i 就 行了。哎,这样的话就省掉了,每次都要判断极有新的步骤了。对,挺巧妙的。没错没错,这样写的话代码会更简洁,而且效率会更高一些, 因为它直接跳过了所有的基数。明白了,那如果说要找出一个整数的所有约束,这个用负循环要怎么实现?我们可以用负循环来做这个事情,先让用户输入一个数,然后用负循环从一开始便利到这个数,每次判断这个数能不能被当前的数整除, 如果能整除,就说明当前的数是它的约束,然后把它打印出来。懂了懂了,那我们接下来要聊的是多重循环,就是循环的欠套。那什么叫多重循环?它的典型的应用场景有哪些?多重循环就是在一个循环题里面再写一个完整的循环, 比如说在一个负循环里面再写一个负循环,这种就叫多重循环。对,它经常用来处理二维的数据,比如说一个表格,或者用来打印一些比较复杂的图形,比如说金字塔乘法表这种。哦,那如果说要打印一个九九乘法表,这个用多重循环要怎么写? 打印九九乘法表的话,我们可以用两个负循环,外面的负循环控制行数,从一循环到九,也是从一循环到九, 然后在循环题里面打印 i 乘 j 的 结果,并且格式化成一个两位数,没打印完一行就换行。听起来好像很简单啊,但是我在想,如果在多重循环里面用 break 语句会发生什么事情?在多重循环里面,如果用 break 语句,它只会跳出它所在的那一层循环,而不会影响到外面的循环, 比如说你在里面的那个循环遇到了 break, 它就只会结束里面的这个循环,然后继续执行外面的循环。这么说的话,如果我想在打印九九乘法表的时候,当乘积大于四十的时候,就不打印后面的了,直接跳到下一行, 这个要怎么实现呢?这个也可以用 break 来实现,我们可以在里面的那个循环里面加一个 if 判断,如果 i 乘 j 的 结果大于四十,就执行 break, 这样的话,当乘积大于四十的时候,就会跳出里面的这个循环,然后继续执行外面的循环,也就是跳到下一行了。我还有个问题啊, 在多重循环里面用 continue 语句会怎么样呢?在多重循环里面, continue 语句只会跳过它所在的那一层循环的剩余部分,然后直接开始下一次循环。这么说的话,如果我想在打印九九乘法表的时候,把对角线的部分空出来, 这个要怎么实现呢?这个也可以用 continue 来实现,我们可以在里面的那个循环里面加一个 if 判断,如果 i 等于 j, 就 执行 continue, 这样的话,当 i 等于 j 的 时候,就会跳过打印,然后继续执行下一次里面的循环,这样就会把对角线的部分空出来。原来是这样啊,那如果说要打印一个长方形,这个用多重循环要怎么写?打印长方形的话,我们可以用两个负循环,外面的负循环控制长方形的高度, 里面的负循环控制每一行的宽度,然后在循环题里面打印星号,每打印完一行就换行。哦。那如果要打印一个直角,在左下方的等腰直角三角形呢?这个用多重循环要怎么写? 打印这种三角形的话,我们可以用两个负循环,外面的负循环控制行数,里面的负循环控制每一行打印的星号的数量,让里面的循环次数等于外面的循环次数就行了, 这样每一行打印的星号的数量就会和行号一样,然后没打印完一行就换行。那如果要打印一个直角在右下方的等腰直角三角形呢? 这个用多重循环要怎么写?打印这种三角形的话,我们还是用两个负循环,外面的负循环控制行数,里面的第一个负循环用来打印空格,空格的数量是总行数减去当前的行号,这样就可以把星号星号的数量就是当前的行号, 最后没打印完一行就换行。明白了,那我们接下来要聊的是程序的组成元素和格式规范,就是在写 c 语言程序的时候,标识符的命名,语句的书写,预处理指令,还有常量的书写,都有哪些必须要遵守的规范?首先标识符的命名不能用 c 语言的关键字, 然后最好是能够做到建明之意,就是看到这个名字就大概知道它是用来干什么的,这样可以提高代码的可读性。嗯, 然后语句的话,它的各个组成部分之间是不能随便加空格或者换行的,比如说 if、 for 这些关键字和后面的小括号之间是不能换行的。对 预处理指令,比如 include, 它必须要写在同一行,不能换行。字弧串敞亮和字母敞亮也必须要写在同一行,不能拆开行。那我们最后来总结一下今天都讲了哪些循环语句,它们都有什么特点,然后在使用的时候有什么要注意的。今天我们讲了 do, while, while 和 for 这三种循环语句。 do while 是 先执行后判断,所以它至少会执行一次。 while 和 for 都是先判断后执行,所以它们有可能一次都不执行。我想知道这三种循环语句一般都用在什么场景下? do while 一 般用在至少要执行一次的情况下, while 一 般用在循环次数不确定的情况下, for 一 般用在循环次数确定的情况下。然后多重循环就是用来解决一些比较复杂的问题, 比如二维数组的便利打印一些复杂的图案。那在循环里面 break 和 continue 有 什么作用呢? break 是 用来跳出整个循环, continue 是 用来跳过本次循环剩下的代码,直接开始下一次循环。然后就是在写代码的时候一定要注意格式规范, 这个也很重要。对,今天我们把 c 语言里面的循环控制语句都讲了一遍,然后也讲了一些常见的应用场景和注意事项。好的,那这就是我们今天的全部内容了,拜拜。拜拜。

今天咱们来聊一聊 c 语言的基础知识,包括怎么写一个简单的 c 语言程序,怎么让计算机去显示一些计算的结果?嗯,然后怎么去使用变量,怎么去从键盘读取一些输入,以及一些基本的数据类型。好的,这些都是很适合初学者的内容,那我们就开始吧。咱们先来说第一个, 就是怎么用 c 语言去显示一个计算的结果,比如我现在想让程序输出十五加三十七的和这个代码要怎么写? 这个很简单,你只需要这样写,首先得引入一个标准的输入输出头文件,然后呢,在主函数里面,用 studio 头文件中定义的 print f 就 可以把这个结果打印出来了。后面我们会介绍具体的语法细节。咱们先来聊聊这个程序的入口,也就是 main 函数, 嗯,它到底在一个 c 语言程序里面扮演一个什么样的角色?其实内函数它就是一个程序的大门,对所有的 c 语言程序执行的时候都是从内函数开始的, 就是你写的那些代码逻辑想要跑起来都得先经过这个 main 函数。能不能给我们写一下这个 main 函数的标准格式长什么样子?当然可以,这个是它最标准的一个写法, 就是 int main void, 然后后面跟着一对大括号,嗯,在大括号里面你可以写你的程序功能。最后是 return 零,就是这是一个完整的 main 函数,这里面的这个 return 零它到底是干什么用的?这个 return 零就是代表函数执行完了,然后它会给系统返回一个状态码, 对,那返回零就表示一些正常任务完成了,如果返回一个非零的值,通常就是表示程序遇到了什么错。其实 c 语言里 main 函数的格式和普通函数一样,有返回类型,通常为 int, 有 参数列表。我们这里的 void 表示参数列表为空大,括号部分是函数体。 main 函数是整个程序的唯一入口点。操作系统启动你的程序时,它知道从 main 函数开始启动你的程序。这是 main 函数与普通函数最本质的不同。普通函数可以被随意调用或忽略,但 main 函数是必须的。 明白了,然后我们再来看看这个 include 指令。这个 include 它到底在我们的程序里面扮演一个什么样的角色。井号 include 是 一个预处理指令,会在我们的代码翻译之前,把别的文件的内容直接插入到当前文件里面。对,相当于你可以把它想象成 给你的程序引入了一些现成的工具。那这个 s, d, d, i, o 点 h 是 什么呢?为什么我们几乎每个 c 语言程序里面都要用到它 s, d, d, o 点 h? 它其实是一个标准输入输出的库文件。嗯,那里面就装着 printif 和 scaff 这些我们常用的输入输出函数的说明书。 对,如果你没有把这个 stddl 点 h 包含进来的话,那编辑器就会不认识 printif 和 scaff, 然后它就会报错。好的,那么下面我们就在编辑环境里操作一下。首先加载标准读写头文件,然后创建主函数,完成函数体的业务内容。 点击运行观察结果,这里显示的是十五加三十七的结果,五十二符合我们的预期。 我很好奇就是这个代码,它到底是怎么从我们写的这个东西变成计算机能够执行的一个程序的?是这样的,我们写的这个程序呢,叫做原程序,它其实就是一堆字符的序列。 那这个原程序呢,需要经过一个翻译的过程,这个过程也叫翻译哦,翻译之后呢,会生成一个目标文件, 然后再经过链接,才会变成一个计算机能够直接执行的可执行程序,它是由零和一组成的一个位序列。原来如此, 那这个 printf 函数在显示计算结果的时候,它的格式复制串和转换说明到底是起什么作用呢?比如说我们写 printf 括号十五与三十七的和式百分号 d, 这个双引号里面的内容就是格式复制串,它决定了我们的输出长什么样子。 那这个百分号 d 就是 转换说明它会被后面这个十五加三十七的结果去替换掉。后面的下划线 n 代表换行,所以最后输出的就是十五与三十七的和是五十二,然后换行。我明白了, 那这个 printf 函数里面除了显示数字之外,还可以做些什么别的事情吗?当然可以啊,你看这个例子, printif。 您好,后面连续三个下划线 a, 这里的下划线是转移符,下划线 a 和下划线 n 类似,都是转移字符,它的作用是让计算机发出响铃声,所以运行这个语句,屏幕上会显示,您好,然后响铃三次,最后换行。哎,这个很有意思啊,那接下来我们要说的是变量, 在 c 语言里面,我们怎么去声明一个变量,然后怎么给它赋值,怎么把它的值显示出来呢?你可以这样,比如你要声明两个整数类型的变量, v x 和 v y, 你 就写 int v x v y, 然后给 v x 赋值的话,就 v x 等于五十七 哦,那 v y 呢?你可以让它等于 v x 加上十,就是 v y 等于 v x 加十。如果我只是声明了一个变量,但是没有给它赋值,直接把它的值输出会怎么样?这样的话,它输出的就是一个不确定的值,因为你没有促使化,所以它可能是任何值, 每次运行的结果都可能不一样。那我要是想在声明变量的同时就给它一个出使值,这个时候代码要怎么写?这个很简单,比如你可以这样写, int v x 等于五十七,然后 int v y 等于 v x 加十哦,这样的话 v x 一 开始就是五十七,然后 v y 就是 v x, 加上十,也就是六十七。懂了。 然后我们来探讨一下关于输入和显示,就是在 c 源里面,怎么能够让程序去读取用户从键盘输入的一个整数,并且把它显示出来。这个你可以用 scanf 函数, 比如说你要读入一个整数,首先你要声明一个变量来存这个值,比如 int no, 然后可以通过 printf 函数打印一个提示信息,请输入一个整数,然后通过 scanf 函数将一个满足百分号 d 要求的值存入 no 中。这里的百分号 d 是 decimal 实景制的缩写,是 c 语言格式控制符,专门对应 int 类型 no 前面的 and 符号是取地址符,在这里即表示获取变量 no 的 内存地址,用于存储输入的值。我想让用户输入两个整数,然后把它们的核显示出来。这个程序要怎么写?这个也很简单,首先你要声明两个变量来存这两个整数,比如 int n 一, n 二。 然后用 printf 和 scanf 来分别提示用户输入,并且读取这两个整数,最后用 printf 把它们的核打印出来。 在 n 一 n 二定义中的这个逗号是变量声明的分格符,作用是在同一条声明语句中同时声明多个相同类型的变量。 注意,我们将 printf 和对应的 scanf 写到了同一行,这样也是可以的。 c 语言对格式并没有严格的要求,对于编辑来说,它只关心分号的位置。分号是 c 语言的语句结束符,作用是告诉编辑器这一条完整的语句已经结束了。 那如果是想要计算一个长方形的面积,然后把结果显示出来,这个程序具体要怎么写,包括它的输入和输出要怎么实现。你可以这样,首先你要声明两个变量,一个是长,一个是宽,比如 int width height。 然后用 printf 来提示用户输入长和宽,再用 scanf 来读取这两个值,最后用 printf 把面积计算出来,并且打印在 c 语言中心号符号代表乘法运算符,在这个例子中, w 乘以 h 的 结果会替换掉字母串里的占位符百分号 d。 好的,今天我们一起写了一些简单的 c d n 程序,然后也了解了变量输入、输出,还有一些基本的格式控制。没错,那这就是我们今天的全部内容了,我们下期再见吧,拜拜!拜拜。

这节课我们来学习 c 语言中 printf 函数的缓冲区问题。首先请大家看这两行代码 hello world 是 会立即输出还是等待三秒之后才输出?我们翻译运行一下, 大家会发现程序先等待了三秒之后才输出 hello world, 这是什么原因呢? 原来 print fee 存在行缓冲机制,输出内容不会立刻打印到终端,而是先存入缓冲区,等到满足一定条件后才会刷新并显示。那有哪些刷新条件呢?我们分成三类来讲。第一种,主动刷新, 通过调用 f flush 函数手动刷新缓冲区。第二种,换行触发输出,字务涮中包含换行符 n 时,会触发默认刷新规则。第三种,被动刷新,比如程序正常结束,缓冲区写满,或是遇到输入操作时,也会自动刷新缓冲区。 接下来我们依次演示这三种刷新方式。首先是主动刷新,调用 f flush, 大家可以看到内容会立即输出。接下来演示第二种,换行触发,加上换行后,运行程序会立刻输出 hello world。 然后是第三种,被动刷新, 比如程序正常结束时,系统会自动刷新缓冲区。除此之外,缓冲区写满时也会自动刷新,我们可以通过大量输出演示这一点。 最后当程序遇到 scanf、 getchar 这类输入函数时,也会强制刷新缓冲区。 以上就是 printf 行缓冲的三种常见刷新机制,本节课就到这里。

switch 一 写就报错,别怕三十秒!记住表达式 case break 三件套下角免费领取 c 语言分支全家桶模板抄作业秒懂! 第一,判断条件, switch 后面的括号里必须放整数类型的东西,比如 input 变量、叉二变量或者结果是整数的表达式。这里要划重点,只能是整数,浮点数,比如三点一、四字母串,比如 abc, 都不行任意直接报错, 而且它只支持等于判断,不能做大小比较。第二,分支标签,每个 case 后面跟的是一个编辑期就能确定的常量,比如 case 一 case a, 程序会根据 switch 表达式的值直接跳到对应的 case 开始执行。第三,兜底选项,也就是 default。 所有 case 都没匹配上的时候,就会执行 default 里的内容,它不是必须写的,但强烈建议加上万一遇到没考虑到的边界值,能帮你避免逻辑漏洞。踩过坑才懂这些注意事项必须记牢! 首先, break 不 能随便省,这是最容易踩的坑。如果某个 case 后面没写 break, 代码就会贯穿到下一个 case 里继续执行。比如 case 一 的代码跑完没 break, 就 会接着执行 case 二的逻辑,这大概率是 bug。 但也有例外,比如多个 case 需要执行完全一样的代码时,刻意不用 break, 能少写重复代码,不过这种情况一定要加注示说明,别让别人包括以后的自己看懵。另外, case 标签不能重复, 每个 case 后面的常量值必须是唯一的,比如同时写 case 二和 case 二,翻译肯定通不过,这个是基础要求。 最后说个细节, case 和 default 下面的代码块不用强制加大括号,但如果分支里要定义变量,必须用大括号包起来形成局部作用域,不然会出现翻译问题。就算不定义变量,多写几行代码的时候缩进做好也能让代码更清楚。

小伙伴们大家好,这节课呢,我们继续来说 c 语言相关的知识。本节课呢,我们来说 printf 函数,这个 printf 函数在上节课的时候我们已经用到了,通过 printf 呢,打印了一个 hello world, 但是我们并没有详细去讲解这个 print 的 函数,所以这节课呢,咱们单独拎出来来说一说它这个函数的作用啊,其实就是将文本输出到屏幕上,而且为了使用这个函数呢,在上节课的时候,我们还特意去引入了一个头文件,为什么要这么做呢?咱们来看描述, 他说啊,程序需要使用到一些功能,不一定需要自己编辑, c 语言呢,可能已经自带了, 程序员呢,只需要去调用这些自带的功能,就省去了自己编辑代码了。举例来说, printf 这个函数,它就是 c 语言自带的, 只要去调用它就能实现在屏幕上输出内容了。而 c 语言自带的所有这些功能啊,统称为标准库,就如我们刚刚所引入的这个内容,这个内容,它其实就是一个标准库, spdio 的 一个标准库。好,那我们接着往下看,他说因为啊,这些呢,是写入到标准的,到底包含哪些功能,应该怎么去使用,都是规定好的,只有这样才能保证代码的规范和可移植。 那刚刚我们说到了标准库,这个标准库还有一个称呼叫头文件,有的时候我们会叫到标准库,也有的时候我们会叫到头文件,因为口语上我们一般都叫头文件啊啊,这个头文件你没有引入,那个头文件引错了等等这样的说法。 好,我们接着往下看,他说不同的功能定义在不同的文件里面,这些文件统称为头文件。 如果系统自带的某一功能,就一定还有自带描述这个功能的头文件。比如我们之前所用的 print f 这个函数,这个 print f 函数,它的头文件就是系统自带的 s、 t、 d, i、 o 点 h 这个头文件。 头文件的后缀呢,通常是以点 h 结尾,所以一般我们看到点 h 结尾,我们就知道这是个头文件了。如果要使用某功能,就必须预先去加载对应的头文件,加载使用的 是是这个 include 命令,哎,这个时候我们就知道为什么我们这要写一个井号 include 了,因为这个井号 include 就是 什么,就是我们加载头文件的一个命令,对不对啊?这就是为什么我们在使用 print f 之前,必须先加载 spdio 点 h 的 这个头文件的原因了,对不对?好,看到这里我们才知道啊,为了使用这个 print f, 我 们去引入了这个头文件,通过 include 的 这个命令去引入了哪个头文件? s、 c、 d, i、 o 点 h 这个头文件写法时左右还需要加上尖角号,这是系统或者说是 c 语言自带的,对不对? ok, 那么接下来我们再增加一点内容,既然我们说到了 print f, 我 们 print f 还可以做一件事,就是换行操作, print f 不 会在尾部自动去换行,那这样我们在这里再新建一个文件,叫零二下划线 print f 点 c, 我 们可以把之前所写的这个代码复制一下,给它粘贴到我们零二这个文件当中,然后我们运行这个文件。 好,大家可以看到这面打印了一个 hello world, 但是它这个 hello world 的 后缀后尾尾部这里它是不会自动换行的,那我们可以让它进行换行,怎么操作呢?它说 光标就停留在结呃,输出结束的地方,不会自动换行,对吧?为了让光标能换到下一行的开头,可以在文本输出的哦,可以在输出文本的尾部添加一个换行符,叫杠 n 啊,注意这个是正斜杠杠 n, 那 我们可以操作一下,在这个 hello world 后面加一个什么?加一个杠 n, 哎,注意啊,写错了,杠 n 啊,写成中文的了,对吧?加一个杠 n 之后我们再来运行,哎,往下看,你会发现这个跟我们上面打印不一样,上面这个 hello world 他 直接跟着了一个,当然后我们下面这个 hello world, 这就这里, 你看啊看,这里明显还有一行的空隙,后面才是这个档,说明什么?说明换行了,你看光标是可以点到 helloworld 的 下一行的, 这就是我们的换行操作。当然这个换行操作它不仅仅可以在尾部换行,还可以在文本的内部进行换行,所以他说如果文本内部有需要换行,也可以插入这个换行符来进行实现。比如我们希望 helloworld 中间能进行换行操作,那我们就可以这样来操作。 在 helloworld 当中,在这里我们不加空格了,把空格删掉,跟一个斜杠 n, 这个就是在 helloworld 中间实现了一个换行。我们再来运行,大家看一眼, 看最新的这个打印信息,它是将 helloworld 换成两行来进行展示,这就是在文本中间来实现换行的操作, 当然呢,我们不仅可以实现换行的操作,我们还可以实现这个占位符的操作。什么是占位符呢?咱们来看描述,它说 print f 可以 在输出文本中指定占位符,所谓的占位符啊,就是这个位置可以用其他的 值来进行替代,比如我们希望输出一个 three are, 呃, three are there are three apples, 对 吧?就是这有三个苹果,这个三啊,可能是三,也可能是四,也可能是五,那这个 它是一个可变的数字,那这个可变的数字呢,就可以用占位符来进行操作,那怎么操作呢?我们给大家演示一下。好吧,这样我们在这里呢再来多一个 print f 的 输出。 print f 所输出的内容呢?我们这里呢可以复制一下啊,大家可以看到 there are three apples, 对 吧?然后我们后面要注意记得加分号结尾, 否则就会报错,我们将这里的内容呢清空一下,再来进行输出,这个时候我们就会输出一个,大家看啊,这有一个 there are three apples, 对 吧?但我们刚刚说了,这个三呢, 它可能是三,也可能是四,也可能是五,那你不能老去这里去改动三四五,所以这个三啊,我们可以用一个占位符去进行替换。怎么替换呢?用百分号 i 来代表这个占位符,所以这里边我们可以写成这个三,给删掉,写成一个百分号, 然后跟一个 a 就 可以了,然后在我们这里加一个逗号,注意英文中下的逗号,然后再传入一个数值,比如我们传入一个四, 看到了吧,这个时候我们再来运行,你会发现这个三将被四的代表看, there are a, 呃,这就变成三,就这就变成了四,比如说这我们还可以换成原来的三,再来运行,它就会变成原来的三,看这里 是不是变成原来的三了呀?没有任何问题。而这个百分号 r i 就 被我们称为是占位符,所以你看这里边有一段描述, 他说这一段的文本输出中的百分号 i 就是 占位符,表示这个位置要用其他的值来进行替换,也就是我们逗号后面的这个值来进行替换。占位符的第一个字母一律为百分号,第二个字母表示占位符的类型。 老师,什么是类型啊?还不知道呢,当然我们现在没有学类型啊,我们简单的给大家举个例子吧,比如说拿数学来说, 在数学中数字是有类型的,比如说有这个整数小数,对吧?分数啊,还有自然数啊,等等吧,有各种类型去区分。那在我们程序当中,他的这个内容啊, 也是有类型的啊,比如说有数字类型,有文本类型等等。而这个 i 呢,其实代表的是 int, 哎,大家应该还记得 int 吧,代表什么?整数?这个 i 代表的就是整数,所以大家可以看到百分二 i 代表这里需要入,呃,需要代入的值必须是一个整数 啊,除了整数还有没有其他的?有啊,比如还有字母串,字母串叫 string, 用 s 符号来进行代表,用 s 符号来进行代表。所以大家可以看到输出文本中可以有多个单位符,我们在这个多个单位符当中就可以增加一个百分号 s, 那 这样我们来写一下,好吧,在这里我们增加一个 print f, 然后, 呃,在这里我们加一个双引号,在这个时候我们可以把这个文本给复制过来,扔在这里,这里的换行咱们就不要了啊, 加一个分号结尾,大家可以看到,在这个里边我们增加了两个占位符,通过颜色大家也可以区分出来,一个百分号 s, 一个百分号 a, 这个百分号 s 代表的 s 就是 字母串 啊,百分号 a 代表的就是数字,所以在这后面我们要传入两个参数,呃,第一个是字母串,比如说 an, 这是字母串,后面这个是数值,比如说传一个十,可以吧?这个时候我们再来运行,你会发现我们所输出这个文本当中啊, 他的这个百分号 s 这个部分呢?就,哎,这里我们把这两个给注视啊,这样吧,我们加个换行在这后面啊,要不然他就看不出来了,对吧?好,我们再来运行啊, 好,再看打印,大家可以看到这里的原本的那个百分号 s 被 i 所取代了,对不对?然后说了什么?什么?现在是十点钟,对吧?好,大家看这个十就被百分号 i 所代替了,对不对? 好,这个就是我们的占位符,除了占位符呢,在输出的格式上我们也可以做一些文章, 他说不是 f 可以 定制占位符的输出格式,比如说可以限定宽度,还可以限定小数点的位数,因为我们可以输出小数吗?小数呢?你还可以输出有多少位的小数,就是给他控制一下,好,我们一个个来看啊。 先来看这个限定宽度,百分号五 d 表示这个占位符的宽度至少为五位,如果不满足五位 对应的值,后面会以空格来进行添加,我们演示一下吧。好吧,这里边我们为了大家能看到整行的内容呢,我们还是让它换行一下,在这里我们再来一个 print f, 在这个双引号当中我们来写一个百分号五 d, 看到了吗?来一个百分号五 d。 好, 这里,呃,百分号五 d 呢?就代表这个五啊,就代表至少有五位的内容,比如说我们这样 写一个什么呢?写一个就写一个一二三吧,可以吧?好,然后我们把下面清空一下啊,再来重新运行,大家来看一下最后一个输出。 呃,我们这样啊,把上面这个输出呢,我们可以先删掉,一会我们再给他还原啊,这样的话就不打扰大家这个看信息了,对不对?好,我们再来输出,大家可以看到这里边输出了一个一二三没问题,但你会发现这个一二三的前面还有两个空格的位置, 你看这里有两个小点,看到了吗?是能能能看出来吧。好,这里边我们来这么来看啊。 好,大家看这里边在一二三前面两是不是有两个小点啊?一个点,两个点,每个点代表一个空格,所以这代表两个空格。 为什么呢?会有两个空格呢?因为我们在这里边是不是写了一个百分之五 d 代表什么?至少要有五个位置,刚刚这面的文档也说了,至少占五位,对不对?而现在我们的一二三只有几位,只有三位不足怎么办?在前面用空格来补全两个位置,一共有五个位置的长度。 好,大家看,所以我们来说是这个样子,对不对?好,我们把它还原一下啊,把原本我们删掉的给它拿回来,因为大家可能要做参考,对不对?好,除了限定宽度之外,我们还可以限定小数点的位数,比如说我希望小数点后面保留两位,那可以写占位符来进行处理,就是百分号 点二 f f 代表 float, 单精度就代表小数的意思。啊,好,这里我们写一下,这里呢,我们还是加一个杠 n 来进行换行,然后在这里边我们 print f 来写一个。什么写法?是什么写法?是百分号点二 f, 比如说我们就拿这个来说啊,把这个文本咱们粘贴过来, numbers is 这个数字是百分号点二 f, 后面我们加个逗号 多少?后面比如写个零点五,我问大家,这个零点五是小数点后几位只有一位,对不对?而我们这边百分点二 f, 他 明显二代表小数点后面的两位,那他会怎样?他会自动在零点五后面再补一位,咱们运行,大家看一眼啊。 好,我们看最后这个文本内容啊。看这里,你看小数点后面是零点五零,因为不满足两位,我们就用零来进行补位,如果是满足呢?比如说零点五一二,那他会把最后那个二给干掉,大家看 变成了什么?变成了 number, 零点五一,对不对?把后面那个二那个位置给干掉,就是强行限制小数点后面只有两位数,这样的需求在我们程序当中是比较常见的。好, 那你可以看到我们的 print 还是可以做很多事的,就我们的 print f 这个打印的函数还是可以做很多事的,不仅可以打印文本,还可以换行,对吧?还可以限定宽度,还可以限定小数点的位数等等。 啊,这个就是我们 print f 函数的一些常用内容了,后续呢,我们还可能会用到更多关于 print f 函数的操作。那再遇到新的,我们再给大家讲解。好吧,感谢各位聆听,咱们下节再见。

小伙伴们大家好,这节课呢,我们继续来讲 c 语言相关的知识,接下来呢,我们来说转译字母,那转译字母有什么作用呢?我们通过一个小趣闻啊来了解一下。 话说有一个外地人来到了武汉,问当地市民,你们武汉市长是不是叫江大桥啊?那武汉人说,当然不是啊,外地人就很好奇,就发问说,那我过江的时候怎么看到了一副标语,武汉市长江大桥欢迎您呢?你看,中文的博大精深就出来了,对不对? 这句话呢,既可以翻译成武汉市长江大桥,也可以翻译成武汉市长江大桥,是不是啊?那么为了不引起歧义,我们可以在武汉市这个中间加一个空格,或者是将武汉市和长江大桥划分为两行,那如何操作呢?那就需要用到我们所说的转译字母了, 那写个代码给大家演示一下,好吧,来到我们的开发者工具当中,在这里呢,创建一个新的文件零三,可以叫 t m 吧,点 c 可以 吧,在这个里边呢,我们首先写一个主函数, return 一个零,那这里呢,我们就可以去打印了,对吧?在打印前呢,我们需要引入一个头文件, s t, d, i o 点 h, 是 不是?然后在这里呢,我们就可以通过 print f 来实现一个打印了,那我们就打印一个武汉市长江大桥, 好,我们右键运行一下,大家可以看到,在这边呢,就显示了一个文本信息,武汉市长江大桥,为了让他不引起起义呢,我们希望在武汉市和长江大桥中间呢,能加一个空格,怎么加呢?大家看啊,在武汉市这里,我们加一个 反斜杠,反斜杠是哪个按键?是回车上面那个斜杠啊,回车上面那个跟管道符号在一个按键上的那个才是我们的反斜杠,而斜杠呢,是问号按键,也就是 shift 旁边那个按键,那叫斜杠。我们这里要写一个反斜杠,后面加一个 b, 字母 b, 这个时候我们再来运行,你会发现不一样了。哪不一样了?我们的武汉市和长江大桥中间多了一个空格,当然呢,除了加空格,我们还可以加换行,比如我们斜杠 n 就 可以来实现一个换行,那这样两行的打印中间我们加一个换行,可以吧? 清理一下,我们再来输出,你会发现武汉市和长江大桥中间是分开两行的,对不对?武汉市是一行,长江大桥是另一行,那这样的话也不会再引起歧义了。我们这里无论无论看到的是杠 b 还是杠 n, 都被我们称为是转译符。 好,那接下来我们来看一下关于转移字母的基本概念,他说转移字母的核心啊,是一个反斜杠,看到了吗?一个反斜杠,他转移了后续字母的常规意义,其 啊就使其代表特殊功能。例如单独的 n 只是一个字母,那杠 n 就 代表是换行,就是斜杠 n。 啊,反斜杠啊,应该叫反斜杠 n 代表就是换行了,就是我们所看到这样反斜,如果是 b 呢?单独的就是一个字母 b, 比如说我们在长江大桥,长江中间加一个 b, 但它单纯的只是一个 b, 你 看长江 b 大 桥对不对?好,我们加一个,在它 b 的 前面加一个反斜杠的情况下,哎,它就变成了什么,它就变成了空格, 看,他就变成了空格,所以归根结底啊,转移字母的核心就是这个反斜杠,让他具有了特殊的意义。好,那么常用的转移字母还有很多, c 语言定义了一系列标准的转移字母,下面呢,给一些常见的,比如说杠 n 换行杠 t 水平制表符,杠二回车,杠 b 退格,杠 f 换 e 杠。单引号代表是将单引号能输出出来, 杠双引号代表着输出双引号,杠杠代表是输出一个反斜杠,杠零代表是输出一个空字母, 对不对?那比如我们这里可以演示一下,老师,我想打印出来一个双引号的内容,能不能行?就是输出的内容当中,比如说输出一个 hello world, hello world 用一个双引号括起来,能不能做到?可以,这里呢?我们换行一下 word, 在 这里边我们就写一个 hello word, 我 想将这个 hello word 打印出来,而且打印的时候加一个双引号,怎么办呢?如果你直接写双引号,那这明显是违规了,对吧?因为双引号是属于我们 c 语言的那个, 呃,关键符号对不对?那你可以在前面加一个反斜杠,后面也是单独双引号,不行,在双引号前面加一个反斜杠,这个时候我们再来输出,你会发现这个 hello world 就 不单是单纯的 hello world 了,而是加了一个 双引号,对不对?就像我们平时生活一样,比如说老师,我想 print 打印一个 f f, 里边打印一个呵呵, 原本啊呵呵就代表笑的意思对不对?但是现在的呵呵呢,就不代表笑了,一般代表骂人的话对不对啊?所以我们为了让他代表骂人的话,我们可以加一个斜杠啊,反斜杠啊,双引号, 后面呢也加上这个时候我们再来输出,那这个呵呵呢,就变成了有双引号的呵呵了,就不代表笑的意思了,而代表骂人的意思了,是不是?好,我们清空一下,那这样的话就是我们转译自辅的作用。当然呢,我们只演示了一个双引号,单引号也是如此, 呃,斜反斜杠也是如此,杠零空空字母也是如此,还有杠 f, 杠 b, 杠二杠 t, 杠 n, 大家可以自己手动的去操作一下。 ok, 那 么关于转移字母呢,我们就说到这里,感谢各位聆听,咱们下节再见。

哈喽,小伙伴们大家好,我是陈星。在上期视频我们看了 v 操作预算符,本期视频呢,我们将剩余的运这个什么 预算符都拿它看完啊,我们继续看复制预算符。什么是复制预算符?复制 等于,就比如我们的等于等于跟双等于,你不能混淆啊,双等于就才是那个这个双等于,他就是数学中的那个等于号,就等于他是负值运算符啊,这个不能搞混了,新手容易混。然后加等于零等于乘等于五等于 什么?还有什么曲沃等于那什么,这个未操作等于或等于 什么等等等等等等,这些都是负极去算负的。你比如这个加等于什么意思呢?它就等于 a, 呃,加等于 b, 它就是什么?它就是相当于相当 a 等于 a 加 b, 这就不多说了啊,看第六个,第六个是条件计算符, 也就是我们唯一的一个三步运行条件运转 运转符。 这个是什么呢?就是一个问号,然后一个那个什么冒号。它格式我们得看一下格式是什么?就是表达式,呃,一,然后问号 表达是二,表达是二,然后冒号,然后表达是三。什么意思呢?执行逻辑。 执行逻辑是什么呢?就是什么如果, 嗯,看什么?先判断表达是一。嗯,如果为真,为,如果为真,它就执行表达是二, 执行表达是二,如果为假,就执行表达是三,结果呢?就作为 整个三位数的最终,这也叫做三位数。 在我愿我给来举个例子,来用一下 来举个例子,同样的 int l int a 等于五, int b 等于二,然后我们直接 print f, 嗯, 反另一个结果吧,我们将括号括掉, a 大 于 b, 问号, a 是 不是大于 b? a 大 于 b 吗? two of box, 看下这个结果是多少?我们将这个括号括起来, 反为一吧。 two or four fours 有 点对, 来看一下几 c? c 除以一点, a 是 不是大于 b? 我 们先来看 a 是 不是大于 a, 大 于 b 就 反为一,我的就反为二。那这个题肯定是反为一的呀,对不对?如果小于呢? 看到没?是不是返回二,它这个 sum 计算符就是这么的就没用的呀?这个就不多说了,听都应该明白吧。可以我们再看第七。第七个,什么?逗号运算符, 逗号运算符啊,逗号运算符就是逗号,它当然也有这些格式, 格式格式就是什么?表达是一,逗号表达是二,逗号表达是三啊,逗号,然后嘚嘚嘚嘚嘚。 执行逻辑是什么?执行逻辑,执行逻辑呢?就是先算,后面还有个选项,表达是 表达是一啊,然后再算表达是二,等等等等等等等等, 最终啊结果它就等于什么?表达是 n 的 值, ok, 我 们可以去看一下, 我们来举个例子,那我先换一个, 嗯, a 乘 b, 逗号六,扣起来, a 乘五, a 乘六, ok, 我 们来看这个结果是几?三十,对不对? 你前面 a 乘五是几?二十五,后面 a 乘六就等于三十,那如果你改一下, a 等于 a 乘 六,十几呢?一百五,对不对?所以说结果就是最终值嘛,最终值就是 a 乘六嘛,或者你改一下, 你或者你感觉 b 乘二,你就管最后一个四就行,前面就可以不用看了,对不对?那最终结果就是这样,对不对?二乘二, 它就是什么结果,就等于最终这个表达是 n 的, n 的 值,就看最后一个嘛。然后我们再来看第八个,指尖月下福。指尖这边大家详细讲解。指尖月下福, 哪两个呢?呃,哪两个呢?一个是解例子,还有解例子。呃,解一下前面的这个叫解引用符,解 解引用符,后面呢这个是解引用符,后面这个叫取地址符。取地址符。解引用符是干嘛的? 解引用符,它就是通过地址访问对应的变量,通过地址访问对呃访问对应的变量, 取地址符呢就是获取变量地址,获取变量的地址,对, 好。第九个求字节数运算符,这个之前你介绍过了, size 我 就不多说了,下一个,下一个就是特殊运算符。特殊运, 我们把键盘点结果你会用到它点阅上,我们它叫做点阅上,它有个箭头运算符,我们叫它箭头运算符,这个后面都是结构体的边, 这个叫做呃,点运算符,这个叫做箭头运算符。 那么点到底是个什么呢?点它作用就是干嘛?就是结构体变量。嗯,结构体变量点 这边其实不用空格的,但我为了那个什么,呃,明显就空一下成员名,后面讲到再看,目前只能这样缩,不懂也没有关系。 箭头右转,我们是 r, 这什么结果?你只扔哦,只扔往上,这边不需要空挡。为了好, ok, 这些呢?就是呃所有的这个运算符, 这样预算我又讲完了,对不对?物质预算符、条件预算符、逗号预算符、时针预算符、 求次结束预算符、特殊预算符,以及我们前面讲的什么算术预算符,还有什么算术预算符,算术关系逻辑,还有暗位, 对不对?前面四四个加这边的六个,一共是十个圆圈,下一个视频我们来将这十个圆圈符的优先级拍一拍,让它们的结合性 来在最后再做一个总结吧。 ok, 本期视频就到这里,小伙伴有什么问题的话可以在评论区留言,或者进我主页的一个群。

我们来看这个题,输入字母,判断输入的字母是什么类型的字母,就是是大写字母,小写字母,数字还是其他字母。那么我们的解析思路,第一步定义字母变量 变,并从键盘呢输入一个字母。 第二步呢就是挨个来判断 该字母,嗯,是大写,嗯,小写数字还是其他字母? 我们来看怎么实现第一步呢?我们定一个字母型面料叫 c, h。 啊,我们可以加一个提示,请输入一个字母。 之后呢,我们可以使用 scanf 来输入,也可以使用 getkey, 那 么我们此处呢使用 getkey。 接着呢,我们来判断该字母是大写字母,那大 a 等于 a, 并且 c, h 要小于等于 z 的 这一种,说明它是大写字母,这我们就输出, 嗯,该字母是大写字母。 接着呢,我们来看一下,使用 l, s, f 来判断它是否是小写字母,那我们就写一个大于等于小写的 a, 并且 c, h 小 于等于小写的 z, 那 这个时候呢,我们就说它是 小写字母。 下面呢,我们还可以判断的是数字字母,我们写一个 l, s, f, c, h, 如果大于等于零,并 且 c, h 小 于等于九的话,那说明它是一个数字字母。 最后呢,剩下的这一些,我们可以把它归为其他字母里面,所以说我们节省用 l 来判断就行。 好了,我们来判断一下,来执行一下, 咱们在测试的时候啊,最好每一个分值都测试一下。一边我们输一个大写的 f, 那 这个时候呢,它提示是大写字母, 如果我们输一个小写的你们 d, 那 这个时候呢,提示是小写字母,我们再输一个数字字母,你们说八,那这个时候呢?它提示是数字字母。 如果你输入一个其他的符,你比如说艾特符,那这个时候它其实是其他字母,这个题呢?就判断完了。