我们常说的IDE就是上面提到的编译器
我们写程序的第一个代码往往就是Hello,world
其实这也是所有C程序的大体框架
#include <stdio.h>
int main()
{
printf("Hello,world!\n");
return 0;
}
-
#开头的命令我们称为预处理(在编译之前对源文件进行简单加工的过程),#include是文件包含命令,主要用来引入名为stdio.h的头文件
使用尖括号< >和双引号" "的区别在于头文件的搜索路径不同,包含标准库的头文件建议用尖括号,包含自定义的头文件建议用双引号。一个 #include 命令只能包含一个头文件,多个头文件需要多个 #include 命令。文件包含允许嵌套,也就是说在一个被包含的文件中又可以包含另一个文件。
-
int是 Integer (整数)的简写,比如int a,那么a 是我们给内存中的一块我们自己不能指定位置的区域起的名字,这块区域用来存放整数
如果我们写上 a=123,那么这个动作称为赋值
因为a的值可以被改变,我们称a为变量这里引入两个概念,数据类型和数据长度。
数据类型有:
字符型 char
短整型 short
整型 int
长整型 long
单精度浮点型 float
双精度浮点型 double
无类型 void
short 其实是short int,long其实是long int,这些都是为了方便而写
(具体各个数据类型的大致解释,见下一节)
每种类型对应的数据长度不同,数据长度(Length),是指数据占用多少个字节。占用的字节越多,能存储的数据就越多,对于数字来说,值就会更大,反之能存储的数据就有限。
各个类型的长度,大家可以看这为博主列举的32位与64位下各类型长度对比
差不多可以看出,32位和64位系统在Windows下基本数据类型的大小都是一样的。只有指针的大小不一样,32位指针大小为4byte,而64位的指针大小为8byte
Windows仅将指针大小进行了修改使得程序可以兼容运行。
那么64位或32位是指什么呢? 它指CPU里面通用寄存器的的数据宽度,也就是一个地址所占的二进制位数
- 函数
main()其实是一个函数,表示程序运行的主体部分,有些函数是我们可以从头文件中调用的,有些却需要我们自己定义。
这里涉及函数是如何定义的
格式为
数据类型 函数名称(){
/关于函数功能的各种语句/
}
例子:
#include <stdio.h>
void func2(){
printf("C语言");
}
void func1(){
printf("I love");
func2();
}
int main(){
func1();
return 0;
}
注意如果函数A中包含函数B,那么函数B的定义要在函数A之前声明
接下来会出一个专题专门讲解一些常用函数的使用和相关陷阱。
函数既然被调用,就需要一个返回值,这个返回值需要与函数名前的数据类型匹配,比如 return 0中的0 就可以放在void 数据类型中
- 输入输出
我们可以知道 printf() 也是一个函数,是用来输出的
输出函数有
puts():只能输出字符串,并且输出结束后会自动换行
putchar():只能输出单个字符
printf():可以输出各种类型的数
其中printf用途最广
输入函数有
scanf():和 printf() 类似,可以输入多种类型的数据。
getchar()、getche()、getch():这三个函数都用于输入单个字符。
gets():获取一行数据,并作为字符串处理。