预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验3 程序 #include<stdio.h> intmain() { inta=3,b=5,c=7,x=1,y,z; a=b=c; x+2=5; z=y+3; return0; } 程序错误;提示语言 --------------------Configuration:fd-Win32Debug-------------------- Compiling... fd.cpp C:\DocumentsandSettings\Administrator\桌面\fd.cpp(2):errorC2447:missingfunctionheader(old-styleformallist?) 执行cl.exe时出错. fd.exe-1error(s),0warning(s) 修改为: #include<stdio.h> intmain() { inta=3,b=5,c=7,x=1,y,z; a=b=c; x=5+3; z=y+3; return0; } 分析结果:在赋值和运算中是从右到左。 分析: A变量名可以是数字,英文字母(大小写均可)。下划线。 B大小写可以区分是成不同文件。 C赋值运算的特点是自右向左的。 实验4 整数除的危险性 #include<stdio.h> intmain() { inta=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/d; f=c/b*a; } 程序在运行结果为:000; 分析原因: A5/7*100,结果是5/7等于0,再0乘上100等于0。 B5*100/7,结果是5*100等于500,再500/7等于0。 C100/7*5结果是100/7等于0,再0*5等于0。 结论:原因在于,当整除不成立时,结果为0,所以结论会影响下一次的运行。 (2) #include<stdio.h> main() { inta=5,b=8; printf(“a++=%d”,a++); printf(“a=%d”,a); printf(“++b=%d”,++b); printf(“b=%d”,b); } 得到结论为 分析结果:i++“先引用,后增值”:++i“先增值,后引用” 所以a++是5,因为先引用,a是6,因为是增值的结果,++b是9,是因为先增值,b是9,是因为后引用的结果。 (3)对这些表达式进行测试分析。 b+a+++a b+(a++)+a b+a+(++a) b+a+++a++ 编程: #include<stdio.h> main() { inta=1,b=1; printf(“b+a+++a=%d”,b+a+++a); } 结果: #include<stdio.h> main() { inta=1,b=1; printf(“b+(a++)+a=%d”,b+(a++)+a); } 结果: #include<stdio.h> main() { inta=1,b=1; printf(“b+a+(++a)=%d”,b+a+(++a)); } 结果: #include<stdio.h> main() { inta=1,b=1; printf(“b+a+++a++=%d”,b+a+++a++); } 结果: #include<stdio.h> main() { inta=1,b=; printf(“b+a+++a=%d”,b+a+++a); } (4)对这些表达式进行测试分析。 i,j i+1,j+1 i++,j++ ++i,++j i+++++j 编程: #include<stdio.h> main() { inti=1,j=1; printf(“i=%d”,i); printf(“j=%d”,j); } 结果: #include<stdio.h> main() { inti=1,j=1; printf(“i+1=%d”,i+1); printf(“j+1=%d”,j+1); } 结果: #include<stdio.h> main() { inti=1,j=1; printf(“i++=%d”,i++); printf(“j++=%d”,j++); } 结果: #include<stdio.h> main() { inti=1,j=1; printf(“++i=%d”,++i); printf(“++j=%d”,++j); } 结果: #include<stdio.h> main() { inti=1,j=1; printf(“i+++++j=%d”,i+++++j); } 结果:--------------------Configuration:Cpp1-Win32Debug-------------------- Compiling... Cpp1