实验结论
part1:格式化输出函数printf()和格式化输入函数scanf()
(1)几种常用的格式字符:
%d:按十进制整数输出 %f:按浮点数输出
%s:按字符串输出 %c:按字符输出
%e(或%E):按指数形式输出
(2)几种常用的修饰符:
m:输出数据域宽,数据长度<m,左补空格;否则按实际输出。
n:对实数,指定小数点后位数(四舍五入),对字符串,指定实际输出位数。
l:在d、o、x、u前,指定输出精度为long型;在e、f、g前,指定输出精度为double型。
格式说明形式:%[<修饰符>]<格式字符>
实例:
%5d:按宽度5输出一个整型数据,不足前补空格,超过按原样输出,按宽度5
%3f:单精度浮点型,保留3位小数
%1f:按双精度浮点型输出
%6.2f:按数据域宽6输出单精度浮点型数据,保留2位小数
%4.2s:按数据域宽4,输出位数2输出字符串型数据
当以double双精度浮点型输入数据时,必须必须使用%lf
part4:switch语句体验练习
程序源码:
1 /* 2 switch语句使用示例 3 输入1,2,3...的不同整数,显示不同提示信息 4 */ 5 #include <stdio.h> 6 int main() { 7 int level; 8 printf("输入现在状态等级(1-5): "); 9 scanf("%d",&level); 10 switch(level) { 11 case 1: printf("high翻了:)\n"); break; 12 case 2: printf("low爆了:(\n"); break; 13 default: printf("一言难尽,无法概括。。。\n"); 14 } 15 return 0; 16 }
case后语句序列中有break:
case后语句序列无break:
两者区别:
当有break时,遇到break语句,程序就跳出这一case,switch语句结构,转到其结构后面的语句执行;当没有break语句时,程序就会一直往下执行,直到遇到break语句或该switch结构结束。在该程序中即为输入1,会执行case的所有语句,直到switch结构结束。
part5:简单编程小练习
/* 编程模拟用户做选择题的情况:要求用户从键盘输入一个答案选项(A,B,C,D)之一, 如果用户答案是‘A’,则输出提示信息"Binggo,you are right~" ,否则输出提示信息 "try again~"。 */ #include <stdio.h> int main() { char answer; printf("请输入你的答案(A,B,C or D):"); scanf("%c",&answer); switch(answer) { case 'A': printf("inggo,you are right~\n");break; default: printf("try again~\n"); } return 0; }
part5:拓展练习
程序功能:判断三角形的形状——已知三个数,判断这三个数是否能构成三角形的三条边;如果能构成三角形,判断所构成三角形的形状。
#include<stdio.h> #include<stdlib.h> int main() { float a,b,c; printf("请输入三条边长:"); scanf("%f%f%f",&a,&b,&c); if(a<=0||b<=0||c<=0) { printf("三角形的边长不能为0或负,请重新输入!\n"); exit(0); } if(a+b<=c||a+c<=b||b+c<=a) { printf("不能构成三角形,请重新输入!\n"); exit(0); } else if(a==b&&b==c) printf("是等边三角形\n"); else if(a==b||b==c||a==c) printf("是等腰三角形\n"); else printf("是一般三角形\n"); return 0; }
实验总结与体会
现在已经能看懂代码,找出错误,尝试编写一个小代码了,摸索中有进步,但我觉得还是不够熟练,还是得多实践啊。
来源:https://www.cnblogs.com/yaoxioana/p/10630658.html