C语言小白教程第三讲-常量

说明:写这个专栏主要是为了巩固C语言基础知识。本模块是与全国计算机等级考试——二级C语言接轨。具有重基础、概念、系统、全面的特点。适合没有语言基础的小白同学参考。若有大佬不小心点进此专栏,请移步,不然您会见笑的(哈哈哈哈哈)。

1.常量的基本介绍

1)常量是固定值,在程序执行期间不能改变。这些固定的值,又叫做字面量。

2)常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。

3)常量的值在定义后不能进行修改.

2.经常使用的常量

2.1 整数常量

1)整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x或0X表示十六进制,0表示八进制,不带前缀则默认表示十进制。(C语言中 二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头;八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o;十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头)

整数常量也可以带一个后缀,后缀是U和L的组合,U表示无符号整数(unsigned),L表示长整数(long)。后缀可以是大写,也可以是小写,U和L的顺序任意

2)整数常量举例说明

85      /*十进制*/

0213   /*八进制*/

0x4b  /*十六进制*/

30    /*十进制整数*/

30u    /*无符号整数*/

30l    /*长整数*/

30ul   /*无符号长整数*/

2.2 浮点常量

1) 浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量

2)浮点常量举例说明

3.14159;//double常量

314159E-5;//科学计数法

3.1f;//float常量

 2.3 字符常量

1)字符常量是括在单引号中,例如,'x'可以存储在char类型的变量中。字符常量可以是一个普通的字符(例如'x')、一个转义序列(例如'\t')。

2)字符常量举例说明

'A'

'b'

'1'

'\t’

 2.4 字符串常量

1)字符串字面值或常量是括在双引号""中的。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。可以使用空格做分隔符,把一个很长的字符串常量进行分行

2)字符串常量举例说明

"hello,world"

"北京"

"hello\world"

 2.5 常量综合案例

#include <stdio.h>

int main() {
    int x=0xA;//十六进制
    int y=011;//八进制
    int z=0b111;//二进制
    char c1='a';
    char c2='\t';
    char str1[20]="hello焦作";
    char str2[100]="焦作山阳";
    printf("x=%d",x);//输出x=10
    printf("\ny=%d",y);//输出y=9
    printf("\nz=%d",z);//输出z=7
    printf("\nc1=%c",c1);
    printf("\nc2=%c",c2);
    printf("\nstr1=%s",str1);
    printf("\nstr2=%s",str2);
    return 0;
}

 3. 常量的定义

3.1 常量定义的两种法方式

1)使用#define预处理器

2)使用const关键字

3.2 使用#define预处理器

1)#define预处理器定义常量的形式

#define 常量名 常量值

#include<stdio.h>
#define PI 3.14//定义常量 PI常量值 3.14
int main(){
//PI=3.1415 可以吗?=》不可以修改,因为PI是常量
//可以修改PI值?
//PI=3.1415;
//提示=左值必须是可修改的值
double area;
doubler=1.2;//半径
area=PI*r*r;
printf("面积:%.2f",area);
getchar();
return0;
}

 3.3 使用const关键字

1)可以使用const声明指定类型的常量

const  数据类型 常量名=常量值; //即就是一个语句

#include <stdio.h>

//#define PI 3.14
const double PI=3.14;
//1.const是一个关键字,规定好,表示后面定义了一个常量
// 2.PI是常量名,即是一个常量,常量值就是3.14
// 3.PI因为是常量,因此不可以修改
// 4.const定义常量时,需要加分号
/*
  #define PI 3.14
  const double PI=3.14;
 */
int main() {
    double r = 1.23;
    double area = PI * r * r;
    printf("area=%.5f", area);
    return 0;
}

 3.4 const和#define的区别

1)const定义的常量时,带类型,define不带类型

2)const是在编译、运行的时候起作用,而define是在编译的预处理阶段起作用

3)define只是简单的替换,没有类型检查。简单的字符串替换会导致边界效应[案例演示].

4)const常量可以进行调试的,define是不能进行调试的,主要是预编译阶段就已经替换掉了,调试的时候就没它了

5)const不能重定义,不可以定义两个一样的,而define通过undef取消某个符号的定义,再重新定义[案例]

6)define可以配合#ifdef、#ifndef、#endif来使用,可以让代码更加灵活,比如我们可以通过#define来启动或者关闭调试信息。[案例]

#include <stdio.h>

#define A 1
#define B (A+3)
#define C A/B*3
//const不能重定义,不可以定义两个一样的,而define可以通过undef取消某个符号的定义,再定义
const double PI=3.14;
#define PI2 3.14
#undef PI2
#define PI2 3.1415
int main() {
    // 分析过程
    // #define就是一个简单的替换!!!
    // C其实是A/A+3*3=1/1+3*3=1+9=10
    // C其实是A/(A+3)*3=1/(1+3)*3=1/4*3

    printf("C=%.2f", C);
    return 0;
}
#include <stdio.h>

//define比const功能更丰富

#define  DEBUG
int main() {
#ifdef DEBUG
    printf("定义过Debug");
#endif
#ifndef DEBUG
    printf("没有定义过DEBUG");
#endif
    return 0;
}

下接  C语言小白教程第四讲-运算符

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

城南皮卡丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值