C语言是什么
C语言是人和计算机交流使用的一种语言,人通过计算机语言写程序,给计算机下达指令。下面是一个关于计算机语言的网站
https://www.tiobe.com/tiobe-index/
编译器
c 语言需要编译和链接所以需要一个编译器
编译器的选择
vs2022:安装包大,用起来方便
xcode:苹果电脑上的开发工具
devC++:安装简单,工具过于简单,不利于养成好的代码风格。
在vs上写代码
1.创建项目(项目名称最好要有意义,不建议使用中文和特殊符号)
2.创建.c文件
3.写代码(代码中符号要使用英文符号)
写C语言代码要严格按照C语言语法来写!
c 和.cpp 的区别:
.c C 语言的源代码文件
.cpp C++的源代码文件
C++包含大多数 C
第一个C语言程序,打印hehe
#include<stdio.h>
int main()
{
printf("hehe\n");
return 0;
}
- main 函数
每个 c 语言程序都是从 main 开始执行的,main函数 是程序的入口。
int main()
int 表示整形
return 0;表示执行结束返回 0。
main 函数有且仅有一个
printf 是一个输出函数,是一个库函数
功能:在屏幕上打印信息
scanf 是一个输入函数
使用时要包含头文件 #include<stdio.h>
stdio standard input output
库函数
库函数:把常见的功能实现成库函数,供程序员使用,提高效率。
一个系列的库函数一般会声明在一个头文件中,所以使用库函数要包含对应的头文件,
如printf和scanf的使用需要stdio.h。
库函数比较多,详细参考链接
http://cplusplus.com/reference/clibrary/
关键字介绍
C语言规定常见的32个关键字
关键字都有特殊含义,创建标识符时不能和标识符重复。关键字是不能自己创建的
字符和ASCII编码
c语言中字符使用单引号引起来的,
计算机能够识别二进制,数据在存储时也使用二进制,这就需要给每个字符进行编码,
也就是 ASCII 编码
字符 A~Z 65~90
a~z97~122
例: printf("%c",65);打印结果为 A
请看ASCII码表
字符串和\0
'hehe’这就是一个字符串
字符串的结尾是\0,\0就表示字符串结束标志。在使用printf打印时遇到\0就会停止,不会打印\0,\0只是作为一个结束标志。
转义字符
1、\n、\0就是转义字符,就是转变原来的意思
特殊的转义字符:
\ddd:d d d 表示 1~3 个八进制数字
\130 表示字符’X’
\xdd:d d 表示两个十六进制数字
\x48 表示字符’H’
**C语言是一条一条的语句构成的
什么是语句?
-
空语句
一个分号就是一个语句 -
表达式语句:a+b;
-
函数调用语句:printf(“呵呵”); 函数调用时结尾加上一个“;”就是函数调用语句。
-
复合语句:一个函数就可以认为一个复合语句,{}括起来的语句。
-
控制语句:
用于控制程序的流程,实现程序的各种结构方式,C 语言支持 3 种结构。(顺序?选择、循环结构)
条件判断语句(分支语句):if 语句,switch 语句
循环执行语句:do while 语句,while 语句,for 语句
转向语句:break 语句,goto 语句,continue 语句,return 语句。
注释
注释是对代码的说明,编译器会忽略,注释可以帮助更好的理解代码,不要过度注释。
注释的两种形式
- C 语言风格注释 /…/ 不能嵌套注释
- //
注释本质:注释会被替换成一个空格
数据类型
C 语言提供了丰富的数据类型来描述生活中的各种数据
使用整型类型描述整数,浮点型类型描述小数…
数据类型分为内置类型和自定义类型。
计算机能够识别的是二进制 1、0
bit~比特
Byte~字节
KB
MB
GB
TB
PB
1byte=8bit
1KB=1024byte
有符号 signed
无符号 unsigned
一. 内置类型
- 字符类型
字符 character,缩写为 char:一个字节 - 整型 int:4 个字节
长整型 long(int):8 个字节
更长的整型 long long(int):8 个字节
短整形 short(int) (括号表示可省略):2 个字节 - 浮点型
float 单精度浮点型:4 个字节
double 双精度浮点型:8 个字节
小数默认 double 类型
4.波尔类型:一个字节
波尔类型变量取值 ture、false
包含头文件 stdbool.h
_bool flag=ture/false; - sizeof
sizeof 是一个关键字,也是一个操作符,计算长度,单位是字节。
操作书可以是表达式,(能省略括号)可以是数据类型名。(不能省略括号)
sizeof 计算结果的类型是 size_t,size_t 是一种无符号的整数,使用%zd 打印
放到 sizeof 中的表达式是不计算的
- signed 和 unsigned
signed 关键字,表示该类型有正负号
unsigned 关键字,表示该类型没有负号
int 类型默认是有符号的整型,也就是说 int=signed int。
对于有符号数来说,最高位是符号位,0 表示整数,1 表示负数。
对于无符号数来说,所有数字都是用来存放数字的。
unsigned int,同样的内存可以存放更大的数字。
变量
类型是用来创建变量的,创建变量时要初始化,int a=0;(局部变量不初始化,其中放的是随机值)
变量的分类
1.全局变量:大括号外定义的变量,整个工程都可以使用。(使用范围广)
2.局部变量:,大括号内部定义的变量,只能在自己的范围内使用。(使用范围小)
程序运行起来要在内存中申请空间
局部变量在栈区申请
全局变量在静态去申请