c语言程序设计课件第二章,c语言程序设计课件张元国 ISBN9787566300386 PPT第二章数据类型 运算符与表达式...

1、第2章 数据类型、运算符与表达式,语言的数据类型 常量与变量 运算符与表达式 不同类型数据间的转换,2.1语言的数据类型,数据是计算机程序处理的所有信息的总称,数值、字符、文本等都是数据,在各种程序设计中几乎都要使用和处理数据,程序设计的过程就是对数据加工的过程。 程序中的数据,编译程序都会为其分配一块内存空间存放,数据的改变其实就是存储空间中内容的改变。但分配多大的内存空间来容纳这个数据,可由数据的类型决定;另外对于数据的变化范围也可由数据类型来体现。数据的类型决定了一个数据所占的内存数、数据的取值范围及可对数据进行的操作。 为了对数据进行存储和处理,C语言根据数据的取值范围、运算属性及存储。

2、方式等,将数据分成不同的数据类型,在程序中用到的所有数据都必须指定其数据类型。 C语言中的数据类型十分丰富,可分为:基本类型,构造类型,指针类型,空类型四大类,其分类表示如下:,2.1语言的数据类型,2.1 语言的数据类型,说明如下: 基本类型:由系统事先定义好的不可再分割的类型,可以直接利用这些类型定义数据。其中的数值类型的数据主要用于科学计算,而字符类型主要用于处理文本数据。 构造类型:是利用已定义的一个或多个数据类型构造的更为复杂的类型,一个构造类型可以分解成若干个“成员”或“元素”,每个“成员”或“元素”都是一个基本数据类型或又是一个构造类型。在C语言中,构造类型有数组类型、结构体类型。

3、和共用体类型3种。 指针类型:是一种特殊的、同时又是具有重要作用的数据类型,其值用来表示某个变量在内存中的地址。 空类型:主要用于特殊指针变量和无返回值函数的说明。,返回,2.2 常量与变量,一、常量 常量是指在程序运行过程中其值不能被改变的量,如程序中的具体数字、字符等。根据表示形式的不同,分为直接常量和符号常量。 直接常量就是具体的数据,又称为字面常量,有整型常量、浮点型常量、字符常量和字符串常量等类型,单从字面形式上即可判断出数据属于哪一种数据类型。例如:很容易判断出456是整型常量,4.6是实型常量,b是字符型常量等等,本章后面几个小节中还会详细讲解。 符号常量是指用标识符来代表一个常。

4、量,即直接常量的符号表示,从字面上看不出其类型和值。符号常量必须在程序中特别指定。例如: #define PI 3.14 该命令定义了一个符号常量PI,它表示常数3.14。符号常量的使用方法将在第9章详细介绍。,2.2 常量与变量,一、常量 1整型常量 整型常量即整数,按不同的进制区分,整型常量有三种表示形式。 十进制数:以非0开始的数,如:20、-50、+39等,其每个数字位可以是09。 八进制数:以0开始的数,如:06、0102、0607,与之对应的十进制数分别为6、66、391。因此,在C语言程序中,不能在一个十进制数前任意添加数字“0”。在用八进制数表示的整型常量中,其每个数字位可以是。

5、07。 十六进制数:以0X或0x开始的数,如:0X0D、0XFF、0x4e、0x123,与之对应的十进制数分别为13、255、78、291。在用十六进制数表示的整型常量中,其每个数字位可以是09和AF(或af)。,2.2 常量与变量,一、常量 2实型常量 实型常量即实数,又称浮点数,它只有十进制一种数制,但有两种不同的表示形式。 一般形式:由数字、小数点以及正负号组成,如:2.56、-56.3、0.056、.056、0.0,小数点不能省略。 指数形式:采用科学计数法表示的形式,由尾数、字母e(或E)和指数组成,将形如a10b的数值表示成如下形式: aEb 或 aeb 如:2.96E3、-0.7。

6、8e6、.92e-6等。其中,a、e(或E)、b任何一部分都不允许省略,e(或E)后的指数部分必须为整数。 下面都不是合法的实型常量的表示形式: 3e3.0 e3 .e3,2.2 常量与变量,一、常量 3字符常量 字符常量是用单引号括起来的单个字符。例如:a、A、=、+、9等。在语言中,使用字符常量时要注意以下几点: 单引号只作为字符常量的定界符,它本身并不是字符常量的一部分。 字符常量在内存中占用一个字节,可以是ASCII字符集中任意字符,包括空格符(此处用“”来代表一个空格,不能写成两个连续单引号的形式)。 C语言规定,所有字符常量都作为整型量来处理,其值就是该字符对应的ASCII值,因此。

7、字符常量a的值为97,A的值为65,数字字符0的值为48,则A+3的值就是A的ASCII值65与整数3相加,结果为68。,2.2 常量与变量,一、常量 3字符常量-转义字符 C语言还允许使用一种以“”开头的特殊形式的字符常量。这种字符常量称为转义字符,以反斜线“”开头,后跟一个或几个字符。转义字符具有特定的含义,主要用于表示ASCII字符集中用一般字符不便于表示的控制字符或某些其他功能字符。常用的转义字符如下所示。,2.2 常量与变量,一、常量 4字符串常量 字符串常量是用双引号括起来的字符序列,常用来表示程序中的文本数据,如“I like C program.“、“a“、“等。 注意:双引号。

8、只作为字符串常量的定界符,它本身并不是字符串常量的内容,当计算字符串的长度时,双引号不计算在内。 在C语言中,系统在每个字符串的后面自动加入一个字符0作为字符串的结束标志,以便程序确认字符串在何处结束。 请注意字符常量和字符串常量的区别: 字符常量由单引号括起来,字符串常量由双引号括起来。 字符常量占一个字节的内存空间;字符串常量占的内存字节数等于字符串中的字符数加1,增加的一个字节存放字符串结束标志0(ASCII码为0)。例如,101、a是字符常量,在内存中只占一个字节;而“I like C program.”,“a”是字符串常量,前者占十八个字节的存储空间,后者占两个字节的存储空间。而“”。

9、(两个连续的双引号)称为空串,但要占用一个字节的存储空间来存放0。,2.2 常量与变量,二、变量 在计算机内部,数据是以二进制的形式存储和运算的。数据的最小单位是二进制的1位(bit,简称b),每8个存储位组成一个字节(Byte,简称B),为了区分内存中的各单元,需要对其进行编号,编号是以字节为单位进行。 变量是指在程序的运行过程中其值可以改变的量。变量实质上代表内存中的某段存储空间。在程序中,变量用变量名标识,每个变量具有特定的数据类型,计算机按照一定的规则为变量分配存储空间,变量的值存储在变量所在的存储空间中。,2.2 常量与变量,二、变量 1整型变量 整型变量分为基本型、短整型和长整型三。

10、种,分别用int、short int和long int作为类型说明符,不同类型的整型变量在内存中占用的存储空间的长度不同。 按存储时最高位的性质,整型变量又分为有符号整型变量和无符号整型变量两类,分别用signed和unsigned说明。有符号整数存储时,其存储空间的最高位为符号位,其他位为数值位;无符号整数存储时所有位都表示数值。整数在内存中以补码的形式存储,一个正数的补码是其本身。 不同类型的整型变量所占用的字节数和取值范围如下所示。,2.2 常量与变量,二、变量 2实型变量 按照存储数据的精度,实型变量可分为单精度(float)、双精度(double)两种。 在内存中单精度型数据占4个字。

11、节(32位)的存储空间,其数值范围约在-1.0E381.0E38之间,只能提供七位有效数字,绝对值小于1.0E-38的数被处理成零值。双精度型数据占8个字节(64位)的内存空间,其数值范围约在-1.0E3081.0E308之间,可提供1516位有效数字,绝对值小于1.0E-308的数被处理成零值。 C编译系统将实型常量作为双精度来处理。可以在实数的后面加字母f或F(如0.65f,64.89F),来表示单精度实数。,2.2 常量与变量,二、变量 3字符变量 字符型变量用来存放一个字符常量,用关键字char定义。 字符型数据在内存中占1个字节(即8位二进制位)的存储空间,其取值范围为-27+27-。

12、1,即十进制的-128+127。字符型数据也分为有符号型和无符号型。对于无符号字符型数据,相应的取值范围为0255。,2.2 常量与变量,三、变量的定义、初始化与赋值 1变量的定义 变量用来存储数据,每个变量必须属于某种数据类型。因此,C语言中的每个变量在使用之前必须首先进行变量定义,为变量指定数据类型和变量名。 变量定义的一般格式为: 数据类型 变量名表; 当“变量名表”有多个变量时,各变量之间用“,”分割。例如: int m,n; /*定义m、n为整型变量*/ char ch1; /*定义ch1为字符型变量*/ float x,y; /*定义x、y为单精度实型变量*/,2.2 常量与变量,。

13、三、变量的定义、初始化与赋值 2变量的初始化 在定义变量的同时为变量赋一个初值,称为变量的初始化。 变量初始化的格式为: 数据类型 变量名1=初值1,变量名2=初值2,; 例如: int m=1; /*定义m为整型变量,初值为1*/ 也可以只为被定义变量的一部分赋初值,如: int m,n=2; /*定义m、n为整型变量,只对n初始化,初值为2*/ 如果对几个变量赋以相同的值,只能一个一个赋值,不能连赋。如: int m=2,n=2; /*定义m、n为整型变量,都初始化为2*/ 不能写为: int m=n=2; /*错误的变量初始化形式*/,2.2 常量与变量,三、变量的定义、初始化与赋值 3。

14、变量的赋值 变量的赋值是指把一个数据保存到系统给变量分配的存储单元中。在定义变量时,系统根据变量类型为其分配了相应的存储空间,如果变量在定义时没有初始化,其值可能是一个无法预料、没有意义的值。C语言中的赋值操作由赋值运算符“=”来完成,一般形式为: 变量=表达式; 说明: “=”在C语言中是赋值符号,不是等号,C语言中的等号用双等号“=”表示。 程序中可多次给同一个变量赋值。多次赋值后,变量中存放的是最后一次所赋的值。 赋值运算符的左侧只能是变量名,不能是常量或表达式。 赋值运算是把“=”号右边表达式的值赋给“=”号左边的变量,因此,象m=m+1这样的在数学中认为是不成立的表达式,在C语言中却。

15、是认可的,它表示将m原来的值加上1之后再赋给m。 允许辗转赋值。即允许一个表达式中包含多个“=”号。例如: int m,n,k; m=n=k=1;,2.3 运算符与表达式,记述各种不同运算的符号,称为运算符。而参与运算的数据称操作数或运算量。C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、强制类型转换运算符等。 在学习运算符时应注意: 运算的优先级。如果一个操作数的两侧有不同的运算符,应先执行优先级别高的运算。 结合性。如果在一个操作数的两侧有两个相同优先级别的运算符,则按运算符的结合性所规定的结合方向处理。运算符的结。

16、合性分为两种,自左向右的结合,称为左结合;而自右向左结合的,称为右结合。 要求操作数的个数。 要求操作数的类型。 结果的类型。 表达式是用运算符将操作数连接起来的式子,操作数可以是常量、变量和函数。表达式均有值,表达式的值是指表达式中的操作数按照一定的运算规则和顺序,在各种运算符的作用下,得到的运算结果。,2.3 运算符与表达式,一、算术运算符与算术表达式 1算术运算符 C语言提供了5个双目算术运算:*、/、%、+、-,它们在进行运算时需要两个操作数,所以称双目运算符。其功能如下: +:加法运算符。如:4+1。 -:减法运算符。如:6-9。 *:乘法运算符。如:4*9。 /:除法运算符。如:7/3。 %:模运算符,也称求余运算符。运算时要求%的两侧必须为整型数据,其左侧的运算数为被除数,右侧的运算数为除数,运算结果是两数相除后的余数。

《c语言程序设计课件张元国 ISBN9787566300386 PPT第二章数据类型 运算符与表达式》由会员w****i分享,可在线阅读,更多相关《c语言程序设计课件张元国 ISBN9787566300386 PPT第二章数据类型 运算符与表达式》请在金锄头文库上搜索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nowcoder172C 保护 (倍增lca+dfs序+主席树)

https://www.nowcoder.com/acm/contest/172/C (sbw大佬太强啦 orz) 先把每一个路径(x,y)分成(x,lca),(y,lca)两个路径,然后就能发现,对于某两个(直上直下的)路径a,b,b的下端点在a的下端点子树中…

添用户报错:useradd:警告:此主目录已经存在

转载自:http://blog.csdn.net/lele892207980/article/details/17239347 建立mysql用户、组 groupadd mysql useradd -g mysql mysql 然后删除 userdel mysql 再添用户和组加时,提示: useradd:警告:此主目录已经存在。…

专业本的C语言,以解决本专业问题为导向的C语言程序设计课程教学探索

以解决本专业问题为导向的C语言程序设计课程教学探索发布时间:2019-08-07 来源: 摘 要 针对C语言程序设计课程在计算机及其相关专业中存在的“狭义工具论”的教学现状,本着“以应用能力培养为目标、以计算思维为手段”的原则进行知识选取和教学内容、教学案例、教学…

HotSpot增量Java垃圾收集器

在我最近的博客文章“ 确定活动的HotSpot垃圾收集器”中 ,我描述了可用于确定HotSpot JVM (Java进程)正在使用的垃圾收集器(当从命令行参数(标志) 中看不出来)时可以使用的不同方法。传递给Java…

修改已存在用户的所属组(usermod用法)

转载自:http://blog.163.com/zhzh_lin/blog/static/40538715200771503221224/ 修改使用者帐号 名称 usermod - 修 改 使 用 者 帐 号 语法 usermod [-c comment] [-d home_dir [ -m]] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,.…

c语言如何查找空指针,c语言中的空指针

#include#include#define SAFE_MALLOC(n) safe_malloc(n)#define SAFE_FREE(p)safe_free((int**)(&(p)))//将变量指针赋值为空指针//若变量本身为空,则提示出现野指针void safe_free(int **p){if(*p){free(*p);*p NULL;printf("这不是野指针!!!,好开心. _…

eclipse pmd使用_使用您自己的规则在Eclipse中自定义PMD

eclipse pmd使用PMD是非常好的Java代码扫描程序,可帮助您避免潜在的编程问题。 它可以轻松扩展以满足您的需求,并且本文将为您带来与JPA的Enumerated注释用法相关的自定义PMD规则的简单示例。 在继续阅读之前,您应该检查我以前的文章之一-JPA…

linux bash source 0,linux中BASH_SOURCE[0](转)

在C/C中,__FUNCTION__常量记录当前函数的名称。有时候,在日志输出的时候包含这些信息是非常有用的。而在Bash中,同样有这样一个常量FUNCNAME,但是有一点区别是,它是一个数组而非字符串,其中数组的第一个元素…

如何将自定义数据源集成到Apache Spark中

如今,流数据是一个热门话题,而Apache Spark是出色的流框架。 在此博客文章中,我将向您展示如何将自定义数据源集成到Spark中。 Spark Streaming使我们能够从各种来源进行流传输,同时使用相同的简洁API访问数据流,执行…

linux用户管理练习题

转载自:http://blog.sina.com.cn/s/blog_6a8d2f120100qiyj.html 1)新建一个组group1,新建一个系统组group2 参考答案: groupadd group1 groupadd -r group2 cat /etc/group /etc/gshadow|grep group[1-2] 2)更改组group2的GID为103,更改组名为grouptest 参考答案:…

闪念-许久未来一切没变

好久好久没来逛社区了,前几天有空登录进来看看,好多以前的老朋友都还在,甚是欣慰。有种亲切的感觉,时间真的很快,差不多有3-4年没来玩社区了。经历了两家互联网行业级Top3的公司一度没有时间逛社区,玩社区交…

C语言麻将递归,C++数据结构与算法——麻将胡牌算法(二:完全胡牌算法)

虽然单花色胡牌算法面试时写出来了,但是完整的胡牌算法却没有写,既然遇到了,秉着不抛弃不放弃的精神,当然不能原谅懒惰的自己了。下面这篇为一个完整的胡牌算法。胡牌规则除了以下几点,其余与单花色胡牌规则一致&#…

第一行代码-第一章

模拟器和真机切换 点击app选择Configuration,Target选择USB设备或模拟器 真机不能获取debug日志 以360手机为例 1.拨号界面输入“*20121220#”,进入工程模式,点击日志输出等级。 2.修改以下选项 Log print enable 选 enable Java log level 选…

啊哈c语言推箱子小游戏,啊哈C入门版学完了,现发推箱子源代码~

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼该推箱子拥有对成绩的记录功能,因此,请挑战自己的最少步数吧!源代码如下:#include #include int main(){system("color 0a");char a[9][11]{" ###### "," # ###",…

AIDA64制作机箱副屏/性能监控屏, 刷新慢问题

AIDA64制作机箱副屏/性能监控屏, 刷新慢问题 手上有闲置的手机/平板, 非闲置也行, 毕竟也没人边刷手机边打游戏吧AIDA64可以监控大多数参数, 放到一些酷炫的LCD模板上, 通过手机/平板等的浏览器就可访问这个页面, 实现无线监控 在网上找一个AIDA64, 安装文件-设置-LCD找到Rem…

javaone_JavaOne 2012:Java策略主题演讲和IBM主题演讲

javaone与 JavaOne 2010 相似,我对JavaOne 2012有了一个粗略的起点。由于“计算机和打印机技术上的困难”,办理登机手续的人花了70分钟为我提供JavaOne徽章。 尽管我不是世界上最有耐心的人,但比等待更令人失望的是,我错过了参加“…

常用正则表达式(?i)忽略字母的大小写!

转载自:http://blog.csdn.net/iwanttoknow7/article/details/5773285 1。^/d$  //匹配非负整数(正整数 0) 2 。 ^ [ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * $   // 匹配正整数 3 。 ^ (( - /d) | ( 0))$   // 匹配非正整数(负…

内存刷新机制

red log buffer、data buffer、binlog cache。在O和M中,讲究日志先行策略,就是一条DML语句进入数据库之后,都会先写日志,再写数据文件。 1.red log, 重做日志文件,用于记录事务操作的变化,记录的…

android 字符串对齐,android – 使用Spanable String对齐ImageSpan

我知道有很多相同类型的问题可供使用,我尝试了很多解决方案,但所有这些问题都达不到我的要求.我的问题是我必须在包含Spanable字符串和Imagespan的文本之间添加动态行间距,但是当我添加行间距时,文本和图像的对齐会变形.我已经尝试了Stackoverflow上几乎所有可用的解决方案,如t…

如何将JBoss HR员工奖励项目放入云端

我们一直在讨论为什么应用程序开发人员在App Dev Cloud Stack系列中不能再忽略其堆栈了。 我们从头到尾讨论了各个层,但尚未为您提供除Red Hat Container Development Kit(CDK)之外的任何应用程序开发工具。 到目前为止,您所拥有…