IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言的常量和类型 -> 正文阅读

[C++知识库]C语言的常量和类型

1.字面常量(能够直接写出来的)

(1)整数

C语言中的整数可以用二进制、八进制、十六进制进行表示的.

二进制:用0和1表示(计算机中的原码反码补码都是用二进制来表示的)

八进制:用0-7表示,编程语言中以数字0作为开始来表示八进制

十六进制:用0-9和ABCDEF来表示十六进制,其中ABCDEF分别表示10、11、12、13、14、15

(2)实数

实数只能用十进制表示,其中指数的表示为底数后加上e或E再加指数

(3)字符常量

字符常量在计算机中存储一般以ASCLL码表进行存储的

?字符常量有两中表示方法:单引号表示法和转义字符表示法

单引号表示法:用''来表示,中间加字符,例如:'a','9'.

转义字符表示法:用反斜杠\加某个特定字母来表示

也可以用来表示八进制和十六进制,ddd表示1-3个八进制数字,其中d为八进制数字0-7,然后将八进制转化成十进制再对照ASCLL码表,但输入的数字转化成十进制不能超过127不然会溢出

\xdd x是十六进制的标志,dd表示1-2个十六进制数字,其中d为十六进制数字0-9和ABCDEF

C语言中字符常被认为是1字节的整数,字符的值就是它的ASCLL码值,可以像整数一样进行运算

(4) 字符串常量

先看一个代码

#include<stdio.h>
int main()
{
	char arr1[] = "abc";
	char arr2[] = { 'a','b','c' };
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	return 0;
}

运行结果为

?第二个打印的时候会出现烫烫烫,是因为字符串的结束标志是'\0',而在末尾没加'\0',在'c'后面会出现随机值,不知道什么时候有'\0',该打印就不会在字符c后面立即结束

下面这个代码原理也是如此

#include<stdio.h>
#include<string.h>
int main()
{
	char arr1[] = "abc";
	char arr2[] = { 'a','b','c' };
	printf("%d\n", strlen(arr1));
	printf("%d\n", strlen(arr2));
	return 0;
}

运行结果为

?strlen是用来计算字符串的长度的,是C语言中的一个库函数要引用头文件string.h

strlen计算的是\0之前出现的字符的个数
为什么arr2的长度是15呢?
就是因为在字符'c'后没加'\0',后面出现的就是随机值.

2.const修饰的常变量

const是常属性的意思,一个变量被const修饰后就具有了某种常属性,但这个变量的本质上仍然是变量,无法在数组中定义,例如:

#include<stdio.h>
int main()
{
    int n;
    int arr[n]={0};//这样的话运行的时候就会报错,因为在数组中定义的大小不能是变量
    return 0;
}

结果是无法运行?

?

3.用#define定义的标识符常量

用#define定义的标识符常量就是一个彻底的常量,例如:

#include<stdio.h>
#define N 10
int main()
{
int a=N;
printf("%d",N);
int arr[N]={0};//可知N能够在数组定义中使用
}

运行结果正是为10 ,这说明了N已变为常量

4.枚举常量

枚举的关键字为enum,其结构有点像关键字struct创建的结构体,枚举常量是一一列举的,例如:

#include<stdio.h>
enum Color
{
     RED,
     GREEN,
     BLUE
};
int main()
{
printf("%d %d %d\n",RED,GREEN,BLUE);
return 0;
}

运行结果

?

?可知枚举中的元素从上至下从0开始依次递增.

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-16 17:29:31  更:2021-12-16 17:29:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:22:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码