实验三数据类型和顺序结构程序设计(4学时)
[实验任务一]:通过调试、分析程序运行结果,掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符;掌握各种运算符尤其是复合赋值运算符和除法及求余运算符。
程序分析实例3-1:输入、运行下面的程序,并分析、验证运行结果。并以文件名assignment.c最终保存在实验3文件夹里:(需要存盘)
【分析】程序运行结果为:
在此基础上,做以下改动:
(1)将程序第9~14行改为:
a=61; b=62;
c1=a; c2=b;
f=3157.890121; g=0.123456789;
d=f; e=g;
p=a=m=50000; q=b=n=-60000;
运行程序,分析结果。
【分析】修改后程序运行结果为:
(2)在(1)的基础上将printf语句改为:
printf("a=%d,b=%d,c1=%c,c2=%c,d=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e);
printf("f=%f,g=%f,m=%d\n",f,g,m);
printf("n=%d\n”,n);
printf(“p=%d,q=%d\n",p,q);
运行程序。
(3)将p, q改用%o格式符输出。注意是字母o而不是数字0。
(4)改用scanf函数输入数据而不用赋值语句,scanf函数如下:
scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);
输入的数据入下:
61, 62, a, b, 3.56,-6.87, 3,157.890121, 0.123456789, 50000,-60000, 40000
(说明:lf,ld格式符分别用于输入double型和long型数据)分析运行结果。
(5)将scanf函数中的%lf和%ld改写为%f和%d,运行程序并观察分析结果。
程序分析实例3-2:分析每个输出语句的输出结果,输入以下程序验证分析结果。总结复合赋值运算的运算规则及其应用。(无需存盘)
编程scanf是什么意思【复合赋值运算的几点说明】
1)当表达式为简单表达式(如单一变量)时,表达式外的一对圆括号才可缺省,否则可能出错。
2)运算时要把整个表达式当作一个整体。
3)表达式的形式:可以是常量、简单变量、函数调用、运算表达式。
例如:x += 3    /*等价于x=x+3  */
y *= x + 6    /* 等价于y=y*(x+6),而不是y=y*x+6 ,要把x+6当做一个整体 */
程序分析实例3-3:分析以下程序的运行结果,通过该实例加深对运算符号/与%的理解。(无需存盘)