1. break 的易错点
//break易错点
# include<stdio.h>
int main ()
{
int i;
//break 不能直接用于if,除非if属于循环内部的一个子句
// 用于循坏 则终止循环
// 用于switch,则终止switch
for (i = 0; i < 3; i++)
{
if ( 3 > 2)
break; //break虽然在if语句中,但却终结的是for语句
printf ("小白!");//不会输出
}
return 0;
}
2. 输入n位数字判断该数为几位数,并用顺序和逆序输出
//输入n位数字判断该数为几位数,并用顺序和逆序输出
#include <stdio.h>
#include <math.h>
int main()
{
int num,y,x1,x2,x3,x4,x5,place;
scanf("%d",&num);
place=log10((double)num)+1;
printf ("%d为%d位数\n",num, place);
y = num;
x1=y%10;
y =y/10;
x2=y%10;
y =y/10;
x3=y%10;
y =y/10;
x4=y%10;
y =y/10;
x5=y%10;
printf ("顺序输出为:");
switch(place)
{
case 5:printf ("%d,",x5);
case 4:printf ("%d,",x4);
case 3:printf ("%d,",x3);
case 2:printf ("%d,",x2);
case 1:printf ("%d\n",x1);
}
//上下两处的switch语句形成了强烈的对比反差,由break;体现出来
printf ("逆序输出为:");
switch(place)
{
case 5:printf ("%d,%d,%d,%d,%d",x1,x2,x3,x4,x5);break;
case 4:printf ("%d,%d,%d,%d",x1,x2,x3,x4);break;
case 3:printf ("%d,%d,%d",x1,x2,x3);break;
case 2:printf ("%d,%d",x1,x2);break;
case 1:printf ("%d\n",x1);break;
}
return 0;
}
3. 防误输(continue 的运用 )
//防误输(continue 的运用 )
# include<stdio.h>
int main()
{
int i;
char ch;
scanf("%d",&i);
printf ("i = %d",i);
while((getchar()) != '\n')
continue;//防止有字母等其他字符误输
int n;
scanf("%d",&n);
printf ("n = %d",n);
return 0;
}
//清除错误、垃圾输入数据
4. 如何查看循环次数
//如何查看循环次数
# include <stdio.h>
int main ()
{
int i;
int sum = 0;
for (i = 1; 1<=99; i+=2)
{
sum = sum + i;
//printf("小白!\n");(//可去目的是查看循环次数)
}
printf("i = %d\n",sum);
printf("sum = %d\n",sum);
return 0;
}
5. for 的强制转换问题 和 浮点数的精度问题
//for 的强制转换问题 和 浮点数的精度问题
# include <stdio.h>
int main ()
{
int i;//float i;(这样下面就不用改) (但循环中的更新的变量不能定义成浮点数)
float sum = 0; //因为 flout和double都不能保证精确地储存一个小数
//eg:请判断x的值是否为零?
for (i=1; i<=100; ++i) //if (|x-0.000001|<= 0.000001)
{ //是零
//sum = sum + 1/i;//(×) //else
//sum = sum + float(1/i);//(×)//不是零
sum = sum + 1 / (float)(i);//(√)
//sum = sum + 1.0/i//(√)
}
printf("sum = %f\n ",sum);
return 0; //P72(郝老师)
}
6. 大写字母和小写字母互相转换
//大写字母和小写字母互相转换
# include <stdio.h>
int main (void)
{
char ch;
ch = getchar();
ch = (ch>='A'&&ch<='Z')?printf ("%c",ch + 32):printf ("%c",ch - 32);
return 0;
}
//三目,getchar()的运用