服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言的常量,字符串,转义字符,注释你都了解吗

C语言的常量,字符串,转义字符,注释你都了解吗

2022-09-29 16:38昼夜_ C/C++

这篇文章主要为大家详细介绍了C语言的常量,字符串,转义字符,注释,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

四种常量:

1.字面常量

如数字100,‘a’

2.const修饰的常变量

const int n = 10 //常变量而非常量 不能用 int a【n】={1,2,3}定义数组

3.define定义的标识符常量

#define NUM 100 //NUM是define定义的常量

4.枚举常量:

生活中有些取值可以一一列举的如:

性别:男,女,保密

星期:1,2,3,4,5,6,7

//创建一种枚举类型

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
enum Sex
{
    //枚举类型Sex的三个可能取值 -枚举常量
    MALE,   //0
    FEMALE, //1
    SECRET  //2
};
int main()
{
    enum Sex sex = FEMALE;
    //MALE = 2;             //err
    printf("%d\n", MALE);   //0
    printf("%d\n", FEMALE); //1
    printf("%d\n", SECRET); //2
    return 0;
}

字符串:

由双引号括起来的一串字符就是字符串 如:"abc"、"a"、"" //空字符串

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
//突出'\0'的重要性
int main()
{
    char arr1[] = "abcdef";
    char arr2[] = {'a', 'b', 'c','d','e','f'};
    char arr3[] = {'a', 'b', 'c','d','e','f','\0'};
    //%s 是打印字符串
    printf("%s\n", arr1);  //abcdef
    printf("%s\n", arr2);  //abcdef烫abcdef
    printf("%s\n", arr3);  //abcdef
    return 0;
}
?
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <string.h>
//说明'\0'不算作字符串内容
int main()
{
    char arr1[] = "abcdef";
    printf("%d\n", strlen(arr1));  //6
    //strlen - string length - 字符串长度 需要头文件<string.h>
    char arr2[] = {'b','i','t'} ;
    printf("%d\n", strlen(arr2));  //10  缺少\0输出值是随机值
    return 0;
}

转义字符

?
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main()
{
    //问题1:在屏幕上打印一个单引号',怎么做?
    //问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?
    //问题3:在屏幕上打印 c:\code\test.c\n,怎么做?
    printf("%c\n", '\'');         //'
    printf("%s\n", "\"");         //"
    printf("c:\\code\\test.c\n"); //c:\code\test.c\n
    return 0;
}

特殊的转义字符:

\ddd:ddd表示1~3个八进制的数字。 如: \130 X

:\ddd 最多只支持三位数字,并且三位数字也不是任意的,一旦大于等于八进制数 '/400 '(十进制256=8进制400)就超过了ascall码的范围,编译器就会报错。另外大于三位,或者遇到非八进制数字时则转换结束,直接取末尾数字。

面试题:需注意\后的三个数字超出400和三个数字中有超过7的数字的情况

?
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <string.h>
int main()
{
    printf("%d\n", strlen("abcdef"));
    // \62被解析成一个转义字符
    printf("%d\n", strlen("c:\test\628\test.c")); //14
    return 0;
}

\xdd:dd表示2个十六进制数字。 如: \x5F   //

注释

注释有两种风格:

C语言风格的注释 /*xxxxxx*/ 缺陷:不能嵌套注释

C++风格的注释 //xxxxxxxx 可以注释一行也可以注释多行 

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容! 

原文链接:https://blog.csdn.net/m0_62934529/article/details/123075612

延伸 · 阅读

精彩推荐
  • C/C++C语言课程设计之抽奖系统

    C语言课程设计之抽奖系统

    这篇文章主要为大家详细介绍了C语言课程设计之抽奖系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    贺志营7572021-08-11
  • C/C++C语言实现家庭理财系统

    C语言实现家庭理财系统

    这篇文章主要为大家详细介绍了C语言实现家庭理财系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    xingcheng--dp5462022-03-06
  • C/C++C++中的std::async()详解

    C++中的std::async()详解

    这篇文章主要给大家介绍了关于C++中std::async()的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋...

    小米的修行之路5662021-09-30
  • C/C++VS2019中CMake项目如何指定c++语言标准

    VS2019中CMake项目如何指定c++语言标准

    这篇文章主要介绍了VS2019中CMake项目如何指定c++语言标准,需要的朋友可以参考下...

    江小举6022021-08-17
  • C/C++C语言数据结构中定位函数Index的使用方法

    C语言数据结构中定位函数Index的使用方法

    这篇文章主要介绍了C语言数据结构中定位函数Index的使用方法的相关资料,希望通过本文能帮助到大家,让大家理解这部分内容,需要的朋友可以参考下...

    Vit_rose5932021-06-08
  • C/C++使用kendynet构建异步redis访问服务

    使用kendynet构建异步redis访问服务

    这篇文章主要介绍了在kendynet上写的一个简单的redis异步访问接口,大家参考使用吧...

    C语言教程网10182021-01-14
  • C/C++C语言版猜数字小游戏

    C语言版猜数字小游戏

    这篇文章主要为大家详细介绍了C语言版猜数字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    捕获一只小肚皮8522021-12-02
  • C/C++c++ const引用与非const引用介绍

    c++ const引用与非const引用介绍

    const引用是指向const对象的引用,可以读取ref,但不能修改所以也就有将const变量赋值给非const引用是非法的,感兴趣的朋友可以了解下,或许本文对你有所帮助...

    C++教程网2632020-11-17