陈涵的作业2

1. 已有定义 int x; float y; 且执行 scanf("%3d%f", &x, &y);语句时,假设输入数据为 12345□678↙,则 x、y 的值分别为( B), 解释原因。

A. 12345 678.000000

B. 123 678.000000

C. 123 45.678000

D. 123 45.000000

原因:x为int类型,%3d为取输入数据前三位,所以x为123

          遇到空格,重新输入y的值,y为float类型,取空格后面的数据,所以y为678.000000

2. 阅读以下程序,当输入数据的形式为:12a345b789↙,已知正确答案为(A),请用文字 解释原因。

A. 2, 345, 1, a            B. 12, 345, a, b          C. 2a, 45b, 1, 3          D. 2, 789, 1, a

原因:c1为char类型单字节取输入数据第一位1。a1为int类型,%2d取余下的数字,因为a是字      母,无法赋值给a1,a1为2。c2为char单字节,取a1余下的a。a2为int类型,赋值余下数据,   %3d赋值三个数,a2为345。

3. 填空: 以下程序的输出结果为:_________。

结果:k为int类型,%d是十进制,输出为17。%o是八进制,将17除以8等于2余下1,输出为21。

%x是十六进制,将17除以10等于1,余下1,输出为11。

4. 填空: 以下程序的输出结果为_________。

结果:\*3.140000,3.142\*\

5. 在 Dev Cpp 平台上新建一个项目,仿照 PPT【4.2.1 键盘输入和屏幕输出(下)】,完成功能:在命令窗口输入任意大写英文字母,输出值为对应的小写英文字母。(要求在 CSDN/博 客园上粘贴代码,以及输入输出截图)

6. 在 Dev Cpp 平台上新建一个项目,输入下方截图的程序代码(同样也是上课的例子)。假 设输入 a=12, b=’a’, c=3.5,观察其输出。在这个过程中,程序出现了什么问题,应该如何 补救?请对补救方法重新生成一段新的程序,并观察其输出。(要求在 CSDN/博客园上粘贴 下方代码,以及输入输出截图;改进后的代码,以及改进后的输入输出截图)

用户输入数据先放入缓冲区程序再从缓冲区读取,前一个输入函数没有读走的数据仍在缓冲区,将被下一个输入函数读取。

补救后,用getchar清空缓冲区,重新输入新的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值