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 char1-128~127char
short int2-32768~32767short
int4int
long int4long
long long int8long long

无符号整型

类型名称字节数取值范围简称
unsigned char10~255unsigned char
unsigned short int20~65535unsigned short
unsigned int4unsigned int
unsigned long int4unsigned long
unsigned long long int8unsigned long long

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

浮点数变量

类型名称字节数取值范围后缀
float43.4E38f
double8
long double12L

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;
当有改动时, 编译时会报错。

极限值

类型名称下限上限说明
charCHAR_MINCHAR_MAX
shortSHRT_MINSHRT_MAX
intINT_MININT_MAX
longLONG_MINLONG_MAX
long longLLONG_MINLLONG_MAX

无符号分别为 UCHAR_MAX, UINT_MAX

类型名称下限上限说明
floatFLT_MINFLT_MAX
doubleDBL_MINDBL_MAX
long doubleLDBL_MINLDBL_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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值