常见的程序中出现的错误
1.整型变量做除法的过程中出现舍弃小数的现象。
2.编译错误:语法错误(Syntax Error)
3.连接错误:缺少包含文件,或者包含文件的路径错误等
4.运行时错误:运行结果与预期不一致,程序无法正常运行
方法:
1.插入打印语句。
2.run to cursor
3.逆向推理,缩减数据
随堂笔记:
1.控制表达式的结果必须是布尔值。
2.&&与||操作符的右侧操作数不应该包含副作用
3.循环必须安全退出
4.禁止使用浮点数作为循环计数器,浮点数并不是精确值
5.尽量在使用goto语句时使其往下跳转
6.switch玉壶中要有default分支,除非case覆盖了所有语句条件。
循环结构
1.条件控制循环,给定特定条件
2.计数控制循环。
两种循环方式:当型循环(先检票后上车),直到型循环(先上车后检票)
条件控制方式(以买苹果为例)
1.控制数量 for(i=1;i<=3;i++)
2.控制容量do while
3.控制重量
4.控制总价
计算数据位数的方式:n=(int)log(N)+1
练习题:
#include <stdio.h>
int main()
{
int N,n,m,x,y,a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;
printf("please input a number = ");
scanf("%d", &N);
n = (int)log10(abs(N))+1;
printf("%d:%d bits\n", N,n);
for(x = 1;x<=n;x++)
{
m = abs(N)/pow(10,x-1);
y = m%10;
switch(y)
{
case 0:a++;
break;
case 1:b++;
break;
case 2:c++;
break;
case 3:d++;
break;
case 4:e++;
break;
case 5:f++;
break;
case 6:g++;
break;
case 7:h++;
break;
case 8:i++;
break;
case 9:j++;
break;
}
}
printf("0: %d\n",a);
printf("1: %d\n",b);
printf("2: %d\n",c);
printf("3: %d\n",d);
printf("4: %d\n",e);
printf("5: %d\n",f);
printf("6: %d\n",g);
printf("7: %d\n",h);
printf("8: %d\n",i);
printf("9: %d\n",j);
return 0;
}