版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章变量和数据类型回顾程序是为执行一项任务而编写的有序指令集算法是解决问题的具体方法和步骤流程图是算法的图形化表现形式C语言的特点C程序的编译和运行过程编译器将源程序转换成机器能理解的程序连接器用于连接相关的目标文件以生成可执行程序目标理解变量和常量的含义熟悉基本数据类型 - int、char、float 和 double使用算术运算符理解类型转换熟练使用 scanf() 和 printf() 函数熟练使用 getchar() 和 putchar() 函数本章结构简介变量和数据类型类型转换符号常量基本数据类型输入输出函数算术运算符接收并显示字符预备知识计算机中数的表示及进制转换数码、基与权数
2、码:表示数的符号基:数码的个数权:每一位所具有的值数制各种进制之间的转换二进制、八进制、十六进制转换成十进制方法:按权相加各种进制之间的转换(整数)二进制、八进制、十六进制转换成十进制方法:按权相加十进制转换成二进制、八进制、十六进制原理:方法:连续除以基,从低到高记录余数,直至商为0例 把十进制数59转换成二进制数5922921427232120(59)10=(111011)21101111 1 1 0 1 1余余余余余余例 把十进制数159转换成八进制数1598198280(159)10=(237)82 3 7 余 7余 3余 2例 把十进制数459转换成十六进制数459162816116
3、0(459)10=(1CB)161 C B 余11余12余 1字节和位内存以字节为单元组成每个字节有一个地址一个字节一般由8个二进制位组成每个二进位的值是0或101234567012345678910.012345数值的表示方法原码、反码和补码原码:最高位为符号位,其余各位为数值本身的绝对值反码:正数:反码与原码相同负数:符号位为1,其余位对原码取反补码:正数:原码、反码、补码相同负数:最高位为1,其余位为原码取反,再对整个数加1原码反码补码+7000001110000011100000111-7100001111111100011111001+000000000000000000000000
4、0-0100000001111111100000000数的范围0111111111111111(-127+127)0111111110000000(-127+127)0111111110000000(-128+127)(用一字节表示数)负数补码转换成十进制数:最高位不动,其余位取反加1例 补码:11111001 取反:10000110 加1: 10000111=-7一般用大写字母是宏定义预处理命令,不是C语句直接常量:整型常量 实型常量 字符常量 字符串常量如 #define PRICE 30常量定义:程序运行时其值不能改变的量(即常数)分类:符号常量:用标识符代表常量定义格式: #defin
5、e 符号常量 常量整型常量(整常数)三种形式:十进制整数:由数字09和正负号表示.如 123,-456,0八进制整数:由数字0开头,后跟数字07表示.如0123,011十六进制整数:由0 x开头,后跟09,af,AF表示. 如0 x123,0Xff例 12 与 12L例 30000 为int型 65536 为long int 型整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L,认为它是long int 型常量问题:0123 = ( )100 x123 = ( )100Xff = ( )1083291255问题:0123 = ( )100 x123 = ( )100Xff =
6、( )10实型常量(实数或浮点数)表示形式:十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123.指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 实型常量的类型默认double型在实型常量后加字母f或F,认为它是float 型字符常量定义:用单引号括起来的单个普通字符或转义字符. 字符常量的值:该字符的ASCII码值转义字符及其含义:转义字符含义nvradddtbf“xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代
7、表的字符如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65如 A65, a97, 048 , n10如 a A ? n 101转义字符:反斜线后面跟一个字符或一个代码值表示例 转义字符举例 main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C);运行结果:(屏幕显示)A B CIsay:”How are you?”C ProgramTurbo C例 main() printf(“Yb=n”); 运行结果:屏
8、幕显示:=打印机输出:2.2 整型* 分析整型变量的溢出1:下面的程序用单步运行,观察变量的数据变化. main( ) int x; x=32767; /* */ printf(%d,%u , x , x); /* 输出 32767 , 32767 */ x=x+1; /* */ printf(%d,%u , x , x); /*输出 32768 , 32768*/ 0111 1111 1111 11111000 0000 0000 00002.2.2 单精度浮点型 float 在 C 语言中用于存储单精度浮点数float32 位10-38 至 10+38 ,7位有效数字声明:float se
9、lling_price;初始化:float selling_price = 11.3;selling_price = 65.90;2.2.2 双精度浮点型内存floatdouble64位取值范围:10-308 至 1030816 位有效数字声明:double pressure_level; 初始化:pressure_level = 213.5671435568967; double dvalue = 35.4; 在线保险单年龄:_保险总额:_性别:_2.2.4 字符型2398340 M 数值型字符型int/floatchar2.2.4 字符型 5 p $ 有效的字符型值2 2 正确2 + 2
10、= 4 X2.2.2 字符型char占 8 位内存signed或 unsignedSigned-128 至 +127 unsigned 0 至 255 示例:char gender;gender=m;char gender=m;例 /*ch3_003.c*/ #define PRICE 12.5 main() int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+a; printf(“total=%f,ch1=%cn”,total,ch1); 宏定义变量定义输出结果运行结果:total=37.500000, ch1
11、=d输入/输出函数 (printf/scanf) 用于接受和显示数据或信息#include void main()int num;printf(请输入一个数:);scanf(%d,&num);printf( n%d 的平方为 %d n,num,num*num);2.4 输入/输出函数转换字符串转义序列2.4.1 printf 函数int salary = 5500;printf ( %10d , salary);输出结果: 5500输出结果的左边显示了 6 个空格 %10d 2.4.1 printf 函数float circumference = 78.53;printf ( %f , cir
12、cumference);输出结果:78.530000默认情况下精确到六位小数9.4786789; 9.4786792.4.1 printf 函数double mercury_level = 168.2251074;printf (%7.2f , mercury_level);输出结果: 168.23宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。 %7.2f 精度(精确到小数点后多少位)2.4.1 转义序列输出结果:Name: Audrey HepburnMovie: Roman Holiday代码:printf(“Name: Audrey Hepburn n Movie: Roman
13、 Holiday”);转义序列允许在输出结果中包括特殊字符scanf(%d,&num);2.4.2 scanf 函数scanf 函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据赋给指定的程序变量。 转换字符串&符号(附在读取的每个变量上)用于指明变量在内存中的位置变量的名称内存2.4.2 scanffloat tax_rate;scanf ( %f , &tax_rate);tax_rate在内存中分配一块 32 位存储空间存储空间使用名称“tax_rate”标识提示用户输入一个值输入的值存储在变量中(因为 scanf 提供此变量的地址)12.23
14、42.5 接受并显示字符字符型变量getchar()字符型数据字符型数据putchar()2.5.1 getchar() 函数char variablename;variablename = functionname;getchar()语法:例如:char c;c=getchar();#include void main() char a,b; printf( 请输入两个字符:n); a=getchar(); fflush(stdin); b=getchar(); fflush(stdin); putchar(a); putchar(b); putchar(n);getchar()和putch
15、ar()示例内存abOK输出:请输入两个字符:OKOKPress any key to continue_2.6 算术运算符算术 一元 二元操作数操作数运算符二元运算符+-*/%2.6.1 一元算术运算符算术一元-+num+num=num+1num-num=num-1+num-numnum+num-前缀后缀二元#include void main() int a = 5, b = 3, c = 25, d = 12; float qu; int re,in,de; /* 使用算术运算符 */ qu = a / b; / 除法 re = a % b; / 求模 in = +c; de = -d;
16、 printf (商为 %fn,qu); printf (余数为 %dn,re); printf (“加 1 后为 %dn,in); printf (减 1 后为 %dn,de);2.6.1 算术运算符示例输出:商为 1.000000余数为 2加 1 后为 26减 1 后为 11隐式转换什么情况下发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型2.7 类型转换doublefloatlongunsignedintchar,short低高说明
17、:必定的转换运算对象类型不同时转换例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例 int i; float f; double d; long l;显式转换(强制转换)一般形式:(类型名)(表达式)例 (int)(x+y) (int)x+y (double)(3/2) (int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变 例 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 结果:x=3.600000,i=3精度损失问题较高类型向较低类型转换时可能发生总结 2-1常量是在程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届湖北省孝感市孝南区十校联谊重点中学中考数学试题二模试题及参考答案含解析
- 2025-2026学年天津市宁河县芦台五中重点名校初三下5月调研考试物理试题试卷含解析
- 临床饮食照护科学实施与实践策略
- 2026年大学大一(家具设计)家具创新设计基础测试题及答案
- 护理工作中的职业素养
- HR常问规划问题
- 2025年前台服务保险箱操作检测试卷
- 2025年前台防疫接待礼仪培训资料
- 护理文件书写的沟通与协作
- 护理人文关怀课程教学策略
- 断桥铝合金门窗施工方案
- GB/T 6003.1-2022试验筛技术要求和检验第1部分:金属丝编织网试验筛
- YY/T 1269-2015血液透析和相关治疗用水处理设备常规控制要求
- GB/T 9410-2008移动通信天线通用技术规范
- 2023年江苏农林职业技术学院高职单招(数学)试题库含答案解析
- 有机电致发光器件简介(课堂PPT)
- 哈铁单招考试数学试题
- 大学生常见的心理障碍心理疾病和心理调适培训课件
- 配电室监测运维系统技术方案
- 《汉字的演变》-完整版PPT
- 春季校园传染病预防知识主题班会精编ppt
评论
0/150
提交评论