实验结论
part1:格式化输出函数printf()和格式化输入函数scanf()
(1)几种常用的格式字符:
%d:按十进制整数输出 %f:按浮点数输出
%s:按字符串输出 %c:按字符输出
%e(或%E):按指数形式输出
m: 输出数据域宽,数据长度<m,左补空格;否则按实际输出
.n:对实数,指定小数点后位数(四舍五入),对字符串,指定实际输出位数
l: 在d、o、x、u前,指定输出精度为long型;在e、f、g前,指定输出精度为double型
格式说明形式:%[<修饰符>]<格式字符>
实例:
%5d: 按宽度5输出一个整型数据,不足前补空格,超过按原样输出,按宽度5
%.3f:单精度浮点型,保留3位小数
%lf: 按双精度浮点型输出
%6.2f:按数据域宽6输出单精度浮点型数据,保留2位小数
%4.2s:按数据域宽4,输出位数2输出字符串型数据
特别地,当以double双精度浮点型输入数据时,必须使用%lf
part4
#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;

两者区别:
当有break时,遇到break语句,程序就跳出这一case,switch语句结构,转到其结构后面的语句执行;当没有break语句时,程序就会一直往下执行,直到遇到break语句或该switch结构结束。在该程序中即为输入1,会执行case的所有语句,直到switch结构结束。
part5
#include <stdio.h>
int main(){
int answer;
printf("请输入你的答案(A,B,C or D):");
scanf("%c",&answer);
if(answer!=‘A‘&&answer!=‘B‘&&answer!=‘C‘&&answer!=‘D‘){
printf("invalid answer,try again~\n");
}
else
switch(answer){
case ‘A‘:printf("Binggo, you are right~\n");break;
default :printf("try again~\n");break;
}
return 0;
}

实验总结与体会:
对代码还是不够敏感,不能快速找出其中的错误,记忆不准确
if语句刚刚学习,用起来有一点生疏,要多加练习
原文:https://www.cnblogs.com/mjc217/p/10638971.html