C Primer Plus 第3章 数据和C 编程练习
1、
/* 整数上溢 */
#include <stdio.h>
int main(void)
{
int i = ;
unsigned int j = ; /*
无符号整数j像一个汽车里程指示表(形容的太好了,可参考《计算机科学导论》第3章 数据存储,有图),
当达到最大值时,它将溢出到起始点。整数i也是同样。它们的主要区别是unsigned int变量j的起始点是0(正像里程
指示表那样),而int变量i的起始点则是-2147483648。——参考《C Primer Plus》
*/
printf("%d %d %d\n", i, i+, i+);
printf("%u %u %u\n", j, j+, j+);
return ;
}
浮点数上溢和浮点数下溢,于浮点数,以目前的知识最终是无法深究的,故留待以后探索。只能借《C Primer Plus》之意:
当计算结果是一个大得不能表达的数时,会发生上溢。现在C语言要求为这样的数赋予一个代表无穷大的特殊值,以inf或infinity示之。
用对浮点值可用的全部精度进行表示的最小数字(它具有最小的指数,并且仍具有可以由全部可用位进行表示的最小的尾数值),若此数除以2,通常这个操作将使指数部分减小,但是指数已经达到了最小值,所以计算机只好将尾数部分达到位进行右移,空出首位二进制位,并丢弃最后一位二进制位。此过程称为下溢。(举例说之:以十进制为例,把一个包含4位有效数字的数0.1234E-10除以10,将得到结果0.0123E-10,但是损失了1位有效数字)。
/* 浮点数上溢与下溢 */
#include <stdio.h>
int main(void)
{
float toobig = 3.4e38 * 100.0f;
float toosmall = 0.1234e-2 / ; printf("%e\n", toobig); // 输出为inf
printf("%f\n", toosmall); // 损失1位有效数字
return ;
}
2、
#include <stdio.h>
int main(void)
{
int ch;
printf("请输入一个ASCII码值: ");
scanf("%d", &ch);
printf("%d相应的字符为: %c", ch, ch);
return ;
}
3、
#include <stdio.h>
int main(void)
{
printf("\aStartled by the sudden sound, Sally shouted, ");
printf("\"By the Great Pumpkin, what was that! \"\n");
return ;
}
4、
#include <stdio.h>
int main(void)
{
float input;
printf("请输入一个浮点数: ");
scanf("%f", &input);
printf("The input is %f or %e.", input, input);
return ;
}
5、
#include <stdio.h>
int main(void)
{
int age;
printf("请输入您的年龄: ");
scanf("%d", &age);
printf("您的年龄合%e秒", age * 3.156e7);
return ;
}
6、
#include <stdio.h>
int main(void)
{
int kua;
printf("请输入水(单位为夸脱)的夸脱数: ");
scanf("%d", &kua);
printf("%d夸脱水中包含%e个水分子", kua, kua * / 3.0e-23);
return ;
}
7、
#include <stdio.h>
int main(void)
{
float feet;
printf("请输入您的身高(单位为英寸): ");
scanf("%f", &feet);
printf("%.2f inches = %.2f cm", feet, feet * 2.54);
return ;
}
C Primer Plus 第3章 数据和C 编程练习的更多相关文章
- C Primer Plus_第6章_循环_编程练习
1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...
- C Primer Plus 第10章 数组和指针 编程练习
这章感觉好难啊,放个别人的总结. // 多维数组和指针 #include <stdio.h> int main(void) { int zippo[4][2] = {{2, 4}, {6, ...
- C Primer Plus_第9章_函数_编程练习
1.题略 /*返回较小值,设计驱动程序测试该函数*/ #include <stdio.h> double min (double a, double b); int main (void) ...
- C Primer Plus_第四章_字符串和格式化输入输出_编程练习
Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...
- C Primer Plus_第5章_运算符、表达式和语句_编程练习
Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...
- Laxcus大数据管理系统2.0(5)- 第三章 数据存取
第三章 数据存取 当前的很多大数据处理工作,一次计算产生几十个GB.或者几十个TB的数据已是正常现象,驱动数百.数千.甚至上万个计算机节点并行运行也已经不足为奇.但是在数据处理的后面,对于这种在网络间 ...
- 《驾驭Core Data》 第三章 数据建模
本文由海水的味道编译整理,请勿转载,请勿用于商业用途. 当前版本号:0.1.2 第三章数据建模 Core Data栈配置好之后,接下来的工作就是设计对象图,在Core Data框架中,对象图被表 ...
- TMS320C54x系列DSP的CPU与外设——第5章 数据寻址
第5章 数据寻址 C54x DSP提供7种基本寻址方式. ■ Immediate addressing uses the instruction to encode a fixed value. ...
- C和指针 (pointers on C)——第三章——数据
第三章 数据 本章是非常重要的,在特定范围内使用.链接属性.存储类型.const.extern和statickeyword使用.几乎所有的公司是C++在采访的第一个问题. 总结: 具有external ...
随机推荐
- 【风马一族_Android】多选按钮的监控事件
import android.app.Activity; import android.os.Bundle; import android.text.TextUtils; import android ...
- CSS3实现半像素边框
一.思路 普通的1px黑色实线边框: border: 1px solid #000; 半像素边框当然不是简单地把1px改为0.5px(没测试过,可能会被解析成1或者0),border-width的值只 ...
- 【全面解析DeepZoom 之三】建立DeepZoom应用
文章出处:http://www.cnblogs.com/zhouyinhui/archive/2008/04/14/1153371.html (周银辉) 与导出整图不一样,你不能这样使用: <M ...
- 节点属性(DOM对象)
节点属性 在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeType ...
- js中的数组Array定义与sort方法使用示例
Array的定义及sort方法使用示例 Array数组相当于java中的ArrayList 定义方法: 1:使用new Array(5 )创建数组 var ary = new Array(5): ...
- Linux之父访谈录:设计内核只为了好玩
2010-09-20 10:36 “有 些人生来就具有统率百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生.唯一一个能同时做到这两 者的人,就是Linus Torvalds.”这是美国<时 ...
- Python开发【第一篇】Python基础之函数递归
函数递归 递归的本质: 就是一个函数调用另外一个函数. def d(): return '123' def c(): r = d() return r def b(): r = c() return ...
- 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础
第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1 初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 ...
- python post中文引发的不传递,及乱码问题
使用jquery ajax向后台传值 $.ajax({ type:"POST", url:"" data:{ content:content }, succes ...
- Eclipse中使用javap运行配置详解
javap是sun提供的对class文件进行反编译的工具 1.配置Run---external tools---external tools configurations 选择Program 新建ja ...