鱼C论坛

 找回密码
 立即注册
查看: 3084|回复: 5

《零基础入门学习C语言》第二章考核 最后两题

[复制链接]
发表于 2013-9-21 20:21:58 | 显示全部楼层 |阅读模式
1鱼币
19. #define PI 3.14; 这条预处理命令的作用是将代码中所有“PI”替换为_______ [填空、必答题   满分:5分  我的得分:0分]  正确答案: 3.14;   
这个难道是因为没写分号吗?

20. 以下程序运行后的输出结果是 [单选、必答题   满分:5分  我的得分:0分]
  • #include <stdio.h>
  • main()
  • {
  •         char c1, c2;
  •         c1 = 'A' + '8' - '4';
  •         c2 = 'A' + '8' - 53;
  •         printf("%c,%dn", c1, c2);
  • }

复制代码

A.  E,68
B.  D,68
C.  E,20
D.  D,20
这个不是选A吗?

最佳答案

查看完整内容

1.嗯,如果你的答案是3.14则为错误答案,因为define后面不用+分号表示语句结束 如果加了分号则会把PI替换成3.14;而不是3.14 2. 'A'=0x41(十六进制) '8'=0x38 '4'=0x34 'A'+'8'-'4'=0x45='E' 'A'+'8'-53=0x41+0x38-53(前面十六进制后面十进制)=0x44=68 所以答案A 准确来说是E,68n那么就是无答案了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-21 20:21:59 | 显示全部楼层
本帖最后由 メ㊣逆ご帅☆ 于 2013-9-21 22:12 编辑

1.嗯,如果你的答案是3.14则为错误答案,因为define后面不用+分号表示语句结束
如果加了分号则会把PI替换成3.14;而不是3.14
2.
'A'=0x41(十六进制)
'8'=0x38
'4'=0x34
'A'+'8'-'4'=0x45='E'
'A'+'8'-53=0x41+0x38-53(前面十六进制后面十进制)=0x44=68
所以答案A
准确来说是E,68n那么就是无答案了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-21 21:13:33 | 显示全部楼层
第一个难道不是3.14吗?第二个不是E 68吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-21 22:36:20 | 显示全部楼层

原来是这样啊,多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-23 09:28:25 | 显示全部楼层
回帖,,,那个直接转成十进制的ASCII码解释不是挺直观的嘛,为什么要转成十六进制来运算呢?是不是更方便记忆?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-3 00:11:02 | 显示全部楼层
我也上当了 确实没看见了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 21:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表