C语言初阶知识

一.C语言常见概念

1.C语言的概念与历史

C语言是众多语言中的一种,可以达到人和计算机的交流,至今有着很多发展与辉煌。
C语言的发展历程

2.编译器的选择VS2022

C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译器翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。
C语言的代码一般都是以.c文件为后缀的,要经过编译和链接才能最终形成可执行文件。
编译和链接过程

注:
1.每个源文件(.c)单独经过编译器处理生成目标文件(.obj)
2.多个目标文件和库文件经过链接器处理生成可执行文件(.exe)

经过综合考虑,我们选取VS2022为编译器,社区版本免费,使用方便,在工作中较常见。
VS2022安装版本教程:https://www.bilibili.com/video/BV11R4y1s7jz/

3.VS项目和源文件、头文件的介绍

打开VS,点击新建项目,就可以新建一个项目,我们即可进行编码。
一个项目中包含了头文件与源文件。
在C语言中我们把 .c 文件称为源文件.h文件称为头文件
项目文件

4.第一个C语言程序

#include <stdio.h>
int main() {
	printf("Hello World!");
	return 0;
}

在VS2022上运行代码的快捷键:ctrl+F5。
每个C语言程序不管有多少行代码,都有且仅有一个main函数,main函数也称为主函数,它是程序的入口,函数都是从main开始执行的。可以看到main函数前面有个int返回值,代表返回类型为整形,因此在最后加上return 0 ;前后呼应。

注:
1.main函数有且仅有一个
2.即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的⼊⼝只能有⼀个)

这里的printf是C语言自带的库函数,可以打印双引号当中的内容,它也可以打印其他类型的数据。

printf("成绩为:%d",score);

这里的%d为占位符,会被后面的值所替代。
使用库函数时,我们需要包含头文件。比如这里的printf函数就需要包含stdio.h头文件。
C语言中包含着许多头文件,了解可参考相关链接:https://cplusplus.com/reference/clibrary/

5.C语言的关键字

1.关键字都有着特殊含义,是保留给C语言使用的
2.程序员⾃⼰在创建标识符的时候是不能和关键字重复的
3.关键字也是不能⾃⼰创建的。

C语言的32个关键字如下:
关键字

6.字符相关知识

6.1 字符

在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:‘a’,‘b’,‘@’。
C语言的字符遵循了以下ASCII编码的方式。
对照表
参考链接:https://zh.cppreference.com/w/cpp/language/ascii
我们可以不用记住这些数字,当使用时查找便可。
单个字符的打印可以用%c来指定格式

#include <stdio.h>
int main()
{
 	printf("%c\n", 'Q');
 	printf("%c\n", 81);//这⾥的81是字符Q的ASCII码值,也是可以正常打印的
 	return 0;
}
6.2 字符串

在C语言中用双引号括起来的一串字符就被称为字符串,字符串可以用%s来打印,也可直接打印。

#include <stdio.h>
int main()
{
 	printf("%s\n", "hello C");
 	printf("hello c");
 	return 0;
}

注:
C语⾔字符串中⼀个特殊的知识,就是在字符串的末尾隐藏放着⼀个 \0 字符,这个 \0 字符是字符串的结束标志。

6.4 转义字符

在字符中有一部分特殊的字符称为转义字符,顾名思义为转变原来字符的意思,比如\n。这就是转义字符的问题, \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。

转义字符参考:https://zh.cppreference.com/w/c/language/escape

7. 语句和语句分类

C语⾔的代码是由⼀条⼀条的语句构成的,C语⾔中的语句可为以下五类:
• 空语句
• 表达式语句
• 函数调⽤语句
• 复合语句
• 控制语句

7.1 空语句
#include <stdio.h>
int main()
{
 ;//空语句
 return 0;
}
7.2 表达式语句
#include <stdio.h>
int main()
{
 int a = 20;
 int b = 0;
 b = a + 5; //表达式语句
 return 0;
}
7.3 函数调用语句
#include <stdio.h>
int Add(int x, int y)
{
 return x+y;
}
int main()
{
 printf("hehe\n");//函数调⽤语句
 int ret = Add(2, 3);//函数调⽤语句
 return 0;
}
7.4 复合语句
#include <stdio.h>
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;
}
7.5 控制语句

控制语句⽤于控制程序的执⾏流程,以实现程序的各种结构⽅式(C语⾔⽀持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语⾔有九种控制语句。

可分成以下三类:

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

8. 注释

1.注释是对代码的说明,编译器会忽略注释,也就是说,注释对实际代码没有影响。
2.注释是给程序员⾃⼰,或者其他程序员看的。
3.好的注释可以帮我们更好的理解代码,但是也不要过度注释,不要写没必要的注释。
注释一般有//,/**/两种形式。

/* 注释 */
/*
 这是⼀⾏注释
*/


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

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

  • 34
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值