您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《C语言程序设计(Visual C++ 6.0环境)》电子教案(第2章)
本章导读本章通过C程序实例分析着手,使读者理解C语言的基本数据类型的表示形式、存储格式及相关的运算,掌握变量定义的方法及意义,能够灵活运用各种表达式,为C语言编程打下基础。《C语言程序设计》(VisualC++6.0环境)返回本书目录第2章数据类型及表达式本章主要知识点(1)基本的数据类型。(2)常量和变量。(3)C语言各种运算符和表达式的应用。第2章数据类型及表达式《C语言程序设计》(VisualC++6.0环境)返回本章导读2.2C语言的数据类型2.3运算符及表达式2.1C语言各种运算符和表达式的应用《C语言程序设计》(VisualC++6.0环境)返回本章目录2.1C语言各种运算符和表达式的应用2.C程序实例(2)1.C程序实例(1)【例2.1】关于常量、变量及数据类型说明的程序实例。程序名为l2_1.cpp。#includestdio.hmain(){inta=3;/*定义整型变量a并赋予常量值3*/shortr=6;/*定义短整型变量r并赋予常量值6*/charc='a';/*定义字符变量c并赋予字符常量值'a'*/floatpi=3.14;/*定义单精度实型变量pi并赋予实型常量值3.14*/doubles;/*定义双精度实型变量s*/s=pi*r*r;/*将pi*r*r值赋给s*/printf(int:%d,short:%d,char:%d,float:%d,double:%d\n,sizeof(a),sizeof(r),sizeof(c),sizeof(pi),sizeof(s));/*输出各变量占内存的字节数*/printf(a=%d,r=%d,c=%c,pi=%f,s=%lf\n,a,r,c,pi,s);/*输出各变量的值*/}2.1.1C程序实例(1)《C语言程序设计》(VisualC++6.0环境)返回本节目录1.C程序实例1程序结果[例2.1]程序结果及分析返回例题返回本节目录结果分析:变量可以被定义成不同的数据类型并赋值,不同类型的数据在内存中所占的字节数不同,通过sizeof()求得数据宽度。短整型、整型、字符型、单精度实型、双精度实型在内存中分别占2字节、4字节、1字节、4字节和8字节。同时,这些数据在输出时所使用的输出格式控制符也不相同,分别为%d、%d、%c、%f和%lf形式。由此可见,数据表现为常量或变量,数据又具有不同的数据类型,不同数据类型的数据存储格式不同,数据的输出格式控制也不相同。注意:在TruboC环境下,整型数据存储时在内存中占2字节。2.1.1C程序实例(2)《C语言程序设计》(VisualC++6.0环境)2.C程序实例2【例2.2】关于运算符和表达式的程序实例。/*程序名为l2_2.cpp。*/#includestdio.hmain(){inti=3,a=5,b=7,c,d;/*定义变量并赋初值*/printf(i=%d\n,i++);/*输出i++的值*/printf(i=%d\n,i);/*输出i的值*/c=ab?a:b;/*计算表达式c=ab?a:b*/printf(c=%d\n,c);/*输出c的值*/d=a=b&&i;/*计算表达式d=a=b&&i*/printf(d=%d\n,d);/*输出d的值*/d=(c,d=c);/*计算表达式d=(c,d=c)*/printf(d=%d\n,d);/*输出d的值*/}返回本节目录程序结果[例2.2]程序结果及分析返回例题返回本节目录结果分析:由结果i=3i=4可知printf(i=%d\n,i++);中i++的值仍然为3,而i的值由3增1后变为4,理解自增运算符++的运算方式。c=ab?a:b;语句中包括了关系运算符“”、条件运算符“?:”、赋值运算符“=”,经过各种运算处理后c的值为7。d=a=b&&i;语句中包括了关系运算符“=”、逻辑运算符“&&”、赋值运算符“=”,经过各种运算处理后d的值为1。d=(c,d=c);语句中包括了赋值运算符“=”、逗号运算符“,”,经过各种运算处理后d的值为7。2.2C语言的数据类型《C语言程序设计》(VisualC++6.0环境)返回本节目录单精度实型(float)双精度实型(double)整型(int)字符型(char)枚举类型数组类型结构体类型共用体类型实型基本类型构造类型空类型(void)指针类型数据类型2.2C语言的数据类型《C语言程序设计》(VisualC++6.0环境)2.2.1基本数据类型2.2.2常量2.2.3变量及其类型定义返回本节目录2.2.1基本数据类型《C语言程序设计》(VisualC++6.0环境)返回本节目录1.整型数据2.实型数据3.字符型数据2.2.1基本数据类型(一)《C语言程序设计》(VisualC++6.0环境)1.整型数据整型数据分为一般整型(int)、短整型(short)和长整型(long),并且每一种类型又分为带符号(signed)和无符号(unsigned)两种类型。整型数据的特性见下表:返回本节目录数据类型名说明VisualC++6.0环境TurboC2.0环境字节取值范围字节取值范围short[int]短整型2-32768~327672-32768~32767signedshort[int]带符号短整型2-32768~327672-32768~32767unsignedshort[int]无符号短整型20~6553520~65535int整型4-2147483648~21474836472-32768~32767signed[int]带符号整型4-2147483648~21474836472-32768~32767unsigned[int]无符号整型40~429496729520~65535long[int]长整型4-2147483648~21474836474-2147483648~2147483647signedlong[int]带符号长整型4-2147483648~21474836474-2147483648~2147483647unsignedlong[int]无符号长整型40~429496729540~4294967295返回2.2.1基本数据类型(二)《C语言程序设计》(VisualC++6.0环境)2.实型数据实型数据分为单精度实型(float)、双精度实型(double)和长双精度实型(longdouble)。具体情况见下表所示:数据类型名说明VisualC++6.0环境TurboC2.0环境字节取值范围有效数字字节取值范围有效数字float单精度实型4-3.4×1038~3.4×10386~74-3.4×1038~3.4×10386~7double双精度实型8-1.7×10308~1.7×1030815~168-1.7×10308~1.7×1030815~16longdouble长双精度实型16-1.2×104932~1.2×10493218~1910-1.2×104932~1.2×10493218~19返回返回本节目录2.2.1基本数据类型(三)《C语言程序设计》(VisualC++6.0环境)3.字符型数据字符型数据分为一般字符型(char)、带符号字符型(signedchar)和无符号字符型(unsignedchar)三种类型。具体情况见下表所示:数据类型名说明字节取值范围char字符型1-128~127signedchar带符号字符型1-128~127unsignedchar无符号字符型10~255返回返回本节目录2.2.2常量《C语言程序设计》(VisualC++6.0环境)1.整型常量2.实型常量3.字符型常量4.字符串常量返回本节目录2.2.2常量(一)《C语言程序设计》(VisualC++6.0环境)1.整型常量(1)十进制整型常量:以数字1~9开头,其他位以数字0~9构成十进制整型常量。如12,-38等。(2)八进制整型常量:以数字0开头,其他位以数字0~7构成八进制整型常如012,-037等。在C语言中,整型常量有十进制、八进制、十六进制三种进制表示方法,并且各种数制均可有正(+)负(-)之分,正数的“+”可省略。(3)十六进制整型常量:以0X或0x开头(数字0和大写或小写字母x),其他位以数字0~9或字母a~f或A~F构成十六进制整型常量。如0x12,-0Xa9等。如果在整型常量加上后缀L或l表示该常量为长整型常量,加上后缀U或u表示无符号整型常量。返回返回本节目录2.2.2常量(二)《C语言程序设计》(VisualC++6.0环境)2.实型常量(1)小数表示法:它是由数的符号、数字和小数点组成的实型常量(注意:必须有小数点)。如-2.5、3.0、4.、.34等都是合法的实型小数形式。(2)科学计数法:科学计数法也称指数法。它是由数的符号、尾数(整数或小数)、阶码标示(E或e)、阶符和整数阶码组成的实型常量。尾数不可缺省,阶码必须为整数。如-2.5E-3、3e5、34E-3等都是合法的指数形式。如-2.5E-3表示-2.5×10-3。实型常量又称浮型常量。实型常量由整数部分和小数部分组成,有两种表示形式:小数表示法和科学计数法。它只能用十进制表示。实型常量分为单精度、双精度和长双精度三种类型。实型常量如果没有任何说明,则表示为双精度常量,实型常量后加上F或f则表示单精度常量,实型常量后加上L或l则表示长双精度常量。返回返回本节目录2.2.2常量(三)《C语言程序设计》(VisualC++6.0环境)3.字符型常量(1)一般字符常量:一般字符常量是用单引号括起来的一个普通字符,其值为该字符的ASCII代码值。ASCII编码表见附录1。如’a’、’A’、’0’、’?’等都是一般字符常量,但是’a’和’A’是不同的字符常量,’a’的值为97,而’A’的值为65。字符型常量是由一对单引号括起来的一个字符。它分为一般字符常量和转义字符。一个字符常量在计算机的存储中占据一个字节。(2)转义字符:C语言允许用一种特殊形式的字符常量,它是以反斜杠(\)开头的特定字符序列,表示ASCII字符集中控制字符、某些用于功能定义的字符和其他字符。如’\n’表示回车换行符,’\\’表示字符“\”。常用的转义字符见1.4.1中所叙。如果在整型常量加上后缀L或l表示该常量为长整型常量,加上后缀U或u表示无符号整型常量。返回返回本节目录(4)存放的变量不同。字符常量可存放在字符变量或整型变量中,而字符串常量需要存放在字符数组中。字符变量和字符数组后续介绍。2.2.2常量(四)《C语言程序设计》(VisualC++6.0环境)4.字符串常量字符串常量也称字符串,由一对双引号括起来(“”)的字符序列。字符序列中的字符个数称字符串长度,没有字符的字符串称为空串。如“a”、“12+3”等都是合法的字符串常量。字符串常量中的字符是连续存储的,并在最后自动加上字符’\0’(空字符,该字符在ASCII码值为0,也称NULL字符)作为字符串结束标志。如字符串“a”在计算机内存中占两个连续单元,存储内容为字符’a’和’\0’对于字符串常量和字符常量的区别是十分显著的,主要表现在以下4个方面:(1)表示形式不同。字符常量以单引号表示,而字符串常量以双引号表示。(2)存储所占的内存空间不同。字符常量在内存中只用1个字节存放该字符的ASCII码值。字符串常量在内存中,除了存储串中的有效字符的ASCII码值外,系统还自动在串后加上1个字节,存放字符串结束标志’\0’。返回(3)允许的操作不同。字符常量允许在一定范围内与整数进行加法或减法运算,如’a’-32合法。字符串常量不允许上述运算,如“a”-32非法的。返回本节目录(1)数据类型:C语言的合法数据类型。如例中的int、short、char、float、double等。(2)变量名表:变量名是C语言合法的标识符。变量名表可以包含多个变量名,彼此之间使用逗号分开,表示同时定义若干个具有相同数据类型的变量,如:floata,b;(3)变量定义语句可以出现在变量使用之
本文标题:《C语言程序设计(Visual C++ 6.0环境)》电子教案(第2章)
链接地址:https://www.777doc.com/doc-4049052 .html