C语言常见概念,你知道多少?(C语言入门必看)

目录

前言

1.C语言是什么?

2.程序

源程序

​编辑

程序的执行过程

源代码需要编译和链接

编译器的选择

3.main函数——程序的入口

​编辑

4.库函数

输出函数

5.关键字

6.字符的存储

7.\0是字符串的结束标志

8.转义字符

\n

\t

\b

9.语句和语句的分类

空语句

表达式语句

算术表达式

赋值表达式

函数调用语句

复合语句

控制语句

注释

常见的注释形式

//的形式

/**/的形式

总结


前言

这篇文章会在你学习C语言之前给予你一些帮助,能够帮助你去简单的了解C语言中的一些简单的术语和代码,不至于刚开始学习时看见什么都觉得一头雾水。


1.C语言是什么?

C语言是一种计算机语言,当然C++/Java/Go/Python都是计算机语言。人们是通过计算机语言写的程序,给计算机下达指令,让计算机工作的。

计算机语言是人与计算机沟通的桥梁,使得人们可以使用计算机语言来解决很多问题,从而造福人类。


2.程序

源程序

程序是由人们利用计算机语言来写的,人们通过字符序列创建出来的程序为源程序,用来存放源程序的文件为源文件。通常,我们将C语言的源文件的拓展名定为“**.c”,然而我们常见的“**.cpp”往往是C++的源文件的拓展名,“.h”为后缀的文件为头文件。

程序的执行过程

源代码需要编译和链接

C语言是一门编译型的计算机语言,C语言的源代码都是文本文件,单单通过这种文本文件来执行是行不通的,必须通过编译器的翻译和链接器的链接形成可执行的二进制文件,这样的二进制文件才能够被执行。

  1. 每个源文件(.c)单独经过编译器处理生成对应的目标文件(.obj为后缀的文件)

2. 多个目标文件和库文件经过链接器处理生成对应的可执行程序(.exe文件)

编译器的选择

市面上出现了不少C语言的编译器应用,而这里我着重介绍一下我自己使用的编译器——

Visual stdio,然后我自己下载的是2022版的,大家可以自行选择版本,2019以下的版本太老了已经不推荐了。

• VS2022 是⼀个主流的集成开发环境,企业中使用较为普遍

VS2022 包含了:编辑器+编译器+调试器,功能强大,所以我们不需要另外的调试器了。

• 直接安装即可使用,基本不用额外配置环境,上手容易

• 默认界面是中文的,初学者友好

• 我自认为VS的界面看起来很崭新,给人一种舒适感,当然界面的自定义可以满足你的审美需求

缺点: 功能丰富,安装包大,占用空间多。

3.main函数——程序的入口

main函数又叫主函数,在C语言的程序中,不管有多少行代码,都是从main函数开始执行,也就是说main函数是C语言程序的入口。

注意:main函数出现的位置可以是任意的。

main函数使用时,一是需要在前面加int,这代表main函数返回的函数值为整型数值,这样,程序中结尾处用“return 0”就能说的通了。二是需要在后面加“()”。

4.库函数

C语言中规定了一组函数,这样的函数再由不同的编译器厂商根据一定的标准来实现,最后再提供给程序员使用。这样的一组函数放在一个库中,即函数库,而这些函数则被称为库函数。当然,不同的编译器的库函数略有差异。库函数繁多,这里大家可以根据自己的需求和兴趣在cplusplus.com/reference/clibrary/icon-default.png?t=N7T8https://cplusplus.com/reference/clibrary/这个链接中去了解更多库函数。

注意:我们在编制程序时,往往会使用到库函数,而使用库函数时,程序需要包括头文件,这时,我们只需要在程序的开头输入

#include<stdio.h>

输出函数

当我们编写好程序后,一般会使用print函数来输出我们想要的结果,并把它打印到屏幕上,这就让代码实现的功能能够真实地被体现出来

5.关键字

C语言中有一批具有特殊意义的字符串,这些字符串被称为保留字,或者关键字。

这是C语言中常见的关键字。后面我也会单独写一篇博客文章来捋一下这32个关键字。C 关键词 - cppreference.comicon-default.png?t=N7T8https://zh.cppreference.com/w/c/keyword这里面有C语言中关键字的全部介绍,感兴趣的朋友可以去多了解一下。

6.字符的存储

我们都知道,计算机上的数据都是通过二进制的形式来存储的,那么像a、b、c这样的字母以及#、@、|这样各种各样的字符是怎样在计算机中存储的呢?

如果我们每个人给这些字符中的每个字符编⼀个二进制序列,这个叫做编码,为了方便大家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C 语言中的字符就遵循了 ASCII 编码的方式。

ASCII 码表 - cppreference.com

里面有全面的字符及对应ASCll值

这里可以看出字母a的ASCll数值为97。

我们不用记住ASCll码表,只需要记住我列出来的这些就足够使用。

•大写字母A~Z的ASCll码值是从65~90

•小写字母a~z的ASCll码值是从97~122

•小写字母与大写字母的ASCll码值之差为32

• 数字字符0~9的ASCII码值从48~57

• 换行 \n 的ASCII值是:10

• 在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,无法通过print函数打印在屏幕上观察

7.\0是字符串的结束标志

那C语言中如何表示字符串的呢,其实,像”abdfk“这样一个字符串就是由被双引号括起来的字符组成。而计算机在读取字符串时,遇到其末尾的

\0

就会停止读取,所以\0是字符串结束的标志

当我们开始调试程序,从监视器中我们可以看见字符串的末尾还有"\0";

让我们一起来看这个例子,看你有想到吗?

我们可以看见在打印数组arr1时,末尾出现了一堆乱码,而这些乱码是因为数组arr1是由多个字符常量组成的,所以末尾没有\0,所以计算机在读取时,它不知道什么时候结束,所以给arr1分配了一些随机值。

而数组arr2本身就就是由字符串常量初始化的,末尾就有\0作为结束的标志。

对于arr3呢,我们在第一种情况下在由字符常量组成的数组的末尾加入了\0,最后运行程序时,打印可以正常停止。

8.转义字符

也许在前面的代码中,你看见\0和\n很纳闷这是啥,其实在字符中有一组特殊的字符是转义字符,转义字符顾名思义就是转变意义的字符。

• \? :在书写连续多个问号时使用,防止他们被解析成三字⺟词,在新的编译器上没法验证了。

• \' :用于表示字符常量'。

• \" :用于表示⼀个字符串内部的双引号。

• \\ :用于表示⼀个反斜杠,防止被解释为⼀个转义序列符。

 • \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发生。

• \b :退格键,光标回退⼀个字符,但不删除字符。

• \f :换页符,光标移到下⼀页。在现代系统上,这已经反映不出来了,行为改成类似于 \v 。

• \n :换行符。

• \r :回车符,光标移到同⼀行的开头。

• \t :制表符,光标移到下⼀个水平制表位,通常是下⼀个4/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。

接下来,我会着重介绍几个常用的转义字符。

\n

\n转义字符转义为换行符,在输出时可以使光标跳到下一行去,从而使输出结果被分成两行,常常用来区别开不多个输出结果。

这两张图应该可以让你更清楚地明白\n的作用。

\t

\t转义字符转义为制表符,在输出时可以使光标移到下一个水平制表位,其为4或8的倍数,在我的编译器上是8的倍数。

这样可以清晰的看出来读取一个\t转义字符就可以使光标补齐一个完整的水平制表位,即8位。

\b

\b转义字符转义为退位符,即使得光标回退一位,但不删除回退到这一位所在的字符,只是将其覆盖了。

9.语句和语句的分类

空语句

#include<stdio.h>
int main()
{
	;//空语句
	return 0;
}

一个分号就是一个句子,只有一个分号的句子就是空语句。

空语句可以用于等待某个事件的发生,特别是用在while循环语句中。空语句中还可以用于为某段程序提供标号,表示程序的执行位置。

表达式语句

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

表达式语句就是在表达式后面加上“;”。

表达式常见的有以下种类:

算术表达式

例如a+b、1+2、a+1、5.0 + sqrt(4.0)都是算术表达式。但是其结果不能被保留,所以没有实际意义。其运算过程和数学中的规则一样,有括号先做括号内的子表达式。有多层括号,先运算最里层。同一层,负号优先运算,再接下来运算乘除,再加减;同一优先级从左到右进行运算

赋值表达式

“=”为赋值运算符,其术语为“变量=表达式”。

先计算赋值运算符右侧表达式的值,然后将赋值运算符右侧表达式的值赋给左侧的变量,再将赋值运算符左侧的变量的值作为表达式的值。

#include<stdio.h>
int main()
{
	int a=1;
	int b = 2;
	int c = a + b + 2;//将a+b+2这个算术表达式的值赋值给c,而c的值即为这个表达式的值
    printf("%d\n",c);
	return 0;
}

函数调用语句

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

#include <stdio.h>
int Add(int x, int y)
{
 return x+y;
}
int main()
{
 printf("hehe\n");//函数调⽤语句
 int ret = Add(2, 3);//函数调⽤语句 
 return 0;
}

复合语句

成对括号中的代码被称为代码块,也被称为复合语句。

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语言支持循环结构、选择结构、顺序结构),它们由九种控制语句构成。

可以分为这几类:

条件判断语句也叫分支语句:if语句、switch语句;

循环语句:for语句、while语句、do while语句;

转向语句:break语句、continue语句、go to语句、return语句。

注释

在编写程序时,为了让自己和其他程序员能够更好地去读懂程序,我们通常会写程序的注释。一个清晰简洁、易懂的注释能够提高自己编写程序的效率,也可以提高其他程序员阅读程序的正确率。

好的注释能够帮助我们理解代码,但是也不要过度解释,过度解释会让程序页面变得冗杂。

常见的注释形式

C语言中有两种注释方式。

//的形式

这种注释方式是在代码的后面加上//,然后在//后面加上注释。

这种注释只适用于给单行的代码注释。

//这是一行注释,可以放在首位

int x=0;//这也是注释,是可以放在代码后面的

/**/的形式

这种注释方式是以/*代码*/的形式注释的。

这种注释可以适用于给多行的代码进行注释。

/*这是注释实例
int main()
 int x=0;
  char a;
*/

在/**/内的都属于注释。

总结

这是我第一阶段学习C语言的一些学习心得,内容还不够完善,希望自己可以一步一步做的更好。

感谢你的阅读,如果C语言小白有什么问题可以问我,也可以和我一起学习,一起监督。如果有大佬阅读完,欢迎你们给予我批评和建议。

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值