C入门语言看这篇就够了,教你快速上手C语言

简介: C入门语言看这篇就够了,教你快速上手C语言

前言

  哈喽,各位铁汁们好啊!✨今天来给大家带来的是初识C语言里面的转义字符注释

  《入门C语言篇》主要带大家简单认识-一下C语言,俗话说没吃过猪肉,也见过猪跑。带大家了解下C语言。可以读懂C语言的简单程序,后面博主会给大家出《C语言初级》加进阶知识,逐渐走上编程之路。

一、字符串的概念

什么是字符串?

"hello bit.\n"

这种由双引号(Double Quote)引起来的一串字符称为字

符串字面值(String Literal),或者简称字符串。

  • 注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,
    不算作字符串内容。

这里可能有些同学会问了怎么知道字符串是\0,为结束标志的呢?

我们来看一下下面这段代码:

int main()
{
  //"abcdef";
  //char ch1 = 'a';
  //char ch2 = 'b';
  //char ch3 = 'c';
  char arr[]="abcdef";
  return 0;
}

大家看我们想存储字符串“abcdef”该怎么存储呢?

  • 我相信各位宝子们第一个想到肯定是说,博主那不是很简单吗?
  • 直接用字符类型变量然后一个个输出不就完了,有什么难的。

可是大家想这样是不是太麻烦了,然后每一个字符串都这样存储,那么200个字符的字符串我们岂不是要定义200个字符变量

那怎么办呢?这里给大家简单讲一下字符数组的概念:

前说了如果字符串里面字符元素过多,我们就不好用字符变量来存储了。

而数组刚好可以解决我们这个问题。

  • 数组是相同类型元素的集合
  • 那么我们把数组定义成字符类型的元素不就行了
int main()
{
  char ch[] = {'a', 'b', 'c', 'd', 'e', 'f'};
  char ch2[] = "abcdef";
  return 0;
}

大家可以看到这里使用了,俩总方式来初始化字符类型的数组

  • 第一种:单个字符存储到字符类型的数组里面。
  • 第二种:以字符串直接,存储到字符类型的数组里面。

我们用VS2022来观察一下俩个字符数组存储的有什么区别。

这里是不是可以看到直接存储字符串进去末尾带带了一个\0

  • 说明了字符串是以\0为结尾的。
  • \0是字符串结束的标志

验证字符串后面的斜杠0

前面一章变量这个章节,博主跟大家说了打印字符串用的是%s

int main()
{
  char ch[] = {'a', 'b', 'c', 'd', 'e', 'f'};
  char ch2[] = "abcdef";
  printf("%s\n", ch);
  printf("%s\n", ch2);
  return 0;
}

注:
给大家解释一下printf这个函数

printf以%s打印字符串的时候是

从你给的地址一直向后打印,直到遇到\0

所以我们来看一下区别

这里就可以看到由于字符数组 ch存储的是单个字符元素没有 \0
所以printf就在往后一直打印,直到到找到字符\0

  • 所以后面打印了一堆乱码
  • 而字符数组ch2,最后一个存储的是\0,所以打印到\0就不打印。

再来用 s t r l e n strlenstrlen 库函数来读取一下这俩字符数组的长度

注:
给大家解释一下s t r l e n strlenstrlen这个函数

用的时候要引用头文件#include <string.h>

从你给的地址一直向后计数直到遇到\0结束

#include <stdio.h>
int main()
{
  char ch[] = {'a', 'b', 'c', 'd', 'e', 'f'};
  char ch2[] = "abcdef";
  int len1 = strlen(ch);
  printf("%d\n", len1);
  int len2 = strlen(ch2);
  printf("%d\n", len2);
  return 0;
}

所以大家明白为什么输出的是这俩个,字符个数吧!

  • 因为字符数组ch,没有结束符号\0所以计算的字符长度是个随机值
  • ch2\0字符串,结束的标志。所以读取的字符个数是6

二、什么是转义字符

转义字符转义转义说明:

它的意思就是转变他原本的含义

废话不多说各位铁汁看代码。

//转义字符 - 转变原来意思
int main()
{
  printf("(are you ok\?\?)");
  //are you ok]
  //??) - 三字母词  --> ]
  return 0;
}

printf(“(are you ok??)”);

这个代码在以前的编译器中输出的结果是

are you ok]

为什么呢?因为

  • ??)这3个符号组合在一起在以前的编译器会被认为是
  • 三字母词 意思就是把??)转变成]这个符号

再来看一组代码

int main()
{
  printf("ab\ndef");
  return 0;
}

我们的本意是输出ab\ndef这串字符

可实际输出的却是

  • 这是因为 \ + n\n原本的含义该转变成换行符了
  • \n原本只是俩个字符
    大家明白了没有
    那么可以用下面这段代码练习一下
  • 数一数有多少个字符
int main()
{
  printf("c:\\test\\test.c");
  return 0;
}

下面给大家看一下C语言的转义字符表

三、C语言中的不同注释

1. C语言中的注释风格

int main()
{
  /*
  * C语言注释风格 - 不支持注释嵌套
  * 下面代码是创建一个整型变量并赋值0
  */
  int b = 0;
  printf("%d\n", strlen("abcdef"));
  return 0;
}

缺陷

一旦嵌套了他所对应的/*就不会和最近的 */ 匹配

/*int main()
{
  /*
  * C语言注释风格 - 不支持注释嵌套
  * 下面代码是创建一个整型变量并赋值0
  */
  int b = 0;
  printf("%d\n", strlen("abcdef"));
  return 0;
}*/

大家看上面被注释了但是下面的*/匹配不上了

2. C++中的注释风格

int main()
{
  //以//开头的注释是属于C++注释风格
  //注释
  //strlen是一个库函数
  //计算的是\0之前出现的字符的个数
  //
  int b = 0;
  printf("%d\n", strlen("abcdef"));
  return 0;
}
  • C++的注释方法是支持嵌套的
  • 所以在代码段注释我们一般推荐这种

总结

好了今天主要是带大家认识字符串转义字符注释

总结一下今天学了:

  字符串

  字符串的结束标志

  转义字符

  C语言的注释风格

  C++的注释风格

不知道大家掌握了没有,希望对各位铁汁有用呢!

看到这里了还不给博主扣个点赞收藏

💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖

拜托拜托这个真的很重要!

你们的点赞就是博主更新最大的动力!

有问题可以评论或者私信呢秒回哦。


目录
相关文章
|
1月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
52 2
|
1月前
|
存储 Java 编译器
初识C语言1——C语言入门介绍
初识C语言1——C语言入门介绍
30 1
|
1月前
|
C语言
回溯入门题,数据所有排列方式(c语言)
回溯入门题,数据所有排列方式(c语言)
|
1月前
|
存储 程序员 编译器
初识C语言,计算机语言的基石
初识C语言,计算机语言的基石
|
3月前
|
C语言
C语言------程设设计入门
这篇文章是C语言程序设计的入门教程,涵盖了C程序的实现过程、VC集成开发环境的使用、基本数据类型的使用、格式控制字符的作用,以及通过示例代码演示了如何使用printf()函数输出不同类型的数据。
C语言------程设设计入门
|
4月前
|
存储 Java C语言
【C语言入门】初识C语言:掌握编程的基石
【C语言入门】初识C语言:掌握编程的基石
67 4
【C语言入门】初识C语言:掌握编程的基石
|
3月前
|
NoSQL Java 编译器
C语言从入门到精通该怎样学?
持续学习与实践:编程是一门需要不断学习和实践的技能,要保持对新技术和新知识的敏感性,并持续进行编程实践。
57 1
|
4月前
|
存储 Java 程序员
【C语言入门】C语言入门:探索编程世界的基础概念
【C语言入门】C语言入门:探索编程世界的基础概念
105 2
|
4月前
|
前端开发 C语言 C++
C语言入门02---环境搭建
C语言入门02---环境搭建
|
4月前
|
编译器 C语言 C++
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决