文档详情

谭浩强C程序设计第三版课后答案解析(整本书).doc

发布:2018-10-23约11.05万字共129页下载文档
文本预览下载声明
WORD资料 下载可编辑 技术资料专业分享 C程序设计(第三版)课后习题参考解答 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 (75)10=(113)8=(4B) 16 (-617)10=(176627)8=(FD97) 16 此题可以这样考虑:带符号数在计算机中采用补码表示,正数的补码与原码相同,负数的补码=模+真值。若使用16位存储,模为216=65536。-617的补码为65536+(-167)=64919=(176627)8=(FD97)16 (-111)10=(177621)8=(FF91) 16 (2483)10=(4663)8=(9B3) 16 (-28654)10=(110022)8=(9012) 16 (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型 00… 000011001 8 1111111111111110 15 100 … 001(溢出) 14 signed char(8位)11111110溢出) 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其中int和short类型,其取值范围是-32768~32767。32769在这两种类型中实际表示负数,它是一个负数的补码,对其再求一次补码可得其真值,即-(65536-32769)=-32767。 char和unsigned char为8位,若将int或long类型数据赋给这种类型,则截取数据低8位。同理,若将long赋给int,则截取低16位。 3.5字符常量和字符串常量有什么区别? 解:字符常量是一个字符,用单引号括起来。字符串常量是由0个或若干个字符组合而成,用双引号括起来,存储时自动在字符串最后
显示全部
相似文档