C Primer Plus (第五版) 第三章 编程练习

第三章    数据和C

编程练习:

  1. 通过实验的方法(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的的情况。
#include <stdio.h>

int main(void)
{
	/* 16位短整形 */
	short int a = 32767;
	printf("a + 1 = %d\n", (short)(a + 1));

	/* 32位整形 */
	int b = 2147483647;
	printf("b + 1 = %d\n", b + 1);

	unsigned int c = 4294967295;
	printf("c + 1 = %u\n", c + 1);

	float x = 3.4e38;
	printf("x = %f\n", x);
	x = x + 0.01e38;
	printf("x = %f\n", x);

	float y = -3.4e38;
	printf("y = %f\n", y);
	y = y - 0.01e38;
	printf("y = %f\n", y);

	return 0;
}

2.编写一个程序,要求输入一个ASCII码值(如 66),然后输出相应的字符

#include <stdio.h>

int main(void)
{
	int a;

	printf("请输入ASCII码值: ");
	scanf("%d", &a);
	printf("ASCCII码中%d对应的字字符是:%c\n", a, a);

	return 0;
}

3.编写一个程序,发出警报,并打印下列文字:
Startled by the sudden sound, Sally shouted."By the Great Pumpkin, what was that!"

#include <stdio.h>

int main(void)
{
	int a;

	printf("%c",7);
	printf("Startled by the sudden sound, Sally shouted.");
	printf(" \"By the Great Pumpkin, what was that! \"\n/");

	return 0;
}

4.编写一个程序,读入一个浮点数,并分别以小数形式和指点数形式打印,输出应如同下面格式(实际显示的指数位数也许因系统而不同):

The input is 21.290000 or 2.129000E+001.

#include <stdio.h>

int main(void)
{
	float number;

	printf("Enter a floating-point value: ");
	scanf("%f", &number);
	printf("The input is %f or %e.\n", number, number);

	return 0;
}

5.一年约有3.156*10^7s。编写一个程序,要求输入您的年龄,然后显示年龄合多少秒。

#include <stdio.h>

int main(void)
{
	float g = 3.156e+7;
	int age;

	printf("请输入你的年龄:\n");
	scanf("%d", &age);
	printf("哇噻,您知道吗你来这个世上已有%f秒。\n", (float)age * g);

	return 0;
}

6.一个水分子的质量约为3.0*10^-23g,1夸脱水大约有950g.编写一个程序,要求输入淡水的夸脱数,然后显示这么多水中包含多少水分子。

#include <stdio.h>

int main(void)
{
	float quality = 3.0e-23;
	float g = 950;
	float quart;

	printf("请输入水的容量以夸脱为单位:\n");
	scanf("%f", &quart);
	printf("%f 夸脱的水中约有 %e 个水分子。\n", quart, quart*g / quality);

	return 0;
}

7.1英寸等于2.54cm。编写一个程序 ,要求输入您的身高(以英寸为单位),然后显示该身高值等于多少厘米。如果您愿意,也可以要求以厘米为单位输入身高,然后以英寸为单位进行显示。

#include <stdio.h>

int main(void)
{
	float height_c;
	float height_e;
	float g = 2.54;

	printf("请输入你的身高,以厘米为单位:\n");
	scanf("%f", &height_c);
	height_e = height_c / g;
	printf("你的身高转换为英寸为:%f。\n", height_e);

	printf("请输入你的身高,以英寸为单位:\n");
	scanf("%f", &height_e);
	height_c = height_e * g;
	printf("你的身高转换为厘米为:%f。\n", height_c);

	return 0;
}
时间: 2024-12-28 17:31:39

C Primer Plus (第五版) 第三章 编程练习的相关文章

c++ primer plus(第6版)中文版 第九章编程练习答案

首先,说明下环境: linux:fedora14: IDE:eclipse: python:python2.7 python框架:django web服务器:apache web服务器的python模块:mod_wsgi 写在前面: 之前用的windows下面的xampp,写的php后台,现在想转向linux下面的python,跟以前一样,选择apache和eclipse作为自己的开发工具. eclipse的python配置, 参见之前的博客:http://blog.csdn.net/zy416

C primer plus 第五版十二章习题

看完C prime plus(第五版)第十二章,随带完成了后面的习题. 1.不使用全局变量,重写程序清单12.4的程序. 先贴出12.4的程序,方便对照: 1 /* global.c --- 使用外部变量 */ 2 #include <stdio.h> 3 int units = 0; //一个外部变量 4 void critic(void); 5 int main(void) 6 { 7 extern int units; 8 9 printf ("How many pounds

C Primer Plus (第五版) 第二章 编程练习

编写一个程序,调用printf()函数在一行上输出您的名和姓,再调用一次printf()函数在两个单独的行上输出您的名和姓,然后调用一对printf()函数在一行上输出您的名和姓.输出应如下所示(当然里面要换成您的姓名): Anton Bruckner    第一个输出语句 Anton        第二个输出语句 Bruckner       仍然第二个输出语句 Anton Bruckner    第三个和第四个输出语句 #include <stdio.h> int main(void) {

C++primer(第五版)第二章的学习笔记(也有对部分习题的解答和指出c++11特性)

算术类型分为两类:整型(字符和bool在内)和浮点型. C/C++算术类型 类型 含义 最小尺寸 bool 布尔类型 未定义 char 字符 8位 wchar_t 宽字符 16位 char16_t Unicode字符 16位 char32_t Unicode字符 32位 short 短整型 16位 int  整型 16位 long 长整型 32位 long long 长整型 64位 unsigned long 无符号长整型 32位 double 双精度浮点数 10位有效数字 long doubl

《C++Primer》第五版习题详细答案--目录

作者:cosefy ps: 答案是个人学习过程的记录,仅作参考. <C++Primer>第五版习题答案目录 第一章:引用 第二章:变量和基本类型 第三章:字符串,向量和数组 第四章:表达式 原文地址:https://www.cnblogs.com/cosefy/p/12180771.html

C++ Primer【第五版】习题参考答案——第六章(函数)

本系列文章会不断更新,但是时间不能保证.另外基本上都是自己做的答案,仅供参考,如果有疑问欢迎交流. #include <iostream> #include <initializer_list> using namespace std; int test_Ex_6_27(std::initializer_list<int> li); int main() { cout << test_Ex_6_27({23,78,89,76,90}) << en

c++ primer(第五版)学习笔记及习题答案代码版(第十四章)重载运算与类型转换

笔记较为零散,都是自己不熟悉的知识点. 习题答案至于一个.h 和.cc 中,需要演示某一题直接修改 #define NUM****, 如运行14.30题为#define NUM1430: Alice Emma has long flowing red hair. Her Daddy says when the wind blows through her hair, it looks almost alive, like a fiery bird in flight. A beautiful f

C++ Primer【第五版】习题参考答案——第五章(语句)

#include <iostream> #include <vector> #include <string> using namespace std; /******************************************************************* Ex_5_1: 空语句就是只含有一个分号的语句. 如果在程序的某个地方,语法上要求有一条语句,但是逻辑上不需要, 这时就需要一条空语句. Ex_5_2: 块就是由花括号包围的复合语句

c++ primer(第五版)学习笔记及习题答案代码版(第十一章)关联容器

笔记较为零散,都是自己不熟悉的知识点. 习题答案至于一个.cc 中,包含Chapter7.h头文件,读入文件包括./test ./rules .需要演示某一题直接修改 #define NUM****, 如运行11.23题为#define NUM1123: chapter 11 1.  关联容器不支持顺序容器的位置相关的操作,例如push_front或push_back.原因是关联容器中元素是根据关键字存储的,这些操作对 关联容器没有意义.而且关联容器也不支持构造函数或插入操作这些接收一个元素值和

c++ primer(第五版)学习笔记及习题答案代码版(第六章)函数

笔记较为零散,都是自己不熟悉的知识点. 习题答案至于一个.cc 中,编译需要包含Chapter6.h头文件. 需要演示某一题直接修改 #define NUM***, 如运行6.23题为#define NUM623: chapter 6 1. 形参初始化的机理与变量初始化一样. 当形参是引用类型时,它对应的实参被引用传递或者函数被传引用调用. 2. const和实参 void fcn(const int i){ /*fcn能够读取i,但是不能向i写值*/} void fcn(int i){ /*.