2025年console是什么意思c语言(c语言中con是什么意思)

console是什么意思c语言(c语言中con是什么意思)和 交流使 的是 然语 如 汉语 英语 语 C 语 就是众多计算机语 中的 种 当然 C Java Go Python 都是计算机语 总结 人和人交流使用自然语言 而人和计算机交流我们使用计算机语言 而 C 语言就是一种计算机语言 我们这些程序员 计算机科学家通过 C 语言写出一些代码来 就是程序 来给计算机下达指令 让计算机按照我们的预期来工作 达到某一效果 各种语言的发展

大家好,我是讯享网,很高兴认识大家。



C语言基础知识全面讲解(超详细)_转义字符
讯享网

⼈和⼈交流使⽤的是⾃然语⾔,如:汉语、英语、⽇语

C语⾔就是众多计算机语⾔中的⼀种,当然C++/Java/Go/Python都是计算机语⾔。

总结: 人和人交流使用自然语言,而人和计算机交流我们使用计算机语言,而C语言就是一种计算机语言,我们这些程序员,计算机科学家通过C语言写出一些代码来,就是程序,来给计算机下达指令,让计算机按照我们的预期来工作,达到某一效果

C语言基础知识全面讲解(超详细)_转义字符_02

各种语言的发展:

C语言基础知识全面讲解(超详细)_#include_03

C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译器翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。

C语⾔代码是放在.c

总结: 计算机只能识别二进制的指令,我们写的C语言代码是文本信息,我们要把它通过编译翻译成二进制,然后通过链接生成可执行程序才能被计算机执行

⼀个⼯程⼀般都会有多个源⽂件组成,如下图所⽰,演⽰了源程序经过编译器和链接器处理的过程:

注:

  1. 每个源⽂件(.c)单独经过编译器处理⽣成对应的⽬标⽂件(.obj为后缀的⽂件)
  2. 多个⽬标⽂件和库⽂件经过链接器处理⽣成对应的可执⾏程序(.exe⽂件)

这就是,在Windows电脑上C语⾔程序⽣成的exe可执⾏⽂件 补充:什么是链接库? 我们在写代码的时候,比如说我们使用了printf我们要包含stdio.h这个头文件,当我们包含这个头文件的时候这个头文件所涉及到的这些依赖的东西,这些依赖的库,也得是一个库文件提供给你的,你把它编译到你的程序中才能用,所以像这些库函数,它所依赖的一些东西就会在链接库里面提供,然后链接到可执行程序里,我们就可以使用了, 所以链接库是除了我们实现的一些东西,我们编译器提供的一些其它的东西。

每个 C 语⾔程序不管有多少⾏代码,都是从 main 函数开始执⾏的, main函数是程序的⼊⼝, main函数也被叫做:主函数。 main前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类型的值。所以在 main函数的最后写 return 0

  • main函数是程序的⼊⼝
  • main函数有且仅有⼀个
  • 即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的入口只能有一个

第一次写代码,一些常见的错误总结:

  • main 被写成了mian
  • main后边的()漏掉了
  • 代码中不能使⽤中⽂符号,⽐如括号和分号
  • ⼀条语句结束后,有分号

在上⾯的代码中有⼀句代码如下:

代码中使⽤了 printf 函数,实现了在屏幕上的信息的打印。这⾥简单的介绍⼀下 printf , printf 是⼀个库函数,它的功能是在标准输出设备(⼀般指屏幕)上进⾏信息的打印。上⾯的代码是使⽤ printf 函数打印字符串。只要把想要打印的⼀串字符放在双引号中并传递给printf函数就可以打印。

printf函数也可以⽤来打印其他类型的数据,⽐如:

那什么是库函数呢? 为了不再重复实现常⻅的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。这些函数组成了⼀个函数库,被称为标准库,这些函数也被称为库函数。在这个基础上⼀些编译器⼚商可能会额外扩展提供部分函数(这些函数其他编译器不⼀定持)。⼀个系列的库函数⼀般会声明在同⼀个头⽂件中,所以库函数的使⽤,要包含对应的头⽂件。

C语⾔中有⼀批保留的名字的符号,⽐如: int 、 if 、 return ,这些符号被称为保留字或者关键字。

  • 关键字都有特殊的意义,是保留给C语⾔使⽤的
  • 程序员自己在创建标识符的时候是不能和关键字重复的
  • 关键字也是不能⾃⼰创建的。

C语⾔的32个关键字如下:

在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:’a’,’b’,’@‘。

我们知道在计算机中所有的数据都是以⼆进制的形式存储的,那这些字符在内存中分别以什么样的⼆进制存储的呢?如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语⾔中的字符就遵循ASCII 编码的⽅式。

C语言基础知识全面讲解(超详细)_#include_04

我们不需要记住所有的ASCII码表中的数字,使⽤时查看就可以,不过我们最好能掌握⼏组特殊的数据:

  • 字符A~ Z的ASCII码值从6590
  • 字符a z的ASCII码值从97122
  • 对应的⼤⼩写字符(a和A)的ASCII码值的差值是32
  • 数字字符0 9的ASCII码值从48~57
  • 换⾏ 的ASCII值是:10
  • 在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,⽆法打印在屏幕上观察

单个字符的打印可以使⽤%c来指定格式:

可打印字符展⽰:

结果如下:

C语言基础知识全面讲解(超详细)_字符串_05

总结:我们知道计算机只能识别二进制,数据在内存中存储的时候,存储的也是二进制,由于字符不是二进制所以不能直接存储到内存当中,所以我们规定了各种字符对应的二进制是多少,我们不直接存储字符,我们把规定字符对应的二进制存储到内存当中去,在使用字符的时候我们通过制定好的规则就能通过二进制找到对应的字符

ASCILL码值就是规定了字符对应的二进制是多少

C语⾔中如何表⽰字符串呢?使⽤双引号括起来的⼀串字符就被称为字符串,如:”abcdef”,就是⼀个字符串。

字符串的打印格式可以使⽤ %s 来指定,也可以直接打印如下:

结果如下:

C语言基础知识全面讲解(超详细)_字符串_06

C语言字符串中⼀个特殊的知识,就是在字符串的末尾隐藏放着⼀个 0字符,这个 0字符是字符串的结束标志。

C语言基础知识全面讲解(超详细)_转义字符_07

对于字符串”abcdef”,我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏⼀个 0 的转义字符, 0是字符串的结束标志。所以我们在使⽤库函数 printf() 打印字符串或者strlen() 计算字符串长度的时候,遇到 0

C语言中也可以把⼀个字符串放在⼀个字符数组中,我们在这⾥利⽤下⾯的代码验证⼀下 0

通过监视窗口可以观察到:

C语言基础知识全面讲解(超详细)_#include_08

运行结果如图:

C语言基础知识全面讲解(超详细)_#include_09

我们可以看到, arr1 字符数组在打印的时候,打印了 a 、 b 、 c 后还打印了⼀些随机值,这就是因为 arr1 在末尾的地⽅没有 0 字符作为结束标志,在打印的时候没有停⽌。但是 arr2 的打印就是完全正常的,就是因为 arr2 数组是使⽤字符串常量初始化的,数组中有 0作为技术标志,打印可以正常停⽌。

如果我们在arr1数组中单独放⼀个 0字符会怎么样呢?

运行结果如图:

C语言基础知识全面讲解(超详细)_转义字符_10

看到三次打印的结果是⼀样的了,都是打印到 0 的时候就停⽌了,那从上述的例⼦我们确实能够观察到 0

总结:因为 arr1 没有 0作为结束标志,所以会一直打印直到遇到内存中的 0停止打印,这里已经越界访问了,从字符 c之后的空间并不属于我们,我们并不知道内存中存放的是什么所以打印的是乱码,但是当打印到某一刻确实也停下来了,因为确实在内存中的某个位置遇到了 0,所以停下来。

也许在前⾯的代码中你看到 , 0

⽐如:我们有字符 n

输出的结果:

C语言基础知识全面讲解(超详细)_转义字符_11

如果我们修改⼀下代码,在 n 的前⾯加上 </strong>

输出的结果:

C语言基础知识全面讲解(超详细)_转义字符_12

我们可以看到修改的前后代码输出的结果,截然不同的,那这是为什么呢?

这就是转义字符的问题, 是⼀个转义字符表⽰换⾏的意思,我们可以简单的理解为 \ 让 n的意思发⽣了转变, n 本来是⼀个普通的字符,被 \转义为换⾏的意思。

C语⾔中像这样的转义字符还有⼀些,具体如下

  • ? :在书写连续多个问号时使用,防止他们被解析成三字母词,在新的编译器上没法验证了
  • “:用于表示⼀个字符串内部的双引号
  • \用于表示⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
  • \a
  • \b
  • \f :换页符,光标移到下一页。在现代系统上,这已经反映不出来了,行为改成类似于\v
  • \n
  • \r
  • \t
  • \v

下⾯2种转义字符可以理解为:字符的8进制或者16进制表示形式:

  • \ddd :d d d表示1~3个⼋进制的数字。 如:\130
  • \dd :d d表示2个⼗六进制数字。 如: \x30 表⽰字符0
  • \0 :null 字符,代表没有内容, \0就是 ddd 这类转义字符的⼀种,用于字符串的束标志,其ASCII码值是0.

代码演示:

运行结果如图:

C语言基础知识全面讲解(超详细)_#include_13

这里我们如果通过转义字符就能打印出’或者”,如果我们不加转义字符去打印 ‘或者”的时候,按照C语言的语法规定两个单引号构成一对字符,后面’就会落单了,如果我们不想中间这个’就是一个普普通通的’就需要加上转义字符\。 在第二句代码如果我们希望打印c: estcode est.c这个路径,不能直接打印因为 会被当做转义字符看待,所以这里要转义\,让它变成一个普通的\,这里的c虽然不是转义字符但是这里的\仍会被当做转义字符,因为无法转换所以不会改变c,但是\会消失,所以这里要加\来转义\。

这个代码在当前编译器底下是可以正常运转的,但是在一些比较老的编译器底下,支持三字母词

什么是三字母词呢? 就是两个问号开头在加上一个字符,就构成了一个三字母词,比如说: ??)在C语言一些过去的旧的编译器底下,这个 ??)就会被解析成 ],所以说如果我们不想被解析成三字母词,最好在?前面加一个 \就转义了 ?让 ?不在是三字母词里的问号就是一个普普通通的 ?。

所以代码最好这样写:

注意:转义字符只是一个字符

运行结果如下:

C语言基础知识全面讲解(超详细)_字符串_14

我们看到这总共21个字符的长度是13,所以这里的 ,130被当成一个字符来看待。

C语⾔的代码是由⼀条⼀条的语句构成的,C语⾔中的语句可为以下五类:

  • 空语句
  • 表达式语句
  • 函数调⽤语句
  • 复合语句
  • 控制语句

空语句是最简单的,⼀个分号就是⼀条语句,是空语句。表达式语句就是在表达式的后边加上分号。函数调用的时候,也会加上分号,就是函数调⽤语句。

复合语句其实就是前⾯讲过的代码块,成对括号中的代码就构成⼀个代码块,也被称为复合语句。

控制语句⽤于控制程序的执⾏流程,以实现程序的各种结构⽅式(C语⾔⽀持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语⾔有九种控制语句。可分成以下三类:

  1. 条件判断语句也叫分⽀语句:if语句、switch语句;
  2. 循环执⾏语句:do while语句、while语句、for语句;
  3. 转向语句:break语句、goto语句、continue语句、return语句。后期会给⼤家⼀⼀介绍控制语句。

注释是对代码的说明,编译器会忽略注释,也就是说,注释对实际代码没有影响。 注释是给程序员⾃⼰,或者其他程序员看的。好的注释可以帮我们更好的理解代码,但是也不要过度注释,不要写没必要的注释。 当然不写注释可能会让后期阅读代码的⼈抓狂。 写注释⼀定程度上反应了程序作者的素质,建议⼤家写必要的注释,在未来找⼯作的时候,写代码时留下必要的注释也会给⾯试官留下更好的印象。

13.1 注释的2种形式

C 语⾔的注释有两种表⽰⽅法。

13.1.1 // 的形式

第⼀种⽅法是将注释放在 /* / 之间,内部可以分⾏。

这种注释可以插在⾏内。

上⾯⽰例中, / file name */ ⽤来对函数参数进⾏说明,跟在它后⾯的代码依然会有效执⾏。这种注释⼀定不能忘记写结束符号 */

C语言风格的注释不能嵌套注释

上⾯⽰例的原意是,第⼀⾏和第三⾏代码的尾部,有两个注释。但是,第⼀⾏注释忘记写结束符号,导致注释⼀延续到第三⾏结束。/*/ 的这个注释也不⽀持嵌套注释, / 开始注释后,遇到第⼀个 / 就认为注释结束了。

13.1.2 // 的形式

第⼆种写法是将注释放在双斜杠 // 后⾯,从双斜杠到⾏尾都属于注释。这种注释只能是单⾏,可以放在⾏⾸,也可以放在⼀⾏语句的结尾。这是 C99 标准新增的语法。

不管是哪⼀种注释,都不能放在双引号⾥⾯。 双引号⾥⾯的注释符号,会成为字符串的⼀部分,解释为普通符号,失去注释作⽤。

运行结果如图:

C语言基础知识全面讲解(超详细)_#include_15

编译时,注释会被替换成⼀个空格,所以 min/ 这⾥是注释*/Value 会变成 min Value ,而不是 minValue 。

这里代码会报错,因为注释会被替换成空格,所以注释并不是被删除,而是被替换成空格了 。

C语言常见概念部分就到此结束了 。


小讯
上一篇 2025-06-14 09:41
下一篇 2025-04-19 21:02

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/185440.html