| |
|
开发:
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++知识库]第二章:数据类型,运算符和表达式 |
目录 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#define? 标识符? 常量值 ? 1:引例例1.1??#include<stdio.h> 注意: C语言有效的预处理命令总是以#开始的,预处理命令的末尾不加分号。 int main(void) printf("Programming is fun.“); 注意: C语言中除复合语句外的所有语句都必须以分号结束 return 0; 如果需要在两行上输出文字: 语句print("Programming is fun.\n”)中的\n是换行符,即在输出“Programming isfun.“后换行。ln称为转义字符 ?例1.2 定义了一个符号常量PI,这样程序中凡是需要使用3,14159的地方,都用PI代替,提高了程序的可读性 ?2.C语言的数据类型?(1)基本类型还可以分解为其他类型,主要为整型、字符型和浮点型。 3.c语言的常量常量是在程序执行中,其值不发生改变的量,分为直接常量和符号常量两种 3.1直接常量直接靠量又分为整型常量、实型常量、字符型常量和?字符串常量 1.整型常量整型常量即整数,包括正整数、负整数和零。C语言中,整型常量可以用十进制、八进制和十六进制表示。 2.实型常量实型常量即实数,又称为浮点数,C语言中,实数只能用十进制形式表示,实数的表示方法有两种,小数形式和指数形式 (1)小数形式由整数部分、小数点和小数部分组成,当整数部分或者小数部分为0时,可以省略不写,但是小数点不可省略。如12. 345,3.,一. 123等均为正确的实数。 (2)指数形式由尾数部分、字母E或e和指数部分组成,格式为:土尾数E指数。 注意: 在C语言中,实型常量默认为是double型的实数,如果在数的后面加字母f或F(如1.65f、654.87F),则认为是float型的实数。 3.字符型常量字符常量指单个字符.用一对单引号及其括号所括起的字符来表示。(?和、 在C语言中、字符常量有以下特点: (1)字符常量只能用单引号括起来.不能用双引号或其它括号。 ?(2)字符常量只能是单个字符,不能是字符串 (3)字符可以是ASCH字符集中的任意字符。按ASCII码的大小,不同的字符之间存在着次序,以字符的ASCl1码值按升序连续排列。如小写字母的ASCl1码大于大写字母的ASCI1码,大写字母的ASCI1码大于数字字符的ASCII码。
说明: 转义字符形式上由多个字符组成,但它是一个字符常量?,只代表一个字符。转义字符的使用方法与一般字符常量的用法相同。 4.字符串常量字符串常量是由一对双引号""括起来的零个或多个字符序列 注意: 3.2符号常量在C语言中,可以用一个标识符来表示一个常量,称为符号常量。符号常量在使用前必须定义,其一般形式为: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#define? 标识符? 常量值其中#define是一条编译处理命令,称为宏义命令,其功能是把该标识符定义为其后的常量值,该标识符称为符号常量。一个#define命令只能定义一个符号常量,若要定义多个符号常量,?需要使用多个#define命令。 符号常量的好处: (1)增加程序的可读性 :通过标识符就知道该常量的意思 (2)提高程序的可维持性:通过符号常量使得修改常量很方便,只需要在常量的定义处修改即可 (3)简化程序代码:通过符号常量可以简化表达式的复杂输入 (4)方便数组的定义:可以将整型符号作为数组的长度 4.C语言的变量4.1变量的定义与使用在C语言中,所有的变量必须先定义再使用 变量的定义 其定义格式 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?类型说明符? 变量名表; (1)类型说明符必须是C语言中的有效数据类型,如int,float,double,char等 ,用于指定变量的类型,该类型决定了编译时分配给变量的内存单元的多少 (2)变量名表可以由一个或多个变量名组成,各变量名之间用“,”分隔。变量名必须是合法的C语言标识符,变量名一般使用小写字母 (3)变量的定义必须放在变量使用之前,一般在函数体开头部分进行定义 变量的初始化 C语言允许在定义变量的同时对变量赋值,这个过程称为变量的初始化 变量初始化时需注意: (1)对一个变量赋值之后,该值被储存在分配给变量的内存空间中 (2)不允许对多个未定义的同类型变量连续初始化 (3)初始化时,一般使“=”右边表达式的数据类型和“=”左边的变量的类型一致,如果不一致,系统会进行自动赋值转换 (4)没有进行初始化的变量,其值是由定义时所使用的储存类型决定的。全局变量和static型变量的值是0或'\0',其它储存类型的局部变量的值是未知的 4.2整型变量一个整型变量用来保存整数。在C语言中,整型又可分为:短整型(short int)、整整(into)、长整型(long into)、无符号整型(unsigned into)、无符号短整型(unsigned short into)和无符号长整型(unsigned long int)六种
说明: (1)各种无符号整数所占的字节数与相应的有符号整数相同。但由于省去了符号位,故不能表示负数 (2)有符号整数以二进制补码形式储存。最左边第一位表示符号,该位为0,表示正数,该位为1,表示负数 (3)无符号整数以二进制原码形式储存 ? ?由表2可知短整型变量的取值范围是-32768~32767,变量a的值加1以后超出该范围,产生意想不到的结果 4.3实型变量C语言中实型变量分单精度(fioat型)和双精度(double型)两类。各种实型的关键字及占用字节数和取值范围如表 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?实型数据关键字,字节数和取值范围
?4.4字符型变量字符型变量的值是字符常量,即用单引号引用起来的单个字符。字符型变量的类型说明符是char ? ?5.运算符和表达式C语言中运算符和表达式数量之多,在其他高级语言中很少见的。正是丰富的运算符和表达式使C语言功能十分完善,这也是C语言的特点之一 5.1赋值运算符与赋值表达式C语言中赋值运算符有“=”,“+=”,“-=”,“*=”,“/=”和“%=”等。用赋值运算符将运算对象连接而成的表达式称为赋值表达式。 1.简单赋值运算符 最简单的赋值运算符就是“=”,它的作用是将一个数值赋给一个变量, 也可以将一个表达式的赋给一个变量 2.复合赋值运算符 在简单赋值运算符前面加上算术运算符就构成符合赋值运算符如表 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 复合算术赋值运算符
3.赋值表达式 在C语言中 ,赋值语句属于表达式语句。赋值表达式是由赋值运算符将一个变量和一个表达式连接起来的式子所组成。 ? ? ? ? ? ? ?一般形式:变量=表达式 由于赋值表达式的作用是将一个表达式的值赋给一个变量,因此赋值表达式具有计算和赋值的双重功能。需要注意:赋值运算符的左侧必须是一个变量。 赋值表达式的执行过程: (1)计算赋值运算符右侧表达式的值。 (2)将所计算出的值赋给赋值运算符左侧的变量。 区分赋值表达式和赋值语句的方法: 赋值表达式的末尾没有分号,而赋值语句的末尾必须有分号,在一个表达式中可以包含一个或多个赋值表达式,但绝对不能包含赋值语句 注意: (1)如果“=”左右两边类型不同,系统会按照赋值类型转换的原则将右边的类型转换成左边的类型。 (2)赋值表达式的右边也可以是一个复制表达式 5.2算数运算符与算数表达式1.基本的算数运算符? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?基本算数运算符
(1)+加法运算符,为双目运算符,其功能是进行求和运算 2.自曾,自减运算符C语言有两个特殊运算符“++”和“--” (1)++自增运算符,为单目运算符,其功能是使变量的值自加1,自增速滑冰自强使用形式: 3.算数运算符的优先级和结合性(1)单目运算符是右结合的,双目算术运算符是左结合。 (2)“++,--,-”>“*,/,%”>“+,-”,即单目运算符的优先级高于双目运算符,双目算术运算符中*,/,%的优先级高于+,-。 在优先级相同的情况下,按规定的“结合性”进行处理 4.算数表达式(1)算术表达式是由算术运算符,运算对象和括号连接起来的式子,运算对象可以是常量,变量和函数。 (2)通常数学表达式均可写成C语言的算术表达式,但也有些数学表达式无法直接用C语言的算术表达式写出,此时需要调用C语言中的数学函数来实现。 (3)表达式计算以后会得到一个确定的值和类型,其类型由所使用的具体运算符和运算对象决定。 注意: (2)在表达式中还可以使用多层圆括号
?5.3逗号运算符与逗号表达式C语言中逗号“,”也是一种运算符,称为逗号运算符,其功能是把多个表达式连接起来组成一个表达式,称为逗号表达式 一般形式:表达式1,表达式2,...,表达式n (1)逗号表达式的执行顺序是:从左到右依次计算每个表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。 (2)逗号运算符是双目运算符,其优先级最低,是左结合的。 (3)并非所有出现逗号的地方都为逗号表达式,如在变量说明语句中,以及函数参数表中逗号只是用作各变量之间的分隔符 ?5.4求字节数运算符运算符sizeof用于计算数据类型所占的字节数,它是一个单目运算符,优先级高于双目运算符。 一般格式: (1)sizeof(表达式)或sizeof 表达式 (2)sizeof(数据类型名)
?6数据类型转换C语言规定,各种不同数据类型的数据在一起运算时,不同类型的数据要先转换成相同类型的数据才可以进行运算,数据类型的转换可以分为自动转换和强制转换 6.1自动类型转换不同数据在一起运算时,编译系统会自动进行转换 转换规则:把占用空间少的(低级)类型向占用空间多的(高级)类型转换以保证精度 ?6.2强制类型转换强制类型转换是采用强制类型转换运算符将某种数据类型强制转换成指定数据类型 一般形式:(类型说明符)(表达式) 功能:把表达式的运算结果强制转换成类型说明符指定的类型 ?强制类型转换需注意: (1)需强制转换中的表达式一定要括起来,否则只对紧随括号后的量进行类型转 (2)强制类型转换是一种不安全的转换,如果是从高级类型换成低级类型,会损失数据的精度 (3)强制类型转换并不改变表达式中变量的类型和只 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 6:03:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |