一丶语句表达
1.对于输入的变量,统一先定义其类型再输入
例:int(整数)/char(字符)/float(小数) 变量x;
cin>>x;
2.输出的格式(多个变量)
定义变量a,b,c, 输出在同一行则cout<<a<<b<<c<<endl; cout<<a<<endl;
输出在不同行则cout<<b<<endl;
cout<<c<<endl;
3.' '单引号中只限一个字符,“ ”双引号中是字符串,故‘a’!=“a”
4.强制转换函数仅转换后面的变量而不是表达式
例:(float)(4%3)=1.0 (int)a+1对a取整再加1
(float)4%3=1.3 (int)(a+1)对a+1取整
5.printf("表达式1,表达式2",变量1,变量2)变量1对应表达式1的计算,变量2对应表达式2的计算
scanf("表达式1,"&,变量1)不能直接写变量1,要写其地址即取自符号&加变量
6.一个表达式同时存在多个赋值号时,从右向左进行赋值
例:a=b=c c赋值给b,b再赋值给a
7.连续多个表达式用逗号连接,从左向右即只计算最右边的表达式(前提是前n-1个表达式中无赋值号)
8.缩写 a+=x为a=a+x以此类推,a*=b+1为a=a*(b+1)
a++和++a相当于自带赋值号,前者a在前故先用a代入表达式再+1,后者+在前故先把a+1再代入表达式
例:设a=d=2000,b=c=19 d=(a++,b+10,c--);
cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;结果为2001 19 18 19
a++虽然在最左边但自带赋值号(即一丶7.括号中内容),c先赋值给d再自身-1
二丶格式易错点
1.用到scanf和printf时(二者不一定同时出现),程序首行要加#include<cstdio>
2.程序末行return 0;之间的空格不可少,其他的空格可以省略
3.交换两变量的值需引入第三个变量
4.若要判断a是否为0应用a==0,而if(a=0)为将0赋值给a
5.关于小数的表达方法
①float a;
cin>>a;
cout<<setprecision(精确位数)<<fixed<<a<<endl;
②double a;
scanf("%lf",&a);
printf("%a",a);
③float a;
scanf("%f\n",&a);
printf("%a",a)
6.运算符号
/为除法,结果的小数位数看除数和被除数的位数(取小数位多的),正负与正常计算相同遵循负负得正,注意 整数/整数=整数
%为取余,结果为整数,正负只看被除数(与除数正负无关)
三丶应记事项
1.ASCII值
0为48,A为65,a为97(均为十进制)
应用例子:int(A)=65 9='0'+9 A='a'-32
2.运算顺序(见课本P51)
优先级 | 运算符 | 结合性 |
1 | ( )、[ ] | 从左往右 |
2 | !、+(正)、-(负)、~、++、-- | 从右往左 |
3 | *、/、% | 从左往右 |
4 | +(加)、-(减) | 从左往右 |
5 | <<、>>、>>> | 从左往右 |
6 | <、<=、>、>=、instanceof | 从左往右 |
7 | ==、!= | 从左往右 |
8 | &(按位与) | 从左往右 |
9 | ^ | 从左往右 |
10 | | | 从左往右 |
11 | && | 从左往右 |
12 | || | 从左往右 |
13 | ?; | 从右往左 |
14 | =、+=、-=、*=、/=、%=、&=、|=、^=、~=、<<=、>>=、>>>= | 从右往左 |
3.printf语句表达(见课表P55-56)