C语言常见概念(二)

文章目录

  • 1.转义字符
  • 2.语句和语句分类
    • 2.1空语句
    • 2.2表达式语句
    • 2.3函数调用语句
    • 2.4复合语句
    • 2.5控制语句
  • 3.注释是什么?为什么要写注释?
    • 3.1注释的2中种形式
      • 3.1.1 /**/的形式
      • 3.1.2 //的形式
    • 3.2注释会被替代

1.转义字符

也许在前面的代码中看到\n,\0很纳闷是啥。其实在字符中有一组特殊的字符是转义字符,转义字符顾名思义:转变原来的意思的字符。
比如:我们有字符n,在字符串中打印的时候自然打印出这个字符,如下:

#include
int main()
{
	printf("abcndef");
	return 0;
}

输出结果:
C语言常见概念(二)_第1张图片
如果修改一下代码,在n的前面加上\,变成如下代码:

#include
int main()
{
	printf("abc\ndef");
	return 0;
}

输出的结果:
C语言常见概念(二)_第2张图片
我们可以看到修改的前后代码输出的结果,截然不同,这就是转义字符的问题,\n是一个转义字符表示换行的意思,我们可以简单的理解为\让n的意思发生了转变,n是一个普通的字符,被\转义为换行的意思。
C语言中像这样的转移字符还有一些,具体如下:

  • ?:在书写连续多个问号时使用,防止他们被解析成三个字母次,在新的编译器上没法验证了。
  • ‘:用于表示字符常量’
  • ":用于表示一个字符串内部的双引号。
  • \:用于表示一个反斜杠,防止它被解释为一个转义序列符。
  • \a:警报,这回事终端发出报警声或出现闪烁,或者两者同时发生。
  • \b:退格键,光标回退一个字符,但不删除字符。
  • \f:换页符,光标移动到下一页。在现代系统上,这已经反映不出来了,行为改成类似于\v。
  • \n:换行符。
  • \r:回车符,光标移动到同一行的开头
  • \t:制表符,光标移到下一个水平制表位,通常是下一个8的倍数
  • \v:垂直分隔符,光标移动到下一个垂直制表位,通常是下一行的同一列。

下面2种转义字符可以理解为:字符的8进制或者16进制表示形式

  • \ddd:d d d表示1~3个八进制数字。例如:\130 表示字符X
  • \xdd: d d表示2个十六进制的数字。 例如:\x30 表示字符0
    \0:null字符,代表没有内容,\0就是\ddd这类转义字符的一种,用于字符串的结束标志,其ASCII码值是0.
    代码演示:
 #include
int main()
 {
 	printf("%c\n",'\'');
	printf("%s\n", "\"");
	printf("%c:\\test\\code\\test.c\n");
	printf("\a");
	printf("%c\n", '\130'); //130是8进制,转换成10进制是88,
							//以88作为ASCII码值的字符是X
	printf("%c\n", '\x30');//x30中的30是16进制,
						//转换成10进制是48,以48作为ASCII码值的0

		return 0;
}

输出结果:
C语言常见概念(二)_第3张图片

2.语句和语句分类

C语言的代码是由一条一条的语句构成的,C语言中的语句分为一下五类:

  • 空语句
  • 表达式语句
  • 函数调用语句
  • 符合语句
  • 控制语句

2.1空语句

空语句是最简单的,一个分号就是一条语句,是空语句。

#include
int main()
{
	;//空语句
	return 0;
}

空语句,一般出现的地方是:这里需要一条语句,但是这个语句不需要做任何事,就可以写一个空语句。

2.2表达式语句

表达式语句就是在表达式是的后边加上分号。如下所示:

#include
int main()
{
	int a = 20;
	int b = 0;
	b = a + 5; //表达式语句
	return 0;
}

2.3函数调用语句

函数调用的时候,也会加上分号,就是函数调用语句。

#include
int Add(int x,int y)
{
	return x+y;
}
int main()
{
	int ret = Add(2,3); //函数调用语句
	return 0;
}

2.4复合语句

复合语句就是代码块,成对括弧中的代码就构成一个代码块,也被称为符合语句。

#include
void print(int arr[], int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		printf("%d", arr[i]);
	}
	int main()
	{
		int i = 0;
		int arr[10] = { 0 };
		for (i = 0; i < 10; i++)	//for循环的循环体的大括号中的就是复合语句
		{
			arr[i] = 10 - i;
			printf("%d\n", arr[i]);
		}

	}
	return 0;
}

2.5控制语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语言由九种控制语句。
可以分成一下三类:
1.条件判断语句也叫分支语句:if语句、switch语句;
2.循环执行语句:do while 语句、while 语句、for 语句;
3.转向语句:break语句、goto语句、continue语句、return语句。
后期笔记中会介绍控制语句哒~

3.注释是什么?为什么要写注释?

注释是对代码的说明,编译器会忽略注释,也就是说,注释对实际代码没有影响。
注释是给程序员自己,或者其他程序员看的。
好的注释可以帮助我们更好的理解代码,但是也不要过度注释,不要写没必要的注释。

3.1注释的2中种形式

C语言的注释有两种表示方法。

3.1.1 /**/的形式

第一种方式是将注释放在/*。。。。*/之间,内部可以分行。

/* 注释 */

/*
这是一行注释
*/

这种注释可以插在行内。

int fopen(char *s /* file name */,int mode);

上面实例中,/* file name /用来对函数参数进行说明,跟在它后面的代码依然会由效执行。
这种注释一定不能忘记结束符号
/,否则很容易导致错误。

printf("a "); /* 注释一
printf("b");
printf("c ");/* 注释二 */
printf("d ");

上面示例的原意,第一行和第三行代码的尾部,有两个注释。
但是,第一行注释忘记写结束符号,导致注释以延续到第三行结束。/**/这个注释也不支持嵌套注释,/*开始注释后,遇到第一个*/就认为结束了。

/*
printf("a ");
printf("b ");
printf("c "); /*注释二*/
printf("d );
*/

3.1.2 //的形式

第二种写法是将注释放在双斜杠//后面,从双斜杠到行尾属于注释,这种注释只能是单行,可以放在行首,也可以放在行的结尾。这是C99标准新增的语法。

//这是一行注释

int x = 1; //这也是注释

不管是那一种注释,都不能放在引号里面。
双引号里面的注释符号,会被视为普通字符,没有注释作用。

3.2注释会被替代

编译时,注释会被替换成一个空格,所以min/* 这里是注释 */Value会变成min Value,而不是minValue

你可能感兴趣的:(C语言,c语言,开发语言,青少年编程)