字符串、转义字符、ASCII码 及注释

本文介绍了C语言中的字符串概念,包括字符类型的使用和字符串常量,强调了字符串结束标志的重要性。讨论了转义字符的作用,如 的换行功能和的字符串结束标识,并列举了其他常见转义序列。还提到了ASCII码表及其与字符编码的关系。最后,文章讲解了C语言的注释方式,包括单行和多行注释,以及注释在代码组织和维护中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

今天这篇博客介绍的是C语言中的字符串,转义字符及在C语言中如何注释的相关知识,篇幅较短,可以当做餐后的小补充。



字符串、转义字符、ASCII码 及注释

1.字符串

int main()
{
    //char 字符类型
    char ch = 'w';//将字符常量放在字符变量中
    "abcdef"//双引号引起来的就是一个字符串,是一个字符串常量
    //C语言中没有字符串类型

    //如何储存字符串
    //运用字符类型的数组
    char arr1[]="abcdef";//7个元素
    return 0;
}

​ 注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度时 \0 时结束的标志,不算做字符串内容,但 \0 需要占据一个数组元素的位置

char arr1[]="abcdef";//7个元素
char arr2[] = {'a','b','c','d','e','f'};//6个元素
printf("%s\n",arr1);
//arr1:a b c d e f \0
printf("%s\n",arr2);
//arr2:a b c d e f

​ 当打印字符串时,计算机遇到 `\0 时才会结束,因此在使用数组arr2的定义方法时要注意添加字符串所隐藏的 \0 以让打印能够输出正确结果。

​ 在C语言中存在一个库函数"strlen();"用于求字符串的长度的函数,需要引用头文件<string.h>且要有一个变量来接收strlen()所返回的值.

#include <string.h>
int main()
{
    int len = strlen("abc");
    printf("%d",len);//3
    printf("%d",strlen(extern arr1));//7
    printf("%d",strlen(extern arr2));//6
    return 0;
}

2.转义字符

int main()
{
	printf("abcn");//abcn
    printf("abc\n");//abc
    //此时\n就是一个转义字符,即换行符
	return 0;
}
int main()
{
    printf("abc0def");//abc0ef
    printf("abc\0def");//abc
    //此时\0就是一个转义字符,即字符串的结束标志符
}

在C语言中规定的转义字符有:

\?  	//在书写多个问号时使用,防止被解析成三字母词
\'  	//用于表示字符常量'
\"  	//用于表示一个字符串内部的双引号
\\		//用于表示一个反斜杠,防止被解释为一个转义序列符
\a		//警告字符,蜂鸣
\b		//退格符
\f		//进纸符
\n		//换行符
\r		//回车
\t		//水平制表符
\v		//垂直制表符
\ddd	//ddd表示1-3个八进制的数字。eg:\130x
\xdd	//dd表示2个十六进制的数字。eg:\x30 0

对应的使用示例:

//三字母词:在早期C语言中存在
//??) --> ]
//??( --> [
int main()
{
    printf("%s\n","(are you ok??)");
    //由于早期C语言中三字母词的存在,所以上述语句将会打印出 (are you ok],因此使用转义字符"\?"来防止问号被三字母词语法解析掉
    printf("%c\n",'\'w\'');
    //'w'
    printf("\"abcde\"");
    //"abcde"
    printf("abc\\0ef");
    //abc
    printf("c:\\test\\test.c");
    //c:\test\test.c
    printf("\a");
    //触发电脑的蜂鸣器
    printf("abc\tde");
    //即一个tab
    printf("%c\n",'\130' );
    //X //八进制的130-->十进制的88-->ASCI中的 X ,因此 \130 打印出了 X
    printf("%c\n",'\x63' );
    //  //十六进制的63-->十进制的99-->ASCI中的 c ,因此 \x60 打印出了 c
    return 0;
}

4.ASCII 码表

ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号, 以及在美式英语中使用的特殊控制字符。
ASCII码对照图表如下
在这里插入图片描述

3.注释

​即注解,解释。可用于对一段代码的解释说明,也可用于对不想要的代码进行注释以使程序不会运行此段代码

int main()
{
	//创建指针变量p,并赋值为NULL
	int* p = NULL;
}

​多行注释: /* */ (C语言的注释风格)。缺点是不能够嵌套使用。
​单行注释: // (C++的注释风格)

​注释有助于:
1.梳理思路
​2.对复杂的代码进行解释,利于后期维护,修复
​3.提高代码的可读性


总结

本篇文章内容不多,希望对大家能有所收获。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是小张a_3168

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值