(1.)转义字符
在上一篇中我们介绍了c语言的概念,包括了printf("hello,world.\n");这样一行代码,那么可能会有人疑惑\n这个符号是什么,其实如果我们实操一下就会发现\n这个符号是一个换行符,那么我们就可以引入一个概念叫做转义字符。
转义字符顾名思义就是转变字符的意思,在c语言中有许多的转义字符,就比如\n表示换行的意思,但是单个的n没有换行的能力,那么我们就可以理解为n本来是一个普通字符,被\转义为换行的意思。
接下来我会列出一些比较常用的转义字符:
\?:在书写多个问号的时候使用,防止它们被解析为三字母词。
\':用于表达字符常量'
\":用于表达字符串内部的双引号
\\:用来表达一个反斜杠,防止它被解释为一个转义序列符。
\a:警报,这会使终端发出警报声或出现闪烁,或者两者同时发生。
\b:退格键,光标回退一个字符,但不删除字符。
\f:换页符,光标移动到下一页。在现代系统上,这已经反映不出来了,行为改成类似于\v。
\n:换行符。
\r:回车符,光标移到同一行的开头。
\t:制表符,光标移动到下一个水平制表位,通常是下一个8的倍数。
\v:垂直分隔符,光标移到下一个水平制表位,通常是下一行的同一列。
\ddd:d d d表示1~3个8进制的数字。
\xdd:d d表示2个十六进制数字。
于是在写程序的过程中我们就需要这些转义字符来作为支撑我们写程序的零部件
(2.)语句与语句分类
c语言的代码其实是由一条一条的代码组成的,一共可以分成五类:
- 空语句
- 表达式语句
- 函数调用语句
- 复合语句
- 控制语句
1.空语句
空语句是所有语句中最简单的语句,一条分号就是一条语句,是空语句。
就像#include<stdio.h>
int main()
{
;
return 0;
}
类似于这样的就是一条空语句,可想而知它没有任何作用,一般它出现的地方是:这里需要一条语句,但是这个语句不需要做任何事,就可以写一条空语句。
2.表达式语句
表达式语句就是在表达式的后边加上分号。
就像 int main()
{
int a = 5;
int b = 6;
int c = a + b;
return 0;}
那么其中的“int c = a + b;”就是一条表达式语句。
3.函数调用语句
函数调用语句也同样顾名思义是一条调用函数的语句,在函数的调用中我们也要在最后加上分号;
无论是使用库函数还是自定义函数都需要用到函数调用语句。
即:#include<stdio.h>
#include<string.h>
int main()
{
char arr[] = {a,b,c,d,f,g};
int a = strlen(arr);//函数调用语句
printf("%d\n",a);//函数调用语句
return 0;
}
在上述程序中我使用了两条函数调用语句,用strlen函数来求出数组arr[]的长度,然后使用printf函数将其打印在屏幕上,这就是函数调用语句,它让我们拥有了使用函数的能力。
4.复合语句
复合语句就是多条语句构成的语句,就好像语文作文它是由多条句子构成,同样复合语句也是由多条“句子”也就是语句构成。
即:#include<stdio.h>
int main()
//{ 在大括号中的代码构成复合语句
void arr[] = {1,2,3,4,5,6,7,8,9,10};
int i = 0;
for(i = 0;i<=10;i++)
{
printf("%d\n",arr[i]);
break;
}
return 0;
}//
这段程序首先创建初始化了一个含有十个数字的数组,然后通过for循环与printf函数来将数组中的元素依次打印出来,这里就是一个复合语句的使用,同样在括号中通过分号隔开的两条及两条以上的语句也可以称之为复合语句。
5.控制语句
控制语句用于控制程序的执行流程,以实现程序的各种结构方式(顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,c语言中分别有9中控制语句。
【1.】条件判断语句也叫分支语句:if语句、switch语句;
【2.】循环执行语句:do while语句、while语句、for语句;
【3.】转向语句:break语句、goto语句、continue语句、return语句;
(3.)数据类型介绍
c语言中提供了大量的数据类型来描述生活中的各种数据。
例如使用整形类型来描述整数,使用字符型来描述字符,使用浮点数来描述小数。
数据类型又分为c语言自带的内置类型与可以自定义的自定义类型
1.内置类型
c语言中内置的类型又分为字符型、整型、浮点型、布尔类型;
字符型是char(可以定义字符型的数据类型)
整形分为短整形(short int),整形(int),长整形(long int);
而浮点型有单精度浮点(float)与双精度浮点(double);
布尔类型为_Bool;
而不同的类型占用的空间不同,我们可以记住它们占用的空间以方便以后使用时可以更快速的选择,_Bool占用1字节,char占用1字节,short占用2字节,int占用4字节,long占用4字节,longlong占用8字节,float占用4字节,double占用8字节,longdouble占用8字节。
2.signed和unsigned
c语言中使用singned和unsigned关键字修饰字符型和整形类型的。
signed关键字,表示一个类型带有正负号,包含负值;
unsigned关键字,表示该类型不带有正负号,只能表示零和正整数。
(4.)变量
在上面我们讲了数据的类型,那么数据类型能用来干什么呢?
类型是用来创建变量的,c语言中把经常变化的值称为变量,不变的量称之为常量。
1.变量的创建
创建变量的语法形式如下:
data_type name; data是数据的类型,name是变量名称。
就像这样 int age;整形变量, char ch;字符型变量, double weight;浮点型变量。
在创建变量的同时赋予变量一个值,就叫做变量的初始化
int age = 18;便是定义了一个整形变量然后初始化它的值为18。
2.变量的分类
变量与变量之间也是有分类的,它分为全局变量与局部变量。
全局变量顾名思义就是可以应用到整段程序中的变量,而局部变量就是只能在某个复合语句或是语句块中使用的变量。即:
#include<stido.h>
int main()
int b = 10;
{
int a = 5;
printf("%d",a);
return 0;
}
这段程序中b便是可以运用全局的全局变量,而a就是只能在局部使用的局部变量。