实验二

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语言的学习更有信心了!!我可以!!!冲鸭!!!早日做完【霍格沃茨历险记】不是梦!!!

 

以上是关于实验二的主要内容,如果未能解决你的问题,请参考以下文章

JSP 设计教师与学生不同登陆界面(带验证码)

OpenGL基础学习之二代码基本结构

实验九:根据材料编程

为什么二代测序的原始数据中会出现Read重复现象?

二代身份证号码编码规则

使用 React 实验性中继片段:缺少属性 '"$fragmentRefs"'