> 文档中心 > 初识C语言-常量,字符串,转义字符,注释

初识C语言-常量,字符串,转义字符,注释

文章目录

  • 常量(Constant)
    • C语言中的常量分为以下以下几种:
        • 1、字面常量
        • 2、const修饰的常变量
        • 3、define 定义的标识符常量
        • 4、枚举常量
  • 字符串(Character string)
  • 转义字符(Escape character)
        • 转义字符
  • 注释

常量(Constant)

常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。

常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。

常量就像是常规的变量,只不过常量的值在定义后不能进行修改。

C语言中的常量分为以下以下几种:

1、字面常量

#include int main(){//字面常量3.14;9999;    'a';//字符    "hello";return 0;}

2、const修饰的常变量

#include int main(){//const修饰的常变量const int a = 10;  //这里的a是const修饰的常变量//在C语言中,const修饰的a,本质是变量,但是不能直接修改,有常量的属性。    a = 20;  //a是不能直接修改的!printf("%d", a);  //10return 0;}

注:
上面例子上的 a 被称为 const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了
变量 a不能直接被改变,但是 a本质上还是一个变量的,所以叫常变量。

3、define 定义的标识符常量

#include #define MAX 100#define MIN 0int main(){printf("%d\n", MAX);//100int a = MAX;printf("%d\n", a);//100printf("%d\n", MIN);//0//MAX = 10; //err//define定义的标识符常量不能修改return 0;}

4、枚举常量

#include //注:枚举常量的默认是从0开始,依次向下递增1的enum Color  //颜色{//枚举常量RED,BULE,GREEN,BLACK};enum SEX  //性别{MALE,FEMALE,SECRET};int main(){int num = 10;enum Color c = RED;//只能用枚举常量为枚举变量赋值//RED = 20;//err//MALE = 10;//errreturn 0;}

字符串(Character string)

"Hello World\n"

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
注:
字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容

#include int main(){char arr1[]="hello world";char arr2[] = { 'h','e','l','l','o'};char arr3[] = { 'h','e','l','l','o','\0' };//注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。printf("%s\n", arr1);//hello worldprintf("%s\n", arr2);//hello烫烫烫烫烫烫烫烫烫烫烫烫烫蘦elloprintf("%s\n", arr3);//helloreturn 0;}
#include #include int main(){char arr1[] = "hello world";char arr2[] = { 'h','e','l','l','o','\0' };printf("%d\n", strlen(arr1));//11printf("%d\n", strlen(arr2));//5int len = strlen("hello world");//求字符串长度的一个函数,string length  头文件 string.hprintf("%d\n", len);//11printf("%s\n", arr1);//hello worldprintf("%s\n", arr2);//helloreturn 0;}
int main(){printf("hello\n");//helloprintf("hel\0lo\n");//helreturn 0;}

转义字符(Escape character)

转义字符顾名思义就是转变的意思
打印c:\code\test.c

#include int main(){printf("c:\code\test.c");//c:code  est.creturn 0;}

运行结果:
初识C语言-常量,字符串,转义字符,注释
运算结果与c:\code\test.c不同,这是由于转义字符的原因

转义字符

转义字符 释义
\ ? 在书写连续多个问号时使用,防止他们被解析成三字母词
\ ’ 用于表示字符常量’
\“ 用于表示一个字符串内部的双引号
\ \ 用于表示一个反斜杠,防止它被解释为一个转义序列符
\a 警告字符,蜂鸣
\b 退格符
\f 进纸符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd \ddd ddd表示1~3个八进制的数字。 如: \130 X
\xdd dd表示2个十六进制数字。 如: \x30 0

三字母词:

//三字母词不是所有的编译器都适用int main(){printf("??)");//]printf("??(");//[return 0;}

格式说明由“%”和格式字符组成:

格式说明 释义
%d 打印整型
%c 打印字符
%s 打印字符串
%f 打印float类型的数据
%lf 打印double类型的数据
%zu 打印sizeof的返回值
#include #include int main(){printf("%s\n","hello world\?\?" );//hello world??printf("%c\n", '\'');//'printf("%c\n", '\"');//"printf("hello\n");//helloprintf("%s\n", "hello");//helloprintf("hel\\0lo\n"); //hel\0loprintf("c:\\test\\test.c\n");//c : \test\test.cprintf("\a\a");printf("abc\nd\tef");//abcprintf("%c\n", '\130');printf("%c\n", '\x063');//cprintf("%d\n", strlen("qwer t"));//6printf("%d\n", strlen("c:\test\628\test.c"));//14return 0;}

注释

  1. 代码中有不需要的代码可以直接删除,也可以注释掉
  2. 代码中有些代码比较难懂,可以加一下注释文字

例:

int ADD(int x, int y){return x + y;}/*C语言风格注释int SUB(int x, int y){return x - y;}*/int main(){int n1 = 0;int n2 = 0;//C++注释风格//int n3 = 0;scanf("%d %d", &n1, &n2);printf("%d\n", ADD(n1,n2));return 0;}

注释有两种风格:

  • C语言风格的注释 /* xxxxxx*/
    缺陷:不能嵌套注释
  • C++风格的注释 // xxxxxxxx
    可以注释一行也可以注释多行

说说控