数据类型运算

数据: 常量,变量。常量:整型:

基本整型: int a;

长整型:   long (int)  a ;

短。。:  short;

无符号整型:  unsigned short a ;  

 unsigned long  a;  

unsigned int  a ;

实型:   单精度:float 

双    :double

长双  : long double字符:      char:

枚举:

数组:      int a[];

char  name [];结构体:

    struct :struct date

{

int year;

int month;

int day;

};struct date d;

共用体:    union : union

{

int single;

char spouseName [20];

struct date divorcedDay;

}married;

sizeof (): 计算数据类型的所占字节数%:取余数算术运算顺序和数学一样

#include <stdio.h>

int main()
{
	int x = 0;
	int b0 = 0;
	int b1 = 0;
	int b2 = 0;
	int sum = 0;

	x = 183 ;
	b0 = x % 10;
	x /= 10;
	b1 = x % 10;
	x /= 10;
	b2 = x % 10;
	sum = b0 + b1 +b2;
	printf("%d,%d,%d,%d\n",b2,b1,b0,sum);

	return 0;

}
[root@localhost test]# vim yunsuan.c
[root@localhost test]# gcc yunsuan.c 
[root@localhost test]# ./a.out 

1,8,3,12


自增运算: n++,与++n的区别;

#include <stdio.h>

int main()
{
	int n = 3;
	int m = 0;
	int j = 0;

	m = n++;
	j = ++n;

	printf("m = %d,j = %d\n",m,j);
	return 0 ;

}
[root@localhost test]# gcc zijia.c 
[root@localhost test]# ./a.out 
m = 3,j = 5

前者是作为后缀是先使用变量当前的值,然后对其进行+1操作。
后者是作为前缀是先进行+1操作,再使用+1后的值。


宏定义:
宏常量也叫符号常量:定义一个标识符号来代替一个常量:
#define PI 3.14159


const double PI = 3.14159 const  定义宏数据类型


自动类型转换:由低到高
float                       char,short
  v                           v  
double  <  long < unsigned<  int
 高                          低


#include <stdio.h>

int main()
{
	int n = 256;
	float f = 3.6;
	double d = 2.5;

	n = f; // f 不能自动转化成int型,只能把3.6 赋值给n,n输出为3
	f = n;   // n 自动转化为 double 3.000000  赋值f
	d = f;  // f ==3.000000赋值d
	printf("n = %d\n",n);
	printf("f = %f\n",f);
	printf("d = %f\n",d);

	return 0 ;
}

[root@localhost test]# gcc zizhuan.c 
[root@localhost test]# ./a.out
n = 3
f = 3.000000
d = 3.000000


 强制类型转换(强转):


#include <stdio.h>

int main()
{
	int m = 5;

	printf("m/2 = %d\n",m/2);
	printf("(float)(m/2) = %f\n",(float)(m/2));
	printf("(float)m/2 = %f\n",(float)m/2);
	printf("m = %d\n", m);

	return 0 ;

}

[root@localhost test]# vim qiangzhuan.c
[root@localhost test]# gcc qiangzhuan.c 
[root@localhost test]# ./a.out
m/2 = 2
(float)(m/2) = 2.000000
(float)m/2 = 2.500000
m = 5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值