C语言入门易错点知识笔记(1)

第一次写代码,一些常见的错误总结:

main 被写成了mian
main后边的()漏掉了
代码中不能使⽤中文符号,比如括号和分号
⼀条语句结束后,有分号

关于main函数要注意的点:

main函数是程序的入口
main函数有且仅有⼀个
即使⼀个项目中有多个.c文件,但是只能有⼀个main函数(因为程序的入口只能有⼀个)

关键字

关键字都有特殊的意义,是保留给C语言使用的。
程序员自己在创建标识符的时候是不能和关键字重复的。
关键字也是不能自己创建的。

C语言常见的32个关键字

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

C语言关键字全部介绍
https://zh.cppreference.com/w/c/keyword

字符串

使用双引号括起来的一串字符就被称为字符串
\0是字符串的结束标志。

转义字符

在字符中有⼀组特殊的字符是转义字符,转义
字符顾名思义:转变原来的意思的字符。
?:在书写连续多个问号时使用,防止他们被解析成三字母词,在新的编译器上没法验证了。
’ :用于表示字符常量’
" :用于表示⼀个字符串内部的双引号
\ :用于表示⼀个反斜杠,防止它被解释为⼀个转义序列符。
\a:警报,这会使得终端发出警报声或出现闪烁,或者两者同时发生。
\b:退格键,光标回退⼀个字符,但不删除字符。
\f :换页符,光标移到下⼀页。在现代系统上,这已经反映不出来了,行为改成类似于 \v 。
\n:换行符。
\r:回车符,光标移到同⼀行的开头。
比特就业课主页:https://m.cctalk.com/inst/s9yewhfr 比特就业课-专注IT大学生就业的精品课程 比特就业课
\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
转义字符参考:https://zh.cppreference.com/w/c/language/escape

ASCII编码

最好能掌握几组特殊的数据:
字符A-Z的ASCII码值从65~90
字符a-z的ASCII码值从97~122
对应的大小写字符(a和A)的ASCII码值的差值是32
数字字符0-9的ASCII码值从48~57
换行 \n 的ASCII值是:10
在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,无法打印在屏幕上观察

语句和语句分类

C语言的代码是由⼀条⼀条的语句构成的,;号隔开的就是一条语句,C语言中的语句可为以下五类:

空语句

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

#include <stdio.h>

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

表达式语句

表达式语句就是在表达式的后边加上分号。

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

函数调用语句

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

#include <stdio.h>

int Add(int x, int y)
{
	return x + y;
}

int main()
{
	printf("hello\n");//函数调用语句
	int ret = Add(2, 3);//函数调用语句
	return 0;
}

复合语句

复合语句其实就是代码块,成对括号中的代码就构成⼀个代码块,也被称为复合语句。


#include <stdio.h>

void printf(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;
}

控制语句

控制语句⽤于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语言有九种控制语句。
可分成以下三类:

  1. 条件判断语句也叫分支语句:if语句、switch语句;
  2. 循环执行语句:do while语句、while语句、for语句;
  3. 转向语句:break语句、goto语句、continue语句、return语句。

注释

注释是给程序员自己,或者其他程序员看的。
好的注释可以帮我们更好的理解代码,但是也不要过度注释,不要写没必要的注释。

注释的两种形式

/**/的形式

这种注释可以插在行内

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

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

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

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

//的形式

第⼆种写法是将注释放在双斜杠 // 后面,从双斜杠到行尾都属于注释。这种注释只能是单行,可以放在行首,也可以放在⼀行语句的结尾。

:不管是哪⼀种注释,都不能放在双引号里面。
双引号里面的注释符号,会成为字符串的⼀部分,解释为普通符号,失去注释作用。

printf("// hello /* worde */ ");

双引号里面的注释符号,都会被视为普通字符,没有注释作用。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值