10.11 程序调试

常见的程序中出现的错误

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;
 }
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值