第二章变量和数据类型

上传人:仙*** 文档编号:170980976 上传时间:2022-11-23 格式:PPT 页数:45 大小:2.56MB
返回 下载 相关 举报
第二章变量和数据类型_第1页
第1页 / 共45页
第二章变量和数据类型_第2页
第2页 / 共45页
第二章变量和数据类型_第3页
第3页 / 共45页
点击查看更多>>
资源描述
第第1章内容回顾章内容回顾程序是为执行一项任务而编写的有序指令集算法是解决问题的具体方法和步骤流程图是算法的图形化表现形式C程序的编译和运行过程编译器将源程序转换成机器能理解的程序连接器用于连接相关的目标文件以生成可执行程序第2章变量和数据类型变量和数据类型预习检查预习检查在printf函数中%d打印什么类型的数据,%f呢?double型该用什么打印?那么,如果真的想打印“%d”,该怎么办?2+2=?如何打印一个浮点数的整数部分我想把%运算符用于浮点数,但程序无法通过编译。该怎么办?本章目标本章目标若a=3,h=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=a,c2=b。想得到以下的输出格式和结果,请写出程序,包括定义变量类型和设计输出。要求输出的结果如下:编写程序,用getchar函数读入两个字符给c1与c2,然后分别用putchar()函数和printf()函数输出这两个字符,并思考以下问题:(1)变量C1、C2应定义为字符型或整型?还是两者皆可?(2)、要求输出C1、C2的值ASCII码,应如何处理?用putchar()函数还是printf()函数?要求掌握:1.字符变量的范围与整数的范围掌握2.putchar()与printf()的用法3.什么是字符的ASCII码值本章结构本章结构简介变量和数据类型变量和数据类型类型转换符号常量基本数据类型输入输出函数算术运算符接收并显示字符程序程序指令指令C语言中的基本元素之总体语言中的基本元素之总体量量标识符标识符关键字关键字运算符运算符分隔符分隔符等等C语言中的基本元素之量语言中的基本元素之量变量:是指没有固定的值,可以改变的数。变量用于开放句子,表示尚未清楚的值(即变数),或一个可代入的值变量能够作为某特定种类的值中任何一个的保留器。变量通常用一个英文字母表示常量:是指在程序运行过程中其值不能改变的量。常量分为直接常量和符号常量。一旦确定以后是不能改的例如,计算圆面积的例如,计算圆面积的 C 语句:语句:S3.14159*r*r;中的中的 S 和和 r 都是变量,其中,都是变量,其中,r 可以有不同的值,可以有不同的值,S 的值因的值因 r 的值不的值不同而不同。同而不同。3.14159是常量是常量C语言中的基本元素之定义与声明变量语言中的基本元素之定义与声明变量定义与声明变量:数据类型数据类型 变量名变量名;变量的命名规则:变量名可以由字母、数字和_(下划线)组合而成变量名不能包含除_以外的任何特殊字符,如:%、#、逗号、空格等变量名必须以字母或_(下划线)开头变量名不能包含空白字符(换行符、空格和制表符称为空白字符)C语言中的某些词(例如int和float等)称为保留字,具有特殊意义,不能用作变量名C语言区分大小写,因此变量price与变量PRICE是两个不同的变量数据类型数据类型 整型字符型单精度型双精度型实型(浮点型)枚举类型基本类型数组类型结构体类型共用体类型构造类型指针类型空类型数据类型基本数据类型之整型基本数据类型之整型名称全称类型说明符缩写类型说明符位数范围整型intint32-231至+231-1无符号整型unsignedintunsigned320至232-1短整型shortintshort16-32768至+32767无符号短整型unsignedshortintunsignedshort160至65,535长整型longintlong32-2,147,483,648至2,147,483,647无符号长整型unsignedlongintunsignedlong320至4,294,967,295仅限于仅限于32位机!位机!基本数据类型之整型基本数据类型之整型定义:int page_number;long int population;unsigned int age;在同一语句中可以声明多个类型相同的变量:int page_number,copies=0,paper_width;C语言中的基本元素之改变变量语言中的基本元素之改变变量初始化:定义时初始化变量int before=1;定义后初始化变量Int middle;middle=0 x4591;通过运算赋值int programmer=1;programmer=(left+right)/2;格式化输入格式化输入scanfintscanf(constchar*format,.);是格式化输入函数,它从标准输入设备(键盘)读取输入的信息。例:使用例:使用scanf函数输入数据。函数输入数据。#include int main()int a,b,c;scanf(%d%d%d,&a,&b,&c);return 0;scanf(%d,&num);格式化输入格式化输入/输出函数之输出函数之scanfscanf函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据赋给指定的程序变量。转换字符串&符号(附在读取的每个变量上)用于指明变量在内存中的位置变量的名称转换字符串转换字符串参数变量的类型参数变量的类型要求的实际输入要求的实际输入%dint十进制数字序列%ldlong十进制数字序列%ffloat十进制数,可以有小数点及指数部分%lfdouble十进制数,可以有小数点及指数部分格式化输出格式化输出printfint printf(const char*format,argument);通过标准输出设备输出一组数据。例:使用例:使用scanf函数输入数据。函数输入数据。#include int main()int a,b,c;printf(“请输入三个整数:请输入三个整数:”);scanf(%d%d%d,&a,&b,&c);printf(“a=%d,b=%d,c=%dn”,a,b,c);return 0;格式化输入格式化输入/输出函数之输出函数之printfint visitor_count=150;printf(%d,visitor_count);printf将一些信息按照指定的格式送到标准输出(显示器)%d visitor_count将按指定的格式显示该变量的值转换字符串转换字符串说说 明明%d将参数按整数形式转换输出,对应参数应是int类型%ld将参数按长整数形式转换输出,对应参数应是long类型%c输出一个字符,对应参数应该是一个字符%s输出一个字符串,对应参数应该是一个字符串%f将参数按带小数点数形式输出,对应参数应是double类型,默认情况下精确到6位小数输入/输出函数(printf/scanf)用于接受和显示数据或信息#includeintmain()intnum;printf(请输入一个数:);scanf(%d,&num);printf(n%d的平方为%dn,num,num*num);格式化输入格式化输入scanf转换字符串转义序列格式化输入格式化输入/输出函数之输出函数之printfint visitor_count=150;printf(%d,visitor_count);输出结果:150格式化输入格式化输入/输出函数之输出函数之printfint salary=5500;printf(%10d,salary);输出结果:5500输出结果的左边显示了 6 个空格%10d 基本数据类型之浮点型基本数据类型之浮点型单精度浮点数:float(4)双精度浮点数:double(8)7位有效数字,小数点默认6位16位有效数字,小数点默认6位定义:float selling_price;doublepressure_level;基本数据类型之浮点型基本数据类型之浮点型初始化:定义时初始化变量 float before=1f;doublepressure_level=6.98;定义后初始化变量doublepressure_level;pressure_level=7.888;通过运算赋值Float programmer=1;programmer=(left+right)/2.0;内存格式化输入格式化输入/输出函数之输出函数之scanffloat tax_rate;scanf(%f,&tax_rate);tax_rate 在内存中分配一块32位存储空间 存储空间使用名称“tax_rate”标识 提示用户输入一个值 输入的值存储在变量中(因为scanf提供此变量的地址)12.234一旦确定以后是不能改的一旦确定以后是不能改的格式化输入格式化输入/输出函数之输出函数之printffloat circumference=78.53;printf(%f,circumference);输出结果:78.530000默认情况下精确到六位小数9.4786789;格式化输入格式化输入/输出函数之输出函数之printfdouble mercury_level=168.2251074;printf(%7.2f,mercury_level);输出结果:168.23宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。%7.2f 精度(精确到小数点后多少位)格式化输入格式化输入/输出函数之输出函数之printffloat circumference=78.53;printf(%f,circumference);输出结果:78.530000默认情况下精确到六位小数9.4786789;格式化输入格式化输入/输出函数之输出函数之printfdouble mercury_level=168.2251074;printf(%7.2f,mercury_level);输出结果:168.23宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。%7.2f 精度(精确到小数点后多少位)字符型字符型l 字符变量是用来存放字符常量的,一个字符变量中只能存放一个字符.l占用1个字节。l系统并不是将字符本身的形状存入内存,而只是将字符的ASCII码存入内存l字符类型看作一种特别短的整数类型。允许参与算术运算l分为:有符号字符型:signedchar,-128127无符号字符型:unsignedchar,0-255例如:charc=A;/字符A的ASCII代码为65c=c+2;/65+2=67字符C的ASCII码基本数据类型之字符型基本数据类型之字符型 5 p$2 2 2+2=4 值符号值符号值符号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 基本数据类型之字符基本数据类型之字符初始化:定义时初始化变量 char c=a;Charch=65;定义后初始化变量Charch;Ch=a;Ch=65;通过运算赋值char ch=a;ch=ch+2;内存格式化输入格式化输入/输出函数之输出函数之scanfChar ch1;Char ch2;scanf(%c%c,&ch1,&ch2);ch1ch2格式化输入格式化输入/输出函数之输出函数之printfchar ch1=65;Char ch2=Aprintf(ch1=%c,ch2=%c,ch1,ch2);输出结果:ch1=A,ch2=A基本数据类型之字符型基本数据类型之字符型 那么,怎么判断得到的字符是不是一个小写字母?接下来,怎么知道他是26个字母中的第几个字母,他下一个字母又是什么?最终,怎么得到这个字母的大写字母呢?于是a+5,a+5与a+5的区别。常量的特点:1.在程序中保持不变2.在程序中,常量可以不经说明而直接使用常量的分类:1.直接常量:对应数据类型的常量整形常量:12U、0L、-3实型常量:4.6F、-1.23字符常量:a、b等字符串常量“Hello!”2.标识符:用来标识变量名、符号常量名、函数名、数组名、文件名的有效字符序列。有时常量定义成宏的形式:#define标识符常量C语言中的基本元素之常量语言中的基本元素之常量整型常量整型常量整型常量:1.十进制表示:除表示整数0外,不以0开头(以0开头的数字串会被解释成八进制数)。负数在前面加负号-,后缀l或L表示长整型,u或U表示无符号数。例:345316840-23456459L356l56789u567LU2.八进制表示:以数字0开头的一个连续数字序列,序列中只能有0-7这八个数字。例:045-07606745l0177777u3.十六进制表示:以0X或0 x开头的连续数字和字母序列,序列中只能有0-9、A-F和a-f这些数字和字母,字母a、b、c、d、e、f分别对应数字10、11、12、13、14、15,大小写均可。例:0 x100X2550 xd4ef0X6a7bL实型常量实型常量实型常量有两种表示形式:实型常量有两种表示形式:1.小数形式。由数字和小数点组成,必须有小数点。例:4.23、0.15、.56、78.、0.02.指数形式:以幂的形式表示,以字母e或E后跟一个以10为底的幂数。(1)字母e或E之前必须要有数字。(2)字母e或E后面的指数必须为整数,字母e或E的前后及数字之间不得有空格。默认是double型,后缀为“f”或“F”即表示该数为float型,后缀“l”或“L”表示longdouble型。例:2.3e5500e-2.5E34.5e034.2f.5F12.56L2.5E3L字符常量字符常量字符常量是用单引号()括起来的一个字符。对于字符来说,x和X是两个不同的字符。字符可以是字符集中任意字符。如A、x、D、?、3、X等都是字符常量。l特殊的字符常量特殊的字符常量转义字符是一种特殊的字符常量。转义字符以反斜线开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符转义字符转义字符输出结果:Name:Audrey HepburnMovie:Roman Holiday代码:printf(“Name:Audrey Hepburn n Movie:Roman Holiday”);转义序列允许在输出结果中包括特殊字符转义序列转义序列名称名称描述描述a 警告产生一则警告。b 退格将光标回退一格。f 换页将光标移到下一页的第一格。n 换行将光标移到下一行的第一格。r 回车将光标移到当前行的第一格。t 水平制表 将光标移到下一个水平制表位置。v 垂直制表将光标移到下一个垂直制表位置。单引号产生一个单引号。双引号产生一个双引号。?问号产生一个问号。反斜线产生一条反斜线。0 空产生一个空字符。字符输入输出函数字符输入输出函数字符型变量字符型数据字符型数据字符输入输出函数之字符输入输出函数之getchar()char variablename;variablename=functionname;语法:例如:charc;fflush(stdin);c=getchar();#includeintmain()chara,b;printf(请输入两个字符:n);fflush(stdin);a=getchar();fflush(stdin);b=getchar();putchar(a);putchar(b);putchar(n);字符输入输出函数之示例字符输入输出函数之示例内存内存abOK输出:请输入两个字符:OKOK类型转换类型转换自动类型转换原则:把表示范围小的类型的值转换到表示范围大的类型的值强制类型转换语法:(类型名)变量或数值强制类型转换运算符强制类型转换运算符自动类型转换自动类型转换如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。具体规定如下:具体规定如下:1.实型赋予整型,舍去小数部分。2.整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分,小数部分值为0。3.字符型赋予整型,由于字符型为一个字节,而整型为4个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符量。原则:把表示范围小的类型的值转换到表示范围大的类型的值shortintlongfloatdouble强制类型转换运算符强制类型转换运算符强制类型转换:强制类型转换:形式:(类型名)操作数说明:1.强制类型转换不会改变操作数自身的类型,只是得到一个所需类型的中间量2.多用于自动类型转换不能实现的目的3.强制类型转换后,会影响C语言做类型检查举例:int a=5,b=2;float c=(float)a/b;本章总结本章总结常量是在程序中不能被更改的值;而变量在程序中可以被更改的,通过变量可以引用存储在内存中的数据C语言中的基本数据类型包括整型、单精度浮点型、双精度浮点型和字符型整型分为短整型、整型、长整型,每种整型又可分为有符号型和无符号型本章总结本章总结单精度浮点型和双精度浮点型变量可以存储实数,但双精度型取值范围要比单精度型大的多字符型变量可以存储单个字符,其值是该字符的ASCII码printf()和scanf()函数属于格式输入输出函数getchar()和putchar()函数用来输入输出单个字符的函数
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!