《第2章基本数据类型和运算符精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章基本数据类型和运算符精选文档.ppt(107页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章基本数据类型和运算符本讲稿第一页,共一百零七页2022/9/22程序设计基础(C语言)wh2n程序是计算机对数据进行操作的步骤,即数程序是计算机对数据进行操作的步骤,即数据与操作构成了程序的两个要素。其中数据据与操作构成了程序的两个要素。其中数据是程序的必要组成部分,也是程序处理的对是程序的必要组成部分,也是程序处理的对象。在程序中,经常会使用各种数据。象。在程序中,经常会使用各种数据。C C语言语言规定,在程序中使用的每个数据都属于一种规定,在程序中使用的每个数据都属于一种类型。类型。本讲稿第二页,共一百零七页2022/9/22程序设计基础(C语言)wh3数据类型数据类型基本类型基本类
2、型(简单类型简单类型)构造类型构造类型其他类型其他类型整型整型 实型实型(浮点型浮点型)字符型字符型(char)(char)枚举型枚举型(enum)(enum)数组型数组型结构型结构型联合型联合型短整型短整型(short int)(short int)整型整型(int)(int)长整型长整型(long int)(long int)单精度型单精度型(float)(float)双精度型双精度型(double)(double)指针型指针型空类型空类型图2-1 C语言数据类型不同的运算符不同的运算符可产生不同的可产生不同的表达式表达式 本讲稿第三页,共一百零七页2022/9/22程序设计基础(C语言)
3、wh4*本本 章章 授授 课课 内内 容容*2.1 C2.1 C语言的词汇语言的词汇 2.2 2.2 数据基本类型数据基本类型 2.3 2.3 运算符和表达式运算符和表达式 2.4 2.4 数据类型的转换数据类型的转换本讲稿第四页,共一百零七页2022/9/22程序设计基础(C语言)wh52.1 C2.1 C语言的词汇语言的词汇1 1C C语言字符集语言字符集定义:组成定义:组成C C语言源程序代码的基本字符,它是构成语言源程序代码的基本字符,它是构成C C语言的基本元素。语言的基本元素。C C语言使用的基本字符:语言使用的基本字符:大小写英文字符:大小写英文字符:A AZ Z,a az z数
4、字字符:数字字符:0 09 9特殊字符:特殊字符:+=+=_(_(下划线下划线)()*&%#!)()*&%#!,.;:?,.;:?”|/|/不可打印的字符:空格、换行符、制表符、响铃不可打印的字符:空格、换行符、制表符、响铃符符本讲稿第五页,共一百零七页2022/9/22程序设计基础(C语言)wh62 2关键字关键字定义:具有特定含义的、专门用来说明C语言的特定成分的一类单词。C语言的关键字都用小写字母书写,不能用大写字母书写。在C89标准中共有32个关键字:auto break case char const continue defaultdo double else enum exter
5、n float registergoto signed int long return for shortif sizeof static struct switch typedef unionunsigned void volatile while 在新的C99标准中,又增加了5个关键字:_Bool _Complex _imaginary inline restrict本讲稿第六页,共一百零七页2022/9/22程序设计基础(C语言)wh72.2.标识符标识符定义:在定义:在C C语言中用于标识名字的有效字符序列。语言中用于标识名字的有效字符序列。C C语言对标识符作如下规定:语言对标识符作
6、如下规定:(1)(1)标识符的第一个字符必须是英文字母或下划线标识符的第一个字符必须是英文字母或下划线(2)(2)如果第一个字符后面还有字符序列,则它应是如果第一个字符后面还有字符序列,则它应是英文字母、下划线符或数字组成的序列。英文字母、下划线符或数字组成的序列。(3)(3)标识符中的英文字母大小写是有区别的。如标标识符中的英文字母大小写是有区别的。如标识符识符abcabc与标识符与标识符ABCABC不相同。不相同。本讲稿第七页,共一百零七页2022/9/22程序设计基础(C语言)wh8试判断下列标识符正确与否:试判断下列标识符正确与否:abcd abcd A A?Abcd Abcd 2ab
7、c 2abc _Abcd _Abcd a ba b _2a3 _2a3 yes/noyes/nor r 本讲稿第八页,共一百零七页2022/9/22程序设计基础(C语言)wh94.4.保留标识符保留标识符 保留标识符是系统保留的一部分标识符,通保留标识符是系统保留的一部分标识符,通常用于系统定义和标准库函数的名字。例如,常用于系统定义和标准库函数的名字。例如,以下划线开始的标识符通常用于定义系统变以下划线开始的标识符通常用于定义系统变量,不能使用把这些标识符来定义自己的变量,不能使用把这些标识符来定义自己的变量。虽然它们也是合法的标识符,但是用它量。虽然它们也是合法的标识符,但是用它们来做一般
8、标识符可能会出现运行错误。们来做一般标识符可能会出现运行错误。本讲稿第九页,共一百零七页2022/9/22程序设计基础(C语言)wh105.5.注释注释在在c c语言程序中,括在定界符语言程序中,括在定界符“/*/*”“*/*/”之间的内之间的内容是注释。注释不是程序代码,只是一种对程序解容是注释。注释不是程序代码,只是一种对程序解释说明的标注,编译程序把注释作为空白符跳过而释说明的标注,编译程序把注释作为空白符跳过而不予处理。注释不允许嵌套。不予处理。注释不允许嵌套。例如:例如:/*/*学生成绩管理程序学生成绩管理程序*/*/、/*My c program*/*My c program*/本
9、讲稿第十页,共一百零七页2022/9/22程序设计基础(C语言)wh112.2 2.2 基本数据类型基本数据类型 2.2.1 2.2.1 常量和变量常量和变量2.2.2 2.2.2 整型常量和实型常量整型常量和实型常量2.2.3 2.2.3 字符常量和字符串常量字符常量和字符串常量2.2.4 2.2.4 符号常量符号常量2.2.5 2.2.5 整型变量整型变量 2.2.6 2.2.6 实型变量实型变量 2.2.7 2.2.7 字符变量字符变量2.2.8 2.2.8 用用charchar定义小整数定义小整数本讲稿第十一页,共一百零七页2022/9/22程序设计基础(C语言)wh122.2.1 2
10、.2.1 常量和变量常量和变量1.1.常量常量常量:在程序执行的整个过程中其值不能改变的量。例如常量:在程序执行的整个过程中其值不能改变的量。例如1 1,3.53.5都都是常量。是常量。字面常量:字面常量:直接以值的形式出现的常量。直接以值的形式出现的常量。符号常量:符号常量:在一个程序在一个程序(或程序的一部分或程序的一部分)中指定的用标识符代中指定的用标识符代表的常量,从字面上不能直接看出其类型和值。表的常量,从字面上不能直接看出其类型和值。*根据其书写形式,可以区分为不同类型的常量,如整型常量、根据其书写形式,可以区分为不同类型的常量,如整型常量、实型常量、字符常量、字符串常量等实型常量
11、、字符常量、字符串常量等 。本讲稿第十二页,共一百零七页2022/9/22程序设计基础(C语言)wh13编写求圆面积和周长的程序编写求圆面积和周长的程序1:#include#includevoid main()void main()double area(double r),circumference(double r);double area(double r),circumference(double r);printf(printf(“area=%fnarea=%fn”,area(2.0);,area(2.0);printf(printf(“circumference=%fncircum
12、ference=%fn”,circumference(2.0);,circumference(2.0);double area(double r)/*double area(double r)/*计算圆面积计算圆面积*/*/return(3.14159*r*r);return(3.14159*r*r);double circumference(double r)/*double circumference(double r)/*计算周长计算周长*/*/return(2.0*3.14159*r);return(2.0*3.14159*r);若定义一个符号代表半径可提高程序的可读性若定义一个符号代
13、表半径可提高程序的可读性本讲稿第十三页,共一百零七页2022/9/22程序设计基础(C语言)wh14#include#include#define PI 3.14159 /*#define PI 3.14159 /*定义符号常数定义符号常数*/*/#define R 2.0 /*#define R 2.0 /*定义符号常数定义符号常数*/*/void main()void main()double area(double r),circumference(double r);double area(double r),circumference(double r);printf(printf(
14、“area=%fnarea=%fn”,area(R);,area(R);printf(printf(“circumference=%fncircumference=%fn”,circumference(R);,circumference(R);double area(double r)/*double area(double r)/*计算圆面积计算圆面积*/*/return(PI*r*r);return(PI*r*r);double circumference(double r)/*double circumference(double r)/*计算周长计算周长*/*/return(2.0*P
15、I*r);return(2.0*PI*r);编写求圆面积和周长的程序编写求圆面积和周长的程序2 2:l定义符号常量的定义符号常量的一种方法是使用一种方法是使用#define#define命令,它命令,它是一种是一种“预编译命预编译命令令”,在编译整个在编译整个程序之前系统会先程序之前系统会先对程序中的预编译对程序中的预编译命令进行处理。上命令进行处理。上面面#define#define命令的命令的作用是在预编译时作用是在预编译时将程序中凡出现将程序中凡出现PIPI的地方全部以的地方全部以3.14159263.1415926代替代替,凡凡出现出现R R的地方一律以的地方一律以2.02.0代替代替
16、.本讲稿第十四页,共一百零七页2022/9/22程序设计基础(C语言)wh15 符号常量符号常量符号常量符号常量是一种用标识符命名的常量。例如,用标识符是一种用标识符命名的常量。例如,用标识符PIPI代替代替3.141593.14159。为了确定这种。为了确定这种替代关系替代关系,必须先对符号常量进行定义。有,必须先对符号常量进行定义。有两种对符号常量进行定义的方法,两种对符号常量进行定义的方法,n一种是一种是宏定义宏定义:#define PI 3.14159#define PI 3.14159 n另一种是另一种是constconst常量常量:const float pi=3.14159;co
17、nst float pi=3.14159;注意注意:定义定义constconst常量要以分号结束常量要以分号结束。这种方法有点类似于变量。这种方法有点类似于变量声明,但是前面加有声明,但是前面加有constconst关键字,并且在声明时必须初始化。关键字,并且在声明时必须初始化。本讲稿第十五页,共一百零七页2022/9/22程序设计基础(C语言)wh162.2.变量变量变量:变量:在程序执行的过程中其值可以改变的量。在程序执行的过程中其值可以改变的量。变量都有三个特征:变量都有三个特征:它有一个变量名,变量名选用标识符。例如,可以用它有一个变量名,变量名选用标识符。例如,可以用circumci
18、rcum,areaarea,sum_1sum_1等作为变量名。等作为变量名。变量有类型之分。例如,整型变量、实型变量、字符型变变量有类型之分。例如,整型变量、实型变量、字符型变量等。量等。变量可以存放值。变量可以存放值。2.2.1 2.2.1 常量和变量常量和变量本讲稿第十六页,共一百零七页2022/9/22程序设计基础(C语言)wh172.2.1 2.2.1 常量和变量常量和变量变量的值变量的值在在程序运行程序运行中的中的可变性可变性可以通过可以通过赋值语句赋值语句表示。表示。例如:例如:i=3;i=3;如果在程序中连续执行两个赋值语句:如果在程序中连续执行两个赋值语句:i=3;i=3;i=
19、0 i=0;执行结果?执行结果?另:另:C C程序中的所有变量在使用之前,必须先对它进行声明。程序中的所有变量在使用之前,必须先对它进行声明。声明变量包括为变量取名和指定变量类型。声明变量包括为变量取名和指定变量类型。例如例如 float i,j;float i,j;注意:不允许在程序的同一处将同一变量声明为不同类型。注意:不允许在程序的同一处将同一变量声明为不同类型。本讲稿第十七页,共一百零七页2022/9/22程序设计基础(C语言)wh18表表2-1 2-1 基本数据类型和类型名关键字对应表基本数据类型和类型名关键字对应表类别类别类类型型类类型名关型名关键键字字简简写形式写形式字符型字符型
20、字符型字符型charcharcharchar有符号字符型有符号字符型signed charsigned charsigned charsigned char无符号字符型无符号字符型unsigned charunsigned charunsigned charunsigned char整型整型基本整型基本整型intintintint有符号基本整型有符号基本整型signed intsigned intsigned intsigned int短整型短整型short intshort intshortshort有符号短整型有符号短整型signed short intsigned short intsi
21、gned shortsigned short长整型长整型long intlong intlonglong有符号长整型有符号长整型signed long intsigned long intsigned longsigned long无符号整型无符号整型unsigned intunsigned intunsignedunsigned无符号短整型无符号短整型unsigned short intunsigned short intunsigned shortunsigned short无符号长整型无符号长整型unsigned long intunsigned long intunsigned lon
22、gunsigned long实型实型单精度实型单精度实型floatfloatfloatfloat单精度实型单精度实型floatfloatlong floatlong float双精度实型双精度实型doubledoubledoubledouble双精度长实型双精度长实型long doublelong doublelong doublelong double本讲稿第十八页,共一百零七页2022/9/22程序设计基础(C语言)wh193.3.变量初始化变量初始化定义:定义:在声明变量的同时给它赋一个初始值。在声明变量的同时给它赋一个初始值。例如:例如:int a=9,b=9;int a=9,b=9;
23、float c=1.25;float c=1.25;int d=int d=a a+b b;说明:说明:对于几个变量赋同一初值对于几个变量赋同一初值,不可写成不可写成:int a=b=9:int a=b=9;初值必须是常量或操作数是常量的算术表达式;初值必须是常量或操作数是常量的算术表达式;初始化不是在编译阶段完成的初始化不是在编译阶段完成的,是在程序运行时执行本函数时赋是在程序运行时执行本函数时赋以初值的。以初值的。本讲稿第十九页,共一百零七页2022/9/22程序设计基础(C语言)wh204.4.数据输出的概念数据输出的概念 printf()函数:按照指定的格式把需要输出的数据在标准输出设
24、备(通常是终端显示器)上输出。一般格式:printf(输出格式控制,输出数据表列);其中:“输出格式控制”是用双引号括起来的字符串,也称“转换控制字符串”。它包括两种形式的信息:一种是用于说明的信息;另一种是带有前置百分号(%)的格式转换说明,由和格式字符组成,如d、%c等,它的作用是将输出的数据转换为指定的格式输出。“输出数据表列”表示需要输出的一些数据,各数据之间须用逗号隔开。输出数据的个数应与输出格式控制中的格式转换说明的个数相等,而且在顺序上要一一对应。本讲稿第二十页,共一百零七页2022/9/22程序设计基础(C语言)wh21【例【例2-22-2】一个程序举例。一个程序举例。/*c2
25、_2.c*/*c2_2.c*/#include#include void main()void main()int i=5,j;int i=5,j;j=2;j=2;printf(i=%d,j=%d,i,j);printf(i=%d,j=%d,i,j);程序分析:程序分析:程序以程序以void main()void main()开始,后面跟有一对花括号,花括号中开始,后面跟有一对花括号,花括号中包含数据声明部分和语句部分。凡是语句中使用的变量,都必须在数包含数据声明部分和语句部分。凡是语句中使用的变量,都必须在数据声明部分进行声明。本程序中声明了据声明部分进行声明。本程序中声明了i i和和j j
26、两个整型变量并对变量两个整型变量并对变量i i进进行初始化,接着对行初始化,接着对j j赋值为赋值为2 2,最后输出,最后输出i i和和j j的值。的值。程序运行的结果:程序运行的结果:i=5,j=2i=5,j=2本讲稿第二十一页,共一百零七页2022/9/22程序设计基础(C语言)wh221.1.整型常量整型常量十进制整型常量十进制整型常量八进制整型常量八进制整型常量十六进制整型常量十六进制整型常量2.2.2 2.2.2 常量常量本讲稿第二十二页,共一百零七页2022/9/22程序设计基础(C语言)wh23.十进制整型常量十进制整型常量常量只能出现常量只能出现0-90-9的数字的数字可带正、
27、负号可带正、负号多个数字的常量前不能以多个数字的常量前不能以0 0开头。开头。例如:例如:0 1 321 0 1 321 12 12 本讲稿第二十三页,共一百零七页2022/9/22程序设计基础(C语言)wh24.八进制整型常量八进制整型常量八进制数字串以数字八进制数字串以数字0 0开头开头其中数字为其中数字为0-70-7。例如:例如:0111 (0111 (十进制十进制73)73)011 (011 (十进制十进制9)9)0123 (0123 (十进制十进制83)83)07777 (07777 (十进制十进制4095)4095)本讲稿第二十四页,共一百零七页2022/9/22程序设计基础(C语
28、言)wh25.十六进制整型常量十六进制整型常量十六进制数字串以0 x或0X开头(即以0 x或0X作为十六进制数的前缀)每个数字可以是09、af或AF中的数字或英文字母。例如:0 x11(十进制17)0Xa5(十进制165)0 x5a(十进制90)本讲稿第二十五页,共一百零七页2022/9/22程序设计基础(C语言)wh26n实型常量有两种表示形式:实型常量有两种表示形式:2.2.实型常量实型常量 十进制小数形式:十进制小数形式:指数形式:指数形式:本讲稿第二十六页,共一百零七页2022/9/22程序设计基础(C语言)wh27 1.1.十进制小数形式十进制小数形式 n包含一个小数点的十进制数字串
29、包含一个小数点的十进制数字串n小数点前或后可以没有数字小数点前或后可以没有数字n小数点前或后不能同时没有数字小数点前或后不能同时没有数字例如:例如:3.141593.14159、.23.23、23.023.0、23.23.、0.00.0,-9.0-9.0本讲稿第二十七页,共一百零七页2022/9/22程序设计基础(C语言)wh28 2.2.指数形式指数形式 n由尾数和指数两部分组成。尾数在前,指数(整数)在后,尾数形式上与十进制小数形式相同,指数由代表10的符号e/E以及阶码组成,阶码必须是整数。n指数形式实型常量由数字、小数点、正(或负)号和字母e(或E)组成。n格式:n尾数 e(或E)+(
30、或-)阶码相当于数学中幕底数10可带符号的整数指数十进制小数形式的常量或者十进制整型常量本讲稿第二十八页,共一百零七页2022/9/22程序设计基础(C语言)wh29例如:例如:1e241e24(表示数值(表示数值10241024)0.314159e+10.314159e+1(表示数值(表示数值0.3141591010.314159101)23.0E-1 23.0E-1(表示数值(表示数值2310-12310-1)下面是不正确的实型常量:下面是不正确的实型常量:e2e2(缺少十进制小数形式部分)(缺少十进制小数形式部分)3E3E(缺少阶码)(缺少阶码)4.e4.14.e4.1(不是整数阶码)(
31、不是整数阶码)本讲稿第二十九页,共一百零七页2022/9/22程序设计基础(C语言)wh303.3.字符常量字符常量普通字符常量普通字符常量:用一对用一对单引号单引号括在其中的一个字符。括在其中的一个字符。例如:例如:a a 、A A、y y、Y Y都是字符常量。都是字符常量。注意:注意:单引号中的字符不能是单引号或反斜杠,单引号中的字符不能是单引号或反斜杠,即即 、不不是合法的字符常量。是合法的字符常量。本讲稿第三十页,共一百零七页2022/9/22程序设计基础(C语言)wh31转义字符转义字符转转 义义 字字 符符意意 义义ASCIIASCII码值码值(十(十进进制)制)aa响响铃铃(BE
32、LBEL,turbo C 2.0turbo C 2.0不支持)不支持)007007nn换换行,将当前光行,将当前光标标移到下一行行首移到下一行行首010010tt横向跳格,光横向跳格,光标标跳到下一个制表位跳到下一个制表位009009vv竖竖向跳格向跳格011011bb退格,光退格,光标标移到前一列移到前一列008008rr回回车车,光,光标标移到本行的行首移到本行的行首013013ff换页换页,将光,将光标标移到下一移到下一页页的的页页首首012012反斜杠字符反斜杠字符“”092092 单单撇号字符撇号字符“”“”039039 双撇号字符双撇号字符“”“”034034?问问号字符号字符“?
33、”06306300空字符(空字符(NULLNULL)000000dddddd任意字符(任意字符(1 13 3位八位八进进制数所代表的字符)制数所代表的字符)xhhxhh任意字符任意字符(1(12 2位十六位十六进进制数所代表的字符制数所代表的字符)表表2-2 C2-2 C语言中常用的转义字符语言中常用的转义字符 本讲稿第三十一页,共一百零七页2022/9/22程序设计基础(C语言)wh32说明:说明:字符常量中使用单引号、双引号和反斜杠时,字符常量中使用单引号、双引号和反斜杠时,必须使用转义字符表示,即在这些字符前加上必须使用转义字符表示,即在这些字符前加上反斜杠;反斜杠;转义字符中只能用小写
34、字母,每个转义字符只转义字符中只能用小写字母,每个转义字符只看作一个字符。看作一个字符。vv竖向跳格和竖向跳格和ff换页符对屏幕没有任何影响,换页符对屏幕没有任何影响,但会影响打印机执行响应操作。但会影响打印机执行响应操作。在在C C语言程序中,使用不可打印字符时,通常语言程序中,使用不可打印字符时,通常用转义字符表示。用转义字符表示。本讲稿第三十二页,共一百零七页2022/9/22程序设计基础(C语言)wh33/*/*打印人民币符号打印人民币符号“”*/*/#include#includevoid main()void main()printf(printf(“Yb=nYb=n”););这一
35、输出只能在打印机上实现,而不能在显示器上实现。这一输出只能在打印机上实现,而不能在显示器上实现。本讲稿第三十三页,共一百零七页2022/9/22程序设计基础(C语言)wh34n字符串常量字符串常量:用一对:用一对双引号(双引号()括起来的括起来的零个或多个字符序列。零个或多个字符序列。n例如:例如:“HelloHello!”、“Welcome youWelcome you!”、“WindowsWindows”、“”等等4.4.字符串常量字符串常量本讲稿第三十四页,共一百零七页2022/9/22程序设计基础(C语言)wh35直接输出格式说明符本讲稿第三十五页,共一百零七页2022/9/22程序设
36、计基础(C语言)wh36字符串常量与字符常量的比较字符串常量与字符常量的比较:从形式上从形式上,字符常量使用单引号,而字符串常量使用双引号。,字符常量使用单引号,而字符串常量使用双引号。从内部存储来看从内部存储来看,编译程序在每个字符串的尾部自动加上,编译程序在每个字符串的尾部自动加上了一个空字符了一个空字符NULL(NULL(即即00)作为字符串的结束标志。作为字符串的结束标志。例如:字符串常量例如:字符串常量“a a”的存储形式是:的存储形式是:a0本讲稿第三十六页,共一百零七页2022/9/22程序设计基础(C语言)wh37【例【例2-32-3】一个程序举例。一个程序举例。/*c2_3.
37、c*/*c2_3.c*/#include#include void main()void main()printf(Good morning!n);printf(Good morning!n);printf(Good0morning!n);printf(Good0morning!n);程序运行后的输出结果:程序运行后的输出结果:Good morning!Good morning!GoodGood注:在写字符串注:在写字符串时不必额外加时不必额外加“00”,系统会,系统会自动在字符串的自动在字符串的末尾加上。末尾加上。本讲稿第三十七页,共一百零七页2022/9/22程序设计基础(C语言)wh38
38、2.2.32.2.3变量变量1 1整型变量整型变量整型变量的类型整型变量的类型基本型:类型说明符为int,其取值为基本整常数。短整量:类型说明符为short int。长整型:类型说明符为long int或long,其取值为长整常数。无符号型:类型说明符为unsigned。无符号基本型:类型说明符为unsigned int或unsigned。无符号短整型:类型说明符为unsigned short无符号长整型:类型说明符为unsigned long本讲稿第三十八页,共一百零七页2022/9/22程序设计基础(C语言)wh39整型变量的声明整型变量的声明整型变量声明的一般格式:类型说明符类型说明符
39、变量名标识符,变量名标识符,变量名标识符,变量名标识符,.;.;例如:int a;/*声明a为整型变量*/int a,b,c;/*声明a,b,c为整型变量*/long a,b;/*声明a,b为长整型变量*/unsigned a,b;/*声明a,b为无符号整型变量*/本讲稿第三十九页,共一百零七页2022/9/22程序设计基础(C语言)wh40在书写变量说明时,应注意以下几点:在书写变量说明时,应注意以下几点:允许在一个类型说明符后,说明多个相同类型允许在一个类型说明符后,说明多个相同类型的变量,但各变量名之间须用逗号分隔。类型的变量,但各变量名之间须用逗号分隔。类型说明符与变量名之间至少应用一
40、个空格间隔。说明符与变量名之间至少应用一个空格间隔。最后一个变量名之后必须以最后一个变量名之后必须以“;”号结尾。号结尾。变量说明必须放在变量使用之前。一般放在函变量说明必须放在变量使用之前。一般放在函数体的开头部分。数体的开头部分。本讲稿第四十页,共一百零七页2022/9/22程序设计基础(C语言)wh41nC C语言中一般使用函数语言中一般使用函数printf()printf()进行输出。进行输出。nprintfprintf函数的功能:按照指定的格式把需要输出函数的功能:按照指定的格式把需要输出的数据在标准输出设备(通常是终端显示器)上的数据在标准输出设备(通常是终端显示器)上输出。输出。
41、n一般格式:一般格式:printf(printf(输出格式控制,输出数据表列输出格式控制,输出数据表列););(3 3)整型变量的输出)整型变量的输出本讲稿第四十一页,共一百零七页2022/9/22程序设计基础(C语言)wh42 C语言标准没有具体规定为整型变量分配的存储空间(字节数)的最大字节数。对于int类型变量,有的是2字节,有的是4字节,等等。例如,一个占用2个字节的int类型变量,执行赋值语句 i=6;则这个值就存储在这2个字节中。30000000000000011变量i的存储内容 int iint ii=3变量i的二进制形式存储两个字节的int变量本讲稿第四十二页,共一百零七页20
42、22/9/22程序设计基础(C语言)wh43【例【例2-52-5】输出所使用的计算机的输出所使用的计算机的C C语言中的语言中的intint和和long long intint类型变量分配的字节数。类型变量分配的字节数。程序如下:程序如下:/*c2_5.c*/*c2_5.c*/#include#include void main()void main()printf(printf(“Type int has a size of%u byteType int has a size of%u byte,sizeof(int);,sizeof(int);printf(Type long int ha
43、s a size of%u byte.,sizeof(long);printf(Type long int has a size of%u byte.,sizeof(long);程序运行结果:程序运行结果:Type int has a size of 2 byte,Type long has a size of 4 byte.Type int has a size of 2 byte,Type long has a size of 4 byte.本讲稿第四十三页,共一百零七页2022/9/22程序设计基础(C语言)wh44 变量的字节个数决定变量存储值的范围。变量的字节个数决定变量存储值的范围
44、。因此,在选择因此,在选择intint类型的变量时,必须考虑该变量所能存类型的变量时,必须考虑该变量所能存放的最大值和最小值。如果变量的取值可能超过它的最大范围,放的最大值和最小值。如果变量的取值可能超过它的最大范围,则要考虑选择其他的类型,否则可能发生溢出的错误。例如则要考虑选择其他的类型,否则可能发生溢出的错误。例如:(按照(按照2 2字节的字节的intint类型(类型(32768327683276732767)考虑)考虑)int i,j;int i,j;i=30000;i=30000;j=40000;j=40000;j=40000j=40000超出了整型变量的最大取值范围,结果将产生溢出
45、。超出了整型变量的最大取值范围,结果将产生溢出。本讲稿第四十四页,共一百零七页2022/9/22程序设计基础(C语言)wh452.2.实型变量实型变量实型变量的类型实型变量的类型单精度型:类型说明符为单精度型:类型说明符为floatfloat,其数值范围为,其数值范围为3.4E-383.4E-38到到3.4E+383.4E+38,有效数字为七位。,有效数字为七位。双精度型:类型说明符为双精度型:类型说明符为doubledouble,其数值范围为,其数值范围为1.7E-3081.7E-308到到1.7E+3081.7E+308,有效数字为十六位。,有效数字为十六位。长双精度型:类型说明符为长双精
46、度型:类型说明符为long doublelong double。本讲稿第四十五页,共一百零七页2022/9/22程序设计基础(C语言)wh46实型变量的声明实型变量的声明实型变量是用于存放实数值的变量。实型变量声明的一般格式:类型说明符类型说明符 变量名标识符,变量名标识符,变量名标识符,变量名标识符,.;.;例如:float x,y;/*声明x,y为单精度实型变量*/double a,b,c;/*声明a,b,c为双精度实型变量*/本讲稿第四十六页,共一百零七页2022/9/22程序设计基础(C语言)wh47实型变量的输出实型变量的输出n实型变量的输出使用实型变量的输出使用printfprin
47、tf函数。函数。n使使用用printfprintf函函数数输输出出实实型型变变量量时时,其其格格式式与与输输出出整整型型变变量量相相似似。有有所所不不同同的的是是,实实型型变变量量格格式式说说明为明为“%f%f”或或“%lf%lf”。#include#includevoid main()void main()float a=1.0;float a=1.0;printf(printf(“a=%fa=%f”,a);,a);例如:例如:本讲稿第四十七页,共一百零七页2022/9/22程序设计基础(C语言)wh48【例【例2-62-6】执行如下执行如下C C程序:程序:/*c2_6.c*/*c2_6.
48、c*/#include#include void main()void main()float a;float a;a=30.456;a=30.456;printf(a=%f a=%5.2f a=%e,a,a,a);printf(a=%f a=%5.2f a=%e,a,a,a);本讲稿第四十八页,共一百零七页2022/9/22程序设计基础(C语言)wh49程序分析:程序分析:n实型类型变量用实型类型变量用“%f%f”格式输出时,其输出的小数位数占六位。格式输出时,其输出的小数位数占六位。n程序中的程序中的“%5.2f%5.2f”,5 5表示数的输出总宽度(占几个字符的位表示数的输出总宽度(占几
49、个字符的位置),置),2 2表示该数的小数位数。表示该数的小数位数。n“%e%e”表示按指数形式输出一个实型类型变量的值。表示按指数形式输出一个实型类型变量的值。程序运行结果:程序运行结果:a=30.455999 a=30.46 a=3.04560e+01 a=30.455999 a=30.46 a=3.04560e+01本讲稿第四十九页,共一百零七页2022/9/22程序设计基础(C语言)wh503 3字符型变量字符型变量n字符变量的类型说明符是字符变量的类型说明符是charchar。字符型变量声明。字符型变量声明的的格式格式如下:如下:char char 变量名变量名,变量名变量名,;n例
50、如:例如:char a;char a;/*/*声明向声明向a a为字符型变量为字符型变量*/*/char a,b,c;char a,b,c;/*/*声明声明a,b,ca,b,c为字符型变量为字符型变量*/*/本讲稿第五十页,共一百零七页2022/9/22程序设计基础(C语言)wh51例如:例如:c=A例如:例如:c=“string”字符串常量字符常量65变量变量c c的存储单元的存储单元用字符常量对字符变量赋值时用字符常量对字符变量赋值时,也可也可以用以用ASCIIASCII码值代表对应的字符常量码值代表对应的字符常量赋给字符变量赋给字符变量 c=65c=65本讲稿第五十一页,共一百零七页20