1 / 12
文档名称:

C 语言程序设计.doc

格式:doc   大小:86KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C 语言程序设计.doc

上传人:mh900965 2018/3/7 文件大小:86 KB

下载得到文件列表

C 语言程序设计.doc

文档介绍

文档介绍:1-9、请将以下十进制数值转换为二进制和十六进制补码:
(1)2 (2)9 (3)93 (4)-32 (5)65535 (6)-1
解:1、(2)10 = (10)2 = (2)16
2、(9)10 = (1001)2 = (9)16
3、(93)10 = (1011101)2 = (5D)16
4、(-32)10 = (11100000)2 = (E0)16
5、(65535)10 = (11111111 11111111)2 =(FFFF)16
6、(-1)10 =(11111111 11111111)2 =(FFFF)16
1-10请将以下数值转换为十进制:
(1) (1010)2 (2) (10001111)2(3) (01011111 11000011)2
(4) (7F)16 (5) (2D3E)16(6) (F10E)16
解:(1)(1010)2 = (10)10
(2)(10001111)2 = (143)10
(3)(01011111 11000011)2 = (24515)10
(4)(7F)16 = (127)10
(5)(2D3E)16 = (11582)10
(6)(F10E)16 = (61710)10
1-11、简要比较原码、反码、补码等几种编码方法。
解:原码:将符号位数字化为 0或1,数的绝对值与符号一起编码,即所谓"符号──绝对值表示"的编码。
正数的反码和补码与原码表示相同。
负数的反码与原码有如下关系:符号位相同(仍用 1 表示),其余各位取反(0变1,1变0)。补码由该数反码的最末位加1求得。
2-23、写出下列表达式的值:
1. 2 < 3&&6 < 9
2. ! ( 4<7 )
3. ! ( 3 > 5) || (6 < 2 )
解: 1. true
2. false
3. true
2-24、若 a = 1,b = 2,c = 3,下列各式的结果是什么?
1. a | b - c
2. a ^ b & -c
3. a & b | c
4. a | b & c
解:1.-1
2. 1
3. 3
4. 3
2-25、若 a = 1,下列各式的结果是什么?
1. ! a | a
2. ~ a | a
3. a ^a
4. a >> 2
解:1. 1
2.-1
3. 0
4. 0
2-27、编写一个完整的程序,运行时向用户提问"你考试考了多少分?(0~100)",接收输入后判断其等级,显示出来。规则如下:
解:#include <>
void main()
{
int i,score;
cout << "你考试考了多少分?(0~100):";
cin >> score;
if (score>100 || score<0)
cout << "分数值必须在 0到 100 之间!";
else
{
i = score/10;
switch (i)
{
case 10:
case 9:
cout << "你的成绩为优!";
break;
case 8:
cout << "你的成绩为良!";
break;
case 7:
case 6:
cout << "你的成绩为中!";
break;
default:
cout << "你的成绩为差!";
}
}
}
程序运行输出:
你考试考了多少分?(0~100):85
你的成绩为良!
3-2、观察下面程序的运行输出,与你设想的有何不同?仔细体会引用的用法。
源程序:
解:#include <>
int main()
{
int intOne;
int &rSomeRef = intOne;
intOne = 5;
cout << "intOne:\t\t" << intOne << endl;
cout << "rSomeRef:\t" << rSomeRef << endl;
int intTwo = 8;
rSomeRef = intTwo; // not what you think!
cout << "\nintOne:\t\t" << intOne << endl;
cout << "intTwo:\t\t" << intTwo << endl;
cout << "rSomeRef:\t" << rSomeRef << endl;
re