C语言
编译器visual studio2022
为什么要使用编译器
C语言是一门编译型计算机语言,C语言源代码是文本文件,本身无法执行,要通过编译器翻译和链接器的链接,生成二进制文件才能被计算机识别执行。C语言代码放在.c为后缀的文件中,中间要通过编译与链接两个过程最终才能被执行。
编译器
除了visual studio2022(VS2022)之外,常见的C语言编译器还有clang、gcc等,还有一些集成开发环境如XCcode、Devc++、clion等。
VS2022安装简单,社区版免费,使用方便,比较适合代码习惯的养成,缺点是安装包较大内存占用多。
DevC++安装小巧简单,但对于代码风格的养成不利。
clion编译器可配置,但工具收费。
VS2022 在编码之前要创建项目,然后在项目中创建源文件,要注意的是一个项目中可以有多个源文件,但是只能有一个main函数,若同一个项目的每个源文件中都包含main函数,则函数无法正常运行。对此,可以在同一个源文件中,将前一个程序执行完毕后把它们更改为注释,编译器在执行程序时自动跳过注释。
C语言是什么
正如人与人之间通过自然语言交流一样,人与计算机通过计算机语言交流,C语言就是计算机语言中的一种。C语言是一门具有完全模块化和结构化的高级程序设计语言。
C语言的发展历史
1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,最初的C语言是为了描述和实现UNIX操作系统提供一种工作语言而设计,随着UNIX的广泛使用,C语言也得到迅速推广并成为世界上应用最广泛的程序设计高级语言之一。1988年,美国国家标准协会正式将C语言标准化,标志着C语言开始确定和标准化。
第一个C语言程序
#include <stdio.h>
int main()
{
printf("Hello World!");
return 0;
}
注意避免的错误:
· main函数不要写错
· main后面的()不能省略
· 代码中的符号都要以英文符号输入
· 一条语句结束后要以分号结束
main函数
每个C语言程序不管有多少行代码,都是从main函数开始执行的,main函数是程序的入口,它也被叫做主函数。main函数前面的int表示函数执行完毕后返回一个整型结果,最后的return 0正好相呼应。
要注意的是:
· main函数是程序的入口
· 一个程序中main函数有且仅有一个
· 一个项目中即使有多个.c文件,main函数也只能有一个
printf函数和库函数
printf()函数实现信息在屏幕上打印的函数,它是一个库函数。只要把想要打印的信息放在双引号中并传递给printf函数就可以打印了。
使用库函数时需要包含头文件,如printf函数要包含的头文件是stdio.h这个头文件。C语言标准规定了一组函数,这些函数组成了一个函数库,成为标准库,这些函数也称为库函数。
关键字
C语言中有一些保留名字的符号被称为保留字或关键字,如:int 、if 、 return等。
C语言的32个关键字如下:
auto break case char continue default do else const enum float
double for goto if long register return short signed sizeof
struct switch typedef union unsigned void volatile while extern
使用关键字时要注意:
· 每个关键字都有特殊的意义
· 自定义的标识符不能和关键字重复
· 关键字不能被自己创建
字符与ASCⅡ码
键盘上的a、b、c、@、#等,这些符号被称为字符,C语言中字符用单引号括起来的,如’a’、‘b’、‘@’。
我们都知道计算机中所有的数据以二进制的形式存储 ,同样的,字符也是以二进制的形式存储的。美国国家标准协会给出了字符的二进制序列,成为ASCⅡ码,C语言中的字符就遵循ASCⅡ编码的方式。
我们不需要记住所有的ASCⅡ码表中的数字,在需要的时候查找就可以了,但是最好还是掌握几组特殊的数据:
· 字符A~Z的ASCⅡ码值从65 ~90
· 字符a~z的ASCⅡ码值从97 ~122
· 对应的小写字符比大写字符的ASCⅡ码的值多32
· 数字字符值从0 ~9对应的ASCⅡ码的值从48 ~57
· 换行字符\n\的ASCⅡ码的值是:10
· 字符中的ASCⅡ码值从0 ~31这32个字符是不可打印的字符,无法在屏幕上观察
打印单个的字符使用%c来作为指定的格式:
#include <stdio.h>
int main()
{
printf("%c",'a');
printf("%c",'Q');
printf("%c",17);
return 0;
}
字符串和\0
C语言表示字符串是使用双引号括起来的一段字符,如’'abcd"就是一个字符串。
打印字符串要用指定的格式**%s**,也可以直接打印:
#include <stdio.h>
int main()
{
printf("%s","hello world!");
printf("hello world!");
return 0;
}
字符串中有一个特殊的标记符\0,这个符号是字符串结束的标志。因此对于字符串"abcd",我们看到了四个字符,实际上在此字符串的末尾还隐藏了一个\0。所以我们在使用库函数printf()去打印或者用strlen()函数计算字符串的长度时,遇到符号\0时就自动停止了。
转义字符
在前文中出现的\n 、 \0等时一种特殊的字符转义字符,顾名思义即改变意思的字符。
转义字符\n代表换行的意思,我们可以理解为是\让n的意思发生了转变,n由原来的普通字符转变成换行的字符的意思。除此之外,C语言中还有一些转义字符如下:
\': 表示字符常量'
\":表示双引号
\\:表示一个斜杠
\a:警报,使终端发出警报声或者出现闪烁,也可能同时发生
\b:退格键,光标退一个字符,但不删除字符
\r:回车符,使光标到同一行的开头
还有两种转义字符可以理解为字符的八进制或者十六进制的表示形式:
\ddd:d d d表示1 ~ 3个八进制的数字。如 \132是十进制数90,表示字符Z
\xdd:d d 表示2个十六进制数字。如\x30是十进制数字48,表示字符0
代码展示如下:
#include <Stdio.h>
int main()
{
printf("%c",'\'');
printf("%c",'\132');
printf("%c",'\x30');
printf("\a");
return 0;
}
今天的内容到这里就结束啦,感谢观看,欢迎指出问题!