目录
1. C语言是什么?
人和计算机交流的语言工具,C语言就是众多计算机语言中的一种 人->计算机语言->计算机
人们是通过计算机语言写的程序,给计算机下达指令,让计算机工作
2. C语言的历史
C 语言最初是作为 Unix 系统的开发工具而发明的。
3 编译和链接
由于C语言是一门编译型计算机语言,源代码都是文本文件,但是文本文件本身无法执行,必须
通过编译器翻译和链接器的链接生成二进制的可执行文件,可执行文件才能被执行。
1)计算机只能识别二进制指令
2)每个源文件(.c)单独经过编译器处理生成对应的目标文件 (.obj为后缀的文件)
3)多个目标文件和库文件经过链接器处理生成对应的可执行程序 (.exe文件)
4. VS项目和源文件、头文件介绍![](https://img-blog.csdnimg.cn/direct/ab2c218ac2374e92b8f5676b4a0b56f4.png)
C语言把.c 为后缀的文件称为源文件,
把.h 为后缀的文件称为头文件
5.创建项目
以下为VS2022 创建项目过程
在此可以进行编写C语言 如果需要调用库函数要包含头文件#include <stdio.h> 快捷键 ctrl + F5 进行编译链接(VS2022)
6.main函数![](https://img-blog.csdnimg.cn/direct/563ab0f4880948d7b13157dc7c41a0dc.png)
C 语言程序是从main 函数开始执行的, main函数
是程序的入口且仅有一个,即使一个项目中有多个
.c文件,但是只能有一个main函数
main 函数也被叫做:主函数。main 前面的int表示
main 函数执行结束的时候返回一个整型类值,所以
在main 函数的最后写return 0; 正好前后呼应。
7. printf和库函数
printf("hello C\n");
代码中使用了printf 函数,实现了在屏幕上的信息的打印。
printf 是一个库函数,它的功能是在标准输出设备(一般指屏幕)上进行信息的打印。上面的代码
是使用 printf 函数打印字符串。只要把想要打印的一串字符放在双引号中并传递给printf函数就可以
打印。 如下
int n = 100;
printf("%d\n", n); //printf打印整型
printf("%c\n", 'q'); //printf打印字符
printf("%lf\n", 3.14); //printf打印双精度浮点型
这里的%d , %c 等是占位符,会被后边的值替换。记得调用库函数时要包含头文件 #include <stdio.h>
什么是库函数?
为了不再重复实现常见的代码,提升开发效率,C语言标准规定了一组函数,这些
函数再由不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了一个函数库,
也被称为标准库,这些函数也被称为库函数
一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用,要包含对应的头文件。
8. 关键字介绍
1)关键字都有特殊的意义,是保留给C语言使用的
2)程序员自己在创建标识符的时候是不能和关键字重复的
3)关键字也是不能自己创建的
auto break case char const continue default do double else enum ex
float for goto if int long register return short signed sizeof
struct switch typedef union unsigned void volatile while
注:在C99标准中加入了inline 、restrict 、_Bool 、_Comploex 、_Imaginary 等关键字。
9. 字符和ASCII编码
因为计算机中所有的数据都是以二进制的形式存储的,通过给每个字符编一个二进制序列(编码)
如a ->97 b->98 dec->十进制 oct->八进制 hex->十六进制 ch->字符
1)字符A~Z的ASCII码值从65~90
2)字符a~z的ASCII码值从97~122
3)对应的大小写字符(a和A)的ASCII码值的差值是32
4)数字字符0~9的ASCII码值从48~57
5)换行 \n 的ASCII值是:10
6)在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,无法打印在屏幕上观察
单个字符的打印可以使用%c来指定格式:
#include <stdio.h>
int main()
{
int i = 0;
for (i = 32; i <= 127; i++)
{
printf("%c ", i);
if (i % 16 == 15)
printf("\n");
}
return 0;
}
从空格开始打印
10. 字符串和\0
使用双引号括起来的一串字符就被称为字符串,如:"abcdef",就是一个字符串。
字符串的打印格式可以使用 %s 来指定。 \n->换行符
#include <stdio.h>
int main()
{
printf("%s\n", "hello C");
printf("hello c");
return 0;
}
C语言字符串末尾隐藏放着一个 \0 字符 通过监视窗口观察
对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏一个 \0 转
义字符, \0 是字符串的结束标志。所以我们在使用库函数printf() 打印字符串或者strlen() 计算字符
串长度的时候,遇到 \0 的时候就自动停止了。
C语言中也可以把一个字符串放在一个字符数组中,我们在这里利用下面的代码验证一下\0 的功
能。
#include <stdio.h>
int main()
{
char arr2[] = "abc"; //arr2数组中存放字符串
char arr1[] = {'a', 'b', 'c'};//arr1数组中存放3个字符
return 0;
}
接下来通过printf打印字符数组arr1和arr2到屏幕后
这是因为\0是结束标志 printf遇到\0 后停止打印 如果没有遇到\0 便会进行越界访问 至到遇到\0停止
printf("%s\n", "abc\0def");
同理 这只会在屏幕上打印 abc
谢谢观看!