文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

四种常量:

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

//创建一种枚举类型

#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 是结束标志,不算作字符串内容。

#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;
}
#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;
}

转义字符

#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的数字的情况

#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语言风格的注释 缺陷:不能嵌套注释

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

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容! 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯