框架
在开始之前,我打算先展示一下本篇文章将涉及的内容。因为是初识,所以各个知识点都不会深入,且只会涉及C的大部分知识,并不会面面俱到。
什么是C语言
C语言是一门计算机语言,相较于其他计算机语言,它可以称的上古老了。但它现在仍有用武之地。为了避免各厂商C语言语法出现差异,美国国家标准局制定了一套完整的美国国家标准语法,ANSI C,作为C语言最初标准。现在最新的C语言标准则为c11。
C语言是一门面向过程的计算机编程语言,而流行的C++、python、JAVA,则是面向对象的编程语言。两者区别这里不再赘述
我们通常使用C语言编写且具有特定扩展名(.c)的文本文件被称为C源文件,只有经过编译等一系列操作才能成为可执行文件,编译则需要编译器。C语言编译器主要有Clang、GCC、MSVC等。
简单C程序
#include<stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
上述代码是一个简单的C程序,它的作用非常简单:在屏幕上打印 Hello World!。该程序由两部分组成:include预处理指令和main函数。main函数是C程序的主入口,一个工程中有且只有一个main函数,源文件也同样如此。
变量和数据类型
顾名思义,变量用以表示变化的量,例如蔬菜的价钱,人的体重。实际上,在C语言中,变量的作用是储存数据,从而处理数据。
请看一段代码:
#include <stdio.h>
int main()
{
int a = 5, b = 6;
printf("%d\n", a * b);
a = 7, b = 8;
printf("%d\n", a * b);
return 0;
}
上图代码简单地在屏幕上显示两数相乘的结果,其中的a,b就是变量。实际上,一个变量并不能表示所有的数据。如果第一行int a = 5.6,结果如下:
它的结果并未改变,同时编译器也给予警告,这一切都源于变量a的数据类型int。
数据类型
在生活中,实数分为整数和小数。为了更加方便的表示这些数据(存储数字),C语言有一些常用的数据类型。不同的数据类型表示的数据种类或者数据范围大小不同,同时在C语言中不同数据类型的数据的存储方式也有所不同。
数据类型大体可以分为两类:整型和浮点型。顾名思义,整型表示整数,浮点型表示小数。
字符型也算为整型,因为计算机在存储字符时,会存储字符对应的ASCII码值,而不是直接存储字符。并且,字符对应的数字为整数所以字符型被算作整型。
大小
看下图:
该图左侧代码会在屏幕上打印存储一些常见数据类型时所需的内存大小(单位:字节),运行结果则是图的右侧,它直观反映了各个数据类型能够表示的数据大小。字符型是char,大小是一个字节。具体范围见下列表格:
数据类型 | 字节数 | 取值范围 |
char | 1 | -2^7(-128) ~ 2^7 - 1 |
short | 2 | -2^15 ~ 2^15 - 1 |
int 或 long | 4 | -2^31 ~ 2^31 - 1 |
long long | 8 | -2^63 ~ 2^63 - 1 |
float | 4 | -/+3.4e38(精确到6位小数) |
double | 8 | -/+1.7e308(精确到15位小数) |
至于long double,博主也不知道。不过可以前往C库函数<float.h>中查看。好的,言归正传。
变量的声明
回到问题,数据类型的限制和变量有什么关系呢?这与变量的使用规则有关。在C语言中,要想先使用变量,必须先声明变量。变量的声明格式如下:
type(数据类型) 变量名;
数据类型决定了该变量能够存储的数据种类和数据范围。同时,在声明变量的同时可以给变量赋值,这种行为就叫做变量的初始化。如:
int a = 0;
double b = 0.0;
本章内容就此结束,C语言大型连续剧就此开始。