博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验2作业
阅读量:6434 次
发布时间:2019-06-23

本文共 1957 字,大约阅读时间需要 6 分钟。

实验结论


Part 1: 格式化输出函数printf()和格式化输入函数scanf()

1.在c程序开发环境下输入程序ex2_2.c,查找并修改错误:

修改前:

1626197-20190401233104193-776817012.png
修改后代码:

/* 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 
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("%f,%lf",&x,&y); printf("%lf,%lf\n",x,y); return 0;}

运行结果如预期:

1626197-20190401232014776-1082995862.png

2.几个常用的格式符%d, %f, %c, %e, %s的常用用法:

%d是指按十进制整数输出,

%f是指按浮点数输出,小数点后默认保留六位,
%c是指按字符输出,
%e是指按(以十为底的)指数形式输出,
%s是指按字符串输出。

关于如%5d, %lf, %.3f, %6.2f的用法:

%5d表示指定输出宽度为5的整数,
%lf指定输出精度为double型,
%.3f表示四舍五入后指定输出小数位的宽度为3位,
%6.2f表示数字整体长度为6,小数部分(四舍五入)保留两位,不足用空格补。

3.必须使用格式符%lf的情况:

与输出的情况不同,用scanf输入double 型数据时必须使用%lf。

Part4: switch语句体验练习

1.程序源码:

#include 
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;}

2.运行测试结果:

有break语句:

1626197-20190401230321938-1415836227.png
1626197-20190401230441584-960088098.png
无break语句:
1626197-20190401230612536-362935904.png
1626197-20190401230706948-657021782.png
运行结果不同体现在去掉break语句后程序在做完分支语句后继续执行之后的分支语句,并没有跳出该switch语句结构。造成程序流程发生变化。

Part 5: 简单编程小练习

程序功能:

编程模拟用户做选择题的情况:要求用户从键盘输入一个答案选项(A,B,C,D之一),

如果用户答案是'A',则输 出提示信息"Binggo, you are right~",否则,输出提示信息"try again~"。

程序源码:

#include 
int main() { int ans; printf("请输入你的答案(A,B,C or D): "); scanf("%c",&ans); switch(ans) { case 'A': printf("Binggo, you are right~\n"); break; case 'B': case 'C': case 'D': printf("Try again~\n"); break; default: printf("Invalid input\n"); } return 0;}

运行测试截图:

1626197-20190401233940517-387747982.png

1626197-20190401234039869-210169365.png

实验总结与体会


  • 语法掌握得还不牢,很多细节没记住,自己动手编程序运用的时候自然就会出现差错或者错了也不知道错在哪里。
  • 不理解为什么用scanf输入double 型数据时必须使用%lf。原理是什么?希望能得到解答。
  • 一开始以为switch语句不加break语句运行完case之后会跳出switch结构,以为default只有在case都不成立才会执行。结果并不是这样。实践出真知,哈哈。

转载于:https://www.cnblogs.com/zsuzifan/p/second_c_experiment.html

你可能感兴趣的文章
[译]CSS-理解百分比的background-position
查看>>
虚拟机安装CentOS
查看>>
Idea里面老版本MapReduce设置FileInputFormat参数格式变化
查看>>
在 win10 环境下,设置自己写的 程序 开机自动 启动的方法
查看>>
Unity3d游戏开发之-单例设计模式-多线程一
查看>>
通过jquery定位元素
查看>>
Tooltip表单验证的注册表单
查看>>
UWP开发中两种网络图片缓存方法
查看>>
超8千Star,火遍Github的Python反直觉案例集!
查看>>
【msdn wpf forum翻译】如何在wpf程序(程序激活时)中捕获所有的键盘输入,而不管哪个元素获得焦点?...
查看>>
全球首家!阿里云获GNTC2018 网络创新大奖 成唯一获奖云服务商
查看>>
Python简单HttpServer
查看>>
Java LinkedList工作原理及实现
查看>>
负载均衡SLB的基本使用
查看>>
Centos 7 x86 安装JDK
查看>>
微信小程序的组件用法与传统HTML5标签的区别
查看>>
Hangfire 使用笔记
查看>>
(C#)Windows Shell 外壳编程系列8 - 同后缀名不同图标?
查看>>
教你彻底学会c语言基础——文件操作
查看>>
如何使用免费控件将Word表格中的数据导入到Excel中
查看>>