C语言学习笔记[第8天]

四、字符串和格式化输入/输出

3. 常量和C预处理器

​ ■符号常量

​ ■创建常量

float taxrate;
taxrate = 0.015;

​ ■C预处理器

#define TAXRATE 0.015	/*明示常量*//* 编译时替换,程序中所有TAXRATE替换为0.015 */ 
/*格式为:  */  #defin NAME  value
/* pizza.c -- 在比萨饼程序中使用已定义的常量 */
#include <stdio.h>
#define PI 3.14159
int main(void)
{
    float area, circum, radius;
    printf("What is the radius of your  pizza?\n");
    scanf("%f". &radius);
    area = PI *  radius * radius;
    circum = 2.0 * PI * radius;
    printf("Your  basic pizza parameters are as fllows:\n");
    printf("circumference = %1.2f, area = %1.2f\n", circum, area);
    
    return 0;
}

//What is the radius of your  pizza?
//6.0
//Your  basic pizza parameters are as fllows:
//circumference = 37.70, area = 113.10

​ ■定义字符和字符串,前者用引号,后者用双引号。

#define BEEP '\a'
#define TEE 'T'
#define	ESC '\033'
#define OOPS "Now you have done it!"
3.1 const 限定符
/* 限定一个变量为只读 */
const int MONTHS =12; // MONTHS 在程序中不可更改,值为 12
//只读值,可以计算中使用,可以打印,但不可更改值
3.2 明示常量

​ ■limits.h 头文件中的一些明示常量

明示常量含义
CHAR_BITchar 类型的位数
CHAR_MAXchar 类型的最大值
CHAR_MINchar 类型的最小值
SCHAR_MAXsigned char 类型的最大值
SCHAR_MINsigned char 类型的最小值
UCHAR_MAXunsigned char 类型的最大值
SHRT_MAXshort 类型的最大值
SHRT_MINshort 类型的最小值
USHRT_MAXunsigned short 类型的最大值
INT_MAXint 类型的最大值
INT_MINint 类型的最小值
UINT_MAXunsigned int 的最大值
LONG_MAXlong 类型的最大值
LONG_MINlong 类型的最小值
ULONG_MAXunsigned long 类型的最大值
LLONG_MAXlong long 类型的最大值
LLONG_MINlong long 类型的最小值
ULLONG_MAXunsigned long long 类型的最大值

​ ■float.h 头文件中的一些明示常量

明示常量含义
FLT_MANT_DIGfloat 类型的尾数位数
FLT_DIGfloat 类型的最少有效数字位数(十进制)
FLT_MIN_10_EXP带全部有效数字的float 类型的最小负指数(以10为 底)
FLT_MAX_10_EXPfloat 类型的最大正指数(以10为 底)
FLT_MIN保留全部精度的float 类型最小正数
FLT_MAXfloat 类型的最大正数
FLT_EPSLLON1.00 和比 1.00 大的最小 float 类型之间的差值
// defines.c -- 使用 limit.h 和 float 头文件中定义的明示常量
#include <stdio.h>
#include <limits.h>		// 整型限制
#include <float.h>		// 浮点型限制
int main(void)
{
    printf("Some  number limits for this system:\n");
    printf("Biggest int: %d\n", INT_MAX);
    printf("Smallest long long: % 11d\n", LLONG_MIN);
    printf("One byte = %d bits on this system.\n", CHAR_BIT);
    printf("Largest double: %e\n", DEL_MAX);
    printf("Smallest normal  float: %e\n", FLT_MIN);
    printf("float precison = %d digits\n", FLT_DIG);
    printf("float epsilon = %e\n", FLT_EPSILON);
    
    return 0;
}

//Some  number limits for this system:
//Biggest int: 2147483647
//Smallest long long: -9223372036854775808
//One byte = 8 bits on this system.
//Largest double: 1.797693e+308
//Smallest normal  float: 1.175494e-38
//float precison = 6 digits
//float epsilon = 1.192093e-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值