宏、宏常量、自动类型转换、强制类型转换

一、宏、宏常量
1、宏
“宏”是一种可以批量处理的称谓。
计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。 宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。”

2、什么是宏定义
定义:在c/c++中,允许使用一个标识符来表示一个字符串,称为“宏”。
“define”为宏定义命令。

3、宏常量
对于我们在程序中需要经常使用的常量,可以定义一个宏常量,使得我们在程序中可以直接调用这个变量名。
例子
计算圆的周长,面积。
(这里就两次使用到Π(pai)这个常量,如果每次都是输入3.1415…可能会输入错误,因此,可以直接定义一个宏定义)
在这里插入图片描述
程序如下:

#include <stdio.h>

#define PI 3.14159

int  main()
{
	double a,s,l; 
	printf("输入直径:"); 
	scanf("%lf",&a);        //输入函数
	s=(a/2.0)*(a/2.0)*PI;
	l=a*PI;
	printf("s=%lf, l=%lf",s,l);  //输出计算后的面积和周长
	return 0;
 } 

二、类型转换
1.1类型转换规则
在这里插入图片描述自动转换类型规则
例如:一个int型操作数与一个float 型操作数进行算数运算时,则在对其进行运算之前要先将float型操作数自动转换为double型,并将int 型转为double型。

1.2自动类型转换
在一个赋值语句中,若赋值运算符左侧变量的类型和右侧表达式类型不一致,赋值时将会发生自动类型转换。规则:将右侧表达式的值转换成左侧变量的类型。

弊端:在某些情况下会发生数据信息丢失、类型溢出等错误。

2、强制类型转换运算符
强制类型转换(Casting)运算符简称强转运算符或转型运算符,它的主要作用是将表达式的类型强制换换为用户指定的类型,它是一个一元运算符,与其他一元运算符具有相同的优先级。
转换方式: (类型)表达式
在这里插入图片描述

#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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值