十六个C语言新手编程时常犯的错误及解决方式-new.docx
16个C语言新手编程时常犯的错误及解决方式 1、书写标识符时,忽略了大小写字母的区别。 main() { int a=5; printf(“%d”,A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。 2、忽略了变量的类型,进行了不合法的运算。 main() { float a,b; printf(“%d”,a%b); } %是求余运算,得到a/b的整余数。整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。 3、将字符常量与字符串常量混淆。 char c; c=”a”; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C规定以“\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a’和‘\0’,而把它赋给一个字符变量是不行的。 4、忽略了“=”与“==”的区别。 在许多高级语言中,用“=”符号作为关系运算符“ 在C语言编程中,新手经常会遇到一系列常见的错误,这些错误主要涉及标识符处理、类型匹配、操作符理解、语句结构以及输入输出等方面。以下是针对这些错误的详细解释和解决方法: 1. **大小写敏感**:C语言是大小写敏感的语言,这意味着`a`和`A`被视为两个不同的标识符。因此,变量名和常量名应遵循一定的命名规范,如常量通常用大写,变量用小写,以提高代码可读性。 2. **类型匹配**:在进行运算时,必须确保操作数的类型合法。例如,`%`是整数求余运算符,不能用于浮点数。因此,当使用`float`类型的变量进行`%`运算时,编译器会报错。正确的做法是先将浮点数转换为整数再进行求余。 3. **字符常量与字符串常量的区别**:字符常量由单引号包围,如`'a'`;字符串常量由双引号包围,如`"a"`。字符串常量包含结束字符`\0`,因此不能直接赋给`char`类型的变量。 4. **“=”与“==”的误用**:在C语言中,`=`是赋值运算符,`==`是等于比较运算符。例如,`if (a == 3)`是比较a是否等于3,而`a = 3`则是将3赋值给a。初学者容易混淆两者。 5. **缺少分号**:分号是C语言语句的必需组成部分,每条语句结束后都要加上分号。漏掉分号会导致语法错误,可能使下一条语句成为上一条语句的一部分。 6. **多余分号**:在复合语句或控制结构(如`if`、`for`)之后不应有多余的分号,否则可能导致逻辑错误。 7. **输入时忘记取地址**:使用`scanf`函数输入变量值时,需传递变量的地址,即使用`&`。例如,`scanf("%d%d", &a, &b)`。 8. **输入数据格式不符**:`scanf`函数的格式控制必须与输入数据相匹配。逗号不能作为两个数值的分隔符,通常使用空格或换行符。 9. **字符输入的特殊性**:使用`%c`格式输入字符时,包括空格和转义字符在内的所有字符都会被读入。 10. **数据类型与格式说明符不匹配**:输出时,数据类型应与`printf`中的格式说明符对应。例如,整型变量用`%d`,浮点型变量用`%f`。 11. **输入数据无法指定精度**:在输入数据时,不能像输出那样用`%7.2f`来指定精度。输入时,会读取直到遇到空白字符为止的连续非空白字符。 12. **switch语句的break问题**:在`switch`语句中,每个`case`后面通常应跟一个`break`,以防止执行流意外进入下一个`case`。如果不希望执行流继续,可以省略`break`,但这需要谨慎处理,以免产生错误的流程控制。 了解并避免这些常见错误是提升C语言编程技能的关键。通过实践和理解这些基础知识,新手程序员能够编写更健壮、更有效的代码。
- 粉丝: 2709
- 资源: 322
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- for循环嵌套-test-day05.rar
- Mem工程经济学大作业.zip,现金流图、静态回收分析 、动态回收分析、净现值必选(NPV)、内部收益率(IRR)、盈亏平衡分析、敏感性分析Python
- Guanaco针对一般文本构建的多语言问题微调数据集
- for循环嵌套-test-day04.rar
- Qt5的http 的demo例程
- Guanaco针对一般文本构建的多语言问题微调数据集
- Guanaco针对一般文本构建的多语言答案微调数据集
- 一个简单的8层电梯控制器,使用verilog HDL语言描述,一个简单的电梯控制器与verilog HDL一起工作.zip
- Qt WebSocket的demo例程
- 基于ffmpeg audio重采集例程