C语言程序设计26

news2024/9/29 18:48:12

《C程序设计教程(第四版)——谭浩强》


习题2.3 上机运行下面的程序,分析输出结果


代码

//《C程序设计教程(第四版)——谭浩强》
//习题2.3 上机运行下面的程序,分析输出结果

#include <stdio.h>
int main()
{
	int a=5,b=7;
	float x=67.8564,y=-789.124;
	char c='A';
	long n=1234567;
	unsigned u=65535;
	printf("%d%d\n",a,b);//单纯打印出a,b这两个数字,中间没有空格,然后换行
	printf("%3d%3d\n",a,b);//在格式声明中指定输出数据的域宽(所占的列数)
	printf("%f,%f\n",x,y);//%f:实数中的整数部分全部输出,小数部分输出6位
	printf("%-10f,%-10f\n",x,y);
	printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);
	printf("%e,%10.2e\n",x,y);
	printf("%c,%d,%o,%x\n",c,c,c,c);
	printf("%ld,%lo,%x\n",n,n,n);
	printf("%u,%o,%x,%d\n",u,u,u,u);
	printf("%s,%15s\n","COMPUTER","COMPUTER");
	
	return 0;
}

运行结果

结果分析

(1)  

输出

 printf("%d%d\n",a,b);

输出结果

57

输出结果分析

直接输出整型a和b,没有空格。

(2)

输出

printf("%3d%3d\n",a,b);

输出结果

  5  7

输出结果分析

在格式声明中指定了输出数据的(域宽)所占的列数为3,数字右对齐。

(3)

输出

printf("%f,%f\n",x,y);

输出结果

67.856400,-789.124023

输出结果分析

 %f默认输出6位小数,整数部分全部输出。

(4)

输出

    printf("%-10f,%-10f\n",x,y);

输出结果

67.856400,-789.124023

输出结果分析

使用“-”表示左对齐,宽度为10,由于x和y小数部分都超过6位,因此输出的值未被截断。

(5)

输出

    printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);

输出结果

   67.86, -789.12,67.8564,-789.1240,67.856400,-789.124023

输出结果分析

各个格式控制不同:

  • %8.2f:最小宽度8,小数点后显示2位。
  • %.4f:小数点后显示4位,小数部分未受宽度影响。

(6)

输出

    printf("%e,%10.2e\n",x,y);

输出结果

6.785640e+001,-7.89e+002

输出结果分析

%e以科学计数法输出,默认6位小数;第二个%10.2e指定宽度为10,小数点后输出2位。

(7)

输出

    printf("%c,%d,%o,%x\n",c,c,c,c);

输出结果

A,65,101,41

输出结果分析

  • %c: 输出字符 。
  • %d: 输出 ASCII 码值(65)。
  • %o: 十进制值的八进制形式(101)。
  • %x: 十进制值的十六进制形式(当A为 65 时,十六进制为 41)。

(8)

输出

    printf("%ld,%lo,%x\n",n,n,n);

输出结果

1234567,4553207,12d687

输出结果分析

  • %ld: 输出长整型值(1234567)。
  • %lo: 输出长整型的八进制值(5709627)。
  • %x: 输出长整型的十六进制值(12D687)。

(9)

输出

    printf("%u,%o,%x,%d",u,u,u,u);

输出结果

65535,177777,ffff,65535

输出结果分析

  • %u: 输出无符号整数(65535)。
  • %o: 输出无符号整数的八进制值(177777)。
  • %x: 输出无符号整数的十六进制值(ff)。
  • %d: 输出无符号整数作为有符号整数(65535)。

(10)

输出

    printf("%s,%15s\n","COMPUTER","COMPUTER");

输出结果

COMPUTER,       COMPUTER

输出结果分析

  • %s直接输出字符串。
  • %15s输出宽度为15,右对齐,前面有空格。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1980043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MYSQL】MYSQL逻辑架构

mysql逻辑架构分为3层 mysql逻辑架构分为3层 1). 连接层&#xff1a;主要完成一些类似连接处理&#xff0c;授权认证及相关的安全方案。 2). 服务层&#xff1a;在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的&#xff0c;包括权限判断&#xff0c;SQL接口&…

GD 32 IIC通信协议

前言&#xff1a; ... 通信方式 通信方式分为串行通信和并行通信。常见的串口就是串行通信的方式 常用的串行通信接口 常用的串行通信方式有USART,IIC,USB,CAN总线 同步与异步 同步通信&#xff1a;IIC是同步通信&#xff0c;有两个线一个是时钟信号线&#xff0c;一个数数据…

rocketMq-5.2.0双主双从搭建

最近在研究rocketmq5.x的运行机制&#xff0c;研究到高可用章节&#xff0c;看到rocketMq采用了主从机制实现高可用&#xff0c;将broker分成了master和slave。为了更好的理解主从源码&#xff0c;我觉着需要先搭建一个主从的集群&#xff0c;先了解主从集群是怎么使用的。 这篇…

【practise】只出现一次的数字

现在给你一个数组&#xff0c;里面放了一些数字&#xff0c;里面都是两两成对&#xff0c;只有一个数字是单独的&#xff0c;要求找出其中只出现一次的数字。相必这道题是非常简单了&#xff0c;有很多解法比如说用暴力求解&#xff1f;比如说用位运算&#xff1f;甚至说用哈希…

使用Docker+ollama部署大模型

Docker的安装----在 Ubuntu 系统上安装 Docker 一&#xff1a;配置系统的 APT 软件包管理器 首先添加 Docker 的官方 GPG 密钥 # Add Dockers official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/ke…

使用 宝塔面板 部署 php网站

【语料库网站】宝塔面板 在线部署全过程 代码仓库&#xff1a;https://github.com/talmudmaster/RedCorpus 网站介绍 语料库提供双语文本检索和分享功能。供英语、翻译相关专业的爱好者&#xff0c;学生和老师学习使用。 该网站是对BiCorpus开源项目的二次开发。 技术栈&am…

DA14695 printf没办法打印浮点数

是因为没有打开浮点数库&#xff0c;添加了这个库也会导致堆内存的增加

基于Kahn算法|动态线程池,支持扩展点并发执行|召回|过滤

背景 在《分布式领域扩展点设计稿》一文中&#xff0c;我们提到针对业务横向扩展点和纵向扩展点的编排能力。 那有这样的一种场景&#xff1a;针对于一次会话&#xff0c;同时会调很多外部服务&#xff0c;同时这些RPC服务会有多种直接或间接的关系&#xff0c;是否有更高效的…

【Spring】Bean详细解析

1.Spring Bean的生命周期 整体上可以简单分为四步&#xff1a;实例化 —> 属性赋值 —> 初始化 —> 销毁。初始化这一步涉及到的步骤比较多&#xff0c;包含 Aware 接口的依赖注入、BeanPostProcessor 在初始化前后的处理以及 InitializingBean 和 init-method 的初始…

【Vue3】组件通信之$refs

【Vue3】组件通信之$refs 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日…

操作系统|day4.Linux、Linux内核、Linux负载、Linux文件存储

文章目录 LinuxLinux内核定义功能态 Linux负载定义 Linux文件存储链接分类区别使用场景 拷贝 Linux Linux内核 定义 内核是操作系统的核心&#xff0c;具有很多最基本功能&#xff0c;它负责管理系统的进程、内存、设备驱动程序、文件和网络系统&#xff0c;决定着系统的性能…

【大模型系列】LanguageBind(ICLR2024.01)

Paper&#xff1a;https://arxiv.org/abs/2310.01852Github&#xff1a;https://github.com/PKU-YuanGroup/LanguageBindHuggingface&#xff1a;https://huggingface.co/spaces/LanguageBind/LanguageBindAuthor&#xff1a;Bin Zhu et al. 北大袁粒团队 文章目录 1 LanguageB…

临床试验的五大意义是什么?

临床试验是临床数据科学和现代医学研究中至关重要的环节&#xff0c;它通过严格的科学方法验证新药、新疗法以及医疗器械的安全性和有效性。临床试验不仅推动了医学科学的进步&#xff0c;也为患者提供了新的治疗选择&#xff0c;提升了公共卫生水平&#xff0c;具有重大的意义…

牛客JS题(二十二)数组过滤

注释很详细&#xff0c;直接上代码 涉及知识点&#xff1a; 合理封装范围判断函数 题干&#xff1a; 我的答案 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /></head><body><select name"&q…

【C语言】C语言期末突击/考研--详解一维数组与字符数组

目录 ​一、一维数组 1.数组的定义 2.一维数组在内存中的存储 二、数组访问越界与数组的传递 1.数组的访问越界 2.数组的传递 三、字符数组与scanf读取字符串 1.字符数组的初始化及传递 2.scanf读取字符串 四、gets函数与puts函数&#xff0c;str系列字符串操作函数 …

「iOS」自定义Modal转场——抽屉视图的实现

「iOS」自定义Modal转场——抽屉视图的实现 文章目录 「iOS」自定义Modal转场——抽屉视图的实现前言错误尝试自定义Modal转场实现流程自定义动画类UIPresentationController 成果展示参考文章 前言 在仿写网易云的过程之中&#xff0c;看到学长之前仿写时实现的抽屉视图&…

Java面试题-集合类

目录 1、请简单介绍下 Java 的集合类吧。 Collection Set TreeSet和HashSet List ArrayList 和 LinkedList 数组和链表的区别 Java 的列表有哪些实现类&#xff1f; Vector Queue Map 能说下 HashMap 的实现原理吗&#xff1f; 能说下 HashMap 的扩容机制吗&#x…

达梦数据库的系统视图v$cachepln

达梦数据库的系统视图v$cachepln 达梦数据库的系统视图V$CACHEPLN的主要作用是提供缓存中SQL执行计划的信息&#xff0c;在 ini 参数 USE_PLN_POOL !0 时才统计。通过查询这个视图&#xff0c;用户可以获取到缓存中的执行计划及其相关信息&#xff0c;如SQL语句文本等。这有助…

JavaScript青少年简明教程:DOM和CSS简介

JavaScript青少年简明教程&#xff1a;DOM和CSS简介 DOM简介 DOM&#xff08;Document Object Model&#xff09;将文档表示为一个树形结构&#xff0c;其中每个节点都是一个对象&#xff0c;每个对象都有其自身的属性和方法。 通过对DOM的操作&#xff0c;开发者可以使用编…

Mojo 不安全指针 详解

该UnsafePointer类型创建对内存中某个位置的间接引用。您可以使用UnsafePointer来动态分配和释放内存,或指向由其他代码分配的内存。您可以使用这些指针编写与低级接口交互的代码,与其他编程语言交互,或构建某些类型的数据结构。但顾名思义,它们本质上是不安全的。例如,当…