- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四、常见问题.ppt
计算概论 之 C语言程序设计;关于考试; 复习:讲义,基本概念及基本语法
多阅读以前的源代码
解决问题的思路
计算,计算过程中变量的值及其变化
循环过程中的当前循环、循环的跳出
通过中间变量来记录一些状态
……;一、关于工程的创建;;;一、关于工程的创建;;二、关于程序的错误修改及调试;二、关于程序的错误修改及调试;二、关于程序的错误修改及调试;设置程序断点;;三、程序设计的基本过程;三、问题求解的基本步骤;三、问题求解的基本步骤;四、常见问题;四、常见问题;数值的表达范围
不同的数据类型,其表达范围是不同的,也是有限的
浮点数精度
float和 double 的计算精度不同,double的精度要高
2.33和2.33f在计算机内是不同的
整数的除法
得到的仍是整数,小数部分舍去,如:1/2 =0, 5/2 =2。若需要得到小数部分,则需要进行强制类型转换:(float)1/2,或者1.0/2
1/2*(a+b+c+d)
运算符“=”和“==”
这是两个完全不同的运算符,前者是赋值,后者是比较
if(x=2) … if(x= =2) …;字符常量的表达
x = a; (错误,此事a被当作变量名) x = ‘a’; (正确)
if(x==a) … if(x==‘a’) …
漏大括号, 本应在一起执行的程序结果只执行一条
if(x0) if(x0)
x = x + 4; {
x = x/4; x = x + 4;
x = x/4;
}
乱加分号, 比如在if、for 和while后加分号
for(x=1;x10;x++); while(x0); //此时形成空语句
{…} {…};switch/case语句:往往忘了在分支后加break语句,导致后续不该执行的分支语句也执行;case子句后面应该是整型常量,包括字符。
变量初始化:没有初始化就引用,导致结果错误,尤其对于数组问题。
“自创”表达式:注意关系表达式和逻辑表达式的使用方法
if( 1an ) ? if( a1 an )
if (i==1, 3, 5), if (i==1 || 3 || 5), if (i==1 | 3 | 5)? if(i==1 || i==3 || i==3)
忽略逻辑表达式中逻辑运算符的优先级,导致该用括号的地方没用括号:尽可能地使用括号!
不会处理输出格式,比如要求输出一组数,中间用逗号间隔,则很多同学不知道怎么能做到最后一个数后面不跟逗号
先打印第一个元素,printf(“%d”, a[0]);
再用for循环打印其他元素, printf(“,%d”, a[i]);;程序的执行顺序
V = 4 * 3.14f * r * r * r;
L = 2 * 3.14f * r;
scanf(%f, r);
printf(%.2f\n%.2f, V, L);
if…else if
if( x0 )
{
}
else if( x==0 )
{
{
else if( x0 )
{
};不理解题意,有些要用循环多次输入的题目,只实现了一次的功能。
变量作用域问题:在作用域外引用变量。
工程的创建,头文件的包含
程序书写格式不规范,导致代码不够清晰,可读性不好。
欠缺独立解决问题的意识,比如在碰到问题时不知道先查阅讲义、参考书等;编译错误的解决
指定行前后,错误的原因
充分利用调试工具debug
特定的输入
变量的的当前值
表达式的当前值
程序的执行顺序;不同类型数据的混合运算:整型数据和浮点数据的混合运算
double a;
a = 75/100*7.5; //a = ?
a = 0.6*(2/3); //a = ?;四、常见问题;四、常见问题;全局和局部变量同名
int x;
void p()
{
printf(“%d”, x);
}
void main()
{
int x; //不能和全局变量同名!
scanf(“%d”, x);
p();
};四、常见问题;四、常
文档评论(0)