我是靠谱客的博主 鲤鱼蜡烛,这篇文章主要介绍【CC++】数据类型、变量、常量【C/C++】数据类型、变量、常量,现在分享给大家,希望可以做个参考。

【C/C++】数据类型、变量、常量

摘要:

  • 这篇文章主要介绍C语言中简单的内置类型与变量常量的使用定义方法和部分原理。
  • 文章主要有两个目的:1. 掌握C语言的各种内置类型,学会使用定义各种常量变量;2. 了解变量与常量的基本原理,并完成思考题;

文章目录

  • 【C/C++】数据类型、变量、常量
    • 一、数据类型
      • 1.1 算术数据类型
      • 1.2 数据类型的大小
    • 二、变量
      • 2.1 如何定义变量?
      • 2.2 定义变量的规则
      • 2.3 全局变量
    • 三、常量
      • 3.1 常量
      • 3.2 各种常量的介绍

一、数据类型

1.1 算术数据类型

​ 算术数据类型主要分为两类:整形与浮点型。首先需要掌握的是数据类型的命名与含义,其表格如下所示:

类型含义最小尺寸
bool布尔类型未定义
char字符8位
short短整型16位
int整型16位
long长整型32位
long long长整型64位
float单精度浮点数6位有效数字
double双精度浮点数10位有效数字
long double扩展精度浮点数10位有效数字

​ 当然数据类型还包括结构类型(数组、结构、联合、类)、指针类型和空类型,这些篇目庞大,在未来会细细道来。

1.2 数据类型的大小

​ 使用C++代码求每种类型的大小

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; int main() { printf("Size of bool:%dn", sizeof(bool)); printf("Size of char:%dn", sizeof(char)); printf("Size of short:%dn", sizeof(short)); printf("Size of int:%dn", sizeof(int)); printf("Size of long:%dn", sizeof(long)); printf("Size of long long:%dn", sizeof(long long)); printf("Size of float:%dn", sizeof(float)); printf("Size of double:%dn", sizeof(double)); printf("Size of long double:%dn", sizeof(long double)); return 0; }

​ 输出结果如下(单位:字):

复制代码
1
2
3
4
5
6
7
8
9
10
Size of bool:1 Size of char:1 Size of short:2 Size of int:4 Size of long:4 Size of long long:8 Size of float:4 Size of double:8 Size of long double:8

1.3 思考

​ (1)数据类型bool在C++ Primer上写到是未定义最小尺寸的,而在Visual Studio中运行代码后显示的是占用1个字节,原因是什么呢?

​ (2)数据类型long与数据类型int的大小都是32位字,它们的区别是什么呢?

二、变量

2.1 如何定义变量?

​ 基本形式: 类型说明符 + 一个或多个变量名列表(用逗号分隔);

​ 举例:

复制代码
1
2
3
4
5
int num1 = 0,num2 = 0; float weight = 45.5f;//单精度浮点型后需要 +f double height = 180.2; char ch = 'c';

2.2 定义变量的规则

  • 只能由字母(包括大写和小写)、数字和下划线( _ )组成。

  • 不能以数字开头。

  • 长度不能超过63个字符。

  • 变量名中区分大小写的。

  • 变量名不能使用关键字。

2.3 全局变量

​ 概述:可以作用于整个项目的变量

​ 定义方式:在头文件或命名空间后进行定义

​ 例:

复制代码
1
2
3
4
5
6
7
8
9
10
#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; int gobal_variable = 10086; // 源.cpp int main() { printf("gobal variable == %dn", gobal_variable); return 0; }

​ 以下情况会出报错:未定义标识符"gobal_variable"

复制代码
1
2
3
4
5
6
7
8
#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> //源2.cpp using namespace std; int main() { printf("cpp1:gobal variable == %dn", gobal_variable); }

​ 更改方式:应用关键字 extern

复制代码
1
2
3
4
5
6
7
#include<iostream> using namespace std; int main() { extern int gobal_variable; printf("cpp1:gobal variable == %dn", gobal_variable); }

​ 注:当局部变量和全局变量同名时,局部变量优先

2.4 思考

​ 在2.3的注意事项中(当局部变量和全局变量同名时,局部变量优先),请问是否能在重名时使用全局变量呢?

三、常量

3.1 常量

​ 常量表示不可修改的值,大致分类如下:

  • 字面常量
  • const 修饰的常变量
  • #define 定义的标识符常量
  • 枚举常量

3.2 各种常量的介绍

  1. 字面值常量

    字面值常量包括了整型浮点型字面值、字符和字符串字面值、转义序列和布尔字面值指针字面值等。

    整型字面值我们常用十进制、八进制和十六进制表示,例:

    复制代码
    1
    2
    42/*十进制*/ 042 /*八进制*/ 0x42/*十六进制*/

    浮点型字面值表现为一个小数或科学计数法表示的指数,指数部分用E或e标识,例:

    复制代码
    1
    2
    3.14 3.14E0 0. 0e0 .001

    字符和字符串是用来标识char的字面值,用 单引号括起来的表示一个字符,用双引号括起来的表示字符串,例如:

    复制代码
    1
    2
    'a' "Hellow World"

    转义序列表示以反斜线作为开始,通过与部分字符组合表示特殊含义的字符,例:

    复制代码
    1
    2
    n r ddd xdd
  2. const 修饰的常变量

    当用const修饰变量事,变量就不可以修改

    复制代码
    1
    2
    3
    const int const_variable = 100; //const_variable = 10; err:常变量不可修改
  3. #define 定义的标识符常量

    复制代码
    1
    2
    3
    4
    #define MAX 100 //MAX = 100; err:常量不可修改 printf("max = %dn", MAX);
  4. 枚举常量

    枚举常量定义的关键字为enum,定义的位置为头文件或命名空间之后。之所以取名枚举常量,是因为在定义后,可以通过枚举的值来表示序号(默认从0开始,依次向下递增1的),例:

    复制代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; enum Student { 张三, 李四, 王五 }; int main(){ printf("enum:Student Name %d;n", 张三); printf("enum:Student Name %d;n", 李四); printf("enum:Student Name %d;n", 王五); return 0; }

“免死”声明:

  1. 作者写博客的C/C++内容主要是想形成一套实用的使用手册,主要追求的方便,以及记录一下自己在重新看C和C++内容的思考,所以常规文章一般都比较追求实用性,深层次内容是不及各位大神所写的博客那样深刻清晰,请轻喷;
  2. 欢迎各位在评论区中指正指导,非常感谢;
  3. 关于思考题,将会在下个星期更新后同步更新(没有标准答案,纯属作者的“主观臆断”);
  4. C/C++的代码将会放到: https://gitee.com/liu-hongtao-1/c–c–review.git ,欢迎查看!

最后

以上就是鲤鱼蜡烛最近收集整理的关于【CC++】数据类型、变量、常量【C/C++】数据类型、变量、常量的全部内容,更多相关【CC++】数据类型、变量、常量【C/C++】数据类型、变量、常量内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部