3. 程序3的运行结果中,i和j的值为什么不同?m和n的值为什么不同?//改为程序3
答:i(m)是通过后自增(后自减)实现的,而后自增(后自减)是先参与其他运算,后对变
量递增(递减);
而j(n)是通过前自增(前自减)实现的,其是先对变量递增(递减),后再参与其他运算。
4. 请分析表达式a+=a-=a*a+a的运算过程(写出运算步骤)。
答:先将a -(a*a+a)赋值给a,再将a+a 赋值给a 。
成绩 指导教师签名
- 5 -
实验三
实验项目名称:简单的输入输出及顺序程序设计 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:
1. 掌握整型、实型与字符型数据的正确输入方法(scanf函数的使用); 2. 掌握整型、实型与字符型数据的正确输出方法(printf函数的使用); 3. 掌握编写顺序程序的方法。 二、预习内容:
教材《C语言程序设计教程》第3章。 三、实验内容:
1. 编写C程序,按下列公式计算并输出S的值,其中a和b的值有键盘输入。
s?main() { int a,b; float s;
scanf(“%d,%d”,&a,&b); s=2.0*a*b/(a+b) /(a+b); printf(“s=%f\\n”,s); }
2ab 2(a?b)①输入并调试。
②将scanf函数改为scanf(“%d%d”,&a,&b);再编译,运行。 ③观察结果。
2. 在Visual C++ 6.0环境下输入并运行下面的程序,观察分析程序运行过程及结果。 #include
int a,b,sum;
printf(\请输入第一个整数:\ scanf(\
printf(\请输入第二个整数:\ scanf(\ sum=a+b;
printf(\ }
3. 设圆半径r=1.5,编写程序求圆周长、圆面积和圆球的体积。要求用scanf语句输入半径,输出时取小数点后两位。
- 6 -
四、实验结果: 1. 输入数据 4,5 输入修改后的数据 运行结果 4 5 s=0.493827 字符控制串中没有除说明符以外的其他字符,所以输入时可以通过空格分隔 4↙5↙ s=0.493827 字符控制串中没有除说明符以外的其他字符,所以输入时可以通过回车分隔 运行结果 s=0.493827 原因 字符控制串中有“,”,所以输入时必须有原因 “,”
2. 运行结果(或截图):
请输入第一个整数:1 请输入第二个整数:2 1+2=3
3. (1) 程序中用到的变量(类型)
单精度浮点数
(2) 算法(用伪代码描述或自然语言)
c = 2 * pi * r; s = pi * r * r; v = 4 * (pi * r * r * r)/3;
(3) 源程序清单
#include
- 7 -
}
printf(\请输入圆的半径:\scanf(\c = 2 * pi * r; s = pi * r * r;
v = 4 * (pi * r * r * r)/3.0;
printf(\
(4) 运行结果(或截图)
请输入圆的半径:1.5
c = 9.42,s = 7.07,v = 14.13
五、思考题:
scanf(“%d,%d”,&a,&b)与scanf(“%d%d”,&a,&b)输入数据的方式有什么不同?从两种输入方式的对比中你得到什么启发?
答:第一种输入方式用户必须以“,”分隔,而第二者可用空格、回车分隔,用户在不知情的情况
下,很难知道用“,”分隔输入的数据。所以编程人员可以在scanf()语句前用printf()语句进行注释,让用户知道用什么来分隔输入的数据。
成绩 指导教师签名
- 8 -
实验四
实验项目名称:选择结构程序设计 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:
1. 正确使用关系运算符和关系表达式; 2. 正确使用逻辑运算符和逻辑表达式; 3. 熟练使用if语句实现选择结构程序;
2. 熟练使用switch语句实现多分支选择结构程序。 二、预习内容:
教材《C语言程序设计教程》第4章。 三、实验内容:
1. 下面程序的功能是:输入学生成绩,若成绩在90分以上,输出“Excellent!”;若成绩在60—89分之间,输出“Pass!”;若成绩在60分以下,输出“Fail!”。请将程序补充完整,并上机运行程序。 #include
int score;
printf("请输入分数(0--100):"); scanf("%d", &score);
if(score>100 || score<0) printf("Input Error!\\n");
else if( score>=90 ) printf("Excellent!\\n"); else if( score>=60 ) printf("Pass!\\n"); else printf("Fail!\\n"); }
运行该程序4次,分别输入4个不同的数据,对应4种不同的情况,记录运行结果: 111 输入数据 20 61 99
Input 运行结果 Fail! Pass! Excellent! Error!
2. 有如下分段函数:
x?1?x?y??2x?11?x?10
?3x?11x?10?请输入x的值,求解对应的y值。
3. 给出一个百分制成绩,要求输出成绩等级’A’、 ’B’、 ’C’、 ’D’、 ’E’。90-100
- 9 -