C Primer Plus 第6版 第3章 编程练习

简介: C Primer Plus 第6版 第3章 编程练习

1.编写程序查看系统如何处理整数上溢和浮点数上溢和下溢情况。

#include<stdio.h>
int main(void)
{
 
  int int_a = -1;
  float float_a = -1.0;
  for (int i = 1; i <= 128; i++)
  {
    int_a *= 2;
    float_a *= 2;
    printf("2^%d = %d\t\t\t 2^ %d = %f\n", i, int_a, i, float_a);
  }
 
 
  getchar(); getchar(); //在VS中让窗口停留
  return 0;
}

2.提示输入一个ASCII码,然后打印对应的字符。

#include<stdio.h>
int main(void)
{
  int ascii_n;
  char ascii_c;
  printf("请输入一个ASCII码:");
  scanf_s("%d", &ascii_n);
  ascii_c = ascii_n;
  printf("%c", ascii_c);
  getchar(); getchar(); //在VS中让窗口停留
  return 0;
}

3.发出响铃,然后打印一串文本

#include<stdio.h>
int main(void)
{
 
  printf("\a");
  printf("Startled by the sudden sound, Sally shouted,\n");
  printf("\"By the Great Pumpkin, what was that! \"");
  getchar(); getchar(); //在VS中让窗口停留
  return 0;
}

4.读取一个浮点数,以小数和指数形式打印

#include<stdio.h>
int main(void)
{
  float float_n;
  printf("Enter a floating-point value: ");
  scanf_s("%f", &float_n);
  printf("fixed-point notation:%f\n",float_n);  //小数点形式
  printf("exponential notation:%e\n", float_n); // 指数形式
  printf("p notation: %a\n" ,float_n);          //十六进制
  getchar(); getchar(); //在VS中让窗口停留
  return 0;
}

5.一年大概有3.156 x 10^7 秒。 输入年龄,转换成对应的秒。

 

#include<stdio.h>
int main(void)
{
  int age;
  const float secondsOfAYear = 3.156e7;
  printf("输入年龄: ");
  scanf_s("%d", &age);
  printf("相当于 %f 秒\n" ,secondsOfAYear*age);        
  getchar(); getchar(); //在VS中让窗口停留
  return 0;
}

6.   1个水分子质量为 3 * 10 ^-23 g , 1 夸脱的水是950g.输入夸脱数,转换成水分子数,

#include<stdio.h>
int main(void)
{
  float quart;
  const float water = 3.0e23;
  const int aquart = 950;
  printf("输入水的夸脱数: ");
  scanf_s("%f", &quart);
  printf("相当于 %f 个水分子\n" ,quart*aquart*water);        
  getchar(); getchar(); //在VS中让窗口停留
  return 0;
}

7.  1英寸相当于2.54厘米,输入英寸转换厘米。

#include<stdio.h>
int main(void)
{
  const float inchToCm = 2.54;
  float inch;
  printf("请输入英寸:");
  scanf_s("%f", &inch);
  printf(" %f英寸相当于%f厘米", inch, inch*2.54);
  getchar(); getchar(); //在VS中让窗口停留
  return 0;
}

8.单位转换

1品脱 = 2 杯; 1杯 = 8盎司; 1盎司 = 2大汤勺; 1大汤勺 = 3 茶勺

#include<stdio.h>
int main(void)
{
  float cup;
  printf("输入杯数:");
  scanf_s("%f", &cup);
  printf("相当于%f品脱\n%f盎司\n%f大汤勺\n%f茶勺", cup / 2,8*cup,16*cup,48*cup);
 
  getchar(); getchar(); //在VS中让窗口停留
  return 0;
}
相关文章
|
设计模式
110.【十万字带你深入学习23种设计模式】(二十二)
110.【十万字带你深入学习23种设计模式】
110 1
110.【十万字带你深入学习23种设计模式】(二十二)
鸿蒙5开发宝藏案例分享---一多分级导航栏开发实践
本文分享鸿蒙开发中多端分级导航栏的实用经验,解决手机、平板和PC端适配难题。通过断点与动态布局,实现手机底部TabBar+顶部二级导航,PC端左侧侧边栏+顶部页签的设计。提供移动端和PC端详细编码教学,包含避坑指南和设计技巧。最后解答高频问题,助你轻松掌握鸿蒙布局能力,期待一起探索更多黑科技!
|
Web App开发 PHP iOS开发
易优CMS PHP原生标签调用
这段代码实现了一个自动化工具,用于从指定的漫画网站下载章节内容,并将其转换为PDF格式。它首先通过用户输入的链接获取网页信息,然后根据用户的选择下载整个章节或特定章节的图片,并保存到本地文件夹中。下载完成后,工具会将这些图片合并成一个PDF文件,并添加书签以便于浏览。此外,代码还包含了异常处理机制,确保在网络不稳定时能够重试下载。
144 4
|
负载均衡 监控 安全
探索微服务架构中的API网关模式
【7月更文挑战第10天】在微服务的大潮中,API网关作为系统的单一入口点,承载着请求转发、负载均衡、认证授权等关键任务。本文深入探讨了API网关的设计原则、实现方式以及在微服务架构中的作用和挑战,旨在为后端开发者提供一套实用的API网关构建指南。
112 1
|
Android开发
Android 开发中跳转到评论页面
Android 开发中跳转到评论页面
172 0
|
监控 关系型数据库 Serverless
PolarDB产品使用合集之serverless监控指标中如何监测某个节点的负载或资源占用情况
PolarDB是阿里云推出的一种云原生数据库服务,专为云设计,提供兼容MySQL、PostgreSQL的高性能、低成本、弹性可扩展的数据库解决方案,可以有效地管理和优化PolarDB实例,确保数据库服务的稳定、高效运行。以下是使用PolarDB产品的一些建议和最佳实践合集。
147 0
|
安全
分享五款小众的电脑利器,让电脑更好用
电脑是我们日常生活和工作中不可缺少的工具,但是有时候我们会遇到一些问题,比如电脑卡顿、文件传输困难等。为了解决这些问题,我为你推荐了五款让电脑更好用的软件。
226 0
分享五款小众的电脑利器,让电脑更好用
|
数据库
9_数据的增删改查(重点)
9_数据的增删改查(重点)
178 0
|
Java 测试技术 数据库连接
SpringBoot的热布署和多环境配置(四)
本文主要讲解:1. 开发热布署2. 多环境配置
188 0
SpringBoot的热布署和多环境配置(四)
64位读取注册表与32位的区别
有一个读取注册表信息的程序  if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, subkeystring , 0, KEY_READ, &hKey) == ERROR_SUCCESS)/ ,在32位下完全正常,但是在64位返回值正确,但就是读不到东西。
1377 0