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)基本类型还可以分解为其他类型,主要为整型,字符型和浮点型。

(2)构造类型是根据已定义的一个或多个数据类型,用构造的方式来定义的。可以理解为,一个构造类型的值由若干个“成员”或“分量”构成。每个“成员”都是一个基本类型或一个个构造类型。

C语言中构造类型包括:数组类型,结构体类型,共用体类型和枚举类型。

(3)指针是C语言中一种特殊的,同时又具有重要作用的数据类型。

一,直接常量

1,整型常量

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

? ?十进制表示:由数字0~9,正,负号组成,如369,-663等;

? ?八进制表示:以0(数字0)为前缀,其后由数字0~7组成,如0163,036等;八进制数一般是无符号数。如0192,-011都是不合法的八进制常量。

? ?十六进制表示:以0x或0X为前缀,其后由数字0~9和字母A~F(字母大小写的均可)组成,如0x12cd,0X6Fa等。十六进制数一般是无符号数。

2,实型常量

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

(2)指数形式:由尾数部分,字母E或e和指数部分组成,格式为:=尾数E指数。

3,字符型常量

字符常量单个字符,用一对单引号及其括号起的字符来表示。如'a','b','=','$','?'都是合法的字符常量。在C语言中,字符常量有以下特点:

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

(2)字符常量只能是单个字符,不能是字符串。

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

转义字符使用示例。

#include <stdio.h>

int main()

{? ? char b,c,d,e;

? ? ?b='\43';

? ? ?c='\103';

? ? ?d='\x2a';

? ? ?e='\x41';

? ? ?printf("b=%c,c=%c,d=%c,e=%c\n",b,c, d,e);

? ? ?printf("\good\40moring!\b\"!\n");

? ? ?printf("\123456");

? ? ?return 0;

}

二,数据类型转换

1,自动类型转换:不同类型的数据在一起运算时,编译系统会自动进行类型转换。

2,强制类型转换:强制类型转换是采用强制类型转换运算符将某种数据类型强制转换成指定的数据类型,其一般形式为(类型说明符)(表达式)。

功能:把表达式的运算结果强制转换成类型说明符指定的类型。

强制类型转换示例。

#include <stdio.h>

int main()

{? ? ? int a=3,b=4;

? ? ? ?float c;

? ? ? ?c=(float)(a+b)\2;

? ? ? ?printf("c=%f\n",c);

? ? ? ?return 0;

}

运行结果:c=3.500000

分析:计算表达式(float)(a+b)时,是将a+b的结果7强制转换为float型的7.0,然后计算7.0/2的结果为3.5。输出c的值时,由于c的数据类型是单精度型的,有7位有效数字,故添加了5个0。

进行强制类型转换时需注意:

(1)需强制类型转换中的表达式一定要括起来,否则只对紧随括号后的量进行类型转换。

(2)强制类型转换是一种不安全的转换,如果是从高级类型转换成低级类型,则会损失数据的精度。

(3)强制类型转换并不改变表达式中变量的类型和值。

本章对C语言的数据类型,运算符和表达式进行的全面的介绍和理解。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-18 11:01:39  更:2021-11-18 11:02:05 
 
开发: 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 7:48:17-

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