实验二
Posted lvzixuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验二相关的知识,希望对你有一定的参考价值。
实验结论
Part.1:格式化输出函数printf()和格式化输入函数scanf()
1.%d常用于输入和输出十进制整数,%f常用于输入和输出浮点数,%c常用于输入和输出字符,%e常用于输入和输出指数形式,%s常用于输入和输出字符串。
2.%5d是输出数据域宽为5,数据长度小于5,左补空格;否则按实际长度输出。%lf在d、o、x、u前,指定精度为long且数据类型为float,在e、l、g前,指定输出精度为double且数据类型为float;%.3f对实数指定小数后位数为3位(四舍五入),对字符串,指定实际输出位数;%6.2输出数据域宽为6且保留两位小数。
3.当输出精度为doulbe的时候必须用%lf。
Part.4:switch语句体验练习
/*switch语句使用示例 输入1,2,3...的不同整数,显示不同提示信息 */ #include <stdio.h> int main () { int level ; printf("输入现在状态等级(1-5) \\n") ; scanf("%d",&level) ; switch(level){ case 1:printf("high翻了 :) \\n") ; break; case 2:printf("low爆了 :( \\n") ; break; default:printf("一言难尽,无法概括。。。\\n") ; } return 0 ; }
去掉break的情况
Part5:简单编程小练习
选择题if版本
/*编程模拟用户做选择题的情况: 要求用户从键盘上输入一个答案选项(A,B,C,D之一), 如果用户输入的答案是‘A’, 则输出提示信息“binngo,you are right~ ” 否则,输出提示信息“try again~” */ #include <stdio.h> int main(){ char ch ; printf("请输入你的答案(A,B,C or D):") ; scanf("%c",&ch) ; if (ch==‘A‘) printf("binngo,you are right~ \\n") ; else printf("try again~") ; return 0 ; }
选择题switch版本
/*编程模拟用户做选择题的情况: 要求用户从键盘上输入一个答案选项(A,B,C,D之一), 如果用户输入的答案是‘A’, 则输出提示信息“binngo,you are right~ ” 否则,输出提示信息“try again~” */ #include <stdio.h> int main(){ char ch ; printf("请输入你的答案(A,B,C,or D):"); scanf("%c",&ch) ; switch(ch){ case 65:printf("binggo,you are right~");break; default:printf("try again~") ; } return 0; }
Part6.拓展练习
(PS我尝试用比较简单的结构做了一个关于自己脑洞的文字小游戏,叫霍格沃茨历险记,现在只是简单地写了一个分支选项。想以后改进并写下去,现在比较困扰的问题是如何让文字按一下空格再输出一行,等查完资料再改进。
#include <stdio.h> int main (){ printf("今天早上你不是一如既往地被从窗户上葱绿的爬山虎间穿进来的阳光叫醒的\\n") ; printf("吵醒你的是一只有着金色瞳孔的圆润的棕色猫头鹰"); printf("它拍打着翅膀想要从窗户进来\\n") ; printf("\\“咦?这是?\\”你看见猫头鹰爪子上抓着的包裹,感觉到十分奇怪。\\n") ; printf("A:开一扇窗户让它进来\\n") ; printf("B:开两扇窗户让它进来\\n") ; printf("C:不让它进来\\n") ; printf("你的选择是:\\n") ; char ch ; scanf("%c",&ch) ; if(ch==‘A‘) printf("都说了它很圆润嘛,一扇窗户进不来的!游戏结束了。") ; else if(ch==‘B‘) printf("它进来了。将包裹丢在你的桌子上\\n"); else printf("怎么一点好奇心都没有呢?好了你可以退群了:) \\n") ; return 0; }
实验总结与体会
1.关于格式化输入输出函数和格式符的注意事项:我觉得修饰符在使用的时候要牢记它们的含义,而且像%.3 这样的不是很容易理解的要多背一背。一般默认小数点都是六位输出的。对于精度的把控还是很难理解的,我还是不太明白所以打算再查查资料啥的。
2.对于if的理解已经差不多了,就是关于if()和else if()后面不带;比较容易忘记,老是手一抖就打上去了。。。然后还要else总跟最近的if自动匹配需要注意;当if()下面的语句超过一个的时候需要添{}要特别注意。
3.switch里面我觉得比较需要注意的是case之后只能加常量表达式,而且要互不相同;switch后面的表达式值必须是整形或者字符型也要特别注意;还有break什么时候该加什么时候不该加也要多留心。
4.本次实验相较于第一次实验课就顺溜好多好多,上课都没有那么让人头大了!!啊整个人睡觉都感觉更加安心了。。。原来C语言多练习上手就很快了!!还是应该多加练习哇!反正对于我来说已经能适应老师的讲课方式了!顺带一提老师的歌单我也想拥有0v0老师课间放的歌真好听啊!!!
5.对C语言的学习更有信心了!!我可以!!!冲鸭!!!早日做完【霍格沃茨历险记】不是梦!!!
以上是关于实验二的主要内容,如果未能解决你的问题,请参考以下文章