目录
1.初识字符串部分
1.1字符串的基本概念
“hello xiaolaji \n"
1. 这种由 双引号 (Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称 字符串。注:字符串的 结束标志是一个 \0 的转义字符 。在计算字符串长度的时候 \0 是结束标志,不算作字符串结束,所占字节比实际多一个。
1.2字符串的简单常用方法
1.在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。
char name[9] = "lnj"; //在内存中以“\0”结束, \0的ASCII码值是0
char name1[9] = {'l','n','j','\0'};
char name2[9] = {'l','n','j',0};
// 当数组元素个数大于存储字符内容时, 未被初始化的部分默认值是0, 所以下面也可以看做是一个字符串
char name3[9] = {'l','n','j'};
让我们思考一下:下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
char arr1[] = "bit";
char arr2[] = { 'b', 'i', 't' };
char arr3[] = { 'b', 'i', 't', '\0' };
char name[] = "c\0ool";
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
printf("%s\n", name);
return 0;
}
打印结果如下:![]()
总结:第一行数据和第三行数据正常,第二行数据出现“烫烫烫”的随机数;第四行数据并未打印完全。
第一行数据:轻松得知字符串以 "\0"结尾,只不过就是隐藏了起来;
第二行数据:因为没有初始化数组,且字符串没有结束的标志,会把内存中的所有随机值打印出来。
//省略元素个数时, 不能省略末尾的\0
// 不正确地写法,结尾没有\0 ,只是普通的字符数组
第三行数据:字符串的中间出现了\0
// "中间不能包含\0", 因为\0是字符串的结束标志
// \0的作用:字符串结束的标志
字符串小节:以上算是初步了解了字符串的概念和简单使用,后续字符串的详细内容,——————》学习字符串的详细使用方法。
2.转义字符
2.1常见转义字符表
转义字符 | 释义 |
---|---|
\? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
\' |
用于表示字符常量
'
|
\“ | 用于表示一个字符串内部的双引号 |
\\ |
用于表示一个反斜杠,防止它被解释为一个转义序列符。
|
\a |
警告字符,蜂鸣
|
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd |
ddd
表示
1~3
个八进制的数字。 如:
\130 X
|
\xdd
|
dd
表示
2
个十六进制数字。 如:
\x30 0
|
2.2转义字符的使用
如果我们要在屏幕上打印一个目录: c:\code\test.c我们该如何写代码?
#include <stdio.h>
int main()
{
printf("c:\code\test.c\n");
return 0; }
实际上程序运行的结果是这样的这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。
看几个问题 :
// 问题 1 :在屏幕上打印一个单引号 ' ,怎么做?// 问题 2 :在屏幕上打印一个字符串,字符串的内容是一个双引号 “ ,怎么做?//问题3 :程序输出什么?
// 问题1 // 问题 2 :.#include <stdio.h> int main() { printf("%c\n", '\''); printf("%s\n", "\""); return 0; }
//问题3:
#include <stdio.h> int main() { printf("%d\n", strlen("abcdef")); // \62被解析成一个转义字符 printf("%d\n", strlen("c:\test\628\test.c")); return 0; }
3.注释
3.1什么是注释?
- 注释是在所有计算机语言中都非常重要的一个概念,从字面上看,就是注解、解释的意思
- 注释可以用来解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流沟通
- 注释可以是任何文字,也就是说可以写中文
- 被注释的内容在开发工具中会有特殊的颜色
3.2 注释的常见使用
// 3.输出地图
printMap(map, row, col);
// 4.定义变量记录人物位置
int pRow = 2;
int pCol = 1;
// 5.定义变量记录出口的位置
int endRow = 1;
作用:解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流沟通
3.3注释的分类
1.单行注释
// 被注释内容
使用范围:任何地方都可以写注释:函数外面、里面,每一条语句后面作用范围: 从第二个斜线到这一行末尾 快捷键:Ctrl+/
2.多行注释
/* 被注释内容 */
使用范围:任何地方都可以写注释:函数外面、里面,每一条语句后面作用范围: 从第一个/*到最近的一个*/
3.4注释的注意点
1.单行注释可以嵌套单行注释、多行注释
// 地方 // 是的是的
// /* 是多少的*/
// 是的
2.多行注释可以嵌套单行注释
/*
// 作者:LNJ
// 描述:第一个C语言程序作用:这是一个主函数,C程序的入口点
*/
3.多行注释不能嵌套多行注释
/*
哈哈哈
/*嘻嘻嘻*/
呵呵呵
*/
总结:以上就是字符串,转移字符的初识内容,注释的全部内容。引自比特的鹏哥和代码情缘的相关书籍。
希望友友们,能给一个小小的关注和赞赞!!!