自己的C语言心得体会论文.pdf_第1页
自己的C语言心得体会论文.pdf_第2页
自己的C语言心得体会论文.pdf_第3页
自己的C语言心得体会论文.pdf_第4页
自己的C语言心得体会论文.pdf_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

C C 语言心得体会语言心得体会 姓名: 学号: 班级: 指导老师: 完成日期: C 语言心得体会 1 【摘要摘要】 C 语言程序设计是全国各地高等院校各专业本科教学中的一门重要的技术 基础课,在各专业的本科教学计划中占有重要地位和作用。其目的是培养学生的程序设计理 念、掌握程序设计的基本方法,为后续课程(数据结构、面向对象程序设计、操作系统、编 译原理和软件工程等)打下坚实的基础。其目的是培养学生的程序设计理念、掌握程序设计 的基本方法,为后续课程(数据结构、面向对象程序设计、操作系统、编译原理和软件工程 等)打下坚实的基础。 学习 C 语言程序设计课程旨在使学生掌握 C 语言的基本语法、基本语句、基本控制结构 以及自顶向下结构化程序设计的基本方法,使学生认识到算法、良好的程序设计风格以及实 践在该课程学习中的重要性,培养学生熟练使用 C 语言编程分析和解决实际问题的能力。 【关键词【关键词】C 语言程序设计、学习心得、数组、选择结构 C 程序设计、循环结构 C 程序 设计 正文:在科技高度发展的今天,计算机在人们之中的作用越来越突出。而 c 语言作为 一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此, c 语言的学习对我们尤其重要。 一、什么是一、什么是 C C 语言程序设计?语言程序设计? C 语言是一种结构化设计语言,它兼顾有高级语言的特点和低级语言的功能。其设计功 能十分强大,既可用于编写应用软件,又可用于设计制作系统软件。同时,C 语言是一种较 为通用的编程软件,在目前的软件行业中使用也是十分的广泛。虽然 C 语言是面向 DOS 编程 的,但它是计算机的底层编程工具之一。由 C 语言编写的程序,它的代码质量和运行速度仅 次于汇编语言编写的程序,C 语言具有简单易学和可移植性好等特点,同时又具有汇编语言 的特点,具有较强的生命力和广泛的应用前景。 二、二、为什么要学为什么要学习习 C C 语言程序设计语言程序设计? 随着计算机技术的深入发展,特别是微机的普及,越来越多的人在学习计算机知识以 满足社会发展和自身的需要。 C 语言不仅为计算机专业人员所使用和喜爱,近年来,许多计算机应用人员也开始 喜爱和使用 C 语言。实践证明,它是一种很好的程序设计语言。 三、在学习过程中所遇到的困难、及原因分析. (1)原因分析: 上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下 手。所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决 C 语言心得体会 2 问题的实际需要控制程序的流程,如果没有深刻地理解 C 语言的语句的执行过程(或流程) , 是不会编写程序解决这些实际问题的。 用 C 语言编程解决实际问题,所需要的不仅仅是 C 语言的编程知识,还需要相关的专 业知识。例如,如果 不知道长方形的面积公式,即使 C 语言学得再好也编不出求长方形的 面积的程序来。 C 语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好 C 语 言的。例如,大家都看过精彩自行车杂技表演,假如,我们从来没有骑过自行车,光听教练 讲解相关的知识、规则、技巧,不要说上台表演、就是上路恐怕都不行。 (2)实践调试能力 原因分析:调试程序是一种实践性很强的事。即使再优秀的程序员编写程序时也会犯错 误的,可能是最低级的语法错误,但他能快速发现错误并改正错误,而我们 C 语言初学者在 面对错误提示时,是不知道发生了什么错误,如何改正,这就是差别。我个人认为可以试着 按如下方法去做: 第一步、验证性练习 在这一步要求按照教材上的程序实例进行原样输入,运行一下程序 是否正确。在这一 基本掌握 C 语言编程软件的使用方法 第二步、照葫芦画瓢 在第一步输入的 C 程序的基础上进行试验性的修改, 运行一下程序看一看程序结果发了 什么变化, 分析结果变化的原因, 加深所学知识点的理解。 事实上这和第一步是同步进行的, 实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相 互促进。 还可以将教材中的正确的程序改成错误的程序, 运行一下程序, 看出现的错误信息提示, 并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够学习 C 语言 程序发生错误的原因和修改错误的能力。 注意:每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地 方,弄清发生错误的真正原因 。其次,上机调试程序时可以带一个笔记本,记下英文错误 提示信息和解决该错误问题的方法,积累程序调试经验,避免再编程时犯同样的错误。 第三步、自己试做类似问题 在这一步要求不看教材,即使程序不能运行,看自己能否将其改正过来,使其能正确运 行。目的是对前两步的记忆、理解进一步强化。对比前两步,设计一些相同的问题,试着自 己编程,然后调试,再逐渐扩大,增加程序行,添加一些辅助功能等等。 (3)综合能力 可以先做小程序,然后综合各个小程序,试着做一个稍大的程序,提高自己的综合运用 能力。比如进行课程设计实训就是一种不错的选择,会对实际运用能力有较大提高,并且还 C 语言心得体会 3 会对所学知识进行加深、巩固理解。在实践的同时多思考问题,多看别人优秀的解题思路与 方法,多看别人优秀的代码,尝试自己去实现或者模仿着去实现,让别人对你的代码多提意 见,探究别人的思维过程,增强自己的思维能力,拓展视野,经常看看自己以前写的东西, 有空拿出来改良改良,我想每隔一段时间,都会有意想不到的收获。 四、课程的易错点及解决办法 C 语言常见错误: C 语言的最大特点是:功能强、使用方便灵活。C 编译的程序对语法检查并不象其它 高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调 试带来了许多不便,尤其对初学 C 语言的人来说,经常会出一些连自己都不知道错在哪里的 错误。看着有错的程序,不知该如何改起,以下是一些 C 编程时常犯的错误。 1.书写标识符时,忽略了大小写字母的区别。main()inta=5; printf(“%d“,A);编译程序把 a 和 A 认为是两个不同的变量名,而显示出错信息。C 认为大 写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以 增加可读性。 2.忽略了变量的类型,进行了不合法的运算。 main()floata,b;printf(“%d“,a%b);%是求余运算,得到 a/b 的整余数。整型变量 a 和 b 可以进行求余运算,而实型变量则不允许进行“求余”运算。 3.将字符常量与字符串常量混淆。 charc;c=“a“;在这里就混淆了字符常量与字符串常 量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列。C 规定以“0”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包 含两个字符:a和0,而把它赋给一个字符变量是不行的。 4.忽略了“=”与“=”的区别。在许多高级语言中,用“=”符号作为关系运算符“等 于”。如在 BASIC 程序中可以写 if(a=3)then但 C 语言中,“=”是赋值运算符, “=”是关系运算符。如:if(a=3)a=b;前者是进行比较,a 是否和 3 相等,后者表示 如果 a 和 3 相等,把 b 值赋给 a。由于习惯问题,初学者往往会犯这样的错误。 5.忘记加分号。分号是 C 语句中不可缺少的一部分,语句末尾必须有分号。a=1b=2 编译 时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分, 这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一 行是否漏掉了分号。z=x+y;t=z/100;printf(“%f“,t);对于复合语句来说,最后一个语 句中最后的分号不能忽略不写(这是和 PASCAL 不同的)。 6.多加分号。对于一个复合语句,如:z=x+y;t=z/100;printf(“%f“,t);复合语句 的花括号后不应再加分号, 否则将会画蛇添足。 又如: if(a%3=0);I+;本是如果 3 整除 a, 则 I 加 1。但由于 if(a%3=0)后多加了分号,则 if 语句到此结束,程序将执行 I+语句, 不论3是否整除a,I都将自动加1。再如: for(I=0;Iy?x:y;return(z); 形 参 应 该 在 函 数 体 外 定 义 , 而 局 部 变 量 应 该 在 函 数 体 内 定 义 。 应 改 为 : intmax(x,y)intx,y;intz;z=xy?x:y;return(z); 修改 C 语言语法错误时要注意以下两点: 1)由于 C 语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示 第 10 行发生错误时,如果在第 10 行没有发现错误,从第 10 行开始往前查找错误并修改之。 2)一条语句错误可能会产生若干条错误信息,只要修改了这条错误,其他错误会随之 消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序 时务必要根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很多错误,要一 个一个地修改,即:每修改一处错误要运行一次程序。 C 语言程序设计 课程教学过程中, 一方面要求学生掌握 C 程序设计的基本语法规范, 养成程序设计的基本技巧与良好风格,并提高运用 C 语言解决实际问题的能力。针对上述特 点,我们采取了一系列行之有效的方法和措施: (1)充分运用多样化的教学手段(板书、幻灯片、多媒体课件、网络课件等)。在C 语言程序设计 教学过程中, 课堂教学使用多媒体课件进行辅助, 把难以理解的内容如递归、 链表等内容通过动画演示出来,变抽象课件为具体,化枯燥乏味为生动形象,激发了学生的 学习兴趣,改善了教学效果。 (2)保证学时,增加一定比例的习题课。为了保证教学质量,课程组总学时由原来的 48 学时增加到 64 学时,外加一周课程设计及 20 学时的开放实验,并增加了习题课的时数。 通过习题课,对实例重点分析,并将习题答案上网,使学生在完成习题的同时逐步感悟,从 而学会编程。 (3)加强实践环节,通过编程上机加深理解。 C 语言程序设计实践性恒强,教学过 程中,一方面在理论教学中加强实践操作演示和讲解,理论和实践相结合;另一方面,通过 编写高质量的实验指导书,按排教师全程指导,确保实验网成的质量,切实解决学生“上课 听得懂,下课不会做”的难题。 C 语言心得体会 6 (4) 重点突破。 学生在学习 C 语言程序设计 中最困难的地方就是指针与函数那部分, 为此, 我们在讲课时在前面的数组部分就开始提前引入指针的概念, 让学生早做联系早准备, 有效得解决了指针难题。 (5)充分利用课程教学网站以及其它网络资源,确保学生可以随时随地进行学习。 C 语言程序设计课程组建立了比较完善的课程教学网站,网站中不仅积累了丰富的 C 语言程 序设计教学资源,而且开辟了实验项目与实验环境、留言板等。安排教师及时回答学生的提 问,及时解决每节课每次作业中的疑问是提高本门课程教学效果的最有效解决办法。 五、上机实验的必要性五、上机实验的必要性 上机实验是学习程序设计语言必不可少的实践环节,特别是 c 语言灵活、简洁,更需要 通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、 掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。 学习 c 程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。 因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验 的机会, 尽快掌握用 c 语言开发程序的能力, 为今后的继续学习打下一个良好的基础。 为此, 我们结合课堂讲授的内容和进度,安排了 12 次上机实验。课程上机实验的目的,不仅仅是 验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概 括为如下几个方面: 1加深对课堂讲授内容的理解 课堂上要讲授许多关于 C 语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背 是不可取的。然而要使用 C 语言程序这个工具解决实际问题,又必须掌握它。通过多次上机 练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌 握 C 语言程序的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原 来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。 学习 c 语言不能停留在学习它的语法规则,而是利用学到的知识编写 c 语言程序,解决 实际问题。即把 c 语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有 通过上机才能检验自己是否掌握 c 语言、自己编写的程序是否能够正确地解题。 通过上机实验来验证自己编制的程序是否正确, 恐怕是大多数同学在完成老师作业时的 心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配 下,可能你会想办法去“掩盖“程序中的错误,而不是尽可能多地发现程序中存在的问题。自 己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐 步提高自己对 c 语言的理解和程序开发能力。 2熟悉程序开发环境、学习计算机系统的操作方法 一个 c 语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓 “环境“就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发 工作。通过上机实验,熟练地掌握 c 语言开发环境,为以后真正编写计算机程序解决实际问 C 语言心得体会 7 题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。 3学习上机调试程序 完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断 出现麻烦。 如编译程序检测出一大堆错误。 有时程序本身不存在语法错误, 也能够顺利运行, 但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能 靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来 说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调 试高手一眼就看出错误所在。 六、我个人的学习心得六、我个人的学习心得 在这里是我个人的几套学习心得, 通过学习后所掌握的知识使用上课老师所提到的案例 或找一段简单的完整的案例,然后将案例读懂,也就是把它转换成我们日常所能接受的自然 语言(在这里不妨把你所能理解的自然语言写下来) 。 1、这段代码是手工输入两个整数数字并计算两个数字之间从最小的数字开始到最大的 数结束其中所有奇数相加的和: void main() 首先 INT 是表示整数形数据的定义, 那么接下来有两个未知的整数和一个已知的整数 0; 这里出现的 3 个整数数字用 C 语言程序里的变量来替代它们,这时第一个数字就用取名为 NUM1 的变量,第二个数字就用取名为 NUM2 的变量,第三个数字就用取名为 X 的变量并且用 赋值符号来为它赋予 0 这个值。 int num1,num2,x=0; 由于知道了有两个未知的整数, 所以要通过键盘输入使这两个未知的整数变成已知的整 数并且储存在前面所提到的变量中。 scanf(“%d%d “, 得到数字后下面就开始进行一系列的运算和判断, 如果 NUM1 小于 NUM2 的话最小的数字 就是 NUM1 最大的数字就是 NUM2,如果 NUM1 这个变量不小于 NUM2 的话就跳过这个所包含 的内容。开始进行循环。 if(num1 NUM1 到 NUM2 之间的数字个数不是固定的,不能得到固定的循环起始点,所以这里的循 环起始点就不输入代码中, 但是通过题目中的提示知道 NUM1 这个变量如果大于 NUM2 的话循 环就终止了,而 NUM1 这个变量还需每循环一次就必须改变其值。由于 NUM1 到 NUM2 之间的 数字列如 1-9 每个数字跟其右边的数字都是存在加 1 的关系,所以这里就可以把 NUM1 这个 值用做循环的“计数器”每循环一次就让 NUM1 加 1,让其跟 NUM2 做比较是否结束循环。 2、数组的学习 C 语言心得体会 8 数组的学习给我带来了不少烦恼。但是说起数组来,它贯穿于我们整个 C 语言程序之中,我 们经常要用它来存储数据。编写图形要用它来储存坐标数据,编写音乐要用它来储存音符乐 谱,即使学生的成绩也要用到它来储存但是,如果我们在利用它的时候,不好好注意, 将被弄得眼花缭乱!我们在利用它来处理数据的时候,涉及到的排序,找最大,最小值这些 问题。特别是排序,方法挺多,但如果不把握住几种常用的方法,使用数组就变得非常不便。 常用的方法中,有冒泡排序,选择排序,希尔排序,快速排序等方法:选择法排序,与冒泡 法排序都是利用 for 循环语句,前者是先寻找出最大最小值的下标,然后再交换,后者则是 利用相邻间元素的比较大小,不符合要求顺序的就交换,这样一级一级地向上交换,把最大 的或者最小的放到最上面去;对于后两种办法排序,都利用到循环次数不确定的 while 和 do-while 语句,前者还利用到 for 语句,希尔排序利用一一对应比较的办法,后者利用数组 中其它元素与中间数进行比较大小,然后实行交换。 3、数据类型、运算符与表达式。 C 语言程序中有比较丰富的数据类型:整型、字符型、枚举型和浮点型,而整型又分为 有符号和无符号,短整型,长整型和一般的整型。而且你还可以构造自己的数据类型(如数 组,结构体,共用体) 。 标准 C 语言程序中共有 32 个关键字(也叫保留字) : int char long short unsigned signed union struct volatile const sizeof enum float double if else for while do switch case default void return break continue goto auto static extern register typedef C 语言程序中的运算符也是挺丰富的!分为了单目、二目和三目(多少目就说有多少个 元素参与)运算符,更具体的这里就不多说了。 它的运算符中的优先级和结合性也是比较难的一点,不过随着你的逐渐深入,你掌的自会增 多,自会记住这些,所以也不一定说要去背这些 C 语言程序设计之所以有如此的地位,其中之一就是它有了指针这个概念,即地址。这 使得能对地址的直接操作,甚至能通过位移或逻辑运算符,对位进行操作。这个,也就是它 为什么是介于高级与低级语言这间的一个重要原因! C 语言程序的表达式就是由上面的运算符组合形成的,写出表达式还不能算是完整,C 语言程序中规定用分号结束表达式的,用/*/来表示注释(/是 C+的) 。所以在表达式的结 尾加上分号就成了语句了,这样算结束。 因此, 表达的类型也不少, 例如有赋值 (a=2), 判断(a=b), 逗号表达式 (a+b, b+, a=b) (就是由多个式子组成,而整个式了的值是最后那个表达式的值) , 运算的(a+b) 4、C 语言程序设计初步。 首先你应该学好基础的,该记的就记,不过应该要理解,然后要多多实践才行! 一个完整的 C 语言程序必须要主函数 main,而且只允许有一个。无论你的程序多复杂, C 语言心得体会 9 总是由 main 函数进入开始执行,并由它而结束而在 main 函数中出现的其它函数,就称为 调用。所有的函数都是同等的(也就是说可以相互调用,main 特殊点) ,而函数自己调用自 己就称之为递归。 别看上面好像说的走题了, C 语言程序其实就是由函数构成的! 它的思想就是自顶向下, 逐步求精的模快化思想。也就是说,你先把你要做的程序通过不过地分割细化,分成了更具 体的各个小功能,然后把它们编写成函数,再有机地组合起来(就是调用) ,一个大功能的 程序就出炉啦。 一般来说,C 语言程序要把文件头 stdio.h(标准输入输出)包含进程序,这样就能用 C 语言程序中的相关函数了(其实和我们写的也一样,就是别人写好了,我们就不用了) 。 通 过#include 就达到目的了。 C 语言程序中的变量(就是在程序执行过程中的值是可变的,与常量区别(过程中的值 不变)都遵行先定义后使用,而且必须定义在所有执行语句前。这样,每一个函数的开始就 是这样变量, 常量的定义了。 接着考虑就是用顺序结构, 条件结构或是循环结构来写程序 (一 般复杂点的程序都有这三种的) ,然后就是用那些表达式来达到你要的功能了。下面就是一 个简单的求和 C 语言程序: (主要了解它构架) #include /*文件头包含后,下面才能用 printf 函数*/ main() /* 主函数 main */ /*用一对把函数内容括起来*/ int a, b , s; /*定义变量*/ a=1; /*给变量 a 赋值*/ b=1; /*给变量 b 赋值*/ s=a+b; /* a 与 b 求和并赋值给变量 s*/ printf(“%d“,s); /*调用 C 中的输出函数打出 s 的值到屏幕上*/ /* 到此结束*/ 5、选择结构 C 程序设计。 选择结构相对于顺序结构来说, 就是两多条不同的执行路径, 不是按照顺序全部执行的, 而是根据你写的条件,判断真假后选择不同的程序段去执行,达到不同的目的! 这样一来就符合了我们的事物了,因为事物的也是在一定条件下才能区别的,而不同的原因 (条件) ,就可能会有不同的结果(不同的执行路径) ,也以一个简单的程序说明好了,至于 详细也说不了,道不清! #include main() int a, b; /*定义*/ a=1;/*赋值*/ C 语言心得体会 10 b=2; if (a b) /*ab 就是判断条件了,如果条件成立,则访表达式的值为 1,不成立,则 ab 该表达式的值为 0*/ /*而在 C 中,非 0 就表示真,而 0 表式假,所以通过最后的值来决定方向*/ printf(“%d“, a); /*条件成立就打出 a*/ else /*否则,执行这一边*/ printf(“%d“,b); /*打出 b*/ 6、循环结构 C 程序设计。 循环语句其实也可看成特殊的条件语句,只不过它的执行路径只有一条,而通过判断条件来 决定是否要执行该路径还是要退出而已。它有 for do-while 和 while 三种类型,原理上是 一样的,就是 do-while 是先执行再进行条件的判断,而其它的两种就是先判断后执行的! 下面以一个程序来说明循环: #include main() int a, b; /*定义*/ a= 1;/*赋值*/ b=3; while(ab) /*循环判断,和条件的判断一样*/ a = a+1; /* a 加上 1,并把新得到的值赋再给了 a,这就是计算机的赋值了,与我们的数学 式子有所不同*/ printf(“%d“,a); /*把最后的 a 打出来*/ /* OVER!*/ 程序设计过程犹如解决实际问题,从解决实际问题的角度,我们可以这样来看:首先要 了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;其次,从问题 的要害入手,从前到后的解决问题的每个方面,即从输入开始入手,着重考虑如何从输入导 出输出,在这个过程中,可确定所需的变量、数组、函数,然后确定处理过程算法。可 得最后结论:在设计程序时也增长了自己的知识,翻阅有关文

温馨提示

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

评论

0/150

提交评论