【C语言】字符串,转义字符,关键字 您所在的位置:网站首页 表示不存在的符号是什么字 【C语言】字符串,转义字符,关键字

【C语言】字符串,转义字符,关键字

2024-07-03 09:59| 来源: 网络整理| 查看: 265

文章目录 一、字符串二、转义字符三、关键字1.关键字typedef2.关键字static3.关键字register

一、字符串

什么是字符串?

字符:‘a’ ‘!’ 字符串:“hello world” 这种双引号引起来的一串字符称为字符串字面值,简称字符串。

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

试试以下代码

#include int main() { char arr1[] = "hello"; char arr2[] = { 'h', 'e', 'l', 'l', 'o' }; char arr3[] = { 'h', 'e', 'l', 'l', 'o', '\0' }; printf("%s\n", arr1); printf("%s\n", arr2); printf("%s\n", arr3); return 0; }

打印结果会是什么呢?

在这里插入图片描述

可以看到,arr1和arr3的打印结果相同,而arr2后面会多出一些字。注意上面的红字提示哦,此刻\0的重要性就突显出来了。

通过代码可以看出,arr3比arr2多了一个字符\0的结束标志,所以arr2需要往后寻找,直到找到一个\0停止,所以会产生随机值打印乱码。如何修改呢,arr2需要在后面添加一个\0,来表示结束位。

而arr1在定义字符串时是默认结尾带\0的,所以正常输出字符串。

二、转义字符

转义字符是指,用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,因此称为“转义”。简单来说就是在一些字符前加“\” 使它具有其他意义和功能。

先看下这段代码的打印结果会是什么?

#include int main() { printf("c:\code\test.c\n"); return 0; }

打印结果 在这里插入图片描述 这里出现了两个转义字符 \t (水平制表符相当于4个空格)和 \n(换行符),\c由于c本身不是转义字符,所以输出本身不会输出\

转义字符表

在这里插入图片描述 转义字符\'——用于表示字符常量'

打印单引号'的时候会用到

printf("%c", '\'');

转义字符\"——用于表示一个字符串内部的双引号

printf("%s\n", "\"hello"); //打印 "hello printf("%s\n", "\"hello\"");//打印 “hello”

转义字符\"——用于表示一个反斜杠,防止它被解释为一个转义序列符

拿上面那道题来说,若要打印出 c:\code\test.c,应当这样写

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

转义字符\a——警告字符,蜂鸣

可以自己试下,电脑会发出警告音

转义字符\b——退格符

\b前面的字符会被删除

printf("he\bllo"); //打印hllo

转义字符\n——换行符

不必多说,通常用于末尾用来换行

转义字符\ddd——ddd表示1~3个八进制的数字 如:\130->x

printf("%c\n", '\101'); //打印A printf("%c\n", '\176'); //打印~

八进制数101转化为十进制是65,对应的ASCII码表中的字母A 八进制数176转化为十进制是126,对应的ASCII码表中的符号~

转义字符\ddd——dd表示两个十六进制数字 如:\x30->0

printf("%c\n", '\x30'); //打印字符0

与上面类似,十六进制转为化十进制的ASCII码值再打印对应符号。

三、关键字

C语言提供了丰富的关键字,这些关键字都是语言本身预先设定好的,用户自己是不能创造关键字的

常见关键字有:

auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

下面先介绍常用的几个关键字

1.关键字typedef

typedef 是类型定义,可以理解为类型重命名。也叫做起小名,起到简化作用。

比如需要大量使用unsigned int类型

typedef unsigned int uint;//给unsigned int 起个小名叫 uint uint num = 10; //等价于unsigned int num = 10 2.关键字static

在C语言中,static是用来修饰变量和函数的,主要有三种用法:

(1)修饰局部变量——称为静态局部变量

这段代码会输出什么?会打印10个1

void test() { int i = 0; i++; printf("%d ", i); } int main() { int i = 0; for (i = 0; i static int i = 0; i++; printf("%d ", i); } int main() { int i = 0; for (i = 0; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有