粉丝3.6万获赞15.8万

注意刷视频暂停!先来三十分钟速成一下 c 语言, 这个表格里列出了所有重要知识点,咱们一个一个攻克。这是一段最简单的 c 语言程序,它能让计算机输出一句 have a word, 好 给大家十秒钟时间把蓝色部分背过,每个变成题都写上,至少能赚个步骤份。 基础知识这块主要考察选择题和填空题,咱们把常考题型一起来过一遍。题, c 语言是一种,记住是高级语言,答案,选 c。 题二,以下不是 c 语言的特点的是选四、 d, 这里错在了, c 语言不是面向对象的,它是面向过程的程序设计语言。题三,关于 c 语言的注视的描述,错误的是,这部分就是代码中的注视, 计算机不会运行注视的部分。双斜杠后边的是单行注视,单行注视不能跨行,斜杠加新号中间可以写多行注视,所以 a、 b、 c 三个选项都是正确的。 c、 d 是 错误的,工作中也是要写注视的。题四和题五都是考察的慢函数的相关知识。 题四,在 c 语言中,一个满整的 c 程序有且仅有一个慢函数,它是程序执行的入口。 题五, c 程序的执行是从慢函数开始的。题六, c 语言的基本单位是函数。题七, c 程序的三种基本结构,它们是顺序结构、选择结构,还有循环结构。 下面咱们来看算法部分。第八题, c 语言的算法的特性一共是五个,第一,有效性有穷性,确定性有零个或多个输入 有一个或多个输出。第九题, c 语言程序的执行顺序是变异链接运行,它呢会在后台生成三种对应的后缀名文件, 它们分别是点 c、 点 opg、 点 es, 大家注意,只有点 es 是 可以运行的。第十题,以下书中错误的是应该选 b, c 语言是必须经过变异才能被计算机识别的。 好,下面我们来到了禁止转换这一块的内容,我们首先要掌握十禁止和二禁止、八禁止、十六禁止之间的转化方法。这个方法想必大家应该都已经学过了啊,如果想听我讲的话,可以弹幕扣一个一,我专门出一期视频来给大家讲一讲。 那第二条 c 语言只有八、十、十六这三种禁止,它是没有二禁止的,但是呢,在程序运行的时候,所有的禁止都会转化成二禁止来进行处理。 第三,大家注意,八进制,它的开头是以零来开头的,而且在整个八进制数里是不能出现八的,因为逢八会进一,比如零幺七就是合法的,而零幺八就是非法的。 十六进制呢,它规定要以零 x 开头啊,这个 x 也可以写成大写 x, 如零 x 幺五 a 就是 合法的。第四,小数的合法写法。 c 语言小数点两边有一个是零的话,可以不用写, 什么意思呢?比如一点零可以写成一点啊,把这后边的零省略掉了啊,零点一呢,也可以写成点一,把前面的这个零省略掉了。 第五是科学计数法的合法形式,比如这个数就是一个合法的科学计数法, 这里有一个口诀,一前一后必有数,一后必有整数。大家可以看到这个一的后边是一个负一,是整数,所以他是合法的。假如啊,这个后边是一个零点一呢,他就是非法的。 假如 e 后边是空的,没有数字,它也是非法的,大家要记住好,咱们来做几道题练习一下。第十一题,这道题没有什么好讲的,简单粗暴的把所有禁制都转化成十禁制再进行比较,答案应该选 c。 第十二题,答案是 c, 只有 c 选项是合法的十六禁之数。第十三题, 以下选项中可作为 c 沿合法常量的是答案应该选 a, 它省略了后边的零。下面咱们来看 c 沿的第一种基本结构,顺序结构。大家来看这端代码,它的运行结果是让用户输入两个整数,输出两个整数之合。 程序呢,会从上向下依次执行每一行代码。我们先定义了两个变量 number 一、 number 二来储存用户输入的数据, 再定义一个变量 sum, 用于储存两个整数之合。这里的 number 一、 number 二还有 sum, 它们都是我们给变量起的名字,也就是 c 言中的标识符。关于标识符,我们要知道,标识符是由 字母、数字和下划线组成的,第一个字母必须是字母或下划线是不能是数字的,而且标识符不能使用关键字。 哪些是关键字呢?以下这个表格我为大家总结了所有常见的 c 语言中的关键字,特别是标红的这一些在考试中经常会用来混淆我们,大家一定要记住好,我们来做两道题。 题二,以下哪个是合法的 c 语言标志符?很明显答案选 a, b 错在哪?它的开头用了一个数字,这是错的。 c 和 d 呢?它们都出现了非法的符号。题三,同学们可以自己做一下,这些答案应该是 a。 刚才我们认识了标识符,下面咱们再来认识一下前面的 int, int 并引了。书籍类型是整形,也就是用来储存整数的书籍类型,它是最常用的一种书籍类型。 除了整形以外,还有很多比较常用的书籍类型,我都把它列到了表格里。这个表格需要同学们背过这几道题,大家可以试着自己做一下, 这也是答案,答错的同学请自觉往前翻,把表格里的内容背过。数据类型这块还有一个考点是阿斯卡玛和字母数字的对应关系,这里只要记住这个超级简化的对照表即可。那记住以后怎么用呢? 大家看,我们知道小写 a 对 应的阿斯卡玛是九十七,那么小写 b 是 九十八,小写 c 是 九十九,以此类推。大写 a 对 应的阿斯卡玛是六十六,大写 c 是 六十七,以此类推。 零对应的阿斯卡玛是四十八,一对应的是四十九,二对应的是五十,以此类推。好,是不是我们就能把所有的大小写字母和数字的阿斯卡玛和他们的对应关系都记住了呢?下面我们来做几道题, 这是题目的答案,下面咱们来学习输入语句,这里我们使用四杠 f 语句,连用户输入两个数字,写作四杠 f。 括号双引号里面这两个百分号 d, 它叫做占位符,中间用空格隔开, 然后是逗号。半的符号加上变量的名字,中间用逗号隔开。当用户输入一空格二的时候,这个一就会复制给 number 一, 这个二呢就会复制给 number 二。还有一点,经常考到输入的内容要和双引号里的内容完全一致, 比如这个语句四到 f, 大家可以看到双引号里边不是空格了,而是换成了逗号,这样我们在输入的时候也要把两个数字中间的空格换成逗号。 还有这句话,四个 f i, 双引号里边的内容有文字和冒号,这样我们在输入的时候也要把这些文字和冒号打全。第九题,正确的输入语句应该是什么呢?首先要把 a 和 d 排除,我们要使用四个 f 语句,它们的区别在哪?大家看这里的 i 的 符号一定不要忘记。 第十题,执行下面的程序时,将一二三分别赋给 abc。 正确的输入式,这里大家注意是有一个 a 等于号,千万不要落下,所以答案应该填, a 等于一, b 等于二, c 等于三。下面咱们来学习输出语句。 print f 语句可以直接输出双引号里边的内容,这里边呢,可以是普通的文本内容,也可以使用占位符输出一个整数或者是变量或者是小数字符,也可以输出表达式。 当他输出小数的时候,占位符变成了百分号, f 输出字母的时候,占位符变成了百分号。 c 必是一题。假定从键盘输入二三四五六回车,下面的程序输出的结果是什么?这里大家看百分号 d 中间多了一个二,这里多了一个三, 它是什么意思呢?它的意思就是第一次输入的是一个两位的整数,第二次输入的是一个三位的整数,所以我们就要把这个二三四五六进行一个拆分,把它们分别复制给 m 和 n, 那 么答案就显而易见了,应该选 c。 十二题是一道读程序题,比如这道题考察的就是占位符的使用, 占位符除了能够输出数据类型,也能输出禁止。比如这道题,占位符百位号 d 输出的是十禁止,整数百位号 o 呢,输出的是八禁止,百位号 s 输出的是十六禁止, 如果在中间加上一个井号的话,就是输出带前导的八禁止和十六禁止。这里呢,我给大家整理了所有考试中可能出现的占位符,如果遇到了,大家要清楚输出的内容是什么。刚才这道题考察的还有一点,就是这里的反斜杠 n, 它是什么意思呢?它是一个转译字母,代表回车换行,除了它以外呢,还有这些常见的转译字母,大家如果遇到了,要知道这是什么意思。再看这道题,已知 a 等于五, b 等于三,要算出 result 一 和 result 二的结果 好,是不是非常简单,只要把这两个变量带入这两个式子进行计算就可以了呢?没错,我们来看这里的加号、乘号,还有这小括号,他们呢,都叫做运算符,而这两个式子叫做表达式, 这个表格列出了所有我们常见的运算服务。这里优先级的意思是优先级靠前的要先计算,比如说如果式子里有括号的话,要先算括号里边的部分,这个顺序非常的重要,考试中经常会考到,大家一定要牢记,并且多做题。应用来看第十四题 第一个考察点,我们要知道乘法的优先级要比复制运算更高一些,所以要先算 c 乘以二,结果是十四, 那后边呢,就变成了一个复合复制计算。这里有一个易错点,复合复制计算符,它的计算顺序是从右到左进行结合。也就是说,我们要先算后边的这一部分,先算 b 减等于十四,也就是 b 等于 b 减十四等于负九, 再算 a 加等于负九,也就是 a 等于 a 加负九, a 等于负六,最后输出的结果就是负六。第十五题,我们来求这个表达式的结果。咱们先来分析一下,先算什么?是不是首先应该算括号里的式子呀?哎,没毛病。我们先来计算 a 加加乘以二,加上减减 b, a 加加,它是一个自增熵算,减减 b 是 一个自减熵算。大家注意,自增自减熵算加减号。如果在后面的话,要先把原值带入式子进行熵算,再进行加减 e。 如果说熵算符号在前面的话,要先进行自增自减, 再把结果带入式子进行计算。也就是说要把三带入进行计算。三乘以二加上这里的减减 b 呢?要先进行自减,再进行计算,也就是四减一等于三,它的结果一目了然,等于九, 九除以几呢?我们来看 c 减减减一,这里减减。在后面,要先把原值五带入式子进行计算。五减一等于四,也就是九除以四,它的结果是几呢? 是二。哎,有同学问,为什么不是二点二五呢?大家注意,它是一个 int 类型的数据,也就是整数类型,我们需要把结果里面的小数部分直接舍去,注意,不是四舍五入,是直接舍去 结果是二。好,下面看是六题,这里考察的是逻辑算符和加减法。运算符好,我们先来算加法,因为加法和减法它们的优先级要比逻辑算符更高。 b 加 c 带入进去等于七, b 减四等于零啊,这个式子就可以写成这样。我们先来看这一部分, 这个符号叫做逻辑语,逻辑语两边都不为零的时候,结果为真之为一,那我们看这一边的 a, 它是六,两边都为真,所以它的结果就是一, 那后边这个就变成了一或零,这个是逻辑或逻辑或两边只要有一个结果是非零数,还有的结果就是真,也就是一,最后的结果就是一。第十七题,这里考察的是关系预算符,不能写成这种连续的形式,而是要写成这样, s 大 于 y, 且 y 大 于 z, 答案选 b。 第十八题,这道题考察的是条件表达式,问号左边是需要判断的条件问号右边冒号的左边是,如果条件为真,那么结果就是它, 如果这个条件为假,那么结果就是它。我们来看这道题,当 x 小 于十, 来判断一下,当我们输入十二的时候,十二小于十显然是假的,所以结果是冒号右边的 x 减十二,代入算一下,结果就是零。 第二十题,乍一看这道题还是蛮复杂的,是多个条件表达式进行了嵌套。其实解这种题也有技巧,我们可以从右往左转括号。好,这里我们可以看到外层,这里的判断条件是 x 大 于四, 他是真的还是假的?五大于四显然是真的,所以这半拉都不用看了,只要看这部分,再看里边这一层, y 小 于五,真的还是假的。把三带入进来,明显是个真的,那只要看这个结果就可以了。 x 加 y, 答案非常简单,等于八。 这里记住这个小技巧表达是欠套,有诀窍。先从右往左转括号,还有三个支点需要补充一下。第一, get chair 这个函数,它的意思是输入一个字母。第二, put chair 这个函数是把这个字母输出到屏幕中。 第三,当 x y 需要进行数值交换的时候,不可以直接写成 s 等于 y, y 等于 x, 而是要使用中间变量,由这里设立一个中间变量, t, t 等于 s, s, y, y 等于 t。 来看下一种程序结构。选择结构这部分很简单,只要掌握两种语句就 ok 了。第一种 f 语句,咱们来看代码实力, 先输入一个数 if 如果这个数大于零, friend f 输出,这是一个正数。 else if 如果小于零,输出,这是一个负数 else 其他的情况呢?是不是就是等于零的情况,那就输出这是零。一共三个分支,对应三个结果 来看题, a 没有问题, b 错在哪了呢? a 大 于 b, 没有加括号,后面的冒号应该换成大括号。 c 错的比较隐蔽,这里少了分号。 d 选项也是一样,这里少了分号。 第二种选择结构,常用的语句是 switch 语句来看,这档代码输入一个一到三的数字,然后进行判断。第一种情况,当处死是一的时候,输出你选择了数字二。 第三种情况,当处词是三的时候,输出你选择了数字三, def 代表其他情况输出你输入的数字不在范围内。看这道题输出的是什么呢?我们给 grade 复制 a, 那 对应的是哪一种情况呢?对,是第一种输出优秀。 第三是一道程序填空题, e 耳在什么情况下是润年呢? e 耳对四取于等于零,并且 e 耳对一百取于不等于零,或者对四百取于等于零,这就是应该填写的条件。 这里有个易错点,等于是写作两个等号,一个等号的意思是负值不要写错了。其次是一道编程题,我们要根据题目要求把代码写出来,这里让我们根据学生的分数输出不同的内容。一看就是选择结构。那么咱们是用 if 还是用 switch 呢? 这里有个小技巧,判断连续的范围,用 if 判断离散的值。用 switch, 这里的分数是一个范围,那就用 if, 代码比较简单,这样写就可以了。 下面咱们来讲循环结构,这部分是考试的重点,占分比较多,大家一定要掌握。咱们先来看负循环, 这里咱们先定义了一个变量, i 等于一,当 i 小 于等于十的时候,就会执行后面大括号里的语句,然后 i 加加, 再判断一次爱是否还符合爱小于等于十的条件,循环运行,直到爱等于十一,不再满足条件,程序终止。下次一定就被输出了十次。我相信啊,在座的同学肯定不忍心让我看到这么多,下次一定都听到这了,还不安排一波一箭三连吗? 咱们来看提议,让你算执行次数。爱的出使值是零,每次加二,大家可以在草稿纸上写一写,所以循环了五次。这里有一个易错点,负循环的括号里是分号,不是逗号。第二,你可以暂停,自己算一算,正确答案是 b。 题三,这里多了一个 continue, 它的意思是跳过本次循环,继续下一轮循环。也就是说,在这轮循环中,循环体中,它后面的代码不管有啥都不继续运行了。 在本题中,当 i 等于三的时候, if 语句的条件成立到 continue 这里,后面这个 print f 语句就跳过了,直接跳到下一轮循环, i 等于四, 直到 i 等于六,循环终止。所以输出的结果是一二四五。大家记住 t 牛的用法,跳过本次循环的剩余部分。下面咱们来看第二种循环语句。 y 语句跟负循环不同, y 后面这个括号里是循环执行的条件,当 i 小 于等于五的时候,输出 i, i 加价呢,写到了循环体的里边,当 i 自加到六,循环就结束了运行结果如图。 题四,咱们还是在草稿纸上写一写,第一次循环 k 等于五,在这个范围内输出 k, k 等于 k 加二等于七,第二次输出七, k 等于 k 加二等于九, 第三次输出九, k 再加二就超过十了,不符合条件,循环结束。答案选 a t 五有两个知识点,当 y 后边的括号为一时,就进入了无限循环。 无限循环并不是不能出现,这里用到了第二个知识点, break 语句,当运行到 break 的 时候,直接结束循环。比如这道题,当 number 等于四的时候,直接结束循环,所以输出的结果是一二三。 下面是 do 循环,它跟 do 循环很像,区别是循环体挪到了前面, do 后面的大括号里就是循环体。 这个循环体不管满不满足条件,都至少会执行一次。所以这个程序虽然一上来 i 就是 六,不满足循环条件, i 小 于等于五分的 f 还是会运行一次,会输出一次。六、这里有一个易错点,大家要记住,我有后面的分号,一定不能丢掉, 大家可以自己做一下。第六题,这是答案。第七题考察的是无限循环,大家要记住,这三种都是无限循环的写法,答案选 d。 咱们再来一起做几道关于循环的编程题。提法要我们计算一到一百相加的和先定义变量 sum, 用于存放总和,每次循环 i 加一把 i 值加到 sum 里, 直到 i 等于一百,最后输出。三、第九题稍微复杂一些,要算从一到用户输入的正整数 i, 从一开始依次累加进 sum, 这回因为要的是正整数,就不能用 i 加加了,要用 i 加等于二,直到 i 不 满足条件。这里有个小技巧,知道循环的范围用负循环, 只知道循环结束的条件,用 y 循环,这里咱们知道结束条件是 i 小 于等于 n, 用 y 循环比较方便。第十题是一个很经典的题目,用循环语句反转整数一二三,大家可以直接把这段代码记住,经常会考到。 先设一个变量 reverse 等于零,用来输出每一位上的数 while。 当满足条件 number 不 等于零的时候,进行以下循环, reverse 等于 reverse 乘以十,加上 number 对 十,取于, 再让 number 除以十,也就是移除已处理的末位,最后用 print f 输出 reverse。 运行程序输出的结果就是三二一,成功完成了反转。这里有个小技巧,想要获取整数 x 的 个位,可以用 x 对 十取于 第十一题。一看到要打印金字塔,咱们就应该马上想到这里要用到一个负循环的嵌套,最外层的负循环,循环几次就是打印几行。 内层的第一个负循环,控制每行写明有多少个空格,每行都是 hit 减 i。 内层第二个负循环, 控制每行打印多少个星号,每行都是二乘以 i 减一个。下面咱们来学习数组题,让我们定义一个包含五个整数的数组。正确的写法是这样的,先写数据类型 int, 然后是数组名中括号 中,括号里写上数组中包含的元素个数。这里有三点要记住, d 数组储存相同类型的元素。 第二,数组中每个元素都有一个唯一的缩影。第三,缩影从零开始,通过锐棱可以获取到第一个元素的值。第二, 以下关于缩影描述正确的事, a 显然错了,所以应该从零开始。 b 也错了,所以必须是整数。 c 选项因为缩影是从零开始的,而锐五的最后一个元素应该是锐四也错了,所以答案应该选 d。 题三,题四考察的是数组始化。题三前三种写法都是 ok 的, a 选项是最标准的写法, b 选项后边控制的位置默认始化为零。 c 虽然重括号里是控制的,但根据后面列表中的元素个数、数族大小会自动定义为五。 d 选项错,在后面的列表中多了一个元素,跟前面中括号里的五不匹配。题四前三个都对,数组的中括号里可以是常量或者是常量表达式,但不能是变量,所以 d 错了。题五是考察咱们对所引的掌握。我们要知道 a 二、 a 五、 a 八分别对应的值是多少, 正确答案是 c。 提六这个程序其实在做的就是通过一个负循环找到数值中的最小元素,用 x 记录当前找到的最小元素,先复制为 a 零,然后变离数值,只要 a i 小 于 x, 就 把 a i 的 值复制给 x, 这样最后就得到了数值中的最小元素,结果就是 x 等于七。刚才咱们遇到的都是一维数值,你看这个数值不一样了, 他多了一个中括号,他是一个二维数组,二维数组中,第一个中括号代表了行数,第二个中括号代表了列数。比如这个例子,他有两行三列,第一行是一、二、三,第二行是四、五、六。提七 提七考察的是二维数组。出土话,刚才的例子中是写完整的,但有些元素是不可以省略的,咱们一起看一下。 选项 a 错了,这里是一个易错点,大家要记住,二维数字中,第一维可以省略,第二维是不能省略的。也像 b, 它是两行三列的数组,二乘以三等于六,可是右边却有七个元素,显然是不匹配的。 选项 c 没有问题,第一维可以省略,选项 d, 第二维省略了也是错误的,所以答案选 c。 提八很简单,元素有六个,有三列,那必然是两行,答案是 a。 题九,这里出现了一个二位缩写,咱们可以在草稿纸上画一下,就能很快找到一零的值。第一行是一、二、三,第二行是四、五六 a 一 零就是四。答案选 c 来看第十题,还是用画图法把这个三行三列的数组画出来, a 零二是三, a 一 一是五, a 二零是七, a 零零是一,代入算出来就是十五减七加一等于九。 好,下面我们来学习字母数组,当数组里储存的是字母的时候,我们这叫它字母数组,数据类型是叉,这两种写法储存的内容是一样的。这种双引号的写法是用字母串字面量来出示话字母数组,它自动在结束处加上了一个空字母。 第十一题,哈喽,后边还要加上一个空字母,所以这道题的答案是六。第十二题问,数组长度是多少?这里中括号里是五,所以数组的长度就是五。 字母串长度是看数组中空字母前一共有多少个字母,这个数组写全了,就是 abc。 空字母空字母,空字母前有三个字母,那么字母串的长度就是三。 size of 函数会返回变量所占的自结数,我们之前学过差儿类型通常占一个自结,所以 size of a 的 值为五。第十三题,字不出组,有五个元素不全的话,就加上三个空字副就可以了,答案选 a。 下面咱们来学习函数, 从这一张开始,难度又提高了一些,请大家一定注意听。函数是程序的基本组成部分,除了卖函数,我们还能自己定义一些函数。卖函数可以比作一家汽车工厂,咱们自己定义的函数就好比一些生产零件的分厂,我们可以让他们帮我们加工一些零件, 最后拿到卖函数工厂里组成汽车。我们先来看如何定义函数,这里我们举了一个例子,定义一个函数,功能是求出两个数中的较大的数, 先确定返回列型是 int, 函数名 max。 步号里面定义两个需要用到的形式参数, number 一 和 number 二。下面就是写函数体,最后把函数体运行的结果返回给这个函数来,咱们把代码补全。 在 max 函数里,我们创建了一个变量 is max, 让它等于 max 函数的返回值。 max 函数里的五和九就对应这里的 number 一 和 number 二,待入这段函数体运行后,结果是九,九就是 max 函数的返回值 is max 等于九,最后输出的结果就是最大值是九。来做几道题。 题一,函数定义的正确顺序应该选 a。 题二,答案选四, d, 这三种都可以作为函数的参数。题三,是错误的,函数不可以嵌套定义,就是说函数里定义函数是不允许的。 题四,也是错的,通过添加头文件,是可以调用其他文件中的函数的。题五,这道题大家自己算一下结果是十,是不是非常简单。 关于函数的返回值,咱们来做几道题。题六, a 选项是错的,函数可以没有返回值。 b 是 对的,函数可以没有参数。比如这个函数就没有参数,它每次调用都会打印一键三连。 c 是 错的,函数名可以和变量名相同,但是不建议可读性会变差。选项 d 也是错的,没有返回值的函数没有 return 语句。答案选 b。 第七题,注意,没有参数的函数,返回类型要用 with。 第八题,当返回类型是凹凸,会由变义器根据返回值自动推导。 第九题,大家要记住函数之间传递的是值,所以答案选 a。 咱们先定义了一个函数 at one, 可以让输入的参数四加一再输出出来。下面的外函数中我们定义了变量 a, 调用前 a 等于五,没有问题。调用函数,把 a 的 值传递给函数 x, 函数内输出 x 等于 s 加一,也就是 s 等于六。 函数调用后,这里就容易出错了,大家注意, x 是 行三, a 是 十三,行三的修改是不会影响十三的值。虽然刚才 x 加了个一,但是 a 只是把值传递给了 x, 它自身没有变化,所以调用后 a 还是等于五。第十一题, 这道题考察的是局部变量生命周期。我们先声明了一个函数 count, 在 函数 count 里声明了一个变量 c、 n、 t 数值值为零, c、 n、 t 加加再输出出来。那么函数里面用负循环调用了三次 count 函数, 因为这里有个 c、 n、 t 加加,那调用三次结果就是一二三吗?不是的, c、 n、 t, 它是一个局部变量,它只存在在 count 函数里外,函数是不能直接调用它的。每次调用 count 函数时, c、 n、 t 的 变量会被重新创建,并且初始化为零,所以最后输出的结果是一一一。 第十二题,这里多了一个 static, 别的跟上题一样,那这回答案还是一一一吗?不是了,因为多了 static, c、 n、 t 变成了一个静态局域变量,它的生命周期就变了,它只会在程序开始执行时触式化一次, 所以第一次调用是一,第二次是二,第三次是三,输出的结果就是一二三。这里 static 的 作用大家要了解,普通局域变量每次调用触式化 静态局部变量,每次调用只会保留下了 static, 把普通局部变量变成了静态局部变量。咱们一起来做两道编程题。第十三题,使用函数编写程序输出十的阶乘,先定义函数 factorio, 有 一个参数 n, 设一个局部变量 result, 从 e 到 n 进行循环,把每个数累积到 result 中,最后把 result 值返回给 factorio 函数,然后在 m 函数里面直接调用 factorio。 十三是十, 这样代码就写完整了。第十四题,咱们要判断一个数是不是质数,就要看它是否满足以下条件,大于一的自然数中质能被一和它自身整除的数就是质数。 先用 if 语句判断出所有小于等于一的数返回零,意味着不是质数,它用负循环变例二到二分之 a, 看有没有哪个数能整除 a, 能整除则返回零。不是质数都不能的话就返回一说明 a 是 质数。骂函数的内容就简单了,输入一个数字,直接调用 s prime 函数,返回值为一就是真的。打印此数是质数,否则为假。打印此数不是质数。这个表格里是常用函数,大家可以记一下,如果遇到了要知道是干什么的。另外有个易错点,使用时要把对应的头文件添加到代码的最前面。下面咱们来讲指真。咱们来看第一题, 已知有一个整形变量 a 等于十,然后我定义了一个整形变量屁,大家看这个屁前面多了一个信号,那这个屁就变成了时针变量。时针变量屁里面储存的是地址信号屁,叫做极易用操作,代表了这个地址对应的值。因为 int 信号屁等于 and a, 定义了时针变量 p, 并将变量 a 的 地址按 a 复制给 p, 此时 p 指向变量 a, 信号 p 就 代表了变量 a 的 值,也就是十。咱们可以直接把 p 输出出来, 看到结果确实是一串内存地址输出信号屁的话,结果是十。所以大家要理解,时针变量是用来存放地址的,一般变量用来存放数值。那大家看一下第二题会做了吗?时针变量怕指向变量 a, 那 它储存的就是 a 的 地址,按的 a, 四根 f 函数需要的正是变量的地址,所以四根 f 的 括号里可以直接填写,怕它能够正确地将用户输入的整数赋存到变量 a 中, 所以这里的答案选 a。 题三,时针变量可以指向哪些类型的数据呢?整型、浮点型、四浮型都是可以的,答案,选 d。 题四,以下说法错误的是 a、 b、 c 都是对的,是 d 错了。未触使化的时针不能进行仅引用操作,不然会报错。第五题,这题考察数足与时针的关系, 当时针 p 被出示化为 a, 这意味着 p 指向了数组 a 的 首元素 a 零,再执行两次 p 加加,也就是时针向后移动两位,此时时针指向了数组中的第三个元素三,所以这道题的答案就填三、 六题,时针变亮,屁指向了一个字母数组 c。 我 们可以先把字母数组里的元素都写出来。咱们首先要知道,屁加一表示将时针屁向后移动一个单位,屁初时指向数组 c 的 首元素 a 往右移动一位指着 b, 这里没错, 再移动一位是不是就指向了空字符啊?所以这道题是正确的。第七题,咱们一起来阅读一下这段代码先创建了一个数组,而锐数组有五个元素,一二三四、五创建时针变量屁指向数组,而锐的首元素地址。关键来了, 这个信号屁加加是什么意思?它的意思是 d 先进行且引用操作再加加,也就是字加一, 注意是时针 p 加加,此时 p 指向了锐一,也就是元素二。咱们再看下一步,括号信号 p 加加,这就不一样了,这个表达是,首先通过信号 p, 即引用时针 p, 或许它当前指向的值, 再对这个值执行后续的自增操作。加加,也就是锐一对应的值,二加 e 等于三,那输出的结果就是一和三。 第八题是一道编程题,让咱们边写一个函数,用来交换两个整数的值。有同学说,哎,那很简单呀,我定义一个函数,传入两个变量 a 和 b, 再设一个中间变量,这样导一下不就行了吗?运行看看。哎,没换过来。为什么呢? 之前咱们在函数传递那里讲过,局部变量的变化是无法传递回时差的。那怎么办呢?大家记住,在这种情况下,咱们需要使用指数作为函数参数,因为普通的传输方法无法改变时差的值,而传递值也就是使用指的方式, 可以让函数直接操作时差所在的内存位置。所以要像这样修改一下代码,此时函数能够直接操作时差所在的内存位置,反而实现了对时差数值的修改。恭喜你看到这里已经完成了 c 语言考试绝大部分常考知识的学习, 剩下的知识点在考试中占比较小,我带大家快速过一遍。先来看函数是干什么用的,一般会考察选择题或填空题,题题 用来比较两个字母串的函数是 string compare。 第二,连接两个字母串的函数是 string concatenate。 第三,用于获取字母串长度的函数是 string lags。 第四,可以将一个字母串复制到另一个字母串的函数是 string toppy。 第五,用于将字母串反转的函数是 string rewards。 下面咱们来认识一下结构体。结构体 struct 是 c 语言中的一种重要数据类型,它允许你将不同类型的数据组合在一起,形成一个新的复合数据类型,方便对相关联的数据进行统一管理。 先来看如何定义结构体,关键词, strict 结构名大括号,大括号里是成员列表,可以包括不同数据类型的成员。比如咱们举的这个例子,先定义一个结构体,收集学生的年龄、姓名和成绩。成员列表里就有整形变量年龄 h, 自负型变量名字 name, 还有实型变量 soccer 成绩。想要给成员赋值,可以使用点预算服务,像这样一条条进行赋值,也可以像这样使用带货号进行出场赋值。题六,大家试着做一下,正确答案是 b, a 容易混淆,它错在成员中间要用分号隔开,而不是逗号。题七,咱们要记住结构体指向以用成员变量的方式是使用箭头儿计算符选 b。 提八,这段代码先定义了一个结构体 person, 然后创建了一个数组 class。 十来储存这些结构体, 对数组的前四个元素进行了初步化,然后打印了 class。 数组中的第三个元素就是它,对吧?点内幕零,那就是内幕字母数组的第一位, 也就是这里的 m。 关于文件,咱们要掌握几个常用的函数,第一个是打开文件来看。题九,正确的打开文件的操作方法是选 a 等号,左边是一个 file 类型的至臻 f b 等号,右边是调用了 f。 open 函数 用止读模式打开了 date 点 t s t 文件,其实关闭文件的函数选 b, f close。 第十一下面函数能从文件格式化读取数据的是选 b, f 四杠 f。 第十二题在 c 语言中用于向文件中写入数据的函数是选 c, f 不 认得 f。 第十三题是考察打开文件的模式,这里允许追加的是 c 选项, 下面这个表格就是所有打开模式的说明。好,下面咱们来学习一下红定义,标红的这句话就是红定义,他的写法是井号底范红名红参数红体。例子中定义了一个红,用于计算两个数的平方和 可以在骂函数里像这样直接调用。第十四题关于红定义的说法,正确的是, a 是 对的,红定义是在编一阶段进行替换的红定义它可以没有参数,也可以嵌套使用,它不影响程序的运行效率。第十五题,请你先来做做看 是不是等于十八,哎,等于十八就错了,因为红利只是简单的文本替换,直接替换为三乘以二加四,算出来是十,答案选 d。 第十六题,他有两个红利,必须有些复杂,不用怕,咱们一步一步来 看,第一个红利说大写 n 可以 替换成三,那咱们就把第二个红利里的大写 n 替换成三,那这里的括号里就变成了四乘以 n。 然后咱们来看执行语句, 先把这里的大写 n 替换为三,再算出 y, 后面的括号里五加一等于六。根据第二个红利义,我们把六替换成四乘以六,那这个语句现在就变成了 z, 等于二乘以括号里的三加二十四 来算一下,结果是五十四。下面咱们来认识一下美举。首先要用这种格式定义一个美举类型名,然后是大括号里面来填写美举常量, 尾举常量中间用逗号隔开封明。尾举变量的方法是音纳尾举类型名。尾举变量等于尾举常量。使用的场景呢,一般是用于条件判断,比如随时一句, 咱们来做几道题, b。 十七题,以下关于尾举说法正确的是, a 是 错的。尾举类型的变量只能取尾举定义中列出的尾举常量所对应的值选项 b 是 对的。尾举常量的值不能修改 选项 c 是 错的。每举类型定义中可以指定常量的值,这选项说的也是错的。每举类型和整型是可以进行相互转换的。 第十八题,因为没有给每举常量指定值,所以默认第一个常量的值为零,后面依次递增一,所以答案选 b。 但来看第十九题, 咱们可以看到这段代码先创建了从周一到周日七个每举常量,然后判断给定的这一天是否为周末。 如果这个表达式的结果为真, return 一, 反之 return 零。在冒函数中将此 day 设为 saturday, 然后调用 is wicked 函数,用运符语句进行判断。如果 return 一 输出,今天是周末。如果 return 零输出,今天不是周末。这里的输出结果是今天是周末。 咱们来认识几种谓运算符,两个整数进行谓运算,都要先转化为二金之数,再逐位进行操作。先看第一种暗谓语, 需要主位进行逻辑与操作,只有当两个位上都为一时,结果才为一,否则为零。按位或主位进行逻辑或操作,只要有一个位上是一,结果就是一,否则为零。 按位亦或也是主位进行逻辑亦或操作,当两个位不同的时候,结果就是一,相同的时候,结果为零。下面是按位取反,主位进行逻辑取反操作,就是把一变成零,零变成一。 左移向左移动指定的位数,右边呢,用零来填充,右移就是向右移动指定的位数,左边的位数用零,或者是用符号位来填充。 咱们来做两道题。第二十题考察的是按位与运算符,咱们要把 a 和 b 写成二进制的形式,分别是 a 等于零零零一, b 等于零零一零。按位与运算的结果为零,那 if 后边的括号里就是零,条件不成立,运行 else 后面的语句输出这三个符号。 第二十一题, a 和 b 按位与计算的结果是只有第二位和第八位保留了,因为同一位只要有一个是零,按位与计算后的结果就是零。那么就说明 b 的 第二位和第八位是一,其他的位上是零,答案就是它。

无序字母串的去重操作。定义字母数组 a 大 小是一千零二十四字节用右侧的字母串长量进行初步化,所以 a 数组的保存着这个字母串。这是无序字母串手工去重操作,被红色抹掉,去重后的结果就是 a, b, c, d, e, 这就是原来字母出现的顺序, 不是特意排序。定义 flag 数组,每个元素初始化为零,它有两百五十六个元素。为什么使用两百五十六?因为每个字母都有 s k 码数值,字母 s k 码值作为 flag 数组的下标。 例如大 a 字母是六十五,那么 flag 大 a, 也就是 flag 六十五。如果 flag 六十五为零,表示还没有扫描大 a, 大 a 不 曾出现过。 如果 flag 六十五是一,则表示大 a 出现过。定义, len 保存复制串的长度 stencil 函数,返回 a, 复制串的长度 stencil 函数需要这个头文件。如果 len 小 于等于一,没有去重的必要,直接 return, 否则把复制串的第一个字母 a 零在 flag 数组中进行标记, 标记为一,表示这个字母出现过。定义 i, 用于保存去重后的字母。由于 a 零是不动的,所以保存的信位置从下标一开始, i 复制一负循环 j 从一到 n 减一, 从下标一开始,从左往右,便利每一个字母。当前字母是 a, j。 如果当前字母以前没出现过,这是当前字母第一次出现,则在 flag 数组的相应位置标记一, 表示这个字体出现了,并且把当前字体保存在 ai 这个新位置, i 加加 i, 定位到下一个可用的保存位置。对于新出现的字体, 一要在 flag 树组中做标记,二要保存起来,负 r 循环结束去重完毕要给新字串加上字串的结束标志,打印新字串运行,查看结果没问题。

今天我们来看一下 do, we are you 和 for 循环语句,主要是看一下它们的执行顺序。首先是 do we are you 语句, do 下面是一个大括号,里面放了一些语句, 接着是 y 有 条件判断,接着是括号 y 的 其他语句。首先程序从上往下执行,第一次来到度语句,那么第一次来到度语句,这里没有什么条件限制, 接着就会顺序的往下执行,就是执行一次大括号里的语句,来到 y 有 条件判断,当条件是真的,那么就会循环执行一次大括号里的语句,接着又来到了条件判断, 判断条件是真的,那么就会循环的执行大括号里的语句,这就是一个所谓的循环语句。 当判断条件是假的,那么就会跳过大括号里的语句,接着执行下面的,这是我自己平时的一个理解方式,我们再来看一下它的流程图,这是标准的理解方式。 首先是程序从上往下执行,先执行一次大括号里的语句,接着来到条件判断,判断条件是真的还是假的, 如果条件是真的,那么就执行大括号里的语句。接着又来到了条件判断,如果条件还是真的,那么就循环的执行大括号里的语句,如果条件是假的,那么就会执行下面的语句。两种理解方式,选择适合自己的就可以了。 我们再来看一下 why 和 do why 的 区别。上节课我们学习了 why 的 语句,这是它的一般格式。 首先还是条件判断,如果是真的,那么就执行大框里的语句。接着又回到条件,对条件进行再次判断,如果是真的,那么就一直循环的执行大框里的语句,如果条件判断是假的,那么就跳过大框里的语句,接着执行下面的语句, 我们再把 do yu 语句放在一起比较一下, 这是他的一个执行顺序。我们观察一下蛙游语句和读蛙游语句,他们的相同点和不同点, 相同的地方是不是都有条件判断。当条件是真的,那么就循环的执行大括号里的语句,当条件是假的,就会跳过大括号里的语句,这边也是,当条件是真的,就会跳过大括号里的语句, 这是他们相同的地方,再想一想他们不同的地方是什么?是不是第一次来到度语句的时候,他会先执行一次大括号里的语句,然后才是条件判断。 所以说 do why 大 括号里面的语句至少会被执行一次,这里要注意一下,还是在我们的单片机上来练习。首先定义两个变量,变量 a 处值是零,还有个变量二, 然后来到眉影,这个是我们程序的入口,从这里开始执行我们写的第一条程序,也就是将三复制给二,接着来到度语句,那么会执行一次大括号里的语句, a 加一复制给 a, a 的 出值是零, a 的 值就是一,接着是二减一复制给二,二的值是二, 接着才来到挖油的条件,判断,判断二的值,二的值,此时是二是真的,就会再次执行大括号里的语句,也就将 a 加一复制给 a, 此时 a 的 值是二,然后将 i 减一复制给 i, 那 么此时二的值是一。 又来到了挖油的判断此时二的值是一还是真的,那么还会再执行大夸里的语句,再将 a 加一复制给 a, 那 么 a 的 值是三。 将二减一复制给二,那么二的值是零。再次来到 y, 有 条件判断,此时二的值是零,判断是假的,那么接着会执行下面的语句,也就输出 a 的 值和 i 的 值。我们把程序下载到单拼机,看一下 a 的 值和二的值是不是三和零, 那么第一个数是三,第二个数是零,那么他们输出的结果与我们验证的是一样的。接着我们再来看否循环语句, 否语句后面是变量的初使化,变量的条件判断变量的更新。这么长的一条语句,我们可能有一点不理解,但是变量这两个词我们是熟悉的,因为我们经常会定义一些变量, 然后下面是一个大括号,里面放了一些语句,一些需要循环执行的语句,接着是括号外的其他语句。我们先来看第一行,举一个例子, 比如我们定一个变量二,首先是变量的初使化,也就是将零复制给二,那么二的出值就是零。 接着是变量的条件判断,判断二小以三吗?也就判断这个条件是真的还是假的。接着是变量的更新,这里是二加加,也就是二的值增一就是给他一个新值。 对第一行有了初步的了解之后,我们来看一下他的执行顺序。首先是执行一次变量的初识化,接着来到变量的条件判断,就是判断这个条件是真的还是假的。如果条件是真的,那么就执行大括号里的语句。 接着来到变量更新,就是给变量一个新指,就是给变量一个新指,然后再来到条件判断,再次对这个条件判断是真的还是假的,如果条件判断是真的,那么就一直在这里循环的执行,这也就是一个所谓的循环语句。 如果条件判断是假的,那么就会跳过大括号里的语句,接着执行下面的语句,这个是一种理解方式,我们再来看一下标准化的理解方式。 程序从上往下执行,执行一次变量的初使化,接着来到条件判断,判断这个条件是真的还是假的。 如果条件是真的,那么就执行大括号里的语句,接着来到变量更新,就是给变量一个新的值,然后再次来到条件判断,如果条件判断是真的,那么就这样循环的执行。 如果判断条件是假的,那么就会跳过大括号里的语句,接着执行下面的语句。注意这里变量的初使化,它只执行一次。我们来举一个例子, 首先是对变量进行初识化,只执行一次,将零复制给二,二的初值就是零。接着来到条件判断,判断二小以三呢是小以三的,那么就会执行大括号里的语句,接着来到变量更新, 二加加,那么二的值就是一。接着又来到条件判断,判断二小与三吗?二还是小与三呢?那么会再次执行大括号里的语句,接着又来到变量更新, 再次二加加,那么二的值是二。又来到条件判断二是小与三呢?是成立的,那么又会执行一次大括号里的语句,接着又来到二加加, 此时二的值就是三,然后再来到条件判断,二小于三吗?这个时候是不成立的,那么就会跳过大筐里的语句,接着执行下面的语句。那么我们来想一下这里的循环执行了几次, 是不是二等于零的时候条件成立,执行了一次,二等于一的时候执行了一次,二等于二的时候执行了一次。二等于三的时候就跳过大括号里的语句,也就是二等于零,一二的时候执行了三次循环。 我们再来看一下否语句,它实际上也可以用 why 语句来写。 首先还是变量的初始化,将零复制给 i, 那 么 i 的 初值就是零。接着来到 y, 有 条件判断 i 小 于三吗? i 是 小于三的,那么会执行大括号里的语句,接着来到变量的更新, i 加加,那么 i 的 值就是一。 执行完这条语句之后,又会回到条件判断,此时二的值是一,小与三,又会执行一次大括号里的语句,接着又来到了变量更新, 那么二的值是二。执行完这条语句之后,又来到了条件判断二是小于三,又会又会执行大括号里的语句,又来到了变量更新,此时二的值是三, 又来到了条件判断,那么三是不小于三的,就会跳过大框里的语句,接着执行下面的语句。 所以说否语具有的时候也可以用否语语句来表示,但是我们一般还是使用否语句,因为它三个条件是放在一起的,比较清楚明了,而否语语句他们是分开的,可能有的时候一不注意就会犯错, 我们来写程序,练习一下,还是定义两个变量 a 和 i。 然后来执行我们第一条语句,就是否语句, 首先是二的初值是零,接着是条件判断二小与三,那么会执行大括号里的语句。我们想一下,这里一共执行了几次大括号里的语句, 是不是二等于零,条件成立等于一条件成立等于二,条件成立, 那么二等于零,一二的时候执行了三次大筐里的语句,那么 a 的 值是多少? 那么第一次执行的时候, a 的 出值是零,零加二,第一次得到结果是二,然后第二次在执行的时候是二加二, a 的 结果是四,那么第三次在执行的时候是四加二, a 的 结果是六,那么 a 的 值就是六, 我们输出 a 的 结果查看一下,我们看一下输出 a 的 结果是六,与我们分析的是一致的。 之前变量的数值我们设的是零,但是这个数值不是固定的,你可以根据自己的需要来设置的,这里我们将数值设为三,然后判断的是二大于零吗?接着变量的更新是用二减减来更新的, 所以说这三条语句不是固定的,你根据自己的需要能达到要求就可以了,然后他同样可以用 y 有 语句来表示。接着我们再来看括号语句的一些特殊的写法, 这是他一个常规的格式。如果我们把两个大括号去掉, 那么它是什么意思呢?首先是上面的符号语句和语句一,它实际上是一条语句,因为一个分号代表一条语句结束嘛,这样一条语句又是什么意思呢?我们来看一下, 也就是相当于大括号里面只有一条语句一,然后其他的语句都放在括号外面。我们再来看另一种格式,还是在它的常规语句上,我们变一下, 首先是还是把两个大括号去掉,但是我们在括号语句后面添加了一个分号,在这里添加了一个分号,那么括号语句就是一条独立的语句,语句一也是一条独立的语句。那么这里的括号语句它是什么意思呢? 就相当于大括号里面有一条空语句,就是什么都不执行,什么都不做。接着是其他的语句放在括号外, 像这些省略大括号的写法我们还是比较常见的,所以说你见到的时候你要知道它是一个什么意思就可以了。 接着是放语句的变量初识化,变量的条件判断和变量的更新,变量的条件判断。除了大与小语,还有小语、等语、不等语或者是等语的条件判断。好,这节课到此结束,拜拜。

字母串,截取子串,将字母串中的 d, m 个字母开始的全部字母复制成另一个字母串,要求在主函数中输入字母串及 m 的 值,并输出复制结果,在背调函数中完成复制。 字母数组 for m 字母数组 two 整形变量 m 赋值零 c, k, f 输入一个字母串,存入 f m 字母数组里 c, k, m 输入一个整形数,存入 m 变量 m。 前面加取地址符,表示 m 的 地址。调用 mystic 函数, 第一个时餐是字母数组的起始地址 to, 第二个时餐是字母数组的起始地址 from, 第三个时餐是 m。 最后 printf 打印得到的新字母串占位符使用百分号 s, 斜杠 n 表示。换行来看, misterkey 函数定义, 第一个形参是字母指向 to, 第二个形参是字母指向 from, 第三个形参是整型 m。 在 函数调用时, to 指向主函数中的 to 字母数组, from 指向主函数中的 from 字母数组 m 负值主函数中的 m 的 值。从第 m 个开始, from 本身指向的就是第一个 from, 加一,这个地址指向的是第二个,所以第 m 个字母的地址是 from 加上 m 减一 while 当星 from 星 from 就是 from 指向的那个字母 while 这个字母不是字母串的结束标志。斜杠零星 from 这个字母 复制给星 to 这个空间,同时 from 加加自增一, to 加加自增一循环回来 while 星 from 这个 from 已经指向了下一个字母, 继续下一个字体的复制 file。 新 from 等于斜杠零的时候退出循环,也就是说在退出循环的时候,斜杠零并没有复制进新字串, 所以在新字串的末尾加上斜杠零,新 t u 就是 那个位置。完成了对准函数 t u 函数序的修改,函数返回运行看效果,输入 f s d f 回车,输入三回车,看结果正确。其实有一个漏洞在程序中,你发现了吗?

阳辉三角的简单实线什么是阳辉三角?这是一个三角形,这个位置的数值等于这两个数值之合,所有的位置的数值都是这么计算的。 定义二为数组 a 出使值都是零, n 是 阳辉三角的行数,设置为十二。我们发现每一行的首和尾都是数值。一、负循环,便利 n 型 ai。 零是这一行的首部, ai i 是 这一行的尾部,统统设置为一。我们发现第零行和第一行都设置好了外层负循环,从第二行开始,我们发现同一行的首和尾也设置好了 内层负循环。从第一列开始到 i 减 e 结束,要求的 ai j 的 数值,计算它上方和它左上方数值之和, 它上方是 ai 减一 j, 它左上方是 ai, 减一 j 减一负循环结束后,数据就设置好了,现在显示洋灰三角。 外层负循环便利 n 行,内层负循环从零到 i。 由于数值有一位的、两位的、三位的,为了对齐,我们使用百分号五 d 统一宽度负显示一行数据,然后加一个换行,这是完整的一行运行,看效果。

字母串去掉多余的空格,这个字母串,这些是多余空格。去掉后,字母串是这个样子定义字母数组, a 右侧的三行字母串自动拼接成一个字母串长量用于初识化左侧的 a 数组 c, s, j, l, n 计算 a 字母串的长度, c, s 串需要这个头文件 字母串长度保存在乱变量中,删除空格,就要重新组装字母串变量。 a 是 保存自服用的新位置,初使化为零,负循环,从左往右便利字母串的每个字母 j 从零到任意减一。 当前字母是 a, j。 当前字母只有两种情况,是空格或者不是空格。如果当前字母是空格, 只有一种空格是保留的,就是这样的空格,空格的前面不是空格。如果当前字母 aj 的 前一个字母 aj 减一,不是空格,则保留这个空格。把空格存入新位置。 a, i, i 加加为下一个存入的字母准备位置。其他空格一律不要,不写入新字母串。 如果当前字母 aj 不是 空格,一律存入新位置。将 aj 存入, a, i, i 加加为下一个存入的字母准备位置。 一趟 foai 变利之后,多余的空格就被去掉了。还有一个特殊情况,就是字母串末尾的空格。如果字母串末尾有空格,则 i 剪剪,不要这个空格 往新字母串的末尾写入。结束标志斜杠零 print 输出新字母串运行看效果。

将字母串去重后,显示内容和字母数。比如原有字母串是 a, a, a, b, b, b, c, c, d, d, e, f, f。 重复字母是连续的, 去充后的字母串是 app staff, 并显示个数是六。定义 counter, 用于统计去重后的字母个数,初始化为零, a, n, n。 同于统计 a 字母串的长度,使用库函数 strangle, 求 a 字母串的长度, 需要这个头文件才能使用 strangle 函数。如果长度不是零,说明至少有一个字母 count 负值一,所以 a 零字母我们已经计数了,它不需要移动否循环 i 从一到另一,从第二个字母 a 一 到字母串的尾部进行扫描。 如果当前字母 ai 和前一个字母 ai 减一不相等,那么 ai 就是 我们发现的新大陆 ctrl 加加技术。比如当前字母是大 b, 它的前面是大 a, 大 b 就是 我们发现的新大陆。就需要 ctrl 加加技术。一趟便利后 printif 打印去除重复之后的字母数。 我们还有另外一个要求,想要得到去除重复之后的字串。我们定义 j 变量,专门用于记录保存字母的位置。因为 a 零已经确定了,所以 j 从 a 一 开始, j 复制一给 f 加大括号,表示循环体 给 f 加大括号, f 管辖的不只是一条语句。 ai 是 我们发现的新大陆。把 ai 保存到 aj, j 自增一用于下一次保存。 运行看效果没问题。总感觉 j 和 count 有 相关性,变量多了就容易乱。我们发现 j 和 count 在 数值上是同步的,尽管各自功能不同。去掉 j, 让 count 同时发挥 j 的 作用。运行看效果没问题。

c 语言字母串库函数简介,使用 c 语言的字母串库函数都要先包含这个字母串头文件。第一个函数求字母串的长度是专论函数定义 a 是 一千零二十四字节的字母数组,用右侧字母串出使化 a 数组 执行该行后, a 数组的前四个字节被字母串占用。 a 零是大 h, a 一 是小二 a, 二是小一 a, 三是字母串的结束标志。斜杠零定义 lan 始化为零。 lan 变量赋值库函数 c tran 函数的返回值。 c tran 函数以 a 字母串作为参数函数返回 a 字母串的长度,赋值给 lan print 打印 lan 变量的值。因为 lan 是 int 类型,所以 print b 占位符使用百分号 d 显示长度是三正确。第二个字母串库函数,符串拷贝函数 stinky 定义 to 和 from 两个字母组分别用右侧的 to 串进行初步化。 stinky 函数有两个时餐,第一个时餐是 to 字母数组的起始位置,第二个时餐是 from 这个 to 串 stinky 库函数将 from 字母串拷贝到以 to 为开始的空间,所以程序设计人员要保证 to 开始的空间足够大。 print of 打 印 to 字母串拷贝到以 to 为开始的空间,所以程序设计人员要保证 to 字串拷贝到以 to 为开始的空间,所以程序设计人员要保证 to 字串拷字串。 注意,打印字母串必须使用百分号 s 这个占位符查看运行效果。和我们预想的一样突,原有的字母串被新的字母串覆盖了。第三个字母串库函数,字母串拼接函数 s, r、 k 的 函数定义有 a 和 b 两个字母数组 分别用右侧的字母串进行初步化,调用 s、 r、 k 库函数将 b 字母串拼接到 a 字母串的后面。 尽管 a 数组是一千零二十四字节,但是 a 字母串是三个字节。尽管 b 字母数组是两百五十六字节,但是 b 字母串是十二个字节。 b 拼接到 a 之后, a 字母串的长度是三加十二,是十五。 print f 显示现在 a 字母串的内容。 print f 打印字母串占位符使用百分号 s。 第四个字母串,库函数,字母串比较函数 s, t, r, c, m, p 函数,以 a 字母串和 b 字母串作为时餐。 如果两个字符串相等, s, t, r, c, m, p 函数返回零,我们只需要判读 s, t, r, c, m, p 函数的返回值是否是零就可以了。如果返回值是零,则打印相等,否则打印不相等。运行看效果, 这两个不相等,再改改字母串,再盖改字母串,再运行看效果,这两个相等。第五个字母串库函数,函数,串,查找字母的函数 s, t, r, c, h 二函数,由于 s, t, r, c, h 二返回的是地址,我们定义指真屁负值空 s, t, r, c, h 二函数,第一个时餐是 a 字母串, 第二个时餐是小欧字母,记得是单引号的字母。 s, t, r, c, h, r 函数,在 a 字母串中查找小欧字母,如果找到,则返回该字母首次出现的地址,否则返回空。 s, t, r, c, h, r 函数,将返回结果复制给批变量。 如果屁不为空,则打印小 o 字母地址开始的字母串,否则显示没有找到,运行看效果和预想的一致。第六个字母串,库函数,查找子字母串的库函数 str str 函数,该函数在一个主字母串中查找子字母串首次出现的位置, 返回指向该位置的指针,如果没有找到,则返回空。定义字母指针屁初使化为空。屁用于保存 s t r s t r 函数的返回值。 s t r s t r 函数在主字母串 a 中查找 o r 这个子字母串返回首次找到的位置地址, 如果屁不为空,则显示该子字母串所在地址开始的子符串,否则显示没有找到。运行看效果没问题。