一、C语言是什么及历史发展
1,C语言是什么?
人与计算机交流的计算机语言。人使用计算机语言给计算机下达指令,计算机接到指令后工作
计算机语言:C++、Java、go、Python……
2,C语言的历史
1969年,B语言
1972年,C语言
1973年,Unix操作系统用C语言重写
1983年,美国ANSI对C语言进行标准化,也就是ANSI C的出现
二、C语言是编译型语言
1,计算机执行的是二进制指令,即机器指令
2,C语言源代码为文本文件,经编译器编译和链接后生成计算机可执行的二进制文件。
编译生成目标文件
链接对象:目标文件和链接库
3,编译器:gcc、clang、msvc等
集成开发环境(IDE):集编辑器、编译器、调试器等一体化的开发软件服务套。有:VS、DevC++、Xcode等
源文件:xxx.c
三、程序基本框架
注意:程序书写要用英文输入法下的英文字符
1,一个代码
#include<stdio.h> //包含头文件
int main() //主函数,程序入口
{
printf("Hello\n"); //printf函数,库函数,在标准输出设备上打印信息
return 0;
}
程序的运行快捷键Ctrl+F5+Fn
(如果键盘上没有Fn键就不需要按)
原因:一开始计算机中的F1到F12都有特殊功能,但随着计算机的普及,F1到F12带上了娱乐功能,按Fn键让它们恢复原来功能
2,代码分析:include<stdio.h>
#include<stdio.h> //包含头文件
include包含
stdio.h就是一个头文件 头文件:xxx.h
多个头文件的包含要分开写,不能写在一个#include< >里面
#include<stdio.h>
#include<stdbool.h>
C语言标准库中提供了一套函数,即库函数,不是程序中根据自己需要,自己编写的函数,所以使用前要包含头文件。
库函数参考网站:https://cplusplus.com/reference/clibrary/
3,代码分析:stdio.h
#include<stdio.h>
std是英文standard,中文意思标准;i是英文input,中文意思输入;o是英文output,中文意思输出
所以stdio.h这个头文件跟输入和输出有关
4,代码分析:int main()
int main() //主函数,程序的入口
main函数,也称主函数,是程序的入口,项目中有且只能有一个。
项目中可以有一个或多个.c文件,一个或多个.c文件构成一个整体。
int整数类型,英文integer
()里面可以放参数,参数有特殊意义
5,代码分析:printf和return 0
{
printf("Hello\n"); //printf函数,库函数,在标准输出设备上打印信息
return 0;
}
printf函数,C语言标准库中的函数,输出函数,作用是在标准输出设备(一般指屏幕)上打印信息
Hello是字符串,是printf打印的对象
\n是转义字符,作用:回车换行
语句的结束要有分号;
return是返回的意思,在return 0;这个语句中0代表整数,与int main中的int呼应。
虽然在一些编译器中忘了写return 0;程序也能正常运行,但移植到一些编译器中可能会报错,所以要养成写return 0的习惯。
6,其他main函数的写法
古老写法:void main ()
void中文意思空的,无效的
int main(void)
void空的,无效的,可以省略
即写成int main()
四、注释
对代码的说明,会被编译器忽略,替换成一个空格
1,为什么要写注释?
注释是给程序员看的,必要的注释可以帮助程序员更好的理解代码
2,注释的2种形式
/*注释*/
内部可以分行,这种注释可以插在行内,但这种注释不支持嵌套,/*开始注释,遇到第一个*/就以为注释结束
/*这是一个注释
这是一个注释*/
int/*整数类型*/main()
//注释
这种注释只能是单行,可以放在行首也可以放在行尾
3,双引号里面不能放注释
两种注释都不能放在双引号" "里面,双引号里面的注释符会成为字符串的一部分,解释为普通字符,失去注释作用
例如:
#include<stdio.h>
int main()
{
printf("Hello/*这是字符串*/\n");
return 0;
}
屏幕上打印的结果为 Hello/*这是字符串*/