当前位置: 首页 > article >正文

c语言常量详细解释及简单应用

什么是常量?

答:常量是在程序执行过程中,其值不发生改变的量,常量分为直接常量符号常量两种。

其中直接常量又可以分为整型常量、实型常量、字符型常量、字符串常量。

直接常量

1.整型常量

整型常量即整数,包括正整数,负整数和0。c语言中常量可以用八进制,十进制和十六进制表示。

十进制很简单,就是我们一般使用的进制。

八进制:以数字0为前缀,后面由0~7组成,例如066,01234567等等;注意八进制数是无符号数即没有负号 - 和正号 + 。

这意味着八进制数只能是正数,如 -0123是错误的。

十六进制:以0x或0X为前缀,注意是数字的零,不是字母o,x大小写都是正确的。后面是由0~9和字母A~F(大小写均可)组成,如0x12ab。

同八进制数一样十六进制数也是无符号数。

2.实型常量

实性常量即实数,又称为浮点数。在c语言中实数只能用十进制数来表示,实数的表示方法有两种:小数形式和指数形式。

(1)小数形式:由整数部分,小数点和小数部分组成,当小数部分或整数部分为0时可以省略不写,但是小数点不能省略。例如:1.234  ,   3.  ,  -.123等等都是正确的。

注意必须要有小数点,且小数点前后至少一边有数字。

(2)指数形式:由尾数部分,字母e或E和指数部分组成。如1.234e11,表示为1.234×10¹¹。

注意e或E前后必须要有数字,并且指数部分只能是整数。

3.字符型常量

字符常量指单个字符,用一对单引号及其括号所括起来的字符来表示。如 'a' , 'c' , '+' 等等。

注意以下三点:

(1):字符常量只能用单引号括起来,不能用其他符号。

(2):字符常量只能是单个字符,不能用多个字符。

(3):字符可以是ASCLL字符集中的任意字符。

使用字符常量时,每个字符在内存中占用一个字符,用于储存它的ASCLL码值。所以c语言的字符量具有数值特性,可以像整数一样参与运算,此时相当于字符的ASCLL码值参与运算。

对于控制字符(回车换行等)和不可见字符,在c语言中通过转义字符来表示。如:回车换行\n。
代码演示:

#include <stdio.h>int main()
{char a,b,c,d,e;a='b';b='\43';c='\103';d='\x2a';e='\x41';printf("%d %c\n",a,a);//前者输出a字符b所对应的ASCLL码值,后者输出字符a的值 printf("b=%c,c=%c,d=%c,e=%c\n",b,c,d,e);//\n是换行转义字符表示输出后换行,注意d,e是16进制ASCLL码值所对应的字符 printf("\"good\40morning!\"\n");//要输出",就要在"前面加上\ printf("\123456");//\123转换为为ASCLL码值所对应的字符,不能将\1234转换是因为1234超出范围  return 0;
}

输出结果:

98 b
b=#,c=C,d=*,e=A
"good morning!"

4.字符串常量

字符串常量是由一对双引号""括起来的零个或多个字符序列,如"HelloWorld"。

字符串里面可以有数字,字母,汉字,空格等等。

字符串还可以使用空字符,如:""表示空串,即不包含任何字符。

 代码演示:

#include<stdio.h>
#include<string.h>
int main()
{char s[]={"helloWorld"};char b[]={'H','e','l','l','o','W','o','r','l','d','\0'};//b[]是字符串,而c[]是字符数组 char c[]={'H','e','l','l','o','W','o','r','l','d'};int l1=strlen(s),l2=strlen(b),l3=strlen(c);printf("%s %d\n",s,l1);printf("%s %d\n",b,l2);printf("%s %d\n",c,l3);return 0;
}

结果如下:

helloWorld 10
HelloWorld 10
HelloWorld 10

符号常量

在c语言中,可以用一个标识符来表示一个常量,称为符号常量。

如宏定义: 

# define 标识符 常量值

举例:

# define pai 3.1415926

代码演示:

#include<stdio.h>
# define pai 3.1415926
int main()
{int r;scanf("%d",&r);printf("圆的周长为: %lf\n",2*pai*r);return 0;
}

http://www.lryc.cn/news/2417903.html

相关文章:

  • 入门MySQL--0基础,操作详图,简单易懂
  • CDB(ContainerDatabase)与PDB(PluggableDatabase)
  • 【EVPN】EVPN名词简介
  • java环境变量详解_JAVA环境变量配置详解
  • php中file_get_contents如何读取大容量文件
  • 为什么下载的.msi安装文件打不开、运行不了?用mysql的.msi安装文件为例
  • 学习使用Python执行P4操作
  • 8Uftp连接服务器错误
  • 自学电脑编程_有哪些高质量的自学网站
  • javaSE(完整版)
  • 精进不休丨MogDB 数据库预读特性进一步提升20%+查询性能
  • 计算机期刊投稿须知
  • C语言qsort函数的使用详解
  • 2023最新个人博客文章发布系统的设计与实现(毕业设计+论文+开题报告+运行)
  • Android 游戏开发入门指南(一)
  • java Map遍历的5种方法和一些基本使用
  • Cocoa 框架概述
  • alternatives命令总结
  • PS(Photoshop)去水印的4个方法
  • MPEG音频文件格式(包括MP3文件格式)详解
  • 思科RIP路由协议介绍与实验操作步骤
  • 1.图文并茂详解Linux安装,客户端连接,xshell,虚拟机,虚拟网卡配置
  • 【统计类知识】大数定律与中心极限定理
  • 【笔记】位图(.bmp)和矢量图(Vector):位图是点阵图或光栅图,使用像素的一格一格来描述图像,放大以后每一个像素看就像是一个个的马赛克;矢量图是使用直线和曲线来描述图形,可以无限方法,不会失真
  • conan 详解
  • 什么是DI(依赖注入),依赖注入的原理
  • 数据库的索引
  • 用AVPlayer播放视频
  • 说走就走的「Windows」—— Windows To Go 制作详解
  • 算法篇-----粒子群算法