鲤鱼的做法,烟悦网,4399游戏盒子-在线认证厨师,厨师在线资格认证,在线厨艺新闻

admin 2019-05-21 阅读:133

字符·字符串·转义字符

1、什么是字符?什么是字符串?什么是转义字符?有什么用?

”hello world”便是一个字符串,一个字符串由一个或多个字符组成,而“h”便是一个字符,同理“e”,“l”和“o”都是字符。每一个字符对应一个ASCII码,咱们要打印一个字符时,输入这个字符和它对应的ASCII码都是相同的。

例如:

#include
#include
int main() {
putchar('h');
putchar('e');
putchar('l');
putchar('l');
putchar('o');
putchar('\n');
putchar(010);//换行符
putchar(104);//h
putchar(101);//e
putchar(108);//l
putchar(108);//l
putchar(111);//o
}

调试成果为:

hello
hello

输入ASCII码时不必加引号,不然便是以字符的方式打印数字了,而不会将其转为字母。

咱们打印字符串时用printf(“helloworld”),字符串两头加上双引号,就能够打印出字符串,但假如咱们想打印双引号呢?假如咱们想换行打印呢?想让弹窗有提示音呢?

假如在外面的双引号之间再加一对双引号的话,编译器并不以为那是打印双引号的代码,而是依据语法规矩以为那是前后两对双引号,所以会报错。

39.png

假如想换行打印,也不能够在字符串之间回车,那就相当于把一个句子打断成两截,就会报错。

这个时分就会用到转义字符。

咱们用"将语法中的双引号转义成字符双引号,用\n表明换行符,用\a表明响铃:

#include
void main(){
printf("\"hello\nworld\"\a");
}

调试成果如下:

"hello
world"

而且弹窗带有window提示音。

以上便是咱们为什么需求用到转义字符。

2、常见的转义字符

转义字符 含义 ASCII码值 \a 响铃(BEL) 007 \b 退格(BS),将当时方位移到前一列 008 \f 换页(FF),将当时方位移到下页最初 012 \n 换行(LF),将当时方位移到下一行最初 010 \r 回车(CR),将当时方位移到本行最初 013 \t 水平制表(HT),(跳到下一个TAB方位) 009 \v 笔直制表(VT) 011 \ \ 代表一个反斜杠字符\ 092 ' 代表一个单引号字符 039 " 代表一个双引号字符 034 \0 空字符(NULL) 000 \ddd 1到3位八进制数所代表的恣意字符 三位八进制 \\xhh 1到2位十六进制所代表的恣意字符 二位十六进制 响铃和换行前面现已演示过了。

退格:

#include
void main(){
printf("helloworld");
// printf("\b");
getchar();
}

此刻调试成果为:

040.png

咱们加上退格换行符:

#include
void main(){
printf("helloworld");
printf("\b");
getchar();
}

调试成果为:

041.png

看到这儿就能了解退格换行符的作用了,便是将光标往后退一格。(光标从d的后边移到了d上)

换页:

#include
void main(){
printf("helloworld");
printf("\f");
getchar();
}

调试时成果为:

042.png

这儿看不出换页的作用,打印在文本编辑器里才会看到,在DOS窗口里只能看到一个废物字符。

回车:

#include
void main(){
printf("helloworld");
printf("\r");
getchar();
}

调试成果为:

043.png

能够看出\r将光标移到了本行最初。

反斜杠以及引号之前都演示过,就不多演示了。这儿讲一下空字符。

空字符:

#include
void main(){
// printf("helloworld");
printf("\000");
getchar();
}

调试作用为:

044.png

这意味着空字符便是什么都不操作,有没有它都相同。

搬运字符\ddd和\\xhh用于进制的转化

在数字前加上\就意味着后边的三位数字是八进制的,加上\\x就意味着后边的两位数字是十六进制的。咱们做个试验:

#include
#include
int main() {
putchar('\\x41');
putchar(65);
putchar('\101');
}

打印成果为:

AAA

这是由于十六进制的41、十进制的65和八进制的101是持平的。都是字符A所对应的ASCII码。

私信发送【C言语】获取视频和电子书