一、C语言编程初步了解
一、计算机内存
计算机执行程序时,组成的指令和程序所操作的数据都必须储存在某个地方,这个地方就是机器的内存。
RAM:随机访问储存器,是易失性存储器,断电会数据丢失。
计算机内存单位通常是千字节(KB)、兆字节(MB)、千兆字节(GB)、兆兆字节(TB)关系如下:
1TB=1024GB
1GB=1024MB
1MB=1024KB
1KB=1024B
1TB=1024GB=1048576MB=1073741824KB=1099511627776B
二、什么是变量
变量是计算机里一块特定的内存,它是由一个或多个连续字节所组成,一般由1、2、4、8、16字节,每个变量都由个名称表示该内存的位置,以提取它保存的值或储存一个新的值到变量
变量的命名一般以一个大写字母或小写字母、数字、下划线,但要以字母开头。
三、存储整数的变量
变量有几种不同的类型,每种变量都用于储存特定类型的数据。有几种变量可以储存整数、非整数的数值和字符。一些类型存储特定的数据(如:整数),它们的区别是它们占用的内存量和可以存储的数值范围。如定义一个整型变量: int x;
x=100;
这里int是变量x类型声明,int(整型)
x=100;将整数100赋值给x
变量声明应该以分号结束,否者会产生错误
1、变量的使用
简单的求和
#include<stdio.h>
int main(void)
{
int x,y,sum;
x = 6;
y = 7;
sum = x+y;
printf("sum=%d",sum);
return 0;
}
这里定义了3个整型变量,对x和y赋值再求和将结果赋值给变量sum
2、变量的初始化
定义变量可以将值赋值给变量
如:int x = 5;
这个语句将变量x声明为int类型,并设置初值为5
前面使用了加法,接着把减法、乘法、除法、取模都试一试
减法
int x,y,z;
x = 6;
y = 7;
z = y-x;
printf("z=%d",z);
乘法
int x,y,z;
x = 6;
y = 7;
z = y*x;
printf("z=%d",z);
除法
int x,y,z;
x = 6;
y = 7;
z = y*x;
printf("z=%d",z);
注意这种整数相除结果取整
int z;
float x,y;
x = 15;
y = 2;
z = x/y;
printf("z=%d",z);
return 0;
取模
int x,y,z;
x = 19;
y = 5;
z = x%y;
printf("z=%d",z);
基本算数运算符
运算符 | 动作 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模(求余) |
四、变量类型
1、有符号整数类型
整数变量类型的名称
类型名称 | 字节数 |
---|---|
signed char | 1 |
shor int | 2 |
int | 4 |
long int | 4 |
long long int | 8 |
读取数据的格式说明符
操作 | 需要控制字符串 |
---|---|
short | %hd |
int | %d |
long | %ld |
float | %f或%e |
double | %lf或%le |
2、无符号整数类型
无符号整数变量类型的名称
类型名称 | 字节数 |
---|---|
unsigned signed char | 1 |
unsigned shor int | 2 |
unsigned int | 4 |
unsigned long int 或 unsigned long | 4 |
unsigned long long int 或 unsigned long long | 8 |
3、指定整数常量
整数变量有不同的类型,整数常量也有不同的类型 如:100 int型
long型就需要在写成100L或100l,因小写字母l和1难辨认,建议大写
定义long long 类型应该在数字后面加两个LL如:100LL
定义无符号类型如int 100U;long 100UL;long long 100ULL;
五、使用浮点数
浮点数表示法
数值 | 指数表示法 | C语言中也可表示为 |
---|---|---|
1.6 | 0.16*10 | 0.16E1 |
0.00008 | 0.8*10^-4 | 0.8E-4 |
7655.899 | 0.7655899*10^4 | 0.7655899E4 |
100.0 | 1.0*10^2 | 1.0E2 |
六、浮点数变量
浮点数变量类型
关键字 | 字节数 | 数值范围 |
---|---|---|
float | 4 | ±3.4E±38(精确到6到7位小数) |
double | 8 | ±1.7E±308(精确到15位小数) |
long double | 12 | ±1.19E±4932(精确当18位小数) |
七、类型强制转换
float z;
int x,y;
x = 15;
y = 2;
z = (float)x/(float)y;
printf("z=%f",z);