C语言 初学者注意点总结 笔记1.0

编程易错点

1 常量声明的格式

  1. 主函数中: const double pi = 3.1415926

  2. 主函数前: #define pi 3.1415926

(const pi=3.14,不加类型,默认整型)

2 小数点的四舍五入

  1. 常用:小数点后保留2位有效数字,一般不用去管,用%.2f截断即可(自动多余部分四舍五入)

  2. 小数点后保留2位有效数字,多余部分四舍五入,代码实现

    double c=1.643;
    c=(int)(c*100+0.5);
    c/=100;

3 整数的商

        1. 常用:有小数,注意顺序,无效写法:c=a/b*1.0;

     int a,b;
     double c;
     c=a*1.0/b;

4 闰年的判断

if(a%4==0 && a%100!=0 || a%400==0)  printf("yes");

5 利用数组简化程序

数组下标的自然顺序,依次对应月份

6 自增自减

i++ 先赋值再自增;++i 先自增再赋值

7 while的条件

  1. 常用:while(n>0)

  2. while(i--) i首先自减1再进入循环,当i==0时跳出循环

8 switch语句(特征:开关)

  1. 与if语句比较:if:一条件只对应一可能,一一 对应 switch: 单条件对应多可能,一对多

  2. 单条件对应的各类可能,打包为一模块,结构紧凑

    switch(grade){
        case"A":score=100;break;
        case"B":score=90;break;
        case"C":score=80;break;
        case"D":score=70;break;
        default:printf("Iuput error!\n"); exit(-1);
    }

9 Fn亮,可在DevC++里用快捷键

10 利用temp量

尽量与题设条件一致,不要自己对数值进行转换,便于检查,尤其是多分支的条件语句,别平添烦恼

11 求最大公因数gcd

  1. 辗转相除法

    while(c!=0){
            c=b%a;
            b=a;
            a=c;    
        }

     2. for循环

for(i=a;i>0;i--){
            if(b%i==0 && a%i==0){
                printf("%d",i);
                break;
            }
}

     3. 熟练函数的写法(模块化)

int gcd(int a,int b){
    int i;
    for(i=a;i>0;i--){
        if(a%i==0 &&b%i==0) break;
    }
    return i;
}

12 输入多个数据

注意最后一个数据单独讨论,不然若最后有空格,则需输入空格再回车方可运行

for(i=0;i<n;i++){
    if(i<(n-1)) scanf("%d ",&p[i]);
    else scanf("%d",&p[i]);
}

13 if语句块一定要有{}

错误写法:if(n==0) min=0;ws=1;  ws=1不在if里,是必会运行的,写法要规范

正确写法:

if(n==0){
    min=0;
    ws=1;
}

14 输入格式固定

scanf("%d",&a);

输入:3 5 1 7 6

依然有效输出,最后图快可以尝试,平时不建议,最好规范写

15 考试建议

当调试多次(提交次数>3),分数75,不知哪组数据有问题时,建议换种逻辑重新写一个以免浪费时间

16 寻找普适性

发现共同点,普遍性规律,整合统一的思想不容易错

若多个条件用逻辑符号叠加,容易出错且不易察觉,因为人思维的盲区会漏可能性

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值