【C语言入门】基本概念(下)
8、关键字介绍
C语言有一批保留名字的符号(eg:char、default、return、int等),这些符号被称为保留字或者关键字。
- 每个关键字都有特殊意义,保留给C语言使用
- 程序员创建标识符不能与关键字重复
- 关键字不能自己创建
C语言关键字有:
auto break case char continue do default const double else
enum extern
float for goto if int long register(寄存器) return
short signed sizeof static
struct switch typeof union unsigned void volatile while
注:
- C99标准中加入了 inline、 restrict、 _Bool、_Complex、_Imaginary等关键字
- C语言关键字详细介绍
9、字符和ASCII编码
键盘中可以敲出各种符号,例如:k,z,w,%,*等,这些被称为字符,C语言中规定字符用单引号括起来,eg:‘a’,‘g’,‘&’…
我们知道计算机中数据都是以二进制形式存储,那么字符该怎样在计算机中存储呢?我们如果对每个字符编一个二进制序列,这个过程叫做编码。为了统一规范,美国国家标准学会(ANSI,American National Standards Institute),出台了标准的ASCII编码,C语言遵循了ASCII编码的方式
Reference(参考)
几组特殊数据(记忆)
- A-Z 十进制ASCII码值范围:65-90
- a-z 十进制ASCII码值范围:97-122(大写在前,小写在后)
- 大小写字符十进制ASII码值相差32
- 数字0-9十进制ASCII码值范围:48-57
- \n(换行符)十进制ASCII码值:10
- 十进制ASCII码值0-31的32个字符不能打印在屏幕观察
打印可展示的所有字符(如下图所示)
10、字符串和\0
字符串(形如abcdefg)使用双引号括起来表示,打印格式可以使用%s指定。
示例如下:
C语言字符串的末尾隐藏着\0,表示的是字符串结束标志
所以在使用库函数printf()打印字符串和strlen()计算字符长度时,遇到\0自动停止功能
为了更加深入的了解\0的作用,下面展示一下相关示例
我们可以从示例中看出,arr1打印出除了efg外还有一堆乱码,出现问题的原因是因为arr1存放的字符数值后没有\0作为结束标志,故打印efg后没有停止下来;
而arr2打印没有问题是因为arr2数组使用了字符串常量初始化后末尾包含有\0,打印得以结束
若arr1想要打印和arr2一样的效果,该怎么改进可以实现呢?请看修改后的代码
可见arr1在字符数组后添加’\0’后也可以有与arr2一样的效果。
strlen函数介绍
strlen是一个函数,用于求字符串长度,统计的是字符串中\0之前的字符个数(包含的头文件是string.h)
请看strlen函数用法示例
11、转义字符
字符中有一组特殊的字符叫做转义字符,转义字符的功能是:转变原来的字符意思。
下列一组代码做个对比可以对转义字符理解更加深刻
从上面示例可以看出:原本n表示的是单纯的一个字符n,加上\后n转义成了换行的意思,这就是转义字符的用法,只需在原字符前加上\便成了另一种不同的意思。
C语言中其他常见的转义字符还有:
?:连续书写多个?(问号)时使用,防止被解析成三字母词(eg:??)–>] ??(–>[ )
‘:用于表示字符常量’
":用于表示一个字符串内部的双引号。(用法同上面的\’)。
\:用于表示一个反斜杠,防止被翻译为一个转义序列符。
\a:报警,会使终端发出报警声或者闪烁,或两者同时发生。
\b:退格键,光标回退一个字符,但不删除字符。
\f:换页符,光标移到下一页。在现代系统上,这已经反映不出来了,行为改成类似于\v。
\n:换行符(最常见的)。
\r:回车符,光标移到同一行的开头
\t:制表符,光标移到下一个水平制表位,通常是下一个4/8的倍数
\v:垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。
还有两个特殊的转义字符:
\ddd:ddd表示1-3个八进制的数字。
\xdd:dd表示2个十六进制数字
转义字符参考(Reference)
12、语句和语句分类
C语言是由一条条的语句构成,可分为一下五类:
- 空语句
- 表达式语句
- 函数调用语句
- 复合语句
- 控制语句
12.1空语句
空语句是C语言中最简单的语句,一个分号就是一条语句,即空语句
示例如下:
#include <stdio.h>
int main()
{
;//一条空语句
return 0;
}
空语句一般用在:这里需要一条语句,不需要计算机做任何事情,可以写一条空语句
12.2表达式语句
表达式语句就是在一条表达式后面加个分号。示例如下:
12.3函数调用语句
函数调用的时候,也需要加上分号,称为函数调用语句。示例如下:
12.4复合语句
复合语句其实就是代码块,成对括号中的代码就构成一个代码块,也称为复合语句。示例如下:
12.5控制语句
控制语句是用于控制程序的执行流程,以实现程序的各种结构方式。(C语言支持的三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符构成。
C语言由九种控制语句。分成三类:
1.条件判断语句(分支语句):if语句、switch语句;
2.循环执行语句:do while语句、while语句、for语句;
3.转向语句:break语句、goto语句、continue语句、return语句。
13、注释讲解
1、注释是对代码的说明,编译器会忽略注释,对实际代码没有影响。
2、注释是给程序员自己看的,或者让其他程序员看自己写的代码能够理解代码的意思,方便工作需要。
3、好的注释可以帮助自己更好理解代码,但也不需要过度注释,写重要的注释即可。
13.1注释的两种形式
C语言中的注释一共有两种方法表示。
13.1.1/**/的形式
第一种方法是将注释放在/…(需要注释的内容)/之间,内部可以分行
13.1.2 //的形式(C语言中最常用的)
第二种写法是将注释放在双斜杠//后面,从双斜杠到行尾都属于注释。这种注释只能是单行,可以放在行首,也可以放在代码语句的行尾。这是C99标准新增的语法。
13.2注释被替换
编译时,注释会被替换成一个空格,所以不影响代码运行。
完