目录
一、C程序——经典的Hello World
第一个最经典的C语言程序非打印Hello World莫属,实现该程序的代码如下:
将其运行,我们可以看到这样一个画面
下面,我们来解释一下这段代码
首先,程序在形成之前,会对#include <stdio.h>这一行的代码进行处理
这行代码的意思是,将stdio.h文件中的所有内容全部包含到当前的文件中。stdio.h是一个标准输入输出的头文件,里面包含了诸多C语言的库函数。关于这一点,在后续的章节中会有深入的讲解,这里只做简单的介绍
然后,一个C程序的执行都是要从主函数,即从main函数开始,主函数在一个工程中必须有且只有一个。
一个函数实现的语法是:
返回值类型 函数名(参数)
{
//函数功能;
}
而在这一行代码中,int表示该函数的返回值类型是整形(integer,即整数),其后的main为函数名,()中为空表示函数无参数。
printf是包含于stdio.h文件的诸多库函数中的一个,其作用是将其中内容打印到显示器上,在本例中即打印Hello World。
getchar() 此行代码在此仅用作使程序暂停,使我们能够观察到打印的内容
return 0 表示这个函数最后返回0,(主函数一般都要返回0)
二、C语言中的数据类型
数据类型分为内置数据类型和自定义数据类型
C语言本身为我们提供了诸多内置数据类型,如
char 字符数据类型 占1字节
short 短整形 占2字节
int 整形 占4字节(32位及以上的机器)
long 长整形 占4或8字节(规定其所占空间大于等于int)
long long 更长的整形 占8字节
float 单精度浮点数(即小数) 占4字节
double 双精度浮点数 占8字节
注:C语言没有字符串类型
不同的数据类型所占的内存空间大小不同,能够表达的数值范围也不同
关于空间大小单位,由小到大依次为
Bit——Byte(字节)——KB——MB——GB——TB
其中,8bit为1字节,1024字节为1kb,1024kb为1mb........
而存在这么多的类型,其实是为了更加丰富的表达生活中的各种数值
那么这些数据类型要怎么使用呢,我们往下看
三、常量与变量(1)
常量,即不变量,如圆周率、人的血型等,其值不可更改
变量,即可变量,如年龄,体重等,其值是可更改的
1、定义一个变量
在C语言中,定义一个变量的语法为:
数据类型 变量名 = 初始值;
如:
在这里,表达式左边的val、weight、ch都是变量名称,名称由用户自己取,(但名称不可以为关键字,后续会讲)这一过程为创建变量并对其初始化。
创建的变量是存储在内存中的,有各自的地址。变量的意义在于,我们能够通过该变量来在内存中找到数据,并可以对其进行修改
2、变量的分类
变量分为局部变量与全局变量
其中,定义的局部变量允许与全局变量同名,但同一函数体内不允许重复使用同一个变量名定义局部变量,而函数体外不允许重复使用一个变量名定义全局变量(原因将在后续讲解)
那么,当局部变量与全局变量同名时,会使用哪个数据呢?运行这段代码
我们可以发现,当定义的局部变量与全局变量同名时,优先使用局部变量
3、变量的使用
既然我们已经可以创建变量,变量又如何使用呢,下面以求和为例进行简单阐述
首先,我们创建了n1,n2,sum三个变量并对其初始化
然后,用scanf函数对n1和n2进行赋值,scanf函数是包含于stdio.h的一种,用以读取从键盘上输入的数据,并赋值给相应的变量。前面的%d是指要输入整形来对变量赋值,其总个数取决于后面要赋值的变量数。&n1,&n2是指将第一个输入的值赋给n1,第二个输入的值赋给n2,&n1、&n2的书写先后顺序决定了二者的赋值先后顺序
之后,计算二者之和并赋值给sum
最后打印结果,printf中的%d表示要打印一个整形,sum表示要打印的具体整形数字,若要打印多个整形,写法与scanf基本相同,如: