C语言程序设计-基本数据类型、运算符与输入输出函数.ppt_第1页
C语言程序设计-基本数据类型、运算符与输入输出函数.ppt_第2页
C语言程序设计-基本数据类型、运算符与输入输出函数.ppt_第3页
C语言程序设计-基本数据类型、运算符与输入输出函数.ppt_第4页
C语言程序设计-基本数据类型、运算符与输入输出函数.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

程序设计基础(C语言) 第三章 基本数据类型、运算符与输入 输出函数 本章内容 o 基本数据类型 o C标识符 、常量、变量 o 运算符、表达式和语句 o 输入/输出函数 o 运算符注意点 一、基本数据类型 o double,双精度浮点数 n 64位二进制,格式符%lf o short,短整型 n 16位二进制,格式符%d o unsigned,无符号前缀 n unsigned short,格式符%u n unsigned long,格式符%lu 类型列表 类型位数带符号,signed无符号,unsigned 整/字符8位 char -128127 unsigned char 0-255 整型 16位 short int -3276832767 unsigned short unsigned int unsigned 065535 32位 long -21474836482147483647 unsigned long 04294967295 实型 32位float ( 10-38 1038 ) 64位double ( 10-308 10308 ) 二、常量与变量 o 整型常量 o 实型常量 o 字符常量 o 符号常量 o C标识符 o 变量及初始化 整型常量 o 一般整型(对应int或long) n 十进制:0、123、-456 n 八进制(以0开头):05、-017、0327 n 十六进制(以0x开头):0x132、-0X17f o 长整型(对应long、在数后加l或L) n 98765L、0x12345678L、50000L 实型常量 o 一般形式(必须有小数点) n 45.768、+0.123、-123.0 n .123、123.、0.0、.0、0. o 指数形式(幂指数部分必须为整数) n -3.14e+07(-3.14107) n 1E-5(110-5) o 对应double类型 o 不支持8或16进制的实型数 字符常量 o转义字符:开始的字符,Page74 n n表示换行,t表示TAB,等等 n x41表示ASCII码为十六进制41的字符 n 101表示ASCII码为八进制101的字符 字符的等价 o char x; nx = A; nx = x41; nx = 101; nx = 65; nx = 0x41; nx = 0101; o 字符串等价 nprintf( “ABC” ); nprintf( “x41BC” ); nprintf( “101BC” ); 符号常量预定义 o #define预定义,符号替换 o 定义符号 NUM 为 (998+2),预编译时符号替换 #define NUM (998+2) main() int x; x = 2*NUM; printf(“%d”,x); o 如果NUM定义中不加括号呢? C标识符 o 变量名、函数名、类型名、符号常量名 o 第一个字符为字母或下划线 o 后续字符为字母、下划线或数字 o 变量的定义及初始化 n int a; float x1 = 2.5,y,z=-3.1; n 变量定义必须在执行语句前 三、运算符、表达式和语句 o 算术运算符 o 赋值运算符 o 关系运算符 o 逻辑运算符 o 条件运算符 o 逗号运算符 o 指针运算符 osizeof运算符 o 运算符优先级 o 强制类型转换 o 表达式和语句 算术运算符 o 加(+)、减(-)、乘(*)、除(/) o 取余(%) 、取负(-) o 自增(+)、自减(-) n b = (+a)*5; n 等价于 a=a+1; b=a*5; n b = (a+)*5; n 等价于 b=a*5; a=a+1; 赋值运算符 o基本赋值运算符(=) n 如a = 3、x = x + 2等 o复合的赋值运算符 n x+=2;等价于 x=x+2; n x*=2+3; 等价于 x=x*(2+3); o右结合 n a=b/=3;即a=(b/=3);或b=b/3;a=b; 条件运算符 o 形式:条件表达式 ? 表达式1 : 表达式2 o 如果条件表达式的逻辑结果为真,则表达 式1为运算结果,否则表达式2为运算结果 o 例:max = (ab)?a:b; n 若 条件 (ab) 成立,则 赋值 max=a n 否则 赋值 max=b o 即:if (ab) max=a; else max=b; o 右结合运算符 类型转换 o 自动转换: n 两个操作数先转换到较高级别数 n char int long n n float double o 强制类型转换:(类型名)操作数 o 类型转换举例 n (int)5.5/(float)2 逗号运算符 o 逗号:作用相当于分号,语法上为运算符 o 形式:表达式1,表达式2 o 表达式2的结果为运算结果 o 例:x=(15,25); n 等价于 x=25; o 例:x=(y=10,z=y+20) n 等价于 y=10; z=y+20; x=z; 优先级 o 运算符的优先级(见附录III, Page290) n 括号 n 单目运算符自右至左 n 乘法、除法、取余 n 加减 n 关系运算 n 逻辑运算 n 条件运算自右至左 n 赋值运算自右至左 n 逗号运算 表达式和语句 o 表达式 n 单个量,如:2、x。 n 运算符,如:2+3、x=y。 n 函数调用,如:sin(x)、x+cos(y) o 表达式语句:表达式 + “;” n 赋值运算符,如:x=y+1; n 函数调用,如:printf(“%d”, sum); o 复杂形式,分析 n x *= (a=b+=3)=6 ? c+ : -d; x *= (a=b+=3)=6 ? c+ : -d; ob=b+3; oa=b; oif ( a=6 ) o o x=x*c; o c=c+1; o oelse o o d=d-1; o x=x*d; o 四、输入输出函数 o 格式字符 o 格式输出函数 o 格式输入函数 o 字符输入输出函数 基本格式符 整型int%d, %x, %o, %u 长整型long%ld, %lx, %lo, %lu 单精度float%f, %e, %g 双精度double%lf, %le, %lg 字符char%c 字符串char char * %s 整数格式示例 int%3d%03d%-3d%X%o%u 272702727 1B3327 -6-6-06-6FFF12341234123412344D223221234 宽度前导0左对齐16进制8进制无符号 浮点数格式示例 float%5.2f%f%e%g 345.678345.68 345.67800 9 3.45678e+02345.678 0.00003450.000.0000353.45000e-053.45e-05 总长 5,小 数2 小数6指数形式优化 注意点:字符运算字母 o 字母A的下一个字母是:B n A+ 1 o 字母E与字母A之间隔了几个字母:4 n E-A o 字母E对应的小写字母:e n E-A+a n E+ 32 注意点:字符运算数字 o 字符5与字符0之间隔了几个字符 n 5-0 n 从字符5到数字5 o 字符0后的第6个字符是哪一个数字字符 n 0+ 6 n 从数字6到字符6 注意点:关系运算 o 设定义 int a=4,b=8;求表达式的值 a!=b a=b a=(b-5) a=(b-5) aa3即 (ba) 3 1, 8, 0, 1, 1, 0 是非问题繁杂判定(1) o 整数a,b,c,d是否互不相等 n a!=b b=n/10%10; n c=n/100%10; n d=n/1000%10; n a=b | a=c | a=d | b=c | b=d | c=d 是非问题繁杂判定(2) o d是a,b,c,d中第二大的整数 n (ad n if ( bd ) k+; n if ( cd ) k+; n if ( k=1 ) 应用:闰年判断 o 设int y;为年份 o 闰年判断 n 2008/2000闰年,2009/1900不是闰年 n y%4=0 & y%100!=0 | y%400=0 o 2月分的天数 n 28 + (y%4=0 & y%100!=0 | y%40

温馨提示

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

评论

0/150

提交评论