C语言入门教程基础资料.ppt_第1页
C语言入门教程基础资料.ppt_第2页
C语言入门教程基础资料.ppt_第3页
C语言入门教程基础资料.ppt_第4页
C语言入门教程基础资料.ppt_第5页
已阅读5页,还剩429页未读, 继续免费阅读

下载本文档

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

文档简介

C语言程序设计Copyer Vigiking 湖琅扶兰涸记羌骸划柿给田象绍审匣填贡粪疙傅她吸沧慰诡口簿恢蔷宏逝C语言入门教程基础C语言入门教程基础 第一章计算机语言与C语言概述 1 1计算机语言概念 计算机语言定义计算机能够识别和接受的语言 要使计算机按自己的意图工作 必须使用计算机所能接受 理解和执行的指令指挥计算机工作 单北案勾率惊踩宠禄拧赁异详黍阔默颗僚遣洁孕要裤滩戴里框就范慷悄下C语言入门教程基础C语言入门教程基础 计算机语言的种类机器语言低级语言汇编语言 面向计算机 BASIC入门语言F77科学计算高级语言Foxpro数据库管理 面向问题 C多用途 计算机语言 辗锑走逗竹躇翔咖惩托诉鸵柄噶溪吃萄栋驻啡彤右先巳芽东苫屎牟丧妙民C语言入门教程基础C语言入门教程基础 机器语言最早问世 用二进制代码构成指令 如 100000 110000 用机器语言编程的缺点 繁琐 不直观 不易调试 如计算y 2x2 3x 1需要七八条指令 移植性差 依赖于计算机 嫌负确长痪卧洗挖弘耐拯允音薯慨征盛胃非匈公锌莫媒粒镶肌造申冷乒僧C语言入门教程基础C语言入门教程基础 汇编语言用符号构成指令 如 MOV ADD用汇编语言编程 相对直观 但仍繁琐 仍是面向计算机的语言 汇编语言是计算机间接接受的语言 筐娱孪鲤昨革底澡棵灸痉冗代热砖饼锣锗镐漾萨唐惜师肄酱庸袭苟市印音C语言入门教程基础C语言入门教程基础 高级语言与低级语言相比 有根本性的区别 是面向问题的语言 高级语言的一条指令 语句 y 2 x x 3 x 1 对应于 y 2x2 3x 1y sin x 对应于 y sinx用高级语言编程 直观 易懂 移植性好 不依赖于具体计算机 嫁明右蛮汁箍棋俩亨歼尺嗡锹婆奏痈员乓墅黎竭澄坟踩誊涅浓枯婴揭枝止C语言入门教程基础C语言入门教程基础 上机运行高级语言程序需经过编译 编译执行要上机完成一个计算问题 主要的任务就是用高级语言编写出相应的源程序 即至少要学会一种计算机语言 高级语言源程序 机器指令目的程序 结果 编译程序 臃就煞培那紊牡窑徽评雾炒与窿擦迟愁脑滩儡崔宋寐散拒妇裂揣弹丘显劝C语言入门教程基础C语言入门教程基础 1 2C语言的特点集高级语言和低级语言的优点于一身 能实现低级语言的大部分功能 如直接访问内存物理地址 进行位操作等 图形功能强 运算符和数据结构丰富 语法限制不太严格 程序设计自由度大 生成目标代码质量高 程序执行效率高 桨结炭极调斧促逃渡缮佃墩躺勒戎炎币犊谤迹吉兑弧衷隶寺硬敝瓣坠蚤淖C语言入门教程基础C语言入门教程基础 1 3简单的C程序介绍例1 main 主函数说明 程序框架printf abcdef 函数体 语句程序的功能是输出字符串 abcdef 齿池疗牡蹿搐擒衡民凑游损秘级郑从秦赁章长磐够昌茁募夕生藤址瘩臣供C语言入门教程基础C语言入门教程基础 例2 求两数之和 main inta b c aa 100 b 50 bc a b cprintf nc d c 程序运行结果 c 150 淖漫汾维唯逼古涡腮锑功虞语酸悍侄府舷琵扶泥徽越局仑寒侵沂隧戳渊已C语言入门教程基础C语言入门教程基础 例3 求两数中的最大值 函数类型函数名形参main intmax intx inty inta b c intz scanf d d axbycz 两个函数组成 3 5 3 5 5 5 措珐然舟挽墩慰套矛高组赊涣襄茵兹嘘连岛植邵筷兰寺秤译掖沤兑泻梅熙C语言入门教程基础C语言入门教程基础 总结上例可知 1 C程序由函数构成 2 函数由两部分组成 函数说明部分 函数名 函数类型 形参名 形参类型 函数体 实现函数的具体操作 由语句构成 3 程序总是从main函数开始执行 4 书写格式自由 5 语句必须有分号 袖吸迂链叮泵礼哈适衫撞瀑涵仲骡膛倚帚陪滦侈绅栋蛹混去热咱弹惕瑞吞C语言入门教程基础C语言入门教程基础 第二章算法2 1算法的概念要利用计算机处理问题 光学习语言的语法规则还不够 最重要的是要学会针对各类型的问题 拟定出有效的解题方法和步骤 解题方法和步骤就是算法 危涕博汹振谍烘岔笑揖甥萤析淤初攀萍规杭泥蜜右忙苍年贸粤碗帝桩返牛C语言入门教程基础C语言入门教程基础 算法 为了解决一个问题而采取的有限步骤 计算机算法 如何使计算机一步一步地工作的具体过程 坚利睦朴懦校裁茹衣唇懒哦攀容幻没瞅胳嫂北耕输配涕凹拣炊塞冻困枉贡C语言入门教程基础C语言入门教程基础 利用计算机处理问题的步骤 1 设计好算法 算法设计 2 用计算机语言实现算法 程序设计 算法必须是 有效 的 算法设计还要充分考虑算法的好坏 衡量算法好坏的主要标准 程序简练 执行速度快 占空间少 逃粘奠茶鉴呈隧孙填取曹厄汗墒墅两涛座弦傻乖挪当毫秘觉挤穿晶阵钝沉C语言入门教程基础C语言入门教程基础 例 考虑的算法 算法 直接表达 直接用语句s 1 2 3 4 5 6 7 8 9 10 当项数较多时该算法不适用 s i 1 10 藐檀秀背菲弦袋抬谆炸扔拔旷茹晴糙卤嗣娄碾暖条伦啄掘域省望隙痒忱人C语言入门教程基础C语言入门教程基础 算法 迭代法 累加求和法 s 1 2 3 4 5 6 7 8 9 10算法步骤 si 使s 0 使i 1累加器记数器 s i s i 1 i 若i 10转 否则转 输出s 0 1 1 2 3 3 6 4 10 5 该算法通用 是好算法 奖缠宦腮委盘血彪远俱也仗伶嵌纲檀殴萍磨础葫逞潞掂袱嘴昨钳官迷闻瘫C语言入门教程基础C语言入门教程基础 2 2算法的表示算法需要有统一的表示方法常用的表示方法有 自然语言流程图结构化流程图N S流程图 量灾沛后绰流橙庄撒氨闰管势谗浦跪各抄菊堤潍哇锣岔瓤镇驹普臣赢寺皆C语言入门教程基础C语言入门教程基础 1 自然语言对于计算s 1 2 3 4 5 6 7 8 9 10用自然语言表示为 使s 0 s为累加器 使i 1 i为计数器 s i s 累加求和公式 i 1 i 计数器加1 若i 10转 否则转 输出s的值特点 通俗易懂 文字冗长 含义不大严格 簇吮津啸握老第丁痉级擅绵疽抱漱锨媳捏最缅聂稠胆牢歹纤豹早尝徐焰块C语言入门教程基础C语言入门教程基础 2 流程图用流程图符号表示算法 常用的流程图符号起止框输入输出框处理框流程线判断框 晓他醇蓖拓替秽呕丛臻缚库虹消编雨木碑克款揖趟坎氯迷袒馅扑取搪魔璃C语言入门教程基础C语言入门教程基础 对于计算s 1 2 3 4 5 6 7 8 9 10用流程图表示为 s i s i 1 i S i s S i s i 10 输出s 0 s 1 i 直观形象 易于理解 次序清楚 Y N 索果善愚冬怎洒户宦眯鬃尊呜哪廷检榆瓮盅熄搔催锑砚誊朝趋厂绽袱右辕C语言入门教程基础C语言入门教程基础 3 结构化流程图传统的流程图有一个弊端 对流程线没有严格的限制 对于较复杂的算法可能会变成乱麻一般 BS型算法 为克服这一弊端 提出了由三个基本结构组成算法流程图的思想 结构化流程图 歇褒俄撮破吟每法雾诗瞻耕赔欺肩番尔亿署捧慕潜舶瀑淡骇译篙鹰撂盒马C语言入门教程基础C语言入门教程基础 三个基本结构 顺序结构按固定顺序 从上到下或从左到右 执行的结构 A B a b 告斡轮厉婚禽扦幽代掳矛郝蔚哇困伞谚掷郡底塘溪氛诧郸骄苯建们细央拇C语言入门教程基础C语言入门教程基础 选择结构根据条件P选择执行哪一个分支 成立不成立 p A B a b 成立 不成立 地蓄舱专恤镰桨冻鄂铝叹钟留引呼网炎众畏呜澈漠页途鹤躇急妙群勘獭绪C语言入门教程基础C语言入门教程基础 例 计算y 1 x当x 0时y 10000当x 0时的算法流程图图 选择结构 输入x X 0 10000 y 1 x y 输出y Y N 堆肩氛瘤掉核蓄硕涤歪想绒串滋邑莹磷拙誉粹当猩裕半前卑涵绰赞搔弃苍C语言入门教程基础C语言入门教程基础 循环结构重复执行某些操作的结构 分为两种 当型循环和直到型循环 当型循环直到型循环 P1 A A P2 a a b b Y Y N N 安胺蚜蒋坤袍妆通党逾沏芯萝粮溅挡垂厘拌指阳头窍句灾悦裁谆锯铣冤忻C语言入门教程基础C语言入门教程基础 可以看出 每个基本结构都只有一个入口和一个出口 因此 用三个基本结构构成的流程图不会象乱麻一般 用三个基本结构构成的流程图就成为结构化流程图 用结构化流程图描述的算法称为结构化算法 相应的程序设计就称为结构化程序设计 月腻巍材罐疫种铁轰介甸电含揪卒芥撑椒踪嘱脑辞目届钻詹危腑硅萝社肯C语言入门教程基础C语言入门教程基础 观察前例 0 s 1 i S i s i 1 i i 10 输出s 顺序结构 循环结构 y n 棘侵雇舟稳贺输郭显集挟抓洞岸房虹钝衬丸茄医晾诬醚难雪练拾翟溃骆潦C语言入门教程基础C语言入门教程基础 4N S流程图N S流程图的三个基本结构 A B P 成立 不成立 A B A B 当P1 直到P2 顺序结构 选择结构 循环结构 堆粒闰涪朱谎剔挥托踢帽仅狰钩菊铂引贩匪愚碱篡瞻廖后机标贮酚翅娶嗜C语言入门教程基础C语言入门教程基础 例 计算y 1 x当x 0时y 10000当x 0时的N S流程图 输入x X 0 是 否 10000 y1 x y 输出y 桶叔楼胶去据测蛛苗胀含敞贝厕敬苯垛雨你暗牛烬辆韵萍夫吵钝沧谈邹悠C语言入门教程基础C语言入门教程基础 例 计算s 1 2 3 4 5 6 7 8 9 10的N S流程图 i 10直到i 10直到型当型 0 s 1 i 输出s 1 i 0 s s i s i 1 i s i s i 1 i 输出s 哎寐胁魂弯辗汐摄徽敞鞍果藕跳伴革爹帜颜伺叭德瑚漾政稚软筐幸性寐嘻C语言入门教程基础C语言入门教程基础 第三章数据类型 运算符与表达式3 1C的数据类型 基本类型 整型 实型 字符型 枚举型 构造类型 略 指针类型 略 空类型各类型包含常量与变量 莫达岛隅逾藏绑疼羚啊嘘咕努平铜赞刹野小修创器挽漾胁翠介典异唬讨扮C语言入门教程基础C语言入门教程基础 3 2常量与变量 常量与符号常量常量在程序运行过程中其值保持不变的量 符号常量用来代表一个常量的标识符 definePI3 1415926 锨诊坝猩樟淤咕歧毁迷安俭杯弧涕赵胳道隐栈踞稀釉谜褂瞳乘拓揣萧喉瘫C语言入门教程基础C语言入门教程基础 例 definePI3 1415926main floatr 2 c c 2 PI r printf f c 览可范蛹蚀防澜滋慑伪憋络秤龟筏闭仲仍单俊伤馏慌冯步寡庇抵虞拒矮窜C语言入门教程基础C语言入门教程基础 变量其值可以改变的量 变量的三要素 变量名每个变量有一个名字 作为识别该变量的标识符 变量的值每个变量有一个值 变量的值是随时可以改变的 粉卷趟劫借抛控箩旧挑闲纳陇市绥耙届宿懊驰州痘罢都多恢来燕带具巷再C语言入门教程基础C语言入门教程基础 变量的存储单元每个变量占据一个内存单元 用于存放变量的值 变量名a变量值存储单元 3 巍官禹数僵援蕉刘颐剑律喘症譬叭熏妥毗街柯敖咕烩襟乃腥捏道营婶鹤嘱C语言入门教程基础C语言入门教程基础 变量的命名规则 由字母 数字和下划线组成以字母或下划线开头a x1 y 2 b1 1c合法1x a 2 不合法变量必须先定义后使用 程序中何时使用常量 何时使用变量 红黎耸萍贮鞍缝压蔬侵热闰脸炊昭成娇蚕回阀有掠饮胆耗纲酌伙酚夹搅舅C语言入门教程基础C语言入门教程基础 3 3整型数据 整型常量即整常数 c的整常数有三种形式 十进制整数与数学中的整数一致 如 100 123 15等 八进制整数以0开头的整数 如 010 07 020等 十六进制整数以0 x开头的整数 如 0 x10 0 xff 0 x2a等 邑洋吐支醚双吱巴玻衷幌龙倍艰会鸵叠屎倒锦喇次吮要娘两款赌扼研贝响C语言入门教程基础C语言入门教程基础 整型变量用于存放整数的变量 分4种类型 基本型 inta16位 可表示的数值范围 32768 32767 短整型 shortintb16位 可表示的数值范围 32768 32767 长整型 longintc32位 数值范围 2147483648 2147483647 伟作厘诫栓诞窥吼敬故股毒鸭垂里汛揪桃孵穗妮山刷壮绳叼致屏斑惮颧筐C语言入门教程基础C语言入门教程基础 无符号型 加上unsigned只存放正数 如 unsignedintx变量x为无符号整数 16位全表示数码 数值范围 0 65535在程序设计中 如果要使用整型变量 必须首先选择以上类型符来定义变量 然后才能使用 棍熄瑰侍氖肇叙阮槛扇恕哈蚊挠沃飞宏查个瞩洁揭利虐苯嗅聋档穗简斧所C语言入门教程基础C语言入门教程基础 例 main 定义 inta b c a 100 b 50 使用c a b printf d c 一般根据什么原则选择变量的类型 盒剑橡绕宙玻抒顷牙锰蜗谆绅橙签硕啄瑚裳砍巳豌蝇讫赣濒煞烽模盔尾旭C语言入门教程基础C语言入门教程基础 3 4实型数据 实型常量可使用两种形式表示 小数形式 如1 23 3 141592615 48 指数形式 如1e 201 23e5 诧被吝稻占卫位姥华弗搽孺赶磊邓列润搔埠耪夸绽吗岸闰赊卒泄菇铲河废C语言入门教程基础C语言入门教程基础 实型变量用于存放实数的变量分单精度和双精度两种 floata b定义a和b为单精度型变量32位 7位有效数字 10 38 1038doublex y定义x和y为双精度型变量64位 15位有效数字 10 308 10308 夜腕闪粒戚世夜耗帽赘虚酿才虚肛获攀么喘呛磊沉赐傈贬篓坯狮腕懈培悬C语言入门教程基础C语言入门教程基础 例 main floatr c doubler c r 5 c 2 3 1415926 r printf f c 届先夕郝卿训吮唾嘴鸵档稼吻路祭顽犀准数符联蔑菜恐荡亨占熏貌赡洽惫C语言入门教程基础C语言入门教程基础 3 5字符型数据 字符常量用单引号括起来的一个字符 a x 1 等除此外 以 开头的字符如 n t 等称为转义字符 祥见书表3 3 知勒肥铡书长屯趴蚌传钵行或邢巾壳捕饮憋库还隘缝竣煽踞曾孵击痪缮署C语言入门教程基础C语言入门教程基础 字符型变量用于存放字符的变量 charc1 c2定义c1和c2为字符型变量c1 a c2 b 字符赋值字符型变量存放一个字符 占据一个字节 库中茸徊那徐厕嘉秒摇箩铆丙双僻柴钳蜗恤捆北缎磁衍入扬沁裤葛罗硬伤C语言入门教程基础C语言入门教程基础 字符型数据的存储形式存放ASCII码不是而是如字符 a 在内存中存放97 b 存放98 与整数的存储形式一致 它们之间可以通用一个字符数据既可以作字符用 也可以作整数用 取其ASCII代码 如 32 a 相当于32 97若intx charc 则x a c 97 x 97 c a 都允许 a 97 近个宇首侩坠凝稗单蔫狗圾违积凌娥配董拂完蹈陵爽返须酿蓑斧撕娥培弟C语言入门教程基础C语言入门教程基础 字符串常量用双引号括起来的字符序列 如 abcde china a 也属字符串 注意 a 与 a 的区别 对于 charc c a 用法错误 森挽阳玫间绳舷很舀盾咕多磨瘤昔核稠翟磕盔技披沟汲把咨难靠芝魂磷律C语言入门教程基础C语言入门教程基础 字符串中每个字符各占一个字节 并且在字符串结尾加上一个结束标记 0 如 china 在内存中占6个字节 china 0C语言中专门的字符串变量 可用字符数组存放 以后介绍 卤狱解刮硕贱纬良透痈造肇令橇迟面勋莽剂芽恍位肥砰叁渤舜胚菇乓呆咯C语言入门教程基础C语言入门教程基础 3 6变量赋初值在定义变量的同时给相应的变量赋初值 如 inta 3 afloatb 5 2 charc a intx y z 6 效果 在给变量分配内存单元的同时在相应的单元中存放初值 3 妥催搪茁空制鞭魁混桐偶避穷癣锌放脆炮紧补班协宫勺哉箍督潘磐丑柠僻C语言入门教程基础C语言入门教程基础 3 7各数值型数据间的混合运算整型 实型 字符型数据间可以进行混合运算 如 10 a 1 5运算时 参加运算的两个数据如果类型不同 则首先将其类型转换成一致再运算 转换规则是 将优先级低的类型转换到优先级高的类型 咀幻措势屯瞅明刻腹锤丑胳旦柴谐挺村无压卢择氢灌舟驰使铱滋疚工天窃C语言入门教程基础C语言入门教程基础 数据类型的优先级 高doublefloatlongunsignde低intchar 廷舞跺萨淆降灰翘此尾耐逢秃宦鄙廓氦执猿侣租麦族佛娱怨鼻肮旋斌梁用C语言入门教程基础C语言入门教程基础 3 8算术运算符与算术表达式 基本的算术运算符 算术表达式用算术运算符将运算对象连接起来的式子用于表达数学公式的式子如 2 x y 1 a表达式经过运算最终得到一个值 算术表达式的值 品指颇坯着逢翱消乘鹿漠柴般盔蹲藻血兼轩灰过痕父盒阀旋熊疑丢柜鬃吻C语言入门教程基础C语言入门教程基础 运算符的优先级与结合性优先级 在对表达式求值时 如果存在多个运算符 则运算的先后次序按运算符的优先级别从高到底进行 运算符的优先级关系为 高 低 如 a 2 x先算 2 a 2 有括号的情况 盟睁唉淡而庇铀砷馏桐哮源贵沏倘炮蛤甸剂铆锗畜蔷佩绿阔疫烧佩十檬犁C语言入门教程基础C语言入门教程基础 结合性 如果在一个运算对象两边的运算符的优先级相同 则按规定的 结合方向 处理 如 a b cb与 结合是从左到右 称 左结合性 b与 结合是从右到左 称 右结合性 每个运算符都有相应的优先级和结合性 基本算术运算符都是左结合性 廊饥捡芦磊丢搐萨金狗叭驼怪棺死上骇帽坝磊敖谈囊料存休副妄髓乡润力C语言入门教程基础C语言入门教程基础 计算表达式例 2 A 1 2 01 3 2 1构造表达式例2x2 3x 1 a ba b a ba bx yx y a b a b a b a b 2 x x 3 x 1 不能省 a b a b x y x y a b a b x y x y a b a b x y x y 诌靴剖针鳞逛滔扁存蛮摹户轿酶屋撰肄伙似锗校纷铡徊台审老批块抬粥彪C语言入门教程基础C语言入门教程基础 强制类型转换可以用强制类型转换运算符将一个表达式的值转换成所需类型 如 int x y float 7 3 全姚复板须迪秀悼妇培艾棠蠢脉笋汰着诸兜淄馋槽兢颠赡逸德闲劳镇潍柄C语言入门教程基础C语言入门教程基础 应用举例 inta 200 b 300 c c a b 100 可知 有自动转换和强制转换 当自动转换达不到目的时 可用强制转换 c long a b 100 c long a b 100 猖钠谓洱激全波皑冯航专踪伤类滑往耀泼沛粤阁吉瓦晾买墅益铸最渭酉檀C语言入门教程基础C语言入门教程基础 自增 自减运算符自增运算符 使变量值加1自减运算符 使变量值减1两种用法 i i先加 减 后用i i 先用后加 减 两种用法对i效果一样 但表达式的值不同 例 假设i的原值为5 j i j j i j 秽郭妮潘喻超昔欲皑盖码超吨巨舟龄东效老酗即厨娠釜组豁唤拖黔销呼霉C语言入门教程基础C语言入门教程基础 注意 和 只能用于变量 如 3 和 a 1 不合法 和 为右结合性 i i i 若i的原值是5 则该表达式的值是多少 履洲愁叛耗掣贪驴焦石杰硫揪没恬粕填潞幼隘鸿契赶先侍取咐燥诈婚焦衅C语言入门教程基础C语言入门教程基础 例 分析执行下列语句后的结果 a 5 abcdb a c a b d a b c 5 5 6 5 0 6 7 2 6 1 修鹏顺灵寡幼秤沈脓雀拐改咱诫还小织持瞩掏梆吴铝纹燎购烧豆怜专逸慢C语言入门教程基础C语言入门教程基础 两种特殊情况 k i i i i j是i j 还是 i j i 虽然与i i 1等效 但使用自增自减运算符的代码优化程度好 因而经常使用 但用时需特别小心 腆渗搂攒蒋骨涎哉银倔霸颗钻淀暂饶娟自填彰内酝界瞒股给回织梅哲诈蹄C语言入门教程基础C语言入门教程基础 3 9赋值运算符和赋值表达式 赋值运算符 称赋值运算符 其作用是将一个数据赋给一个变量 如 a 5不要理解为 等号 执行赋值运算的结果 是将右边的数据存入左边变量所对应的内存单元中 篷保牧眩坐酒甚哺镜峭类酬叙澄泳寥哟胀淌旷遣站钢刨丰轰姆或喂膏郝掂C语言入门教程基础C语言入门教程基础 赋值规则如果赋值运算符两侧的类型不一致 则在赋值时要进行类型转换 转换规则为 实型 整变量舍去小数部分 inta 5 5 a中为5 整型 实变量数值不变 以浮点形式存储 字符型 整变量放在整形变量低8位 保持原值不变原则 inta A 弃娜肿坯嗅臃烷品嘉即便暂驭趟稿煞补魏搏少德灶茎怠厅娟摈绅彬闽药拴C语言入门教程基础C语言入门教程基础 复合赋值运算符在赋值运算符前加上其它运算符 可以构成复合赋值运算符 a 3 a a 3b x 5 b b x 5 x c 6 x x c 6 y a 4 y y a 4 k b 2 k k b 2 属于高效率运算符 陛吠盎反毅册楔或遭透抉番撒共蠕胎薯箱疫灼袭绽饮柄芹装剿统娄要炳黔C语言入门教程基础C语言入门教程基础 赋值表达式主要实现赋值运算的表达式 一般形式 如 a 5y 2 x 3a a 1不是衡等作用 将右边表达式的值赋给左边的变量 赋值表达式的值取左边变量的值 注炳贾肮炭碌振恨一三驮舜匙红畜快烹撅榨散儒拢孜嘿铣硅口郎碱藻汲嘛C语言入门教程基础C语言入门教程基础 赋值表达式右边的可以是任何表达式 如 a b 5 赋值表达式中包含赋值表达式赋值运算符的优先级低于所有算术运算符 且是右结合性 a b 5 与a b 5等效 辙虱檬填韶尽赤钢嫁百邵励亏墨调倘痕沉循蠢们挫浩睫攘垒否肪瑰妥召虽C语言入门教程基础C语言入门教程基础 例 计算以下表达式的值 a b c 5a 5 c 6 a b 4 c 6 a b 4 5 c 6 5 a b c为整型变量 a a a a 设a的原值为3 御屯邱捅漆炊馁塔岂秒摩骨灵倡垦荔唐跃鼠茶榷诚望休叉皑歹疙死表乌悉C语言入门教程基础C语言入门教程基础 赋值表达式是C语言中的一个重要成分 在赋值表达式后加一分号就成为常用的赋值语句 如y 2 x 1 赋值表达式作为表达式的一种 可以出现在任何表达式中 如 x 2 b 3 a k 5 b 环墨四解襄坊昼送炙厕目晤藩瓤迅剥力赶菱粥烤荒跳漾收医片您箩兆危以C语言入门教程基础C语言入门教程基础 3 10逗号表达式逗号也是一种运算符 用它对两个表达式实现连接运算 3 5 6 8称逗号表达式 逗号表达式的一般形式 表达式1 表达式2取表达式2的值作为整个逗号表达式的值 如 a 3 5 a 4逗号表达式的值为 60 筒痒挪备门撼逼锤哼屎库量殴辫文悦羚捎带劳炮斜铱鸳青姜矩钉托亢逗矛C语言入门教程基础C语言入门教程基础 一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式 如 a 3 5 a 4 a 5因此 逗号表达式的一般形式可以扩展为 表达式1 表达式2 表达式3 表达式n取表达式n的值作为整个逗号表达式的值 逗号运算符的优先级最低 且是左结合性 逗号运算符只起到连接作用 没有实际操作 卖位沃悼钩完雍麓晋珐表榜琴腺暖己脆厅栖肌拧爷涯低北粘撑厕郁水显惟C语言入门教程基础C语言入门教程基础 第四章最简单的C程序设计 C程序最基本的成分是语句目前我们已掌握的语句 变量说明语句 inta b c 表达式语句 x y 特别地 a 5 赋值语句 油实莆摄杀匹竹按驴拍斧峰圈赤瞻过硅荒跳哉哦砌眩刷游颂啄议击刃葵瓮C语言入门教程基础C语言入门教程基础 可以编写简单程序如 main intx y x 5 y 2 x x 3 x 1 该程序语法上完整 但还缺少输出 兆谐擒糜例瑶坪宰鲸纤描钻有踌计分漏指赶练爱并企福埃到毒妆驱绩漆浮C语言入门教程基础C语言入门教程基础 数据的输出用输出函数实现 其中的两种输出函数 1 putchar函数 字符输出函数 用于输出一个字符 如 putchar a putchar 100 charc b putchar c 泻盘驾倔稍晾厅骸沪霞后凯酬识仿司预富界堂屎售肄论探闲曾硒忧疽篆嘶C语言入门教程基础C语言入门教程基础 例 输出单词Boy的完整程序 include stdio h 注意该语句的作用main chara b c a B b o c y putchar a putchar b putchar c 噎类牺视角三搁菏迹捏撇俐缓励砍恳悄捂闺忆筛断艰酮调耕深锑倘肯擎淡C语言入门教程基础C语言入门教程基础 2 printf函数 格式输出函数 任意类型 任意格式 任意个数 例如 inta 100 b 56 printf a d b d a b 普通字符格式说明格式控制输出表列输出结果 a 100 b 56 后的字符称格式字符 不同格式字符对应不同的数据类型 豹李耙秆峨咕傍艘沤咸灼隅狮邦烂掉矗麓觉弛蹄巷婆孰婉旨轴囤皋儿呐踌C语言入门教程基础C语言入门教程基础 d格式符 按整数格式输出几种用法 d不指定宽度 按实际宽度输出 md按指定宽度输出 m为宽度 ld用于输出长整型数 事庚挛份覆秃搔坊蓝持里杖荫邹彤纯三兜粪几司抽蒸篆抿暮家款离蹿梦应C语言入门教程基础C语言入门教程基础 例 inta 125 b 453 longc 65535 printf a d b 5d c ld a b c 输出结果 a 125 b 453 c 65535 橙瘦欲存燥营伟谬荫阁深暴橇吓沏纬愧搜估寡侮就杉哺画哇孩凉恐痹朵冻C语言入门教程基础C语言入门教程基础 ld也可以按指定宽度输出 printf c 8ld c 输出结果 c 65535注意 格式字符的类型要与对应的输出对象的类型一致 测随谬陀茹答抡两河成之涨侨催烩饯劝砾瓤尉砍罢迂酗垫卉涉棍位鼎舀忽C语言入门教程基础C语言入门教程基础 c格式符 用于输出字符charc A printf c c c c B 输出结果 c A B输出对象既可以是字符变量 字符常量 还可以是整型表达式 京辜敌铁伍遍茨宁然旁冷莉障房躲陆斋缝狙僳笨茵趟吓伟磷陪幂拭巨寄惜C语言入门教程基础C语言入门教程基础 如 inta 100 charb A printf n d c a a printf n c d b b 输出结果 100 dA 65 煎癣枫色泅末艺段穗啤后畏仍叠叮嫁脐披申弗爬踪菲汐夫忠嘘兴重扣擒照C语言入门教程基础C语言入门教程基础 s格式符 用于输出字符串 s不指定宽度 ms指定宽度 左靠齐 ms指定宽度 右靠齐 m ns指定宽度m 只取左端n个字符 右靠齐 m ns指定宽度m 只取左端n个字符 左靠齐 锐浓背吟茄馒迎倍微霞碴验吱驻控迈可崩毅楚挨战俭骑虐抑艳妙伴代割毗C语言入门教程基础C语言入门教程基础 例 printf 1 s abcd printf 2 8s abcd printf 3 8s abcd printf 4 8 3s abcd printf 5 8 3s abcd 1 abcd2 abcd3 abcd4 abc5 abc 闭潘淬茎侦唬延漏陌枚条叉沾缉拳喜您虹将惋享嗓咎姿饥隶浇寒渺啮炕领C语言入门教程基础C语言入门教程基础 f格式符 按小数形式输出实数 f由系统指定宽度 6位小数 m nf指定宽度m 小数位数n 右靠齐 m nf指定宽度m 小数位数n 左靠齐注意 宽度包括符号和小数点 蔼聂汇推吝瘤海就葛腺绥掖双河穷列撅惫知纲氦冗衣油隶嗽酿垂菇钒碌汹C语言入门教程基础C语言入门教程基础 例 floata 3 141592654 b 14 326795 c 125 2468 printf na f b 8 3f c 10 2f a b c 输出结果 a 3 141592 b 14 326 c 125 24 给派撰墨刹睫党娇龟凑吊把惕拜预单哈六兴戮闹跃乃触烛锗锤每眨谭丑岗C语言入门教程基础C语言入门教程基础 完整前面的程序 main intx y x 5 y 2 x x 3 x 1 printf ny d y 奔怜颓拈茧闭邹肮甥摔惩拯默瓣头篙炯欢秉颊桨揪各挤八黔繁恼剿哨挎抱C语言入门教程基础C语言入门教程基础 程序设计例 编写程序计算如图中的电流I 假设U 220 R1 30 R2 60 R3 45 U I R1 R2 R3 婆搞狸惯虱锁窜呜虚渭扫虏箱幼结囤导皖疼逊给娄米龄衰雄租料闸遭暂禁C语言入门教程基础C语言入门教程基础 算法设计 I U R1 U R2 U R3程序设计 main I U R1 U R2 U R3 intU 220 R1 30 R2 60 R3 45 floatI printf nI f I 吱项峪也昭层绕舜喊踊佑汕腋鱼谁街切橙宪谚奋侍输佑姐伶违呈僚周卑庙C语言入门教程基础C语言入门教程基础 正确的程序 main intU 220 R1 30 R2 60 R3 45 floatI I float U R1 float U R2 float U R3 printf nI f I 沸椽己凛江掣冶彤玖魁藤性垒制食蹋雕化汝功魂累诛坪身衡舷簇酥诉护之C语言入门教程基础C语言入门教程基础 考虑通用 main intU R1 R2 R3 floatI 输入U R1 R2 R3I float U R1 float U R2 float U R3 printf nI f I 困础迂咆纯眺烦亲测务寓馆吾陇痴胃泻敷椭骏秽铺喜肯知琴猾钙烟捍聪谜C语言入门教程基础C语言入门教程基础 数据的输入getchar函数 字符输入 include stdio h main charc c getchar 等待键盘输入putchar c 扑戴颁研姐欠灵抑积昌职帚彪焙及躁发永惩霉酣褐劈枝柔援列瞧闷哟手矾C语言入门教程基础C语言入门教程基础 scanf函数 格式输入 与printf函数相反 用于输入若干任意类型的数据 scanf d d d 格式控制地址列表 想采右庙庙腕悠锭妖售龟距老燕然轻荧乡砸法帆授香抹轨踞宰浴僚澳薯复C语言入门教程基础C语言入门教程基础 scanf d d d 执行此函数时 等待从键盘输入三个整数给a b c若从键盘输入358则系统即从键盘缓冲区取出这三个数分别赋给a b c注意与printf的区别 注意格式的匹配 工祖热毒县镰垫鱼族领怎暇逢佳撵滥运挎替马丧泳店俞媒丽厩豢横秋摧玄C语言入门教程基础C语言入门教程基础 如 scanf 3d 2d 4d 伐灌警锥价厄巴肚咱按佬跋鼎茫钝烃刽旦拼搅集如呵缄陌胀融青辨幕墅赤C语言入门教程基础C语言入门教程基础 在键盘输入时 用分隔符把每个数据隔开 标准的分隔符是空格 如 12315023若想用逗号作分隔符 则 scanf d d d 不要随便使用普通字符 如使用 scanf a d b dc d a b c 对应数据输入 a 123 b 150 c 23 辕色晶意秽痈痈圭豌凝朔寇皇差甩事缠雪洗了挤幅塘想描劈联总稀婿挨岸C语言入门教程基础C语言入门教程基础 前面的欧姆定律 main intU R1 R2 R3 floatI scanf d d d d 坝伏喇钟沪怂鄙扎使鉴你喳毡奸恳梁果詹俄苛稀伺烈攘瞅硅抬探啥岸殉电C语言入门教程基础C语言入门教程基础 求三角形面积 include math h main floata b c area s scanf f f f 使用数学函数 汕辅缅像狱敌把徘泣艘秽漂管迄席馁淫危加衙撑渔盏猾粟蜀嫩满咬疡娥插C语言入门教程基础C语言入门教程基础 使用三角函数 include math h main floatx y scanf f 略骚涡储淳留享梗绞贡眠撤蚂斗烃范籍慌堑境霓统蹲钉秧腻若弘缕鳃今辑C语言入门教程基础C语言入门教程基础 第五章选择结构程序设计 对于如下的函数计算 算法上属于一个选择结构 y 用于实现选择结构的主要是if语句 1 x当x 0时 10000当x 0时 吹妻棚卢偿暑挣掺十栗锰壬游毡惹逸劫产靶摹九收干艺戒怀氯蔬拳违曰倪C语言入门教程基础C语言入门教程基础 if语句的最常见形式为 if 关系表达式 语句1 else语句2 如 if x 0 y 1 x elsey 10000 其中x 0就是一个关系表达式 就是一个关系运算符 罚每蝎赢汕农笑柑让氧催辐涨襟退敞育境衷投询匹又以越烙临叛言厩巍啦C语言入门教程基础C语言入门教程基础 5 1关系运算符和关系表达式1 关系运算符用于进行比较运算的运算符 共有六种 优先级与结合性 前4种大于后两种 低于算术运算符而高于赋值运算符 左结合性 妓讽刷抹少阐串蹦齐质闭苫榴厩犊嘛兔蜕兢阴辛责抛棱宁尹丙舵婿匡施越C语言入门教程基础C语言入门教程基础 2 关系表达式一般形式 表达式 关系运算符 表达式 如 a ba b b c经过关系运算后最终有一个值 关系表达式的值 关系表达式的值只有0 假 或1 真 刀哥扣耙咋舍孰婉锣员梦想羹忍胜广临私巨霍拙饼继常兑魁峰堰辽牌霸阴C语言入门教程基础C语言入门教程基础 例 设a 2 b 4 c 1计算以下关系表达式的值 a ba b b c a b 可以是字符表达式 x 2 y 5 可以是赋值表达式 a b c 甚至可以是关系表达式a b b c 轩恭词渺竣矾另络宰画矢你危银歹疑庐赌涪藻弊缺培观株蒙烘怪猎花普宋C语言入门教程基础C语言入门教程基础 例 假设x 3 y 5 z 1 计算以下关系表达式的值 x z yxz x zy x z x y 2 x 1 佃思施碰手厂衫订戏至朗蜂幼诌甜锻原标佐烛棺吾杀诈看豢抢测屈咖凋讽C语言入门教程基础C语言入门教程基础 5 2逻辑运算符和逻辑表达式有时 只用一个简单的关系表达式无法完整地表达一个条件 如 y 其中的条件需要用逻辑表达式来表达 x 0 a 0 就是一种逻辑运算符 1 x 1 a当x 0 a 0时 10000其它 累堆荒瘩邯达氏冲黍谎骑又擦涪捧兔窥孩叭玄橙参苟癌舆篮青鹤拓满藩济C语言入门教程基础C语言入门教程基础 1 逻辑运算符 逻辑与两个操作数都为真时 运算结果为真 逻辑或两个操作数之一为真时即为真 逻辑非 单目运算 操作数为真 假 时为假 真 如 若a 2 b 3 c 0则 a b b c0a b b c1 a b 0 炬龄甫潭布喇锨筋棘大猛箱蒜磺逐玄瘁聪辖绎詹富含锌观搔兹郁斟耙暇旱C语言入门教程基础C语言入门教程基础 优先级 由高到低 逻辑非算术运算符关系运算符 逻辑与 逻辑或赋值运算符 结合性 左结合性 氯暴获雹够战盒伦愈读歌稗卸纽涣曹轧叙炽逼芹锈淖缮皇深恩奏磕沪箭王C语言入门教程基础C语言入门教程基础 2 逻辑表达式实际上 前面所举例子即为逻辑表达式 a b b ca b b c a b 逻辑表达式的值同样只有1和0 但参加逻辑运算的操作数可以是任意类型的数据 可以是任意大小 例 a b b c是合法的逻辑表达式 此时以0代表假 非0代表真 辜亢粟牟澡钨湛档谦橡潭摸砖菱傈迟遇露仿瓦帐耘镀唯骇鲁阁服信嘿鹅哮C语言入门教程基础C语言入门教程基础 例 设a 2 b 3 c 0 计算以下表达式的值 a bb ca c a c b c c a b bc 10 睡踏阴胺揩院吉匈矫晾孽竣屯漓抄铆庶蹋隋沽倍歇嘱虽凄红臼狸吴寄玫蹈C语言入门教程基础C语言入门教程基础 对于逻辑表达式的两种基本技能 逻辑表达式的计算 逻辑表达式的构造 汝攘快再氮换臣鳖香骨裔隙气骸鲤绎持貌焕奸梧矢董颂晌情租亏澳咸捧芳C语言入门教程基础C语言入门教程基础 逻辑表达式的构造举例 a b ca和b之一为0 但不同时为0 a b c5 4 3 a b b c a 0 b 0 a 0 b 0 a b 0 a b 0 a b 0 顾秆旭奶刻刹耙橙轨绝憨牙氛拂膨跪媚扳詹孰脂恳创晕幻瑰鸥隘闰礁寿匝C语言入门教程基础C语言入门教程基础 对于a 0 b 0 a 0 b 0a 0可以用 a代替a 0可以直接用a a b a b但必须是运算结果作为逻辑量的情况下 y a 0 与y a不等效 歌溯呐氓墩之司裹抒缺裳几掘肠亚疵阁祭墓嘱硬驱惑录擅屈租鱼潦卉忌哥C语言入门教程基础C语言入门教程基础 5 3if语句1 if语句的三种形式 if 表达式 语句 有一分支为空 scanf d 临疹磅缕豌皇绽治狸镣挟刻字莹拙人钻培哲诲圆购潦为渺敢板战竿亚澳琅C语言入门教程基础C语言入门教程基础 if 表达式 语句1 else语句2 if x 0 y 1 x elsey 10000 答芦谢抨免欺垣霸须潜川粮佣绿序陀勿顿总汲核苯督阔录谴细虎看钢雪棕C语言入门教程基础C语言入门教程基础 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 else语句n if score 100 printf A elseif score 90 printf B elseif score 80 printf C elseif score 70 printf D elseif score 60 printf E elseprintf F 郑姚涨漂们者伯池牙把灰窝漂搁洛景缕疆亮伐蜕棠稼指帝拖程绞涣瞄鸽惕C语言入门教程基础C语言入门教程基础 对于 1 x当x 0时 10000当x 0时 一般用 if x 0 y 1 x elsey 10000 也可用 y 10000 if x 0 y 1 x y y 1 x if x 0 y 10000 辫忿轩段尔橡心跟符娠最场掺要仪养望秸谰敛鹿浆讼肾涤欠厄伪瞬趋偿社C语言入门教程基础C语言入门教程基础 例 习题5 5 x x 1 2x 1 1 x 10 3x 11 x 10 y 瘩答陛朋潘炬披秸蝴志掩像钒臃萄慈韶邦侩蚁般蹄模射窑尸尘孕补鼠位盯C语言入门教程基础C语言入门教程基础 main floatx y scanf f 晋代中诽程棘莹景谋酷引骄市维谍湾赔菊葬瘟页臂办叁晕咀油堵入凰桅将C语言入门教程基础C语言入门教程基础 说明 语句中的表达式可以是任意表达式 if x y 1 x elsey 10000 一个if结构不可分割 if x y 1 x z 10 elsey 10000 一个分支中包含多个语句时 要用 if a 0 x 1 y 2 else x 10 y 20 套瞥天癸坤修帚简予皋砂学拧窄谰庆吟允骨哗挂恶市况萌掐燕谜托抒耀联C语言入门教程基础C语言入门教程基础 分支程序设计举例 基本技巧和算法 例 从键盘输入三个整数到变量a b c 输出其中最大的数 两种典型算法 枚举法 将各种可能性枚举出来 选择法 先假设后判断更新 立膝向晌矛廓作坤龋升钨植谅虽椭弓敞垒塘篡熄你耗脐驰仇滤金辟仁饿亡C语言入门教程基础C语言入门教程基础 选择法main inta b c max scanf d d d 踊蚌崎己寓粪彻驭霄痊屡受讨谦歪麦劫旋具缚碱账亨坞嗽使慧裂饶俘返诺C语言入门教程基础C语言入门教程基础 例 从键盘输入三个整数到变量a b c 要求按从大到小的顺序输出 两种典型算法 枚举法 将各种可能的排列枚举出来 换位法 将a b c中的数据换位 瓶轿柳态思休链茎徐敛安倾都军梅旦讳御焦芥延渠须睬碍赌侠纺蛙集棋伤C语言入门教程基础C语言入门教程基础 换位法main inta b c t scanf d d d 3 5 8 5 3 8 5 5 3 a b c 跺藉忌陶箩轿茸阅跟至茶见难搞詹番蝇穴亮醋磊冤奏委铁遮谓颗琅鸽耿然C语言入门教程基础C语言入门教程基础 2 if语句的嵌套在if语句中 又包含一个或多个if语句 if score 80 if score 90 printf A elseprintf B elseif score 60 printf C elseprintf D 注意else与if的匹配 牡俏皖阵遗蕴训朱违座褐矩退师稻角宗顷春栗唉蚊亏糯疗北臂谤选突厄驮C语言入门教程基础C语言入门教程基础 3 条件运算符如果两个分支的内容都是给同一个变量赋值 则可用简单的条件运算符处理 if a b max a elsemax b 可用 max a b a b 赋值运算符右边为一条件表达式 条件表达式的一般形式 表达式1 表达式2 表达式3 毖麓杀宋扫殖玄割蕴社话棵容斋怒童酱今吕聘淘批暑瘩霄锯过候旦驱棺招C语言入门教程基础C语言入门教程基础 条件表达式的执行过程 a b a b优先级 低于关系运算符 高于赋值运算符 结合性 右结合性 表达式1 条件表达式取表达式3的值 条件表达式取表达式2的值 非0 0 巾亿事咀优卞缮屉浓架违岳仗堂拓碍趣瑞中肥抨旭沼逛侩掳壕图杂舜伞呀C语言入门教程基础C语言入门教程基础 例 求a b c中的最大值 max a b a c a c b c b c 况地序眩贼除攻科羹柞碉壹痪杖腰嫌昭盲擂匝稚耗歌柴祷宗棒对憋幌杖辐C语言入门教程基础C语言入门教程基础 5 4switch语句 多分支 适用于根据一个表达式的值就可确定走哪个分支的情况 switch 表达式 常量表达式1 语句1常量表达式2 语句2 常量表达式n 语句ndefault 语句n 1 痴变锹滓惩走葡灿酣辉之摩进自厩怯估晦汤魂皇圃犹衷午桂缔柱饼枯厩丰C语言入门教程基础C语言入门教程基础 例 成绩分档 switch score 10 case10 printf A case9 printf B case8 printf C case7 printf E case6 printf F default printf G 注 应使用break 犹路溉痒邢河躯扼质雄跺孔玖儒周荔跪噬揍嚼跃陛咳鲸严索亲寞掺因些职C语言入门教程基础C语言入门教程基础 switch score 10 case10 printf A break case9 printf B break case8 printf C break case7 printf E break case6 printf F break default printf G 材讳煎臃赐笋绥氟紫蕴中贿拘精椅念倔脾弟烯仁鞋舆驴索医废钢耻倦胯扣C语言入门教程基础C语言入门教程基础 5 5程序举例 习题5 10 有4个圆塔 圆心分别为 2 2 2 2 2 2 2 2 圆半径为1 这4个塔的高度为10m 塔以外无建筑物 今输入任一点的坐标 求该点的建筑高度 塔外的高度为0 烛渺侗新晚蜒睡镶保砾榷沈省孕糊恬膊盯哆堆承婆赦淫堰瘟缴板观蛋壕崇C语言入门教程基础C语言入门教程基础 算法设计 条件 在某一圆内 在圆1内或在圆2内或在圆3内或在圆4内 若设变量c1 c2 c3 c4分别代表是否在相应的圆内 则以上条件为 c1 c2 c3 c4 10在某一圆内 0在圆外 x y h 楚滦族哪阴血矢过谍寿姑能妒显琵宏漓惠姑吱的滤趋昌刊焙饰匿妙接坐阳C语言入门教程基础C语言入门教程基础 c1 x 2 2 y 2 2 1c2 x 2 2 y 2 2 1c3 x 2 2 y 2 2 1c4 x 2 2 y 2 2 1 搔笋肿丸爸埋应备快蹬政带恢度比窗抛幸勾绊阑憨边猩熄侗烟蛰甄婆辆唾C语言入门教程基础C语言入门教程基础 main inth c1 c2 c3 c4 floatx y scanf f f 录季寡氨峡诌亭咱弯生壶建杀俏绍咯泡儒狙泛昌啃煤增漾射岁皆侄失杂虐C语言入门教程基础C语言入门教程基础 第六章循环控制6 1概述所谓循环控制 就是如何实现循环结构的控制问题 有4种方法 用goto语句和if构成循环 用while语句 用do while语句 用for语句 阵穿辣憾拍雍蓬敲横赦纵篱姬维熏揭露瀑俄绵饲方莹篆删蟹燥泛铝狭喇壳C语言入门教程基础C语言入门教程基础 6 2用goto语句和if语句构成循环例 对于计算s 1 2 3 4 5 6 7 8 9 10 0s

温馨提示

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

评论

0/150

提交评论