第2章 变量和运算符_第1页
第2章 变量和运算符_第2页
第2章 变量和运算符_第3页
第2章 变量和运算符_第4页
第2章 变量和运算符_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 软件编程基础 C语言 知识回顾C语言基础语言基础 程序、算法、流程图的概念及相互关系程序、算法、流程图的概念及相互关系 C程序的结构程序的结构 C程序的编译、连接、运行过程程序的编译、连接、运行过程 预处理语句预处理语句 main函数函数 函数体函数体 注释注释 2变量和数据类型第章本章目标理解常量和变量的含义以及变量的命名规则理解常量和变量的含义以及变量的命名规则 熟悉基本数据类型熟悉基本数据类型int、char、float和和double掌握如何使用算术运算符掌握如何使用算术运算符 理解几种类型转换理解几种类型转换熟练使用熟练使用scanf()和和printf()函数函数熟练使用熟练使用

2、getchar()和和putchar()函数函数生活中的常量和变量常常量量变变量量常量常量常量是程序运行过程中其值保持不变的量。是程序运行过程中其值保持不变的量。#includevoid main() int iSum, iNumber; iNumber = 10; iSum = 20 * iNumber; printf(%d, iSum); #includevoid main() int iSum, iNumber; iNumber = 10; iSum = 50 * iNumber; printf(%d, iSum); 常量常量整型常量整型常量实型常量实型常量字符常量字符常量字符串常量字符

3、串常量522831500125.8-37.61.5e+1an 6Hello Word!my first programiSum0500变量变量变量是程序运行过程中其值可以改变的量。是程序运行过程中其值可以改变的量。#includevoid main() int iSum = 0, iNumber; iNumber = 10; iSum = 50 * iNumber; printf(%d, iSum); 任何一个变量都有自己的一个名称任何一个变量都有自己的一个名称任何一个变量都有自己的一个内存单元任何一个变量都有自己的一个内存单元10#include main() int iMessage; s

4、canf(%d,&iMessage); printf(%d,iMessage);iMessage101010变量内内存存空空间间10_变量的命名规则v变量只能由字母、数字和下划线三种字符组成,变量只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线且第一个字符必须为字母或下划线v变量名区分大小写,即大写字母和小写字母所变量名区分大小写,即大写字母和小写字母所代表的意义不同代表的意义不同v不能使用关键字不能使用关键字v为了增加程序的可读性,尽量选描述性的英文为了增加程序的可读性,尽量选描述性的英文单词(或其缩写)作标识符。单词(或其缩写)作标识符。变量的命名规则v C语言中,变量

5、必须事先定义,凡未被定义的,语言中,变量必须事先定义,凡未被定义的, 不作为变量不作为变量v 每一个变量都指定为一数据类型,在编译时、就每一个变量都指定为一数据类型,在编译时、就 能为其分配相应的存储单元(变量所占据的存储能为其分配相应的存储单元(变量所占据的存储 单元将在基本数据类型中讲到)单元将在基本数据类型中讲到)v 指定变量类型,一般在编译时检查运算是否合法指定变量类型,一般在编译时检查运算是否合法为什么变为什么变量一定要量一定要命名?命名?C语言中为什语言中为什么要使用不么要使用不同的数据类同的数据类型?型?基本数据类型平分方式平分方式C语言中为什语言中为什么要使用不么要使用不同的数

6、据类同的数据类型?型?基本数据类型根据车的型号划分根据车的型号划分基本数据类型int 型型float 型型char 型型16位位32位位8位位名称名称全称类型说明符全称类型说明符缩写类型说明符缩写类型说明符位数位数范围范围整型整型signed intint16-32768 32767无符号整型无符号整型unsigned intunsigned160 65,535短整型短整型signed short intshort16-32768 32767无符号短整型无符号短整型unsigned short intunsigned short160 65,535长整型长整型signed long intlo

7、ng32-2,147,483,648 2,147,483,647无符号长整型无符号长整型unsigned long intunsigned long320 4,294,967,295整型整型变量的使用初始化:初始化:int abc;abc=100;或或int abc=100;声明:声明:int abc;long int population;unsigned int age;名称名称全称类型说明符全称类型说明符声明方式声明方式整型整型signed intint num;无符号整型无符号整型unsigned intunsigned int num;短整型短整型signed short intsh

8、ort int num;无符号短整型无符号短整型unsigned short intunsigned short int num;长整型长整型signed long intlong int num;无符号长整型无符号长整型unsigned long intunsigned long int num;名称名称全称类型说明符全称类型说明符有效数字有效数字位数位数范围范围浮点型浮点型float67位位16-10-37 1038初始化:初始化:float fPrice = 11.3;或或float fPrice = 65.90;声明:声明:float fPrice;名称名称全称类型说明符全称类型说明符

9、声明方式声明方式浮点型浮点型floatfloat fNum;单精度浮点型名称名称全称类型说明符全称类型说明符有效数字有效数字位数位数范围范围双精度浮点型双精度浮点型double1516位位64-10-307 10308长双精度长双精度long double1819位位128-10-4931 104932初始化:初始化:double dExpenditure=213.5671435568967;或或double dExpenditure;dExpenditure=213.5671435568967;声明:声明:float dExpenditure;名称名称全称类型说明符全称类型说明符声明方式声明

10、方式双精度浮点型双精度浮点型doubledouble dNum;长双精度长双精度long doublelong double dNum;双精度浮点型字符常量字符常量v 存储字符型数据存储字符型数据例如:例如:m,A,?v 表示方法表示方法字符型数据是用单引号(单撇号)括起来的一个字符。字符型数据是用单引号(单撇号)括起来的一个字符。如:如:5,x,#v 字符型的取值范围、分配内存空间字符型的取值范围、分配内存空间v声明声明 char chGender; v初始化初始化 char chGender; chGender = m; 或或 char chGender= m;字符常量名称名称全称类型说明

11、符全称类型说明符取值范围取值范围位数位数声明方式声明方式有符号字符型有符号字符型signed char-127 128 位位8char ch;无符号字符型无符号字符型unsigned char0 255 位位8值值符号符号值值符号符号值值符号符号0空字符空字符44,9132空格空格45-9233!46.933447/9435#48 570 9 95-36$58:9637%59;97 122a z38&6012541)63?12642*64127DEL (Delete键键)43+65 90A Z 符号常量#include void main() int r = 10, h = 20, v; co

12、nst float PI = 3.14; v = PI * r * r * h; printf(圆柱体的体积圆柱体的体积v=%d,v); const常量,常量,如如const float PI = 3.14; const常量有常量有数据类型,编译器可以对前者进行类型安全检查。数据类型,编译器可以对前者进行类型安全检查。 #include void main() int iMessage; printf(请输入短信费用:请输入短信费用:); scanf(%d, &iMessage); printf(“iMessage=%dn, iMessage);请输入短信费用:请输入短信费用:输入/输出函数1

13、0_iMessage=10转义字符转义字符格式说明格式说明转义字符转义字符转义字符是一种特殊的字符常量。转义字符以反斜是一种特殊的字符常量。转义字符以反斜线线开头,后跟一个或几个字符。转义字符具有开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称特定的含义,不同于字符原有的意义,故称“转义转义”字符字符 转义序列转义序列名称名称描述描述a 警告警告产生一则警告。产生一则警告。b 退格退格将光标回退一格。将光标回退一格。f 换页换页将光标移到下一页的第一格。将光标移到下一页的第一格。n 换行换行将光标移到下一行的第一格。将光标移到下一行的第一格。r 回车回车将光标移到当

14、前行的第一格。将光标移到当前行的第一格。t 水平制表水平制表 将光标移到下一个水平制表位置。将光标移到下一个水平制表位置。v 垂直制表垂直制表将光标移到下一个垂直制表位置。将光标移到下一个垂直制表位置。 单引号单引号产生一个单引号。产生一个单引号。 双引号双引号产生一个双引号。产生一个双引号。? 问号问号产生一个问号。产生一个问号。反斜线反斜线产生一条反斜线。产生一条反斜线。0 空空产生一个空字符。产生一个空字符。转义字符输入/输出函数 printf函数printf (number = %d, number); 将一些信息按照指定的格式送到标准输出(显示器)将一些信息按照指定的格式送到标准输出

15、(显示器) 格式描述串:普通字符,原样输出格式描述串:普通字符,原样输出 转换字符串转换字符串说明说明%d将参数按整型形式输出,对应参数应该是将参数按整型形式输出,对应参数应该是intint型型%ld将参数按长整型形式输出,对应参数应是将参数按长整型形式输出,对应参数应是longlong型型%c输出一个字符,对应参数应该是一个字符输出一个字符,对应参数应该是一个字符%f将参数按带小数点形式输出,对应参数应是将参数按带小数点形式输出,对应参数应是floatfloat或或doubledouble型,默认有效数字型,默认有效数字6 6位位按照指定格式输出改变量的值按照指定格式输出改变量的值 prin

16、tf(格式描述串,输出列表)(格式描述串,输出列表) printf函数格式描述串v格式描述串是用双引号括起来的字符串格式描述串是用双引号括起来的字符串 v格式描述符包括两部分:格式描述符包括两部分: 格式说明,由格式说明,由“%”和格式字符组成,如和格式字符组成,如%d 普通字符,即需要原样输出的字符,如普通字符,即需要原样输出的字符,如a= vprintf附加格式说明字符,在附加格式说明字符,在%和格式说明符间插入:和格式说明符间插入:字母字母l:用于长整型整型:用于长整型整型m(代表一个正整数):数据最小宽度(代表一个正整数):数据最小宽度n(代表一个正整数):对实数,表示输出(代表一个正

17、整数):对实数,表示输出n位小数;对字符串,位小数;对字符串,表示截取的字符个数表示截取的字符个数:输出的数字或字符在域内向左靠:输出的数字或字符在域内向左靠 printf函数格式描述串v输出数据时可以规定精度:输出数据时可以规定精度:如:如:printf(10.3f%,x)v格式说明与格式说明与“其他参数其他参数”个数一致个数一致v格式说明和对应参数的类型一致格式说明和对应参数的类型一致#include void main() int salary = 5500; printf ( %d,salary);5500输入/输出函数 printf函数%d 按整型数据的实际长度输出按整型数据的实际长

18、度输出 #include void main() int salary = 5500; printf ( %3d,salary);5500输入/输出函数 printf函数如果数据的位数大于如果数据的位数大于m,按实际位数输出,按实际位数输出%md 按指定长度输出,按指定长度输出,m为指定宽度为指定宽度 #include void main() int salary = 5500; printf ( %10d,salary);_ _ _ _ _ _5500输入/输出函数 printf函数如果数据的位数小于如果数据的位数小于m,则左端补空格,则左端补空格%md 按指定长度输出,按指定长度输出,m为

19、指定宽度为指定宽度 #include void main() float circumference = 9.4786789; printf ( %f , circumference);9.478679 输入/输出函数 printf函数以小数形式输出以小数形式输出 %f 用来输出实数(包括单、双精度),以小数形式输出用来输出实数(包括单、双精度),以小数形式输出 #include void main() double mercury_level = 168.2251074; printf (%7.2f , mercury_level);_ _168.23 输入/输出函数 printf函数m表示

20、所有数字和小数点所占的位数,即数据输出表示所有数字和小数点所占的位数,即数据输出是占是占m m列,列,n表示有几位小数。按要求输出后的数据表示有几位小数。按要求输出后的数据小于小于m列,则数据右对齐,左端补空格。列,则数据右对齐,左端补空格。%m.nf 指定数据输出的宽度及小数点的位数指定数据输出的宽度及小数点的位数#include void main() double mercury_level = 168.2251074; printf (%-7.2f , mercury_level);168.23 _ _ 输入/输出函数 printf函数%-m.nf与与%m.nf基本相同,只是如果数值长

21、基本相同,只是如果数值长度小于度小于m,则数据左对齐,右端补空格。,则数据左对齐,右端补空格。%-m.nf 指定数据输出的宽度及小数点的位数指定数据输出的宽度及小数点的位数scanf (%d, &number);变量的名称变量的名称转换字符串转换字符串参数变量类型参数变量类型要求的实际输入要求的实际输入%dint十进制数字序列十进制数字序列%ldlong十进制数字序列十进制数字序列%cchar字符型数字符型数%ffloat十进制,可以有小数点及小数部分十进制,可以有小数点及小数部分&符号(附在读取的每一个变量上)符号(附在读取的每一个变量上) 用于指明变量用于指明变量scanf(格式字符串,地

22、址列表)(格式字符串,地址列表) 输入/输出函数 scanf函数scanf函数格式描述串v格式描述串是用双引号括起来的字符串格式描述串是用双引号括起来的字符串 v格式说明以格式说明以%开始,以一个格式符结束,中间可以开始,以一个格式符结束,中间可以插入附加的字符。如插入附加的字符。如%3dvscanf附加格式说明字符,在附加格式说明字符,在%和格式说明符间插入:和格式说明符间插入:l:用于输入长整型数据以及:用于输入长整型数据以及double型数据型数据h:用于输入短整型数据:用于输入短整型数据域宽:指定输入数据所占的宽度(列数),域宽应为正整数域宽:指定输入数据所占的宽度(列数),域宽应为正

23、整数* *表示本输入项在读入后不赋给相应的变量表示本输入项在读入后不赋给相应的变量v输入数据时不能规定精度输入数据时不能规定精度v格式描述串后面对应的是变量地址,而不是变量名格式描述串后面对应的是变量地址,而不是变量名_10 由键盘输入数由键盘输入数值值“10” 光标闪烁,要求输光标闪烁,要求输入变量入变量fTaxRate的值的值float fTaxRate;scanf ( %f , &fTaxRate); 输入的值存储输入的值存储在变量在变量fTaxRate中,中,也就是变量也就是变量fTaxRate分配的内存空间中分配的内存空间中_10内存内存申请内存空间申请内存空间 输入/输出函数 sc

24、anf函数内存内存dRadiusdHighdVol10.5 #include void main() double dRadius, dHigh, dVol; printf(“请输入半径和高请输入半径和高: : n); scanf(%lf%lf,&dRadius,&dHigh); dVol = 3.14 * dRadius * dRadius * dHigh; printf(7.2f, %7.2f, %7.2fn,dRadius,dHigh,dVol); scanf函数 printf函数使用实例请输入半径和高请输入半径和高: :10.5 20.510.520.57096.7910.5 20.5

25、 7096.79算术运算符 一元运算符一元运算符一元运算符+-num+num = num + 1num-num = num - 1ij+ numnum = num + 1inum-num = num - 1j算术运算符 二元运算符二元运算符二元运算符 操作数操作数1 操作数操作数2 类型转换自动类型转换是在不同数据类型的量进行混合运算时,编译自动类型转换是在不同数据类型的量进行混合运算时,编译系统将自动完成不同数据类型之间的转换。系统将自动完成不同数据类型之间的转换。 v自动类型转换自动类型转换原则:原则:把表示范围小的类型的值转换到表示范围大的类型把表示范围小的类型的值转换到表示范围大的类型的值。转换顺序为如图所示。的值。转换顺序为如图所示。 shortcharintlongdoublefloat类型转换强制类型转换是使用强制类型转换符,强迫表达式的值转换强制类型转换是使用强制类型转换符,强迫表达式的值转换成某一特定类型。强制类型转换形式为:成某一特定类型。强制类型转换形式为:v强制类型转换强制类型转换强制类型转换最主要的用途之一是满足一些运算对类型的强制类型转换最主要的用途之一是满足一些运算对类型的特殊要求,例如求余运算符特殊要求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论