a=a+b; b=a-b; a=a-b;
printf(“%d,%d\\n”, a, b ); }
程序运行的功能是:交换a、b两数的值 注:可修改a、b两数的值仔细观察。 8. 现有程序如下,分析填空: main() { int a=0; a+=(a=8); printf(\} 9. 现有程序如下,分析填空: main() { int a=2,b=5; int m=3,n; double c=2.1,d=4.5; n=a/m+b*c-d/m; printf(“%d”,n); } 10.现有程序如下,分析填空:
Main() { int x=1,y=2; printf(“%d %d\\n”,++x,y++); } 11.现有程序如下,分析填空: main() { int x,y,z=0; x=y=1; z+=x+=y; x=z++; y=++x;
6
人工分析结果 实验运行结果 16 人工分析结果 实验运行结果 9 人工分析结果 实验运行结果 2 2 人工分析结果 实验运行结果 x=4,y=3,z=6
z=x+++y; printf(“x=%d,y=%d,z=%d”,x,y,z); }
12.思考题:改错题(以下程序有多处错误,上机调试。将正确的程序记录在下方。要求不能删减已有内容。)
源程序 #include
实验2 顺序结构程序设计与调试
班 级 专 业 所用软件 学 号 姓 名 计算机号 实 验 室 成绩评定 教师签名 2.1 实验目的
1.熟悉C语言的表达式语句、空语句和复合语句。
2.熟悉函数调用语句,尤其是各输入输出函数的调用语句。 3.熟悉顺序结构程序中语句的执行过程。 4.熟悉程序的跟踪调试和变量值的监视。 5.能设计简单的顺序结构程序。
2.2 实验预习
1.熟悉下列函数:putchar、getchar、printf、scanf 2.了解顺序结构程序的执行过程。
3.了解程序的跟踪调试和变量值的监视并能够熟练操作。
单步跟踪调试(逐条语句跟踪调试):
(1)可按功能键F7进行,要监视某变量的值时,就按Ctrl+F7键,然后输入相应的
变量名,就可以在监视消息窗口中查看到该变量的值。
(2)也可逐段运行程序,即每次运行若干条语句。首先利用Ctrl+F8键在各行光标
处设置若干断点,然后按Ctrl+F9键从程序的第一条语句运行到设置的第一个断 点,再按Ctrl+F9键从设置的第一个断点运行到设置的第二个断点。 4.了解顺序结构程序的一般构成。
2.3 实验任务
1.若有程序 main()
{ int i,j;
scanf(\ printf(\
8
要求给i赋5,给j赋10,则应该从键盘输入 i=5,j=10 2.华氏温度,要求输出摄氏温度,公式为:C=
59(f?32)。要求输出结果保留到小数点
后两位。已知程序段中有三处错误,由注释语句/**********found**********/提示下一条语句有错误,请修改程序中的错误并记录程序运行结果。
#include
#include
9
人工填空 上机填空 #include
4.单步跟踪下面程序的执行,每执行一条语句就查看各变量的值。运行时输入一个三位的整数。单步跟踪程序时填写下表,同时分析程序的功能。
#include”stdio.h” void main() {int n,x1,x2,x3,y;
printf(“please input number n”); scanf(“=”,&n); x1=n/100; x2=n/10; x3=n;
y=x3*100+x2*10+x1; printf(“y==”,y);}
n X1 X2 X3 y 程序的功能是: 将输入的3位整数逆序排列 5. # include
{ char ch; ch=getchar(); putchar(ch);
}
运行时如果从键盘输入数据98,你预测的输出结果是 实际的输出结果为 9
原因在于getchar()只能接收单个字符,数字也当字符处理 6. # include
{ int a,b,c;
scanf(“%d,%o”,&a,&b); c=a*b;
10