• 新手学习c语言_第二部分


    转义字符

    就跟字面意思一样,转义字符就是将普通的字符转变成一些不方便打印的字符

    如n加上\,就变成了\n,在字符串中表达换行的意思

    printf("你\n好");

    诸如其他转义字符,就参考以下的文章,不用去记,用的时候去看,用的多了自然就记住了

    C语言——转义字符_c语言转义字符_Kevin_.的博客-CSDN博客

    数组

    数组就是将同类型的数据储存在一起

    用法如下

    int arr[3] = {10,10,10};

    int就是数组的类型,在变量名后面加上[]就代表是数组,里面的数字代表数组的长度

    大括号里的内容就是数组里的内容,用逗号隔开

    但是当你往数组中塞入了超过数组长度的数据后,代码就会报错

    int arr[3] = {10,10,10,10};

    当然[]里的数字也可以不写,这样编译器会自动的创建,刚好能存下所有数据长度的数组

    int arr[] = {10,10,10,10};

    那我们该如何去调用数组里的数据呢

    这就要用到数组的索引了,访问方法就是数组名[索引]

    注意:索引是从0开始的,所以当想要访问数组中第3个数据时,应当输入arr[2],而不是arr[3]

    1. int arr[] = {2,4,6,8,10};
    2. printf("%d\n",arr[2]);

    运行结果

    字符串

    C语言中是没有专门的字符串类型

    想要输出字符串,要么直接在printf中写入,要不创建一个字符数组

    1. char arr1[] = "abcdefg";
    2. char arr2[] = {'a','b','c','d','e','f','g'};
    3. printf("abcdefg\n");
    4. printf("%s\n",arr1);
    5. printf("%s\n",arr2);

    运行结果

    这里会发现arr2用字符组成的数组输出时,输出完后还输出了一串乱码

    这是因为,当你写出一个字符串时,在末尾其实是自带一个\0的

    它的意思是当输出字符串的时候,遇到\0才会停止输出

    而自己创建的字符数组是不会创建这个\0的,它会一直输出下去,直到遇到\0为止

    所以当我们加上一个\0时,问题就完美解决了

    1. char arr1[] = "abcdefg";
    2. char arr2[] = {'a','b','c','d','e','f','g','\0'};
    3. printf("abcdefg\n");
    4. printf("%s\n",arr1);
    5. printf("%s\n",arr2);

    运行结果

    值得一说的是\0只当作输出字符串的结束标志,不算在字符串的数组长度中

    所有其实arr1和arr2的数组长度是一样的,可以用strlen函数验证一下

    1. char arr1[] = "abcdefg";
    2. char arr2[] = {'a','b','c','d','e','f','g','\0'};
    3. //strlen是返回参数的字符串长度的函数
    4. printf("%d\n",strlen(arr1));
    5. printf("%d\n",strlen(arr2));

    运行结果

    注释

    在学习中我们可以会遇到这些代码我写的时候还知道是什么意思,等过几天就看不懂的问题时

    就要使用编译器所带的注释了,被注释的内容将不会参与代码运算,相当于没有这些内容

    注释的格式分为两种

    一种是//两个斜杠,单行注释,会将这一行的内容给注释掉

    一种是/*内容*/,多行注释,会将所有包含的内容都注释掉

    1. //int a = 1;
    2. int b = 2;
    3. int c = 3;
    4. /*printf("%d\n",a);
    5. printf("%d\n",b);*/
    6. printf("%d\n",c);

    运行结果

    可以看出,被注释后,a和b都没有被输出

    注意:多行注释可能会发生嵌套关系,从而导致注释失效,如:

    1. /*int a = 1;
    2. /*int b = 2;
    3. int c = 3;*/
    4. printf("%d\n",a); */

    当在编译器输入这些代码时你会发现,第4行代码并没有被注释掉

    这是因为,编译器在识别注释时一旦遇到(*/结尾)便会结束

    而包含在内的(/*开始)就会被注释掉,从而无法发挥正常作用

  • 相关阅读:
    C#-委托的详细用法
    机器学习笔记:RNN值Teacher Forcing
    NOI2022游记
    应用场景不同,使用的“代码”也不同
    JVM:(十四)垃圾回收算法
    A-level 物理实验题目
    正则表达式
    Mysql 内外链接,索引,事务,用户管理以及用C语言链接Mysql
    C# .NET Core API 注入Swagger
    登录怎么实现的,密码加密了嘛?使用明文还是暗文,知道怎么加密嘛?
  • 原文地址:https://blog.csdn.net/qq_69225420/article/details/132819177