- ##连接一些字符
- int转化为char,高位丢失,取除以128之后的余数,(0-128,首尾相接)char转为int,ascii码
- 八进制0;十六进制0x;
int main(){
printf("hello,\
world");
putchar('\n');
printf("hello,"
"world");
putchar('\n');
printf("hello,\
world");
}
- 浮点数不能求模
int main(){
double d;
scanf("%lf",&d);
printf("%d",(int)d%2);
}
int main(){
double d;
scanf("%lf",&d);
printf("%d",(int)(d%2));
}
- i++和++i
int main(){
int a=2;
printf("%d",a++);
printf("%d",++a);
printf("%d",a);
}
int main(){
int a[10];
for(int i=0;i<10;++i){
a[i]=i;
}
for(int j=0;j<10;++j){
printf("%d\t",a[j++]);
}
putchar('\n');
for(int j=0;j<10;++j){
printf("%d\t",a[++j]);
}
}
- 三目运算符(a>b?a:b)
- 操作优先级
- #define a b//用a代替b
- 短路操作
(a>1)&&((a+=2)>0)前一个错误,不进行后一个
(a>1)||((a+=2)>0)前一个正确,不进行后一个
- -x=~(x-1)
- if-else
- switch
switch(表达式){
case 1:
语句1;
break;
case 2:
语句2;
break;
....
default:
语句体n+1;
break;
}
- while
1.break语句结束循环
2.continue语句结束本次循环
- for
int main(){
for(int i=1;i<=8;++i){
for(int j=0;j<8;++j){
if(j<8-i){
printf(" ");
}
else{
printf("%d",(i+j)%4+1);
}
}
putchar('\n');
}
}
1
12
123
1234
12341
123412
1234123
12341234
- do-while//至少循环一次
- go-to语句