还剩46页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
期末复习语言知识点归纳C
一、概述.一个语言源程序可以由一个或多个函数组成,有且只有个1c1函数,可以放在程序中的任何位置.main一个程序不论有几个函数,都是从函数开始执行.
2.C main标识符
3.按照语言所定义的规则来命名的符号C规则由字母、数字、下划线组成,但第一个字符必须是字母或下划线例如、、为合法标识符area a234_
1234、、为非法标识符456P a-b a+b注意标识符区分大小写例如和是两个不同的标识符PAGE page语言有个关键字,关键字不能用作用户标识符
4.c32源程序文件的扩展名”
5.C.c“下语言程序的完整实现过程包括个基本步骤:
6.VC++
6.0c4(表达式)(表达式)若(表达式)的值为则表达式12,10,2将不被计算,整个的结果为||的短路运算:0o(表达式)(表达式)若(表达式)的值为则表达式将1||2,11,2不被计算,整个||的结果为1•数学关系式在语言中的表达0x10C()()或0xx100xx10•赋值表达式格式变量名=表达式例如为合法表达式a=10a=a+1a=b=7+1为非法表达式a+b=8a=7+1=b整个表达式的值等于最左边变量的值例如整个表达式最后的值为a=b=c=8*864复合运算符:+=-=、*=、/=%=•复合赋值表达式例如表达式可写成n=n+1n+=1表达式可写成n=n%3n%=3表达式可写成n*=m+3n=n*m+3例假设变量初值为计算下列表达式1a9,a+=a-=a+a解答计算结果为值未变1a+a,18,a计算即结果为值变为2a-=18,2=2-18,-9,a-9计算结果为值变为3a+=-9,BP a=a+-9,-18,a-18整个表达式最后结果为最后值为-18,a-18注意为赋值表达式,而为赋值语句a=a+1a=a+1;•自加和自减运算符加和自减只适用于整型变量.例如和等价于和等价于a++++a a=a+1b----b b=b-1和的区另a++++a ij:假设的初值为a5表达式值为最后值为a++5,a6表达式值为最后值为++a6,a6•逗号表达式格式表达式表达式,表达式1,2,..…n从左至右依次计算每个表达式,最后一个表达式的值即为整个逗号表达式的值例如表达式』最后结果为最后值为3,++i,i+59,i4•条件运算由“?“和””构成,它是根据条件从两个表达式中选择一个进行计算取值的操作,优先级高于赋值运算符,低于算术运算和关系运算.
三、输入输出函数•数据输出printf)格式(格式符,输出项输出项printf1,2,….格式符功能输出一个字符%c输出十进制整数%d输出小数形式浮点数%f输出指数形式浮点数%e输出一个字符串%s数据宽度说明)在%和格式字符之间插入一个整数来指定输出宽度例1如、%4d%5c)对于和类型的实数,可以用形式指定输2float doublen
1.n2n1出数据的宽度(包括小数点),指定小数点后小数的位数n2例如:、%
12.3f%
12.0f例输出整型变量和的值,数据宽度均为1a b4printf(u%4d%4d,,,a,b);例输出单精度变量的值,保留位小数2k2%()printf“.2f,k;•数据输入scant)格式(格式符,输入项输入项scanf1,2,…格式符功能输入一个字符%c输入十进制整数%d输入单精度数%f输入双精度数%lf输入一个字符串%s例从键盘上输入两个整数,保存在变量和中1a bscanfu%d%d,,a,b;J例从键盘上输入一个双精度数,保存在变量中2datascanfu%lf data;5此处两例中是语言运算符,表示取变量地址C•复合语句格式{语句语句....语句12n}例用复合语句将变量依次赋值为最小素数1a,b,c{a=2;b=3;c=5;}例用复合语句实现变量和的值的交换2a b{k=a;a=b;b=k;}•不带参数的宏意思是用符号常量宏名代#define PI
3.14159PI替宏体,注意宏定义不是语句,后面不加分号.
3.14159c•带参数的宏.#define mx x*x*x*x意思是代替的次方,不用定义,可以在使用中换成需要mx x4x的字母.带参数的宏的展开,如:#define mxx*x*x*xprintf%d,m1+1;的宏展开式为计算结果为m1+114-1*1+1*1+1*1+15再如#def ine mxx*x*x*xprintf%d,m1+1;的宏展开式为计算结果为m1+11+1*1+1*1+1*1+116命令是编译预处理的文件包含命令,形式为了•incI ude文件名或者文件名,调用标准函数中的#include#include输入输出函数,如果调用数学函数如#include stdio.h,sqrt函数、函数等,则应加上fabs或者##include math,h includemath.h
四、分支结构•关系运算符、V、=、===!=关系运算的结果只有两种真或假语言中用表示真,用表示假C10例结果均为真,值为16=6aA51例结果均为假,值为26!=69F0,逻辑运算符(与)||(或)!(非)优先级非运算与运算,或运算非运算规则操作数结果真假假真与运算规则操作数操作数结果12真真真真假假假真假假假假或运算规则操作数操作数结果12真真真假真真假假假例若变量值为变量值为计算表达式1a10,b16,()ab||asqrt bb=16最后结果为真,表达式的值为1语句的一般形式:•if单分支结构(表达式)语句if若表达式为真,则执行语句;否则语句结束if二选一结构(表达式)if{语句组1}else{语句组2}表达式的值非才执行语句组否则执行语句组01,
2.例从键盘上输入两个整数,输出较大的数1#include stdio.hmainintx,y;“请输入两个整数printf:\n;%scanf d%d”,x,y;if xy%printf d”,x;else%printf d”,y;•条件运算符格式表达式表达式表达式12:3;若表达式为真,结果为表达式否则为表达式123例如的初值为执行以下语句x5,最后的值为y=++x6100:200;y200语句可嵌套,在花括号里继续使用.•if多选一结构(表达式)if1{语句组1}(表达式)else if2{语句组2}(表达式)else if3{语句组3}else{语句组n}例根据输入的学生成绩,大于或等于分为分以下等级为190A,60其余每分一个等级E,10#include stdio.h()main(intg;(“请输入一个整数:)printf\n;•编辑源程序•编译源程序•构建(链接)形成可执行文件(.)exe•运行可执行文件.
二、数据类型、表达式语言中,整型、字符型、实型是最基本的数据类型.
1.C常量
2.指在程序运行中,其值不能被改变分为整型常量、实型常量、字符常量、字符串常量•整型常量语言中主要有十进制、八进制、十六进制等C十进制例如、、等12-332767八进制用数字开头,由这个数字组成00-78例如、为合法八进制数
010016、为非法八进制数127018十六进制用数字和字母或开头,用表示前0x X0-910个数字,字母(可小写)表示后个数字A-F6例如、、为合法十六进制数OxAF0x100x
34、、为非法十六进制数100ABC OxAFH注意语言中只有十进制数可以为负数C•实型常量%scanf d”,g;if g=90printfA\rT;else ifg=80printfB\rT;else ifg=70printfuC\n,5;else ifg=60printftD\n^^;else printf^,E\n^^;表达式//表达式通常为整型或字符型值•switch switch常量语句组后面必须是常量case1:1//case常量语句组case2:2语句组〃也可省略该语句default:}可以使用中来中止后面语句的执行.break型与之对应,后面的表达式可以是常量或常量表达case表达式通常为整型或字符型值,中的常量类•switch case式,不能为变量表达式.语句switch格式计表达式常量表达式语句sw chcase1:1常量表达式语句常量表达式语句case2:2case n-1:n-1语句default:n;若表达式的值与表达式相等,则执行语句若与表达11式相等,则执行语句若均不相等则执行语句22……n例用语句重写学生等级程序1switchinclude stdio.hmainintg;%“请输入一个整数整printf scanfd”,g;switchg/10;case10:printfA\n break;case9:printf^^A\n^^;break;case8:printf^^B\n^^;break;case7:printf^^C\n^^;break;case6:printf^^D\n^^;break;;default:printfE\n”程序中表示跳过后面的分支break
五、循环结构循环•while格式(表达式)循环体while若表达式为真,则执行循环体再判断表达式,若仍为真则重复执行循环体直到表达式为假时循环结束例编程计算1S=1+2+......100o#includestdio.hmainint k=1,s=0;while k=100%{s=s+k;k=k+1;}printf d”,s;循环•do-while格式do循环体表达式;while先执行循环体,然后判断表达式若为真则重复执行循环体直到表达式为假时循环结束例用循环计算1do-while10!#includestdio.hmainint k=1;long s=1;do{s=s*k;k++;}while k=10;%printf ld”,s;注意循环和循环的区别while do-while循环是先判断表达式,因此循环体有可能一次也不执while行循环是先执行一次循环体,再判断表达式,所do-while以不论表达式为真为假,循环体至少要执行一次循环•for格式表达式表达式表达式循环体先执行表达式然后判断表for1;2;31,达式若为真则执行循环体然后执行表达式再判断表达式2,3,2,若仍为真则重复执行循环体直到表达式为假时结束2例用循环计算1for S=1+2+…100#includestdio.hmainint k,sum=0;fork=1;k=100;k++sum=sum+k;printfu%d,,,sum;例若一个三位数个位、十位、百位的立方和等于它本身则称这个2数为水仙花数例如是一个水仙花数编程输出所有的153水仙花数#includestdio.hmainint a,b,c,i;fori=100;i=999;i++a=i/100;b=i%100/10;c=i%10;ifa*a*a+b*b*b+c*c*c==i printf%d\n,i;语句•break适用的场合是语句中,及循环语句中switch用在循环体内表示强行退出循环例计算直到累加和大于为止1S=1+2+3+...n,5000#include stdio.hmainint i,s=0;fori=1;;i++s=s+i;ifs5000break;%printf d”,s;注意当有多重循环时,只能退出最内层循环break语句•continue用在循环体中用来跳过本次循环余下的语句,立即开始下一轮循环,整个循环并未结束例写出下列程序运行结果1int i,k=0,s=0;fori=1;i=5;i++s=s+i;ifs5{printfui=%d,s=%d,k=%d\n,,i sk;continue;J J Jk=k+s;printftti=%d,s=%d,k=%d\n,,i s,k;JJ运行结果i=1,s=1,k=1i=2,s=3,k=4i=3,s=6,k=4i=4,s=10,k=4i=5,s=15,k=4
六、数组•数组是包含多项相同类型数据的一种数据结构,它使用同一个名字命名,再用下标进行分量标识.数组元素的下标从开始,数组长度为时,最末元素的下标是n n-
1.定义一维数组格式类型名数组名[元素个数]例定义一个包含个整数的数组14aint a
[4];例定义一个包含个双精度数的数组23bdouble b
[3];注意语言中数组的下界从开始计数C0例如⑷的个元素分别为、a4a
[0]a
[1]a
[2]a
[3]•数组有一维数组,二维数组,和多维数组.数组中的每一个分量称为一个数组元素•一维数组定义格式数据类型数组名[数组长度];〃数组长度指数组中可以存放的数据元素的个数,用整数常量表示,也可用代表一个正整数的符号常量表示例如int array
[10];语言规定只能逐个使用数组元素,而不能一次使用整个数组C•数值型一维数组的初始化,用一对大括号将数组的初值括起来例^:inta
[6]={10,20,30,40,50,60};注意语言中,不允许初值个数多于数组定义的长度Cint a[]={10,20,30,40,50,60};表示方式有两种小数形式和指数形式小数形式例如、、都是合法形式
0.
123.
123123.指数形式例如可用以下任何一种指数表示
2.
3026、
0.23026E
12.3026e
023.026E-1但下面的指数形式为非法、・、・和间有空格E
3.5e
362.3e2e・2•符号常量用符号名来表示一个常量格式符号名常量值#define例已知圆的半径为计算圆的面积(圆周率取)
5.0,
3.14O#include stdio.h#define PI
3.14main{double r,s;r=
5.0;s=PI*r*r;printf,s=%f\n,,,s;给初值的情况下,数组的长度可省略,系统以初值的个数作为数组的长度•对部分元素的初始化,例如是对前个元i nta
[6]={10,20,30}3素的赋值.例1int a
[3]={1,2,3;此例中值为、值为、值为a
[0]1a
[1]2a
[2]3例2int a
[5]={0};此例中数组的全部元素值均为a0例3int a
[3]={1,2,3,4;此例中由于初值个数多于数组元素个数,所以非法例4int a[]={0,0,0,0;此例中省略数组元素个数,初值为个40等价于int a
[4]={0};注意数组名是一个常量值,不能对它赋值例如int a
[3];此语句非法,应改为a=5;a
[0]=5;•一维数组应用例从键盘上输入个整数,输出最大数和最小数110#includestdio.hmainint a
[10],i,max min;5”请输入个整数整printf10fori=0;i=9;i++scanf%d a[i];3max=a
[0];min=a
[0];fori=1;i=9;i++ifa[i]max max=a[i];ifa[i]min min=a[i];%最大数是printf d\n”,max;%最小数是printf d\n”,min;例斐波数列的定义如下
2、、、、、、、11235813编程输出斐波数列的第项值40#includestdio.hmainlong a
[40];int i;a
[0]=1;fori=2;i=39;i++a[i]=a[i-1]+a[i-2];printf%ld,a
[39];•字符型一维数组中每个元素存放一个字符常量.1如char ch[]={\x10,\x21,\x1f,\x5a};该数组中的初值字符为转义字符•字符串用双引号将一串字符括起来称字符串语言中用一维数组来存放,并以作为结束标志C\0蹴是占用空间但不计入串的实际长度\00,例如字符串的长度为占用空间为student”7,8通常利用字符数组存放字符串如;char str
[20]={hello该字符串的实际长度为个字符,占用的数组空间长度为520是字符串的结束标志.系统在存放一个字符串时,会在串的最后0一个字符后添加,\0\•任何一个一维数组在内存中都占用一段连续的空间.%•用格式输入字符串时,遇到回车键结束,但获得的字符中不s“包含回车键本身,而是在字符串末尾添加
0.%•使用一个一维函数使用”格式输入多个字符串时,scanfs输入的各字符串之间要以空格键分隔.如char ch
[20];〃〃从键盘输入一个字符串存入数组scanf3%s,ch;ch%•用格式符为一个字符数组输入字符串时,只有第一个空格之5如对上面的数组,输入”则只有空ch“Hello world!前的字符串被读入到字符数组中.格前面的被存入数组“Hello”函数和函数专门用于字符串的输入输出,•getsputs而且只能对一个字符串进行操作.函数格式为:字符数组名;getsgets如char str
[20];/*从键盘输入一个字符串存入数组输入时以回车gets str;ch,键作为结束符.*/使用格式与相同.puts gets//输出数组中存放的字符串puts str;str•字符串常用函数使用下列函数时要包含头文件〈string.h字符串拷贝函数1strcpys1,s2表示将复制到中s2s1字符串连接函数2strcats1,s2表示将连接到后面形成一个新字符串S2s1字符串长度函数3strlens计算出的实际长度不包括s‘\0字符串比较函数4strcmps1,s2若函数返回值大于s1s2,0若函数返回值等于s1=s2,0若函数返回值小于s1VS2,0•字符串应用例从键盘上输入一个字符串,输出它的长度1#includestdio.h#includestring.hmainchar*p,str
[100];P=str;请输入一个字符串:printf\ngetsp;printf%d,strlenp;•定义二维数组格式类型名数组名[一维上界][二维上界]例定义一个行列的整型数组122aint a
[2]
[2];此例中数组共有个元素,分别是a4a
[0]
[0]a
[0]
[1]a
[1]
[0]a
[1]
[1]o例定义一个行列的整型矩阵244aint a
[4]
[4];•二维数组的初始化用嵌套的大括号将数组初值括起来例1int a
[4]
[3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12;例2int3
[4]
[3]={{12},{4,5},{7},{10};5此例中系统自动给空缺的地方补0例3int a
[4]
[3]={{12}{4}5}};55系统自动给后面的行补初值0例4int a
[4]
[3]={1,2,4,5;此例中数组的第一行中元素和第二行的第一个a元素依次为其余全部为1,2,4,50•定义二维数组大小例1inta[]
[3]={{1,2,3},{4,5},{6},{8}};有个行花括号,因此说明是行歹限443例表示一个行列数组2int a[]
[3]={1,2,3,4,5};23•定义并初始化二维数组时,数组的列数不能省略如:是错误的int a
[2][]={{1,2},{3,4,5};•二维数组应用例:从键盘上输入个学生门课程的成绩,分别计算每个学生的53平均分和每门课程的平均分#includestdio.h#define M5#define N3main inta[M][N],i,j,sum;”请输入个分数printf150-100:\n“;fori=0;i=M-1;i++;forj=0;j=N-1;j++scanf%d,a[i][j]每个学生的平均分printf\rT;fori=0;i=M-1;i++sum=O;forj=0;j=N-1;j++sum=sum+a[i][j];printf%4d,sum/N;printfC^n;每门课程的平均分printf\n”;fori=0;i=N-1;i++sum=O;forj=0;j=M-1;j++sum=sum+a[j][i];printf%4d sum/M;5
七、函数•带返回值的函数格式类型名函数名参数列表语句返回值return例已知计算的值1FX=2*X+3,F1+F2+….F10#includestdio.hint fintxreturn2*x+3;mainint isum=O;5fori=1;i=10;i++sum=sum+fi;printf%d sum;3例编程输出至之间所有的素数之和22100#includestdio.hint isprimeint numint i;fori=2;i=num-1;i++,语言中整型常量的种表示:进制以引导进制以或C3816Ox引导,十进制不能以开头.0X0(•实型或型)常量在程序中只能用十进制float double数,不能用其他进制表示种表示形式,普通的和指数形式,2如或者三者不可省略任何一部分.3e53E5,•一个字符常量占一个字节存储空间.用单引号限定,如:(为转义字符,表示以十六进制数为码值的字A\0x4141ASCI I符,即的转义字符形式).A、\(表示空字符,在字符串中用作字符串的结束标志)0’〃〃字符串常量用英文双引号括起来.如
11.hello\n•字符串中的字符个数称为字符串的长度.空字符串长度为
0.•字符串存储中每个字符占一个字节,字符串结尾自动加一个结束标志符,所以字符串存储的时候,占用的空间长度要比串的实\0际长度多
1.;如□二{}实际串的长度为但数组空间长度为char chHei Io”5,6oifnum%i==Oreturn0;return1;mainint i,sum=0;fori=2;i=100;i++ifisprimei==1sum=sum+i;printf%d,sum;例从键盘上输入两个整数,分别输出它们的最大公约数和最小公3倍数#includestdio.hint getmaxinta,int bint result;result=aba:b;whilea%result!=O||b%result!=0result=result-1;return result;int getmininta int b5intresult=1;whileresult%a!=O||result%b!=Oresult=result+1;return result;mainint a,b;请输入两个整数整;printfscanf%d%d,a,b;%最大公约数是printf d\n”,getmaxa,b;%最小公倍数是printf d\rT,getmina,b;•不带返回值的函数格式函数名参数列表void语句•函数的递归指一个函数在内部又调用自己的过程例用递归的方法计算斐波数列的第项40#includestdio.hlong fintnifn==1||n==2return1;elsereturn fn-1+fn-2;mainprintf%ld,f40;•传值和传地址传值是指子程序中变量的变化不会影响主程序变量传地址是指子程序中变量的变化会影响主程序变量例交换两变量和的值1a b传值方式#includestdio.hvoid changeint a,int bintt;{t=a;a=b;b=t;}mainint a=3,b=5;printfa=%d b=%d\n,a,b;changea,b;printfa=%d b=%d\n,a,b;运行结果a=3b=5a=3b=5函数为传值方式,最后和的值并未交换故changeinta,intb a b传值方式不能改变主程序变量的值例交换两变量和的值传地址方式2a b#includestdio.hvoid changeint*a,int*bint t;{t=*a;*a=*b;*b=t;}mainint a=3,b=5;printfa=%d b=%d\n,a,b;changea,b;printfa=%d b=%d\n,a,b;运行结果a=3b=5a=5b=3函数为传地址方式,最后和的值成功交换changeint*a,int*ba b故传地址方式能改变主程序变量的值
八、指针•定义一级指针格式类型名*变量名;例定义两个指向整型变量的指针和1p1p2oint*p1,*p2;例定义两个整型变量和及两个指针和并使2m np q,和分别指向和p qm nintm,n,*p,*q;表示存放变量的地址p=m;p m表示存放变量的地址q=n;q n例定义一个包含个整数的数组和一个指针并310a p,使指向p aointa
[10],*p;表示指向数组的首地址,即的地址注意例p=a;p aa
[0]中不能写成因为本身就是地址•指针间的赋值3p=a p=a,a假设已有下列定义int*q,*p,k=0;q=k;例如表示两指针间赋值,读作指向p=q;p q此时和均指向变量的地址p qk•空指针在语言中空值用表示,其值为C NULL0•定义指针时可以给指针赋值NULL例如表示没有指向任何地址int*p=NULL;p等价于p=,\0,;或p=0;注意此时指针没有实际单元,所以暂时不能访问p•通过指针引用存储单元假设已有下列定义int*p,m,n=0;p=n;例如表示将指向存储单元内容给变量等价于m=*p;p mm=n;等价于*p=*p+1;n=n+1;注意还可以写成下面的形式*p=*p+1;;或或*p+=1;++*p;*p++•指针的应用例从键盘上输入两个整数,输出较大数1要求使用指针#includestdio.hmainint a,b*p,*q;5p=a;q=b;;请输入两个整数:printf\n”scanf%d%d,p,q;if*P*qprintf%d,*p;else例从键盘上输入个整数,输出最大数和最小数210要求使用指针#includestdio.hmainint a
[10],*p,k,max,min;p=a;;”请输入个整数:printf10\n“fork=0;k=9;k++scanf%d,p[k];max=p
[0];min=p
[0];fork=1;k=9;k++ifp[k]max max=p[k];ifp[k]min min=p[k];%最大数是printf d\n”,max;%最小数是printf d\rT,min;•变量指在程序运行过程中其值可以改变的量变量的命名必须符合标识符的命名规则,且不能和语言中关键字C同名(例如是关键字)main例如、、为合法变量a bab、为三日法变量define printf注意是一个整体,含义不同于乘以ab ab有符号整型变量用英文表示,存储时最高一位是符号位,・singned无符号整型变量用英文表示.unsigned•字符型变量的数据类型标识符是符号每个字符型变量只能存char,储一个字符.例如、
9、都是合法的字符常量A5•常见的转义字符:回车换行\\反斜杠\n\单引号\双引号\ddd三位八进制\xhh二位十六进制空值\
0、都是非法的字符常量”A‘abc,例表示回车换行、表示一个单引号1\n例表示字符表示字符2YI01A■414•字符变量用关键字定义,可以同时赋初值char例定义两个字符变量和1ch1ch2char ch1,ch2;例定义两个字符变量和初值分别为和2ab,T2char a=T,b=2;函数和函数•getchar putchar分别用来输入字符和输出字符•字符的输入和输出%使用和时,格式符均为scant printfc例从键盘上输入一个字符保存在中1chchar ch;ch=getchar;例2char c1=A,c2;c2=c1+1;putcharc2;输出结果是B:例输出一个回车换行符3putchar\n;例从键盘上输入一串字符,最后以!为结束标志分别统计大写字母,小写字母、数字出现的次数#includestdio.hmainchar ch;intn1=0,n2=0,n3=0;;请输入一串字符以!结束:printf\nch=getchar;whilech!=!jfch=Achv=Z;n1++;ifch=a ch=N n2++;ifch=0,ch=9n3++;ch=getchar%(大写字母出现次数是)printf d\n”,n1;%(小写字母出现次数是)printf d\rT,n2;(数字出现次数是%小优)printf n3;下,型数据占个字节,型数据占个字节,•VC++
6.0int4float4型数据占个字节,型数据占个字节.double
8.char1•算术运算符+、-、*、/、%(求余数)例如3+
21.2*
3.25%31/2求余运算符%只能用于整型数据的相除求余数,结果为整数.如为非法表达式,结果为结果为7%
2.07/23,7%21运算规则)如果运算数类型一致,则结果为运算数的类型所有实数运算都1是以双精度进行.)如果运算数类型不一致,则系统自动转换,使运算符两边类型一2致后再进行运算和参与运算先转换成同char shortint.赋值运算中,赋值号右侧量的类型将转换成左侧的类型.例结果为
11.0/
2.
00.5例结果为21/20例结果为315/
3.
05.0强制类型转换・格式类型名表达式例结果为4int
3.2343例结果为5float10%
31.000000•关系运算符,二,,二的优先级相同且高于=,!二的优先级.关系运算符的优先级低于算术运算符高于赋值运算符.关系运算符是左结合性.•关系表达式的值为真则是假为1,
0.•逻辑运算符!高于,和高于算术运算符.和是左结合11,11的,!是右结合的.•注意及||运算的短路现象的短路运算:。
个人认证
优秀文档
获得点赞 0