课后练习
int a=10, int b=100 不用其他变量把a与b交换
int tmp = a;
a = b;
b = tmp;
a=a^b;
b=a^b;
a=a^b;
循环do-while, while, for
计算1+2+3+...+1000
int sum = 0;
int i=1;
do{
sum += i;
i++;
}while(i<=1000);
while(i<=1000)
{
sum += i;
i++;
}
for(i=1; i<=1000; i++)
{
sum += i;
}
printf("sum = %d\n", sum);
选择开关if---else, switch--case
计算a,b,c三个数中最大值
if(a>b)
{
if(a>c)
{
//输出a
}
else
{
//输出c
}
}else
{
if(b>c)
{
//输出b
}
else
{
//输出c
}
}
三目运算符{表达式1?表达式2:表达式3}
max = (a>b)?a:b
max = (max>c)?max:c
int day = 3
switch(day)
{
case 0: printf("星期天");break;
case 1:printf("星期一");break;
case 2:printf("星期二");break;
default: printf("输入有误");
}
语句goto,
int main(void)
{
int a =10;
int b=10;
printf("#########\n");
int data;
if(...)
{
goto error;
}
//语句
if(...)
{
goto error;
}
error:
label:
return 0;
}
跳出循环或函数break ,return, continue
break---用于switch, 循环,跳出当前循环
continue--用于循环体 ,跳出本次循环继续下一次循环
例子:把1-100中的奇数全部打印出来
return---用在函数或循环体,跳出函数
A
A B A
A B C B A
*
**
***
****
***
**
*
int a=10, int b=100 不用其他变量把a与b交换
int tmp = a;
a = b;
b = tmp;
a=a^b;
b=a^b;
a=a^b;
循环do-while, while, for
计算1+2+3+...+1000
int sum = 0;
int i=1;
do{
sum += i;
i++;
}while(i<=1000);
while(i<=1000)
{
sum += i;
i++;
}
for(i=1; i<=1000; i++)
{
sum += i;
}
printf("sum = %d\n", sum);
选择开关if---else, switch--case
计算a,b,c三个数中最大值
if(a>b)
{
if(a>c)
{
//输出a
}
else
{
//输出c
}
}else
{
if(b>c)
{
//输出b
}
else
{
//输出c
}
}
三目运算符{表达式1?表达式2:表达式3}
max = (a>b)?a:b
max = (max>c)?max:c
int day = 3
switch(day)
{
case 0: printf("星期天");break;
case 1:printf("星期一");break;
case 2:printf("星期二");break;
default: printf("输入有误");
}
语句goto,
int main(void)
{
int a =10;
int b=10;
printf("#########\n");
int data;
if(...)
{
goto error;
}
//语句
if(...)
{
goto error;
}
error:
label:
return 0;
}
跳出循环或函数break ,return, continue
break---用于switch, 循环,跳出当前循环
continue--用于循环体 ,跳出本次循环继续下一次循环
例子:把1-100中的奇数全部打印出来
return---用在函数或循环体,跳出函数
A
A B A
A B C B A
*
**
***
****
***
**
*