C程序设计课后答案(253页).doc
C程序设计(第三版)课后习题参考解答
第1章 C语言概述
1.5 参照本章例题,编写一个C程序,输出以下信息:
******************************
Very Good!
******************************
解:
main ( )
{printf(“****************************** \n”);
printf(“\n”);
printf(“ Very Good! \n”);
printf(“\n”);
printf(“****************************** \n”);
}
1.6 写一个程序,输入a,b,c三个值,输出其中最大者。
解:
main ( )
{int a,b,c,max;
printf(“请输入三个数a,b,c: \n”);
scanf(“%d,%d,%d”,a,b,c);
max=a;
if (maxb)
max=b;
if (maxc)
max=c;
printf(“ 最大数为:%d ”,max);
}
第2章 程序的灵魂——算法
2.1 什么叫结构化的算法?为什么要提倡结构化的算法?
解:由一些基本结构顺序组成的算法称为结构化的算法。由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。
2.7 什么叫结构化程序设计?它的主要内容是什么?
解:结构化程序就是用高级语言表示的结构化算法。它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。
第3章 数据类型、运算符与表达式
3.3请将下面各数用八进制和十六进制数表示:
(1)10 (2)32 (3)75 (4)-617
(5)-111 (6)2483 (7)-28654 (8)21003
解:(1) (10) 10=(12) 8=(A) 16
(2) (32)10=(40)8=(20) 16
(3) (75)10=(113)8=(4B) 16
(4) (-617)10=(176627)8=(FD97) 16
此题可以这样考虑:带符号数在计算机中采用补码表示,正数的补码与原码相同,负数的补码=模+真值。若使用16位存储,模为216=65536。-617的补码为65536+(-167)=64919=(176627)8=(FD97)16
(5) (-111)10=(177621)8=(FF91) 16
(6) (2483)10=(4663)8=(9B3) 16
(7) (-28654)10=(110022)8=(9012) 16
(8) (21003)10=(51013)8=(520B) 16
3.4将以下三各整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。
变量的类型 25 -2 32769
int型
long型
sort型
signed char(8位)
unsigned int型
unsigned long型
unsigned short型
unsigned char型
注:如果没有学过二进制和补码,此题可以不做。
解:各数据在内存中的存储形式如下表所示:
变量的类型 25 -2 32769
int型 00… 000011001
8 位 1111111111111110
15 100 … 001(溢出)
14
long型 00… 000011001
24 11 … 1110
31 00… 0100 … 001
16 14
short型 100… 000011001
8 1111111111111110
15 100 … 001(溢出)
14
signed char(8位) 10001100100000001(溢出)
unsigned int型 00… 000011001
8 11 … 110
15 100 … 001
14
unsigned long型 00… 000011001
24 11 … 110
31 00… 0100 … 001
16 14
unsigned short型 00… 000011001
8 11 … 110
15 100 … 001
8
unsigned char型11111110
原创力文档

文档评论(0)