C:变量

什么是变量

变量是计算机里一块特定的内存。
由一个或多个连续的字节所组成。
每个变量有一个名称,可以用该名称表示内存的这个位置。

存储数值的变量

整型变量

在C中, 整数写成不带小数点的数字。

申明变量

int Cats;

变量的初始化

Cats = 2;

算术运算

+ 加
- 减
* 乘
/ 除
% 取模

total = cats + dogs;

整数除法
如果操作数不同号, 结果是负数 -45/7 和 45/-7 都是 -6
操作数同号, 结果是正数 -45/-7 和 45/ 7 都是6
取模:
结果与做操作数符号相同
45%-7 等于 3, -45%7 等于 -3

整数变量类型

类型名称 字节数 取值范围 简称
signed char 1 -128~127 char
short int 2 -32768~32767 short
int 4 int
long int 4 long
long long int 8 long long

无符号整型

类型名称 字节数 取值范围 简称
unsigned char 1 0~255 unsigned char
unsigned short int 2 0~65535 unsigned short
unsigned int 4 unsigned int
unsigned long int 4 unsigned long
unsigned long long int 8 unsigned long long

unsigned int count =10;
long num = 1287600L;
unsigned long mile = 63360UL;
long类型变量值后缀为L,
无符号的前面加U,
unsigned logn 类型后缀为UL,

浮点数变量

类型名称 字节数 取值范围 后缀
float 4 3.4E38 f
double 8
long double 12 L

float radius = 2.5f;
double big = 12E30;
long double huge = 1233.222L;

控制字符宽度
printf();指定字段宽带
%8.2f 字段宽度为8, 小数点后2位。

常量

常量的值固定不变。
1. #define PI 3.14f
2. 通过const,定义固定的变量
const float Pi = 3.14f;
当有改动时, 编译时会报错。

极限值

类型名称 下限 上限 说明
char CHAR_MIN CHAR_MAX
short SHRT_MIN SHRT_MAX
int INT_MIN INT_MAX
long LONG_MIN LONG_MAX
long long LLONG_MIN LLONG_MAX

无符号分别为 UCHAR_MAX, UINT_MAX

类型名称 下限 上限 说明
float FLT_MIN FLT_MAX
double DBL_MIN DBL_MAX
long double LDBL_MIN LDBL_MAX

要使用这些符号, 需要

#include <limits.h>

sizeof 运算符

使用sizeof 运算符可以确定给定类型占用多少字节,
sizeof(int) 返回size_t 类型的整数, int类型的变量所占的字节数。
size_t size = sizeof(long long);

强制类型转换

float b = 4.4;
printf(“b is %d”, (int)b); // b is 4

自动转换类型

只有两个操作数类型相同时,才能执行二元算术运算,
如果类型不相同, 编译器就会把其中一个值域较小的操作数转换为另一个操作数类型。

long double > double > float > long long > long > int > short > signed char > unsigned
无符号整数类型与带符号整数级别相同。

字符类型

char 包含任意单个字符,
代码值取决于计算机环境, 最常见的为ASCII 编码

#include <stdio.h>
int main(void){
    char letter  = 'A';
    letter  = letter + 3;
    printf("letter char is %c\n", letter);
    printf("letter number is %d\n", letter);
}

// 执行
$ ./a.out 
letter char is D
letter number is 68

宽字符类型

wchar_t 存储多字节字符码,一般占两个字节
wchar_t w_ch = L’A’;
printf(“is %lc”, w_ch);

枚举类型

enumeration 枚举
enum Weekday{Monday, Tuesday, Wednesday};
枚举是一个整数类型, 默认从0开始。
申明一个新变量
enum Weekday today = Tuesday;
由于有初始值, Tuesday对应为 1;
可以在定义枚举类型时申明变量

enum Weekday{Monday, Tuesday, Wednesday} today, tomorrow;
enum Weekday{Monday, Tuesday, Wednesday} today = Monday, tomorrow = Tuesday;
enum Weekday{Monday, Tuesday, Wednesday} today = Monday, tomorrow = today + 1;

选择枚举的值

enum Weekday{Monday=1, Tuesday, Wednesday} ;
//枚举器对应的值为 1, 2, 3
//枚举的值也可以是相同的

未命名的枚举变量
enum {red, orange, yellow} shirt_color;
shirt_color = orange;
由于未命名, 后面代码将不能使用该类型的其他变量。

布尔类型

_Bool 类型存储布尔值,true(1) 或 false(0).
如果要使用 bool 作为类型名称,需要引入头文件

#include<stdbool.h>

bool valid = true;

复数类型

复数形式为 a+bi, i 是 -1 的平方根。
用下面三中方式存储复数
- float _Complex : 实数和虚数部分都为float类型
- double _Complex : 实数和虚数部分都为double类型
- long double _Complex : 实数和虚数部分都为long double类型
doble _Complex z1;
如果要使用 complex 代替 _Complex ,需要引入头文件

#include<complex.h>

double complex z1 = 2.0 + 3.0*I;
_Imaginary 关键词用于定义纯虚数的变量
double imaginary ix = 2.4*I;

地址:http://blog.csdn.net/yonggang7/article/details/51112101

你可能感兴趣的:(变量,C语言)