1 / 6
文档名称:

C语言新手容易犯的错误.doc

格式:doc   页数:6
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言新手容易犯的错误.doc

上传人:zhangbing32159 2014/2/1 文件大小:0 KB

下载得到文件列表

C语言新手容易犯的错误.doc

文档介绍

文档介绍:C语言新手容易犯的错误

    char c;
    c="a";
    在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C规定以“\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:“a'和‘\',而把它赋给一个字符变量是不行的。
,忽略了大小写字母的区别。
    main()
    {
    int a=5;
    printf("%d",A);
    }
    编译程序把a和A认为是两个不同的变量名,而显示出错信息。C语言认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。
,进行了不合法的运算。
    main()
    {
    float a,b;
    printf("%d",a%b);
    }
    %是求余运算,得到a/b的整余数。整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。
“=”与“==”的区别。
    在许多高级语言中,用“=”符号作为关系运算符“等于”。如在BASIC程序中可以写
    if (a=3) then …
    但C语言中,“=”是赋值运算符,“==”是关系运算符。如:
    if (a==3) a=b;
    前者是进行比较,a是否和3相等,后者表示如果a和3相等,,初学者往往会犯这样的错误。

    分号是C语句中不可缺少的一部分,语句末尾必须有分号。
    a=1
    b=2
    编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。
    { z=x+y;
    t=z/100;
    printf("%f",t);
    }
    对于复合语句来说,最后一个语句中最后的分号不能忽略不写(这是和PASCAL不同的)。
“&”。
    int a,b;
    scanf("%d%d",a,b);
    这是不合法的。Scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“&a”指a在内存中的地址。

    对于一个复合语句,如:
    { z=x+y;
    t=z/100;
    printf("%f",t);
    };
    复合语句的花括号后不应再加分号,否则将会画蛇添足。
    又如:
    if (a%3==0);
    I++;
    本是如果3整除a, (a%3==0)后多加了分号,则if语句到此结束,程序将执行I++语句,不论3是否整除a,I都将自动加1.
    再如:
    for (I=0;I<5;I++);
    {scanf("%d",&x);
    printf("%d",x);}