首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第五节(信息读写基础)

在上面的示例中,\n (称为换行符)是一个转义序列,它的意思是“移至下一行开始”。在上一节的程序清单中使用了\t来打印制表符,以格式化表格。另外,转义序列也可用于打印某些字符。...你对于换行符已经很熟悉了,第56~ 60行还使用了制表符转义序列\t。 上一节的程序示例中,使用了制表符垂直对齐表格的数据。 也许不太理解第58行和第59行。...如果要使用puts(),必须在程序中包含标准输入/输出头文件(stdio.h )。 puts()函数会在待打印的字符串末尾添加一个换行符。 格式字符串中可包含转义序列,上面表列出了最常用的转义序列。...空白可以是空格、制表符或换行符。 格式字符串中的每.个转换说明都与一个输入字段匹配,scanf() 函数以空白来识别输入字段的末尾。 这给用户输入带来了极大的灵活性。...4:put()和printf()的区别是什么? ​有两点printf()可以打印变量形参 put()在待打印字符末尾自动添加换行符​ 5:使用printf()时,要包含什么头文件?

20520

【C语言】第三回 关于字符串,语句和注释的使用

对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏⼀个 \0 的转义字符, \0 是字符串的结束标志。...当然,我们可以来验证一下,C语⾔中也可以把⼀个字符串放在⼀个字符数组中,我们在这⾥利⽤下⾯的代码验证⼀下 \0 的功能。...的内容: 运行结果: 此时,我们可以看到经典 烫烫, arr1 字符数组在打印的时候,打印了 a 、 b 、 c 后还打印了⼀些随机值,这就是因为 arr1 在末尾的地⽅没有 \0` 字符作为结束标志...,在打印的时候没有停⽌。...但是 arr2 的打印就是完全正常的,就是因为 arr2 数组是使⽤字符串常量初始化的,数组中有 \0 作为技术标志,打印可以正常停⽌。 哎!

16110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux系统之echo命令的基本使用

    Exit Status: Returns success unless a write error occurs. 2.2 echo命令的语法解释 选项 描述 -n 不在输出末尾附加换行符。...-e 启用对反斜杠转义序列的解释。 -E 明确禁止对反斜杠转义序列的解释。(默认) echo 命令解释的反斜杠转义序列: 转义序列 描述 \a 警告(bell)。...3.7 使用for循环打印 用for循环打印数字序列 [root@openEuler-test ~]# for i in {1..10}; do echo $i; done 1 2 3 4 5 6 7...使用 -n 选项可以避免在输出末尾添加新行。 使用 -e 选项可以启用对转义序列的解释。 单引号包围文本可以防止 shell 对变量进行扩展。 双引号允许变量和命令替换在输出中生效。...使用 ANSI 转义序列可以在终端中输出带颜色的文本。 官方参考链接:https://man7.org/linux/man-pages/man1/echo.1.html

    24300

    【C语言】常见概念

    ~57 换行\n的ASCII是:10 在这些字符中ASCII码值从0~31这32个字符是不可打印字符,无法打印在屏幕上观察 单个字符的打印可以使用%c来指定格式: 可打印字符展示: 10....字符串的打印格式可以使用%s来指定,也可以直接打印如下: C语言字符串中一个特殊的知识,就是在字符串的末尾隐藏放着一个\0字符,这个\0字符是字符串的一个结束标志。...C语言中也可以把一个字符串放在一个字符数组中,我们在这里利用下面的代码验证一下 \0 的功能。...经典 烫烫烫~ 我们可以看到,arr1字符串在打印的时候,打印了a,b,c后还打印了一些随机值,这就是因为arr1在末尾的地方没有\0作为结束标志,在打印的时候就没有停止。...但是arr2的打印就是完全正常的,就是因为arr2数组是使用字符串常量初始化的,数组中由\0作为结束标志,打印可以正常停止。 如果我们在arr1数组中单独放一个'\0'字符会怎么样呢?

    20310

    【C语言】常见的C语言概念

    VS2022的监视窗口观察字符串 对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏⼀个 \0 的转义字符,\0 是字符串的结束标志。...arr1 和 arr2 的内容: 运行结果: 我们可以看到, arr1 字符数组在打印的时候,打印了 a 、 b 、 c 后还打印了一些随机值,这就是因为 arr1 在末尾的地方没有 \0...字符作为结束标志,在打印的时候没有停止。...但是 arr2 的打印就是完全正常的,就是因为 arr2 数组是使用字符串常量初始化的,数组中有 \0作为结束标志,打印可以正常停止。 如果我们在arr1数组中单独放一个'\0'字符会怎么样呢?...• \' :用于表示字符常量’ • \" :用于表示一个字符串内部的双引号 • \\ :用于表示一个反斜杠,防止它被解释为一个转义序列符。

    10210

    常量和字符串(C语言初阶细致)

    常识: 三原色:红色(RED)/绿色(GREEN)/蓝色(BLUE)是可以被一一列举出来且关联,因此可以使用enum枚举....字符类型 字符与字符串比较 代码检测证明是否有\0作为结束标志: 结论(超级重要):字符没有’\0’作为结束标记 分别打印字符 和字符串: 解释: 0.字符数组定义时可以省略数组元素个数...%s是专门来打印字符串的,当遇到’\0’时结束打印操作; 2.字符的’\0’需要手动添加,不加就无法停止打印;而字符串的’\0’在末尾自动添加, 3.但由上面的结论(字符没有’\0’作为结束标记)得知在打印字符的时候一直没有遇到结束标志...但是如果我就想打印出char ch1[] = {‘a’,‘b’,‘c’}; 下面提供两种方法: 方法一: (1)借用循环+%c打印 方法二: (2)在char ch1[] = {‘a...’,‘b’,‘c’};中手动添加一个’\0’,变成: char ch1[] = {‘a’,‘b’,‘c’,‘\0’’}; 借用strlen来求字符串长度: Q:什么是strlen?

    67770

    C语言常见概念

    如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语⾔中的字符就遵循ASCII...c");return 0;}结果如下:C语言字符串中⼀个特殊的知识,就是在字符串的末尾隐藏放着⼀个 \0字符,这个 \0字符是字符串的结束标志。...对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏⼀个 \0 的转义字符, \0是字符串的结束标志。...> 字符数组在打印的时候,打印了 a 、 b 、 c 后还打印了⼀些随机值,这就是因为 arr1 在末尾的地⽅没有 \0 字符作为结束标志,在打印的时候没有停...C语⾔中像这样的转义字符还有⼀些,具体如下: \ \? :在书写连续多个问号时使用,防止他们被解析成三字母词,在新的编译器上没法验证了。

    7410

    C++中关于使用[]定义的静态数组和new分配的动态数组的区别

    静态数组: int a[20]; int b[] = {1, 2, 3} 静态数组的长度为常量,在栈中分配内存空间,会自动释放。使用sizeof时,计算的是整个数组的字节大小。...动态数组: int len = 20; int *a = new int[len]; delete a; 动态数组在堆中分配内存,必须手动释放。...使用sizeof时,计算的是指针变量所占内存的字节大小。 在使用时,如果数组大小已经确定,可以使用静态数组,效率较高;如果数组大小需要在运行时确定(比如用户输入,函数参数传递等),则使用动态数组。...此外,如果需要在函数中返回数组,则必须注意用静态数组时,由于内存在栈中分配,函数执行完毕时会自动销毁,所以返回一个静态数组变量是无意义的;使用动态数组就可以返回,并在不需要时注意delete释放堆中的内存

    1.5K10

    c语言从入门到实战——在系统学习C语言之前所需要了解的知识

    c"); return 0; } C语言字符串中⼀个特殊的知识,就是在字符串的末尾隐藏放着⼀个 \0 字符,这个 \0 字符是字符串的结束标志。...VS2022的监视窗口观察字符串 对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏⼀个 \0 的 转义字符, \0 是字符串的结束标志。...的内容: 运行结果: 我们可以看到, arr1 字符数组在打印的时候,打印了 a 、 b 、 c 后还打印了⼀些随机值,这就是 因为 arr1 在末尾的地方没有 \0 字符作为结束标志,...在打印的时候没有停止。...但是 arr2 的打印就是完全正常的,就是因为 arr2 数组是使用字符串常量初始化的,数组中有 \0 作为技术标志,打印可以正常停止。

    16510

    【linux命令讲解大全】050.awk内置变量的使用方法和各种运算符详细解析

    转义序列 \ \自身 转义 \t 制表符 \b 退格符 \r 回车符 \n 换行符 \c 取消换行 示例 echo -e "line1 f2 f3\nline2 f4 f5\nline3 f6 f7"...print NF可以打印出一行中的最后一个字段,使用 (NF-1)则是打印倒数第二个字段,其他以此类推: echo -e "line1 f2 f3\n line2 f4 f5" | awk '{print...: C条件表达式 in 数组中是否存在某键值 例: awk 'BEGIN{a="b";print a=="b"?"...级别越高越优先 级别越高越优先 awk高级输入输出 读取下一条记录 awk中next语句使用:在循环逐行匹配,如果遇到next,就会跳过当前行,直接忽略下面语句。而进行下一行匹配。...}' test 执行shell的date命令,并通过管道输出给getline,然后getline从管道中读取并将输入赋值给out,split函数把变量out转化成数组mon,然后打印数组mon的第二个元素

    35210

    Kotlin:04-基本数据类型详细介绍

    原样字符串也可以叫做原始字符串或者原生字符串,其根本特点在于: 在打印原样字符串时,你输入的字符串是什么样的,它打印出来就是什么样的!...""" println(str) } 运行结果: 瞧,我们在创建字符串时使用了换行符让内容换行,打印的时候这些格式被保留了!这就是 原样字符串。...那么,如果我们想用 转义字符串打印出 原始字符串的样子该怎么办呢?——用转义字符啊!...""" println(str) //原样字符串不支持转义字符 } 运行结果: 你看,换行符的转义符 \n 直接被打印出来了。。。...[1] //使用索引运算符获取字符串中的元素 println(a) } 方式B:用 for 循环迭代字符串 在 kotlin 中字符串也支持 for 循环,通过 for 循环我们也可以获取字符元素

    1.8K30

    c语言-转义序列

    字符组合是由反斜杠 (\) 后接字母或位组合构成的字符组合。若要显示换行符,单引号或某些其他字符在字符串末尾,必须使用转义序列。 转义序列被视为单个字符,因此,它是有效的字符常数。...转义序列通常用于指定动作,例如在终端和打印机的回车和选项卡移动。 它们还用来提供非打印字符的文本表现形式和通常具有特殊意义的字符,如双引号 (")。...Microsoft 专用 如果反斜杠在表中未显示的字符前面,该编译器根据字符本身来处理未定义字符。 例如, \c 被视为 c。...结束 Microsoft 专用 转义序列可以发送 nongraphic 控制字符到显示设备。 例如,ESC 字符 (\033) 通常用作终端或打印机的命令控件的第一个字符。 一些转义序列特定于设备。...例如,垂直选项卡和换页符转义序列(\v 和 \f)不会影响屏幕输出,但它们会执行适当的打印机操作。 还可以将反斜杠(\)用作继续符。

    1.9K40

    python return换行(python中的换行)

    python提供了for循环和while循环(在python中没有do while循环) 循环… for循环python的for循环可以针对列表、数组类型的数据进行遍历,把遍历出来的数值进行处理(这里是把遍历做个相加或者...3次方相乘)使用print打印出一个变量可以让输出结果不换行显示,在打印变量名后加上一个逗号将xrange函数遍历的数值给予一个列表中,然后使用for循环对列表进行遍历,将遍历出来的数值全部相加得出…...所以,最后打印出来的输出,就是字符a,换行,字符b,然后制表符,最后打印字符c。 不过要注意,虽然最后打印的输出横跨了两行,但是整个字符串s仍然只有5个元素。...len(s)5在转义字符的应用中,最常见的就是换行符n的… print(456),123456 in:python print 输出不换行python 版本 2.7 print123,print456加逗号缺点...1 + 2j、 1.1 +2.2j(2)字符串(字符的序列)python中单引号和双引号使用完全相同。

    7.3K20

    笨办法学Python - 习题8-10:

    3.1、转义序列: 4、习题总结: 1、习题 8: 打印,打印 学习目标:继续学习 %r 的格式化输出。 习题八中的练习代码是: #!...字符 双反斜杠(double back-slash)   :这两个字符组合会打印出一个反斜杠来 3.1、转义序列: 下面介绍下再Python中常见的转义序列: 转义字符 描述 (在行尾时) 续行符 \...就需要使用转义序列 举个栗子: 在打印输出一句话时,可能同时包含单引号和双引号,这种情况下在print 语句中不加其他操作肯定是会出错的。...在这种情况下,我们有两种方法解决此问题; 使用转义序列 使用注释符-三引号 使用转义序列: ? 使用注释符: ?...总结: 转义序列就是将在print 下无法正常显示的字符打印出来,比如说打印  , 换行等。

    55700

    第1讲:C语言常见概念

    如果我们每个人自己给这些字符中的每个字符编⼀个二进制序列,这个叫做编码,为了方便大家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准ASCII 编码,C语言中的字符就遵循了 ASCII...字符串的打印格式可以使用 %s 来指定,也可以直接打印如下: C语言字符串中一个特殊的知识,就是在字符串的末尾隐藏放着⼀个 \0 字符( \0 也是字符),这个 \0 字符是字符串的结束标志...(下面我们来证明一下) 对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏⼀个 \0 的 转义字符, \0 是字符串的结束标志。...//字符串可以存放到字符数组中 蓝色的是arr1的内存布局空间,黄色的是arr2的布局空间,它们前后都有数据,对于arr1来说,当打印遇到\0的时候就停止了,很有分寸感,但对于arr2打印来说,只知道数组里面放着...正确方法: • \" :用于表示一个字符串内部的双引号 双引号和单引号是一样: • \\ :用于表示一个反斜杠,防止它被解释为一个转义序列符。

    12610

    Yaml 速成查询表

    大小写敏感 声明的key必须为字符串 使用空格缩进(不允许tab) #行开头到行尾为注释区域 值允许的类型有 str : 字符串 int | float: 整形及浮点型 list(array) : 可以理解为数组...: "双引号则忽略需要转义的,\n\t" text4: "这是多行文本 换行的需要空格缩进, 你可以试试" # |后面可以追加+(保留换行符,默认),-移除每行字符串末尾换行符 text5: |...这种多行文本可读性比较强 类似数组,整齐排列 # 也支持+-,同样是控制换行符 text6: > 这是折叠换行的姿势 会在最后一行末尾保留换行符 试试不就知道了 # 空值,日期声明...isEmpty: ~ isEmpty2: null date: 2020-07-15 #一维数组的写法(也能理解为列表) # 写法一 language: ['c','c++'] # 写法二 hight_language...text6: '这是折叠换行的姿势 会在最后一行末尾保留换行符 试试不就知道了\n', isEmpty: null, isEmpty2: null, date: Wed Jul 15

    1.3K10

    通过这14点,让你快速入门C语言(2)

    在书写连续多个问号时使用,防止他们被解析成三字母词 \’ 用于表示字符常量’ \" 用于表示一个字符串内部的双引号 \\ 用于表示一个反斜杠,防止它被解释为一个转义序列符 \a 警告字符,蜂鸣 \b 退格符...return 0; } 附:   在ANSI C标准中,定义了9个三字母词(trigraph),三字母词就是几个字符的序列,合起来表示另一个字符。...printf("c:\\code\\test.c");//\t是一个转义字符,为了不让\是\t中的\,则需在\前再加一个\,以此来转义\;在一个路径里面你想要一个\,那就要写出两个\...循环语句 C语言中如何实现循环呢?...arr3[] = {1,2,3};//这样写也是可以的,[]中默认是3 int arr4[];//这样写是错误的 int n = 10; int arr[n];//C99标准中 变长数组

    12410

    二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现

    二分查找的概念 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。...实现原理 首先,假设表中元素是按升序排列,将表中的位置记录的关键字与查找关键字比较,如果两者相等,则查找成功; 否则利用中间位置记录将表分成前、后两个子表 如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表...使用C语言代码实现 //二分查找 //给定一个有序数组,任意给定一个值,查找该值在数组的位置 int main() { int arr[] = { 5,9,12,15,20,32,36,42,56,78,89...1; int flag = 0;//标志位 while (left 数组未查找完成时 { int mid = (left + right) / 2; if (arr...mid + 1; } else { printf("arr[%d]=%d\n", mid, key); flag = 1; break;//如果没有break,代码会陷入死循环

    15010

    go 格式化输出

    格式“占位符”衍生自 C,但比 C 更简单。 【打印】 占位符: [一般]   %v 相应值的默认格式。...在打印结构体时,“加号”标记(%+v)会添加字段名   %#v 相应值的 Go 语法表示   %T 相应值的类型的 Go 语法表示   %% 字面上的百分号,并非值的占位符 [布尔]   %t 单词 true...无末尾的 0)输出   %G 根据情况选择 %E 或 %f 以产生更紧凑的(无末尾的 0)输出 [字符串与字节切片]   %s 字符串或切片的无解译字节   %q 双引号围绕的字符串,由 Go 语法安全地转义...另一个变参函数 Println 会在操作数之间插入空白, 并在末尾追加一个换行符。   不考虑占位符的话,如果操作数是接口值,就会使用其内部的具体值,而非接口本身。...所有需要被扫描的实参都必须是基本类型或实现了 Scanner 接口的类型。   注意:Fscan 等函数会从输入中多读取一个字符(符文),因此,如果循环调用扫描函数,可能会跳过输入中的某些数据。

    2.8K40

    【Linux】第一个小程序——进度条实现

    回车概念   在Linux系统中,\n和\r是两个重要的转义字符,它们分别代表着换行符和回车符,各自具有不同的功能和应用场景。...行缓冲区   在Linux中,行缓冲区是一种缓冲机制,用于存储输出数据,直到满足某个条件后才将数据发送出去。行缓冲区是按行存储数据的,即只有当输出的数据中包含换行符时,才会发送数据。   ...,将上述进度条代码写上去,然后使用make/makefile工具搭配gcc的使用,将progress.c编译成可执行文件progress,然后在命来行输入....然而,如果你在控制台环境下编写程序,并且目标环境如Linux或某些支持ANSI转义码的系统,你可以利用ANSI escape codes(ANSI转义序列)来模拟颜色输出。...所以对于进度条代码,我们可以将其设置我们喜欢的颜色,只需要在循环打印前后设置和取消字体颜色,代码如下: 然后我们使用make命令重新编译progress.c源文件: 运行结果如下: ✨模拟真实下载速度的进度条

    14810
    领券