源文件:源文件即源代码文件,C语言源文件后缀名是.c。
头文件:头文件后缀名为.h(head,头),C语言代码由源文件和头文件组成。
关键字:关键字是C语言征用了的一些字,这些字在C语言中代表特殊含义,已经被C语言定义好了,轮不到我们用了。每个关键字都有自己特定的含义,我们必须搞懂每个关键字的所有含义和用法,否则就看不懂C语言程序。
注释:C语言中注释以//开头,或者/* */,注释是给程序员看的,不是给机器看的。也就是说,程序员写注释给其他人看,以让人明白自己为什么要这么写。但是编译器编译程序的时候是忽略注释内容的,所以机器根本看不见注释,也不理注释。
符号:C语言程序中包含很多符号,如; : , + () {} *等等,各种符号都有自己的含义,必须搞明白各种符号的含义,才能看懂C语言程序。
变量:会变化的量。C语言程序中用变量来进行计算。
函数:函数是C语言的一个基本组成单位,一个C语言程序其实就是由很多函数组成的,每个函数用来完成一定的功能,函数可以调用别的函数来完成功能。函数的标志是().C语言中有一个特殊的函数叫main,这个函数是整个程序的内定的入口,也就是说整个C语言程序是从main函数开始执行的,其他的函数都是直接或者间接被main调用。
第一步:编辑源代码(使用vim或者其他编辑器)
第二步:编译。编译。编译就是用编译器把源程序转化成可执行程序的过程,编译要用到编译器。我们在linux中使用编译器一般是gcc。例如:
gcc hello.c
把当前目录下hello.c文件编译,得到的可执行文件名字叫a.out。也可以自己指定编译后生成的可执行程序的名字,使用命令:
gcc hello.c -o hello
第三步:执行编译生成的可执行程序,执行方式是:
./hello
第四步:调试。当你执行后发现程序结果不对,不是自己想要的,这时候就是返回来看源代码哪里不对。然后修改,再编译执行,再看结果。如此循环直至结果正确。
数据类型
运算符
三种程序结构
函数
数组
指针
结构体、共用体、枚举
include(包含) //头文件包含
int(integer,整数) //用来表示一个整数的类型叫整形。
float(浮点型) //用来表示小数的类型
char(character,字符) //字符型数据类型
return(返回) //函数返回
C语言中的整形对应数学中的整数,整形变量是用来描述一个整数值的,整形变量经过计算后也只能是整数(整型),不可能出现小数(浮点型)。
C语言中整形有三种:
(1)int 整形
(2)short int,又叫做short,短整形(<=整形)
(3)long int,又叫做long,长整型(>=整形)
C语言中浮点型对应数学中的小数。浮点型有float和double两种。使用方式相同,不同在于表示范围和精度。float表示的范围小,精度低(小数点后6位);而double表示范围大,精度高(小数点后16位)。范围是说表示的数有多大,精度是指这个数的分辨率有多细。
注意:printf中打印float或double类型,是要用%f,不能用%d。
字符型对应ASCII字符。ASCII字符是一种编码,就是用数字编码来表示一个符号的一种方法
本质上说,字符型其实也是整形,只是这些整形数被用来表示一些字符的ASCII编码值,所以叫做字符型。字符型一般用8位二进制表示,无符号字符型范围是0~255。字符型其实是一种比short还短的整形,所以它可以和int相运算。
数学中数是有符号的,有整数和负数之分。所以计算机中的数据类型也有符号,分为有符号数和无符号数。
//整形:
signed int(简写为 int)
signed long,也写作signed long int,(简写为long)
signed short,也写作signed short int(简写为short)
signed(表示signed int)
//浮点型:
signed float(简写为float)
signed double(简写为double)
//字符型:
signed char(简写为char)
//整形:整形有无符号数,用来表示一些编码编号之类的东西。譬如身份证号,房间号
unsigned int(没有简写)
unsigned long int(简写unsigned long)
unsigned short int(简写为unsigned short)
//浮点数:没有无符号浮点数。也就是说,小数一般只用在数学概念中,都是有符号的。
//字符型:字符型有无符号数
unsigned char(没有简写)
注:对于整形和字符型来说,有符号数和无符号数表示的范围是不同的。例如,字符型,有符号数范围是-128~127,无符号数的范围是0~255
逻辑上有一种类型,叫bool类型(又写作boolean类型,中文叫布尔类型)。布尔类型只有两个值,真(true)和假(false)。
数据类型的实质是内存中占用格子(自己定义或者的一个变量)的不同种类。
//例如在32位机器上
短整形格子(short) //占用2字节空间 16位
整形格子(类型是int) //占用4字节空间 32位
单精度浮点型格子(float) //占用4字节空间
双精度浮点型格子(double) //占用8字节空间 64位
字符型格子(char)。 //占用1字节空间 8位
字节(Byte) //等于8个二进制位
+ //加号
- //减号
* //乘号
/ //除号,相除以后的商
% //取余符号,相除以后余数是几
() //括号括起来优先级最高,先计算
= //赋值运算符,与数学中的等号完全不同。赋值运算符作用是经过运算后符号左边的部分(左值,一般是一个变量),的值就等于右边部分(右值,一般是常数或变量)了。
+= //a = a + b; 等同于 a += b;
-= //a = a - b; 等同于 a -= b;
*= //a = a * b; 等同于 a *= b;
/= //a = a / b; 等同于 a /= b;
%= //a = a % b; 等同于 a %= b;
== //等于
!= //不等于
> //大于
< //小于
>= //大于等于
<= //小于等于
, //逗号运算符的主要作用是用来分割
++ //自增运算符:a++,先赋值再自增;++a,先自增,再赋值。
-- //自减运算符:a--,先赋值再自减;--a,先自减,再赋值。
返回一个变量或者一个数据类型的内存占用长度,以字节为单位。