Part 1:格式化输出函数printf()和格式化输入函数scanf()
1.在c程序开发环境下输入并运行程序ex2_1.c,运行程序,观察运行结果。
%d的含义是:按十进制整数输出。如实验中:int y=3, z=4;printf ("%d,%d\n",y,z); ,其结果为3 4。
%f的含义是:按浮点数输出。如实验中:float f=123.456;printf ("%f\n",f); ,其结果为123.456001。
%c的含义是:按字符输出。如实验中:char ch ='a';printf("%3c\n",ch); , 其结果为a。
%e的含义是:按指数形式输出。例如:double a=123.456;printf ("%e\n",a);其结果为1.234560e+002。
%s 的含义是:按字符串输出。如实验中给:char a[]="hello,world!";printf ("%s\n",a); ,其结果为hello,world!
%5d表示整型宽度至少为5位,右对齐。
%lf表示以double型格式输出或输入变量的值,例如实验中第五个输出函数与其结果。
%.3f表示保留3位小数。
%6.2f表示整形宽度为6位,保留小数点后两位。例如实验中第四个输出结果,%8.1f结果是空位4位123.4,其整形宽度包括小数点为8位,保留小数点后一位。
输入时double型必须用%lf,float型用%f;而输出时float用%f,double两者都可以。
2.在c程序开发环境下输入程序ex2_2.c,查找并修改错误
修改代码如下
/*
C语言程序设计教程学习指导》p119 实验内容(2)
这是一个格式化输入输出函数及格式符使用练习
找出两处错误,修改并运行程序
为a1,a2,a3,c1,c2,c3,x,y输入数据,使得:
a1=1,a2=2,a3=3,c1='a',c2='b',c3='c', x=1.5, y=2.5
*/
#include <stdio.h>
int main() {
double x,y;
char c1,c2,c3;
int a1,a2,a3;
scanf("%d%d%d",&a1,&a2,&a3);
printf("%d,%d,%d\n",a1,a2,a3);
scanf("%c%c%c",&c1,&c2,&c3);
printf("%c%c%c\n",c1,c2,c3);
scanf("%lf,%lf",&x,&y);
printf("%lf,%lf\n",x,y);
return 0;
}
运行结果如下
Part 4: switch语句体验练习
编程示例 输入1,2,3...的不同整数,显示不同信息 运行程序,结合运行结果,观察并尝试理解程序中多分支 if语句的使用。 代码:switch.c(if3.c用switch语句的重新实现)
有break情况:
代码如下:
/*switch语句使用示例,输入1,2,3...的不同整数,显示不同提示信息 */ #include <stdio.h> int main() { int level; printf("输入现在状态等级(1-5): "); scanf("%d",&level); switch(level) { case 1: printf("high翻了:)\n");break; case 2: printf("low爆了:(\n");break; default: printf("一言难尽,无法概括。。。\n"); } return 0; }
运行结果如下:
无break情况:
代码如下:
/*switch语句使用示例,输入1,2,3...的不同整数,显示不同提示信息 */ #include <stdio.h> int main() { int level; printf("输入现在状态等级(1-5): "); scanf("%d",&level); switch(level) { case 1: printf("high翻了:)\n"); case 2: printf("low爆了:(\n"); default: printf("一言难尽,无法概括。。。\n"); } return 0; }
运行结果如下:
Part5: 简单编程练习 编程模拟用户做选择题的情况:要求用户从键盘输入一个答案选项(A,B,C,D之一),如果用户答案是'A',则输 出提示信息"Binggo, you are right~",否则,输出提示信息"try again~"
代码如下:
/*要求用户从键盘输入一个答案选项(A,B,C,D之一),如果用户答案是'A',则输 出提示信息"Binggo, you are right~",否则,输出提示信息"try again~" */ #include <stdio.h> int main() { int answer; printf(" 输入一个答案选项(A,B,C,D之一): "); scanf("%c",&answer); switch(answer) { case'A': printf("Binggo, you are right~\n");break; default: printf("try again~\n"); } return 0; }
运行结果如下:
实验总结与体会:
1.在格式化输入/输出函数、格式符使用过程中注意符号的代表意义,并且一些细节上的差异,以及什么情况下运用什么格式符等,都要熟练掌握,要不然就是会弄混淆,并且查不出错误。
2.在Part3中运行If语句用法基本理解并掌握。
3.switch语句用法基本理解,但离掌握还是有些距离。
3.在简单编程联系中,注意输入的是字符,并且在输出时A记得加上‘’,要不然会出现错误。
评论三位同学的地址:
https://www.cnblogs.com/xh66/p/10616899.html
https://www.cnblogs.com/QYAS/p/10617792.html
https://www.cnblogs.com/ssyxs/p/10601509.html