c语言课程设计2



《c语言课程设计2》由会员分享,可在线阅读,更多相关《c语言课程设计2(55页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,单击此处编辑母版标题样式,,,,,共 47页 第,*,,页,,第二章,数据类型及其表达式,2024/9/21,1,第一节,,C,语言数据类型简介,,,第二节 基本数据类型,,第三节 运算符与表达式,,第四节 不同类型数据间的转换,第二章 数据类型、运算符与表达式,2,§2.1,C,语言数据类型简介,,二、什么是数据结构,计算机的别名:,数据处理机;,,数据元素:,数据的最小单位;,,数据结构:,数据元素的组织形式.,把需要解决的问题用,,计算机能完全理解的,,方式描述给计算机。,一、什么是程序设计,程序设计=,数据结构
2、,+,算法,+,方法,+,工具,程序设计=,编程,,,数据结构包括数据的逻辑结构和物理结构,它关系到软件或程序的复杂程度。,数据结构,数据类型,3,数据的描述,,数据的操作,程序,类型,运算符,算法,,数据结构,程序的任务是对数据进行处理,,数据是程序处理的对象,,而运算符是施加给这些数据的操作。数据和运算符是表达式的基本元素。,,§2.2,数据与,数据类型,4,三、,C,语言数据类型,§2.1 C语言数据类型简介,,5,关于类型的含义,,存储空,,间,,且采取不同的,存储形式。,,取值范围。,,操作。,,§2.2,基本数据类型,6,按照数据在程序中的取值:,,值保持不变-----常量,x
3、=2 * y,,值随程序运行变化-----变量,基本类型,整型,int,字符型,char,实型(浮点型),,,§2.2,基本数据类型,7,一、常量,1. 在程序运行中,其值保持不变。,,,2. 表示方法:,整型 100,125,-100,,,字符型 ‘,a’, ‘b’,,字符,串常量 “,string”,3.符号常量: #,用指定的标识符表示某个常量,2.,2.1,常量与变量,,§2.2,基本数据类型,8,二、变量,3. 变量通过变量名标识,1. 在程序运行中,值发生变化,2. 必须先定义,再使用,,,int a,,b,;,,类型 变量名表,变量,memory,a,8,26,3,
4、变量名和内存中的存储单元相对应。编写程序时通过变量名来存、取存储单元。,,§2.2,基本数据类型,9,(1)以字母或下划线开头,(2)不能用系统中的关键字作为变量名,规 定,,int a,b A123,_b;,int a;,,…..,,A=5;,,4. 有关变量名的,规定,(3),变量名中的字母是,区分大小写,的。,,sum,、stu_name、_age、Lts_1_2、a2,,32,,,NAME name,表示两个不同的标识符。,不提倡大小写混合使用,,§2.2,基本数据类型,10,一、整型常量,有三种表,,示形式,十进制,,八进制,,十六进制,1234,,加前导,0,,01234,01
5、25,,加前导,0,x 0x123,0xffff,整型数据包括,整型常量,和,整型变量,,,整型数据以二进制补码形式存储,例,,100、-8、0;010、024;0,x38、0X1F,2.3.2 整型数据,,§2.2,基本数据类型,11,二、整型变量,,掌握要点,,1 有几种定义形式,,2 每种形式占存储空间的大小,,3 取值范围,,4 输入输出格式,,§2.2,基本数据类型,12,1. 定义形式,共七种,基本整型,,长整型,,短整型,,无符号整型,,无符号短整型,,无符号长整型,,双长整型,,int,,long int,,short int,,unsigned int,2. 占存储空间,一
6、个变量,4,,4,,2,,4,字节,unsigned short,,unsigned long,,long long int,2,,4,,8,,§2.2,基本数据类型,13,,,§2.2,基本数据类型,类型,所占字节,数据的范围,int,4,-,2 147 483 648,~,2 147 483 647,short int(short),2,-,32 768,~,32 767,long int(long),4,-,2 147 483 648,~,2 147 483 647,unsigned int,(,unsigned,),4,0,~,4 294 967 295,unsigned short,
7、2,0,~,65 535,unsigned long,4,0,~,4 294 967 295,long long int(long long),8,-,9 223 772 036 854 775 808,~,,9 223 772 036 854 775 807,14,int,型数的表示范围:,,存储长度16位二进制(2,Byte),,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,1,0 0 0 0 0 0 0 0 0 0 0 0 0 0,1 1,0,1 1 1 1 1 1 1 1 1 1 1 1 1
8、 1 1,1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,上面的数再加1是多少?,例,int,型表示数的范围,:,- 32768,~,32767,4. 输入输出形式 :,%,d,%ld,%x,%o,%u,,§2.2,基本数据类型,15,包括实型常量和实型变量,一、实型常量,有两种表,,示形式,小数,,指数,,3,e-3,实型常量只能用十进制形式表示,不能用八进制和十六进制,1,,e5、1e-3.2、e、.e-03,2.,2.3,实型数据,用指数表示实型常量的规则,:,,,e,或,E,之前,之后,必须有数字;指数必须为整数,,§2.2,基本数据类型
9、,16,1. 定义形式,共三种,单精度,,双精度,,长双精度,,float,,double,,long double,2. 占存储空间,一个变量,4,,8,,8,字节,二、实型变量,实型常量不区分单精度和双精度,,§2.2,基本数据类型,17,3. 变量的取值范围,4.输入输出形式 %,f,类型 长度 数的范围 有效数字,,单精度,float,4,,,10,-38,~,10,38,,,6---,7,位,,双精度,double,,8,,,10,-308,~,10,308,,15--16,位,,长双精度,,long double,,8,,10,-308,~,10,3
10、08,,18--19,位,,§2.2,基本数据类型,18,,实型数据在计算机中以,指数形式,存储,单精度实型变量用一个字节存放指数部分, 其余三个字节存数值部分 。,,,7位二进制,,23位二进制,单精度实型,2,-23,<= |,尾数,| <= 1-2,-23,尾数,指数,,§2.2,基本数据类型,19,包括字符型常量和字符型变量,一、字符常量,1. 用单引号包含的一个字符,2 .只能包含一个字符,‘,a’, ‘A’, ‘1’,,‘abc’,,“a”,,2.,2.4,字符型数据,,§2.2,基本数据类型,20,字符常量,,定义,:,用,单引号,括起来的单个,普通字符,或,转义字符,.
11、,,字符常量的,值,:该字符的,ASCII,码,值,<,,转义字符及其含义:,转义字符,含义,\n,\v,\r,\a,\‘,\ddd,\t,\b,\f,\\,\“,\xhh,转义字符,含义,换行,垂直制表,回车,响铃,单引号,3,位,8,进制数代表的字符,水平制表,退格,换页,反斜线,双引号,2,位,16,进制数代表的字符,如 ‘,\101’ -----------‘A’ ‘\012’ -----------’\n’,,‘\376’ -----------’,’ ‘\x61’ -----------’a’,,‘\60’ -----------’0’
12、 ‘\483’ ----------(,,),例,:,,‘A’-------’\101’-------’\x41’--------65,<,如 ‘,A’——65,, ‘,a’——97,,,,‘,0’——48 , ‘\n’——10,如 ‘,a’ ‘A’ ‘?’ ‘\n’ ‘\101’,转义字符,:,反斜线后面跟一个字符或一个代码值表示,例 转义字符举例,(ch2_001.c,ch2_004.c),,,main(),,{,,printf("\101 \x42 C\n");,,printf("I say:\"How are you?\"\n");,,pri
13、ntf("\\C Program\\\n");,,printf("Turbo \'C\'");,,},运行结果:,(,屏幕显示,),,A B C,,Isay:”How are you?”,,\C Program\,,Turbo ‘C’,例,main(),,{ printf(“Y\b=\n”);,,},运行结果:,,屏幕显示:,=,,打印机输出:,Y,21,二、字符串常量,,1 双引号内的一串字符,“,china”,2,n,个字符组成的字符串常量, 在,,内存中占空间为,n+1,,个字节。,c,h,i,n,a,\0,,字符串结,,束标记,3,C,,中没有专用的,,字符串变量,“,This
14、 is C string,” 串长 16,,“,a”,串长 1,,“ ”,(,空格)串长 1,,“”,(,不含空格)串长 0,,§2.2,基本数据类型,22,1. 定义形式,2. 占存储空间,一个变量,1 字节,三、字符型变量,char,一个字符变量只,,能包含一个字符,3. 输入输出形式 %,c,‘,a’,,ASCII,值为 97,,内存中存储形式,0 1 1 0 0 0 0 1,4. 字符型数据在内存中以相应的,ASCII,值存储,,§2.2,基本数据类型,23,在ASCII范围以内,整型数据,与字符型数据可以通用,main( ),,{ char c ;,,c = ‘c’
15、;,,printf ( “%c %d”, c,c );,,},C 99,,,题目中有多个,c,,,哪些是等价的?,运行结果:,,§2.2,基本数据类型,24,例如:,int add(int a,int b);,void add(int a,int b);,2.,2.5,空类型,,§2.2,基本数据类型,25,,§2.,3,运算符与表达式,一、运算符,运算符,运算分量,,X= 5 + b * c,,对数据进行,,运算的符号,,被加工,,的数据,表达式,2.,3.1 C,运算符简介,算术运算符,,赋值运算符,,关系运算符,,逻辑运算符,,逗号运算符,,条件运算符,,…...,,C
16、,中运算符,共34种,26,值,1. 运算符和运算分量构成,表达式,二. 表达式,算术表达式,,赋值表达式,,关系表达式,,逻辑表达式,,逗号表达式,,条件表达式,,…...,,§2.,3,运算符与表达式,27,三. 学习运算符应掌握的要点:,* 运算符的,种类,与,功能,* 运算符与运算分量的,关系,个数,,类型,A,+,B,(,a>b),,?,,a,:,b,目,关系,,不同类型的变量,所,,允许的操作不同,单目运算符,,双目运算符,,三目运算符,,§2.,3,运算符与表达式,28,*优先级:,运算符的执行顺序,,*结合性:,优先级相同时的结合方向,*运算结果的类型,X=5+8,,‘a’>1
17、00,X=a+,b*c,,a+b-c,,5>7>2,,a=b=5,,,结果?,单目运算符的优先级高于双目运算符,,单目运算符从右向左结合,,双目运算符从左向右结合,,§2.,3,运算符与表达式,29,2.4.2 算术运算符和算术表达式,1.,共有5个,:+,-,*,/,,%,2 “-”作为 负号时为单目,单目: -,双目:*, /, %,双目:+,-,4. 优先级:,,5. 结合性,:,从左向右,3.,%,运算只适用于,整型数,,取模(求余数),,a=10%4,,a,的值为,2,,§2.,3,运算符与表达式,30,2.4.3 自增、自减运算符,1. 变量自身加(减)1,,k =k+1,
18、k ++,先使用变量,k,的值,再加 1,++ k,,先加1,再使用变量,k,的值,,k = k-1,k - -,先使用变量,k,的值,再减 1,- -,k,,先减1,再使用变量,k,,的值,,k=3; printf( “%d”, k ++);,输出 3 后,,k,的值为 4,i=3; printf( “%d”, ++ i);,输出4,,§2.,3,运算符与表达式,31,2. 只能用于,变量,,不能用于,表达式,和,常量,3. 优先级:,高,于双目算术运算符,4. 结合性:,从右向左,(,i+k),++ , - -,3,,i=3; k=i++ + i++ + i++;,i=?,k=
19、?,i=3; k= (++i) + (++i) + (++i);,,§2.,3,运算符与表达式,32,例:,,m,ain( ),,{ int a , b , s ;,,a = 5 ; b = 5 ;,,s=,a+b,; printf(“%d,%d,%d\n”,a,b,s);,,s=,a++ +b;,printf(“%d,%d,%d\n”,a,b,s);,,s=,++a+,b,;,printf(“%d,%d,%d\n”,a,b,s);,,s=,- -a +b;,printf(“%d,%d,%d\n”,a,b,s);,,s=,a- - +b;,printf(“%d,%d,%d\n
20、”,a,b,s);,,s=,a + b;,printf(“%d,%d,%d\n”,a,b,s);,,},,§2.,3,运算符与表达式,33,s = a + b ;,,s = a++ +b ;,,s = ++a +b ;,,s = - -a +b ;,,s = a- - +b ;,,s = a + b ;,,,,a=5, b=5,5+5=10,,5+5=10,,7,+5=12,,6,+5=11,,6,+5=11,,5+5=10,a b s,,5,5,10,,6,,5,10,,7,,5,12,,6,5,11,,5,,5,11,,5,5,10,题目分析,,§2.,
21、3,运算符与表达式,34,2.3.3,关系运算符和表达式,,关系运算符,,种类,:,= > !=,,结合方向:自左向右,,优先级别:,,<,,<=,,>,,>=,,==,,!=,,优先级,6,(高),优先级,7,(低),例,c>a+b //c>(a+b),,a>b!=c //(a>b)!=c,,a==b
22、,//,表达式值1,//,表达式值0,,//d=1,//f=0,,§2.,3,运算符与表达式,35,关系运算注意:,例 若,a=0; b=0.5; x=0.3;,,,则,a,<=x<=b,的值为,0,例,5>2>7>8,在,C,中是允许的,,,值为,0,例,int i=1, j=7,a;,,a=i+(j%4!=0);,,,则,a=,2,例 ‘,a’>0,结果为,,‘,A’>100,结果为,1,0,,§2.,3,运算符与表达式,36,关系运算注意:,例,注意区分“,=,”,与“,==,”,,int a=0,b=1;,,if(a,=,b),,printf(“a equal to b
23、”);,,else,,printf(“a not equal to b”);,例,应避免对,实数,作相等或不等的判断,,如,1.0/3.0*3.0==1.0,结果为,,可改写为:,fabs(1.0/3.0*3.0-1.0)<1e-6,0,,§2.,3,运算符与表达式,37,a,b,!a,!b,a&&b,a||b,真,假,真,假,假,假,真,真,逻辑运算符和表达式,,逻辑运算符,,种类:,! && ||,,逻辑运算真值表,C,语言中,,运算量,:,0表示“假”,,,非0表示“真”,,,,运算结果:,0表示“假”,,,1表示“真”,,,真,假,假,假,假,假,真,真,假,假,真,真,
24、真,假,真,真,,§2.,3,运算符与表达式,38,,,!,(2),,,&&,(11),,,||,(12),高,低,例,a<=x && x<=b,,,a>b&&x>y,,a==b||x==y,,!a||a>b,,优先级:,结合方向:,,,!,:,从右向左,,,&& :,从左向右,,,|| :,从左向右,// (a<=x) && (x<=b),//(a>b)&&(x>y),//(a==b)||(x==y),//(!a)||(a>b),,§2.,3,运算符与表达式,39,,,!,(2),,,&&,(11),,,||,(12),高,低,优先级:,结合方向:,,,!,:,从右向左,,,&&
25、 :,从左向右,,,|| :,从左向右,例,a=4;b=5;,,!a,,a&&b,,a||b,,!a||b,,4&&0||2,,5>3&&2||8<4-!0,,‘c’&&‘d’,值为1,值为0,值为1,值为1,值为1,值为1,//(5>3)&&2||(8<(4-(!0))) 值为1,,§2.,3,运算符与表达式,40,,,!,(2),,,&&,(11),,,||,(12),高,低,优先级:,结合方向:,,,!,:,从右向左,,,&& :,从左向右,,,|| :,从左向右,短路特性,:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求
26、出表达式的解时,才执行该运算符,<,>,例,a&&b&&c,//,只在,a,为真时,才判别,b,的值;,,只在,a,、,b,都为真时,才判别,c,的值,,例,a||b||c,//,只在,a,为假时,才判别,b,的值;,,只在,a,、,b,都为假时,才判别,c,的值,,例,a=1;b=2;c=3;d=4;m=1;n=1;,,(m=a>b)&&(n=c>d),,//,结果,m=0,n=1,,§2.,3,运算符与表达式,41,条件运算符与表达式,,一般形式:,expr1 ? expr2 : expr3,,执行过程,,功能:相当于条件语句,但不能取代一般,if,语句,例,if (a>b),,p
27、rintf(“%d”,a);,,else,,printf(“%d”,b);,printf(“%d”,a>b?a:b);,例 求,a+|b|,,printf(“a+|b|=%d\n”,b>0?a+b:a-b);,expr1,取,expr2,值,取,expr3,值,非,0,=0,例,(a==b)?’Y’:’N’,,(x%2==1)?1:0,,(x>=0)?x:-x,,(c>=‘a’ && c<=‘z’)?c-’a’+’A’:c,条件运算符可嵌套,,,如,x>0?1:(x<0?-1:0),,优先级,: 13,结合方向:,自右向左,,如,a>b?a:c>d?c:d, a>b?a:(c>d?c:d)
28、,,expr1,、,expr2,、,expr3,类型可不同,表达式值取较高的类型,例,x?‘a’:‘b’ //x=0,,表达式值为‘,b’; x‡0,,表达式值为‘,a’,,x>y?1:1.5 //x>y ,,值为1.0;,x 29、术运算低,4. 赋值运算的结合性,从右向左,X = y = 5,,§2.,3,运算符与表达式,43,说明,:,,结合方向:,自右向左,,优先级,:,14,,左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,,,且可嵌套,赋值转换规则,:,使赋值号右边表达式值,自动,转换成其左边变量的类型,例,3=x-2*y;,,a+b=3;,例,,float f;,,int i;,,i=10;,,f=i;,,则,,例,int i;,,i=2.56; //,结果,i=2,;,例,: a=b=c=5,,a=(b=5),,a=5+(c=6),,a=(b=4)+(c=6),,a=(b=10) 30、/(c=2),//,表达式值为5,,a,b,c,值为5,// b=5;a=5,//,表达式值11,,c=6,a=11,//,表达式值10,,a=10,b=4,c=6,//,表达式值5,,a=5,b=10,c=2,44,复合赋值运算符和复合赋值表达式,,赋值运算符两侧出现相同的变量,x=x+n,,x=x-n,,x=x*n,,x=x/n,,x=x%n,x + = n,,x - = n,,x * = n,,x / = n,,x% = n,算术运算与赋值运算相结合,,X,与,n,均,为整数,x=x+n,n,为常数,x+=n,,§2.,3,运算符与表达式,45,说明,:,,结合方向:自右向左,,优先级, 31、: 14,,左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,,,且可嵌套,赋值转换规则,:,使赋值号右边表达式值,自动,转换成其左边变量的类型,例:,a=12;,,a+=a-=a*a,例,: int a=2;,,a%=4-1;,,a+=a*=a-=a*=3;,//a=-264,等价于,a=a+(a=a-(a*a)),//a=0,等价于,a=a+(a=a*(a=a-(a=a*3))),复合赋值运算符和复合赋值表达式,46,main( ),,{,int a, b, c, d, e;,,a=2; b=5 ;c= 6;d=10;,,a + =b; b- =c;,,c * =d 32、; d / =a;,,a%=c;,,printf(“%d,%d,%d,%d\n”, a , b , c , d);,,,},结果?,7,-1,60,1,,§2.,3,运算符与表达式,47,一、逗号运算符,(表达式 1,表达式 2,表达式 3,……表达式,n,),用于连接几个表达式,二、求解过程,顺序求解几个表达式,三、优先级,逗号运算符的优先级最低,,四、结合性,从左向右,五、逗号表达式,逗号表达式的值为最后一个表达式的值(表达式,n,的值),X =,(,,(,a=4*5 , a*2,),, a+6,),,a,为?,,20,x,为?,26,2.,3.7,逗号运算符,,§2.,3,运算符与表达 33、式,48,,§2.,4,不同类型数据间的转换,,不同数据类型需先转换成同一类型,然后进行运算,方式,自动进行-------隐式转换,,强制进行-------显式转换,一、隐式转换(算术转换),级别低的向级别高的转换,double float,,long,,unsigned,,int char, short,int i; float f; double d; long e;,,表达式:,10+’,a’+i*f-d/e,,的结果为:,,,double,49,二、显式转换(强制转换),,一般形式:,(,类型名,),(表达式),,例,(int)(x+y),,(i 34、nt)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.,4,不同类型数据间的转换,,50,一 、,C,中的基本数据类型,每一种类型的定义方式,(关键字),,,在存储空间中所占的字节数,存储形式,取值范围。,二、,C,中的运算符的几个要点(功能,与运算分量的关系,优,,先级 35、,结合性,运算结果的类型,)。,三 、算术运算符中的%只使用在,int,类型。,第二章 总结,四、 自增,自减运算的特点,灵活使用,k++,++k。,五 、复合的赋值运算规则。,七、 不同类型数据转换时的优先顺序,八、单目运算,双目运算的优先级和结合性特点,熟记基本概念和规则!,51,二 、 补充习题:,,1、C,语言规定,在源文件中,,main(),的位置,: ( ),,,A、,必须在最开始,B、,必须在库函数后,,,C、,可以在任意位置,D、,必须在所有函数最后,,2、一个,C,程序的执行是从: ( ),,A、,从主函数开始,在主函数中结束;,,B、,从第一个函数开始,到最后一 36、个函数结束;,,C、,从主函数开始,到最后一个函数结束;,,D、,从第一个函数开始,到主函数中结束。,,3、下面选项中,全为不合法的用户标识符的选项是: ( ),一、课后习题,第三章 习题,52,A)、 A B)、 float C)、 b-a D)、-123,,p_0 1a0 goto temp,,do _a 37、 int INT,,4、,以下叙述种不正确的是: ( ),,A、,在,C,程序中,逗号运算符优先级最低;,,B、,在,C,程序中,,AHP,和,ahp,代表两个不同的变量;,,C、,若变量,a、b,类型相同,则表达式,a=b,是将,b,的值放入,a,中,而,b,不变;,,D、,输入数据时,整型变量只能输入整数,实型变量则只能输入实数。,,,5、设有说明:,char w; int x; float y; double z;,,,则表达式:,w*x+z-y,的值的类型为 : ( ),,A、 38、 float B、char C、int D、double,第二章 习题,53,6、,在,C,语言中,,int,型数据在内存中占用2字节存储单元,则,int,型数据的取值范围为:___________。,,7、,若,a,为,int,型变量,则如下表达式的值为:__________。,,(a=4*5), a+=5, a+6,,8、,若有如下定义:,,,int b=7; float a=2.5, c=4.7;,,则表达式:,a+(int)(b/3*(a+c)/2)%4,的值为:________ 39、__。,第二章 习题,54,int,型数的表示范围:,,存储长度16位二进制(2,Byte),,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,1,=2,15,-1=32767,0 0 0 0 0 0 0 0 0 0 0 0 0 0,1 1,0,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,=1,=3,上面的数再加1是多少?,=-2,15,=-32768,例,补码表示,int,型表示数的范围,:,- 32768,~,32767,4. 输入输出形式 :,%,d,%ld,%x,%o,%u,,§2.2,基本数据类型,55,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。