1 / 12
文档名称:

c语言编程常见错误.doc

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

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

分享

预览

c语言编程常见错误.doc

上传人:精品小课件 2021/8/9 文件大小:31 KB

下载得到文件列表

c语言编程常见错误.doc

文档介绍

文档介绍:C 语言编程常见错误
2008-12-08 12:49
1. 书写标识符时,忽略了大小写字母的区别。
       int main( void )
       {
           int a = 5;
           printf( "%d", A );
           return 0;
       }
编译器认为 a 和 A 是两个不同的变量名,而显示出错信息。C 语言规定大写字母和小写字母是不同的字符;而有些编程语言是不分大小写的。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。
2. 忽略了变量的类型,进行了不合法的运算。
       int main( void )
       {
           float a, b;
           printf( "%d", a % b );
           return 0;
       }
% 是求余运算符,a % b 的结果是 a 除以 b 的余数。只有 % 左右两边的操作数都是整型时,才可以进行求余运算。故而上面的程序是错误的,因为 a 和 b 是浮点型变量。
3. 将字符常量与字符串常量混淆。
       char c;
       c = "a";
这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C 语言规定以 \0 作字符串常量的结束标志,它是由系统自动加上的,所以 "a" 实际上包含两个字符:'a' 和 '\0'。所以把 "a" 赋给字符变量是不行的。
4. 忽略了“=”与“==”的区别。
    许多高级语言都使用“=”符号作为关系运算符的“等于”。如 BASIC 程序中可以写:
        if ( a = 3 ) then …
但 C 语言中,“=”是赋值运算符,“==”才是关系运算符。如:
        if (a == 3)
            a = b;
a == 3 是比较 a 是否等于 3;而 a = b; 表示把 b 的值赋给 a。初学者往往会把 a == 3 错写成 a = 3,这样写是符合语法的,但是不符合我们的期望。如果错写成了 a = 3,有些编译器会给出警告。
5. 忘记加分号。
    分号是 C 语句中不可缺少的一部分,语句末尾必须有分号。
        a = 1
        b = 2;
编译时,编译器发现“a = 1”后面没有分号,就会报错。改错时,如果在编译器所说的有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。
6. 多加分号。
        {
            z = x + y;
            t = z / 100;
            printf( "%f", t );
        };
上面代码中,大括号 } 后面的分号(;)是毫无必要的!因为单独一个 ; 也是合法的 C 语言语句,所以 } 后面写了 ; 也是合法的,但是毫无必要!又如:
        if ( a % 3 == 0 );
            i++;
程序员的本意是如果 3 整除 a,则 i 加 1。但由于 if ( a % 3 == 0 ) 后加了分号,则 if 语句到此结束。不论 3 是否整除 a,程序都会执行 i++; 语句。再如:
        for ( i = 0; i < 5; i++ ) ;
        {
            scanf( "%d", &x );
            printf( "%d", x );
        }
程序员的本意是先后输入 5 个数,每输入一个数后再将它输出。但由于for () 后加了一个分号,循环体变为空语句 ; 。空语句 ; 执行 5 次后,下面的程序块才开始执行,导致的结果是只能输入一个数并输出它。
7. 使用 scanf 函数时忘记加取址运算符“&”。
       int a, b;
       scanf( "%d %d", a, b );
这样写是错误的!应该改成 scanf( "%d %d", &a, &b );
8. 输入数据的方式与要求不符。
       scanf( "%d %d", &a, &b );
    输入时,不能用逗号作两个数据间的分隔符。例如:3, 4 。而要使用空格、回车或者 tab 键作为分隔符。例如:3 4 。如果我们想用逗号(,)来做分隔符,可以这样写:
       scanf( "

最近更新

《场效应管》课件 21页

关于中学军训心得体会 10页

2025年施工管理朝阳新城商业楼测量施工方案 14页

2025年施工管理无线局域网WLAN建设工程施工组.. 20页

2025年施工管理施工资格预审文件龙湾新寓附属.. 34页

高考数学复习第七章不等式7.4基本不等式及不等.. 39页

《哈尔威船长》教学设计方案 22页

2025年施工管理承台基础土方施工方案 4页

2025年施工管理建设工程施工合同纠纷案件常见.. 5页

2025年消防专员岗位职责(共7篇)-大文斗范文.. 14页

2025年施工管理建筑施工技术教学大纲 11页

《发酵乳制品》课件 25页

2025年海上小勇士读后感(通用18篇) 21页

2025年浪漫幸福系列情侣签名句子(精选5篇) 21页

2025年济钢干熄焦工艺环境效益分析(精选3篇).. 5页

2025年施工管理工程管理专业施工组织毕业设计.. 5页

2025年施工管理工程施工承包合同协议书 4页

2025年武汉警官职业学院单招职业技能测试题库.. 73页

2025年辽宁经济职业技术学院单招职业技能测试.. 75页

2025年人教版数学七年级下册期末考试试卷及答.. 19页

2025年度新版一级建造师教材 6页

学前班拼音教案全集(共44页) 51页

万科实测检查数据上墙操作指引 17页

维克多新高中英语阅读高一 4页

建筑工程量计算方法(含图与计算公式) 21页

中药材广西甜茶仿野生栽培技术规程-征求意见稿.. 7页

《我的青春期(我的春梦)》电影完整版 2页