if
if(a):如果a为非0数字或字符那么就为真,if条件成立,反之不成立。
if(!a):如果!a为真,也就是a为0时,if条件成立,反之不成立。
if(a!=0):如果a不等于0,则使得if条件成立,反之不成立。等价于if(a)。
if(a==0): 如果a等于0,则使得if条件成立,反之不成立。等价于if(!a)。
while(1)
while语句的原型是while(表达式)语句,当表达式为非0值时,执行while语句中的嵌套语句。这里的1没有true的意思。
while(1)
.........
++i和i++
int main() {
int i=0,j=0,n=0,a=0,b=0;
while (n<10) {
a=i++;
b=++j;
printf("%d\n",a);
printf("%d\n",b);
n++;
}
return 0;
}
其结果为:
0
1
-----------
1
2
-----------
2
3
-----------
3
4
-----------
4
5
-----------
5
6
-----------
6
7
-----------
7
8
-----------
8
9
-----------
9
10
-----------
Program ended with exit code: 0
由此可见:
a=i++,这个运算的意思是先把i的值赋予a,然后再执行i=i+1;
b=++i,这个运算的意思是先执行i=i+1,然后在把i的值赋予b;
但是单独运用在循环之中就没有关系了
n++和++n
for循环的条件
for(表达式1;表达式2;表达式3)
for(i=10;i>0;i++)
初始化i,如果表达式2,则表达式3
for常用
(这里i++或是++i都一样)
从0到n-1
for(i=0;i<n;i++)
从1到n
for(i=0;i<=n;i++)
从n-1到0
for(i=n-1;i>=0;i--)
从n到1
for(i=n;i>0;i--)
for( ; ; )
如果for语句括号里只有两个分号没有表达式,就表示无限循环,只能在循环体里通过break的方式跳出循环。
int main() {
int n;
for(;;){
printf("enter 0 t ostop\n");
scanf("%d",&n);
if (n==0)
break;
}
return 0
}
类型定义
宏定义:
#define Bool int
类型定义为:
typedef int BOOL
这样做的好处是增加可移植性, 在从高位数机器上转换到低位数的机器上,只需要更改typedef后面的内容。