- C语言是什么:本质是一种计算机语言
- 人——人 使用自然语言交流
- 人——计算机 使用计算机语言交流
- 目前已有上千种计算机语言
- C语言历史
- 1969 贝尔实验室使用汇编语言开发了Unix操作系统,为了移植到其他计算机,发明了B语言
- 1972 丹尼斯里奇发明C语言,代替B语言
- 1973 Unix系统用C重写
- 1988 美国国家标准协会(ANSI)将C语言标准化,标志着C语言的稳定和规范化
- 编译器的选择
- 计算机语言的分类
- 编译型计算机语言——依赖编译器 //例如C、C++
- 解释型计算机语言——依赖解释器 //例如Python
- 文本文件(源文件)——编译器翻译——链接器链接——二进制的可执行程序
- 单个源文件(.c)经过编译器处理生成对应目标文件(.obj)
- 多个目标文件和库文件经过链接器处理生成可执行程序
- 编译器分类
- MSVC 微软
- clang 苹果
- gcc 开源
- 集成开发环境(IDE)
- 用于提供程序开发环境的应用程序,集成了编译器、编辑器、调试器
- VS2022 集成了MSVC
- XCode集成了clang
- CodeBlock集成了gcc
- DevC++集成了gcc
- Clion默认使用CMake
- VSCode
- 不是一个编译器,而是一个功能强大的编辑器
- 可以使用插件搭建C、C++的开发环境
- 功能使用不够方便
- 计算机语言的分类
- VS项目、源文件、头文件介绍
- 创建项目、工程
- 项目的名称要有意义,最好不要有中文
- 规划好代码路径,代码路径不使用用空格和中文
- 出现解决方案资源管理器,说明项目创建成功 //快捷键Ctrl+Alt+L
- 创建源文件
- 后缀.c为c的源文件
- 后缀为.cpp为C++的源文件
- 后缀为.h为头文件
- 写代码
- 运行代码:Fn+Ctrl+F5
- 创建项目、工程
- main函数
- main函数,又称主函数,是程序的入口
-
int main() {//程序从这一行开始执行 printf("Zen"); return 0; }
- int 表示函数的返回类型是整型
- main(void) 表示main函数没有参数
- printf和库函数
- C语言标准规定了一组常用函数组成函数库,函数库内的函数称为库函数
- 不同编译器厂商根据该标准实现这些库函数
- printf是一个库函数,功能是在标准输出设备上打印信息 //printf是print format(按照格式来打印)的缩写
-
printf("%d\n",2);//打印整数 printf("%f\n",2.0);//打印浮点数 printf("%c",'x'); //打印字符 printf("%s","abc");//打印字符串
- 使用库函数,需要包含头文件
-
#include<stdio.h> //standard input output 标准输入输出
- 快捷键
- Ctrl+C 复制
- Ctrl+V 粘贴
- Ctrl+X 删除
- 关键字(保留字)
- 创建标识符不能与关键字重复,保留给C语言使用
- 关键字有特殊含义,无法自行创建
- 字符和ASCII码
- 键盘上可以敲出的符号称为字符,字符需要用单引号括起来
- 字符对应的ASCII码值可被打印
-
printf("%c",65);//打印结果是A
-
printf("%d",'A')//打印结果是65
- 1.计算机中的能存储二进制形式的数据
- 2.因此,字符的存储需要编码
- 3.ANSI 出台了标准的ASCII码,C语言中的字符遵循了ASCII编码的方式
- A~Z 65~90
- a~z 97~122 //大小写对应差值32
- 0~9 48~57
- \ n 10
- 0~31 无法在标准输出设备上打印
- \0
- \0本质是转义字符,是字符串的结束标志
-
char arr1[]="abc";//共占用4个单位的内存 char arr2[]={'a','b','c'};//共占用3个单位的内存 printf("%s\n",arr1);//打印出abc printf("%s\n",arr2);//打印出abc+乱码
- 转义字符
- 定义:顾名思义,转变其之前字符意义的特殊字符
- 形式:斜杠+普通字符
- 举例
- 防止"误读"
- \ '用于表示字符常量
- \ \ 防止斜杠转义
- \ ? 防止问号被解析为三字母词(已过时)
- 改变终端输出结果
- \ a 警报
- \ b 退格,光标回退一个字符
- \ r 换行,光标移到同一行的开头
- \ t 水平制表符
- \ ddd 1~3个字符的8进制形式
- \ xdd 2个十六进制数字
- 防止"误读"