P2-5【C语言基本数据类型、运算符和表达式】第五节-知识要点:格式输出函数printf()

news2024/11/5 0:53:14

讲解视频:

P2-5【C语言基本数据类型、运算符和表达式】第五节-知识要点:格式输出函数printf()

知识要点:格式输出函数printf()。

一、任务分析

已知三角形三边a,b,c的值,求三角形的面积。要求输出a,b,c及面积(area)的值,输出结果保留两位小数。

二、必备知识与理论

我们知道人与人之间是通过语言在外界空气介质的传输下进行交流的。同样,人、外设和计算机之间也有一定的交流方式,这种交流方式是靠输入和输出来完成的。

1数据输入输出的概念

所谓输入输出,是指用计算机的输入设备(键盘、磁盘、光盘和扫描仪等)向计算机输入数据称为“输入”;从计算机向外部输出设备(显示器、磁盘、打印机等)输出数据称为“输出”。

在程序的运行过程中,往往需要输入一些数据(语言内容),而程序运算所得到的计算结果(数据)又需要输出给用户。因此,输入输出操作是程序设计语言中的重要内容之一。

在C语言中,不提供专门的输入输出语句,所有的输入输出操作都是通过对标准库函数的调用来实现的 (如printf函数和scanf函数) 。在使用库函数时,不要将它们误认为是C语言提供的输入和输出语句,特别是printf和scanf并不是C语言的关键字,它们只是函数的名字。C语言提供的函数以库的形式存放在系统中,它们不是C 语言文本中的组成部分。因此在使用C语言库函数时,需要使用预编译命令#include将相关的头文件(".h")包含到用户源文件中。

使用形式:#include  <头文件>   #include 头文件

说明:①用尖括号表示先在系统目录查找所包含的文件,一般在要包含系统头文件时使用;用双引号表示先在当前程序所在的目录查找所包含的文件,如果没有再在对应系统目录中查找对应的文件。一般在要包含自己写的文件时使用。

②标准输入/输出头文件是:stdio. h,它是standard input & output的缩写,“ h” 是head的缩写),它包含了与标准I/O库有关的变量定义和宏定义。由于printf()和scanf() 函数使用比较频繁,因此有些系统允许在使用这两个函数时不需要头包含文件(即可以不加#include)。

2.格式输出函数printf()

printf()函数称为格式输出函数。其功能是按用户指定的格式,把指定的数据输出到显示器屏幕上。在前面的例题中我们已多次使用过这个函数。

(1)printf()函数的一般格式:

printf(“格式控制字符串,输出项列表);

例如:printf("r=%d\tarea=%f\n",r,area);

“格式控制字符串”是用双引号括起来的字符串,也称“转换控制字符串”。它包括三类字符:

①普通字符:是一些说明字符,这些字符按原样显示在屏幕上,主要起提示作用。 如上面printf函数中的双引号里面的“r=”和“area=”。

②转义字符:是不可打印的字符,它们其实是一些控制字符,控制产生特殊的输出效果。上例中的“\t”,为水平制表符,作用是跳到下一个水平制表位,“\n”为回车换行符,显示自动换到新的一行。

③格式字符:由“%”引导的格式字符串,用于指定输出格式。上例中的“%d”、“%f”,它们的作用是把输出的数据转换为指定的格式输出。格式指示符是由“%”字符起始的。

printf()函数语句的输出项列表是需要输出的一些数据,可以是常量、变量、表达式, 其类型、个数必须与格式控制说明中格式字符的类型、个数一致。当有多个输出项时,各项之间用逗号分隔。

(2)格式字符串

格式字符串的一般格式为:

[标志] [输出最小宽度] [.精度] [长度] 类型

其中方括号[ ] 中的项为可选项。

【例2.10】printf( )函数示例二。程序代码如下:

#include <stdio.h>
main()
{	int a=15;
	float b=123.1234567;
	double d=12345678.1234567;
	char c=‘p’;
	printf("a=%d,%6d,%+6d,%-6d,%o,%x\n",a,a,a,a,a,a);
    printf("b=%f,%lf,%5.4f,%-10.4f,%e\n",b,b,b,b,b);
    printf("d=%f, %8.4lf,%e,%g\n",d,d,d,d);
    printf("c=%c,%8c\n",c,c);
printf("%s,%-6.2s,%6.2s\n","china","china","china");
}    
运行结果为:
a=15,    15,   +15,15    ,17,f 
b=123.123459,123.123459,123.1235,123.1235  ,1.231235e+002
d=12345678.123457,12345678.1235,1.234568+007,1.23457e+007
c=p,       p
china,ch    ,    ch

3. 字符输出函数putchar()

putchar()函数的功能是将一个字符输出到显示器上显示。putchar()函数也是一个标准的输入输出库函数,它的原型也在<stdio.h>头文件中被定义。因此使用时也需要使用预编译处理命令#include。

putchar()函数的一般格式:

putchar(c)

即把变量c的值输出到显示器上。这里c可以是字符型常量或变量,也可以是一个转义字符。

putchar()函数只能用于单个字符的输出,且一次只能输出一个字符。

三、任务实施

现在我们来计算三角形的面积。已知三角形三边a,b,c的值,要求输出a,b,c及面积(area)的值,输出结果保留两位小数。

任务分析:

(1)已知三角形三边求三角形面积利用海伦公式实现。

area=sqrt(s*(s-a)*(s-b)*(s-c))。

(3)sqrt()为标准数学函数,包含在头文件“math.h”中。

程序代码如下:

#include <stdio.h>
#include <math.h>
main()
{ float a,b,c,s,area;
a=3;b=4;c=5;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%5.2f,b=%5.2f,c=%5.2f\narea=%5.2f\n",a,b,c,area);
}    
运行结果为:
a=3.00,b=4.00,c=5.00
area=6.00

四、深入训练

1.写出下列程序运行后的结果。

(1) main()

{ int x=97,y=98,z=99;

printf("x=%d\ny=%d\nz=%d\n",x,y,z);

    printf("x=%c\ty=%c\tz=%d\n",x,y,z);

 }   

(2) main()

{ double d;

float f;

long l;

int i;

l=f=i=d=80/7;

printf("%d,%d,%d,%d\n",i,l,f,d);

printf("%f,%f,%f,%f\n",i,l,f,d);

printf("%d,%ld,%f,%f\n",i,l,f,d);   

}   

2. 已知正方形的边长为3.6,编程计算它的面积和体积。(结果保留两位小数)

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

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

相关文章

RFID资产管理

随着物联网和智能制造的发展&#xff0c;RFID资产管理逐渐成为企业提升运营效率的重要工具。利用RFID技术&#xff0c;企业能够实时跟踪和管理各种固定资产&#xff0c;从而提高资产利用率&#xff0c;降低运营成本。在现代化的管理体系中&#xff0c;RFID资产管理不仅限于资产…

Vue2——单页应用程序路由的使用

一.单页应用程序与多页应用程序之间的比较 二.单页的应用场景 系统类网站 / 内部网站 / 文档类网站 / 移动端网站 三.路由的介绍 1. 什么是路由 路由是一种映射关系 2. Vue中的路由是什么 路径和组件的映射关系 四.VueRouter的使用 5个基础步骤&#xff08;固定&#xff09; …

苹果ipa上架apple store 遇到的问题汇总已经解决方案!

大家伙&#xff0c;我是小黄。 最近在将ipa上架到apple store的时候遇到了一些问题&#xff0c;经过很长时间的摸索和修改终于成功上架了&#xff0c;下面是我遇到的问题和解决过程&#xff0c;希望可以帮助到大家。 一&#xff1a; Guideline 1.3 - Safety - Kids Category …

数据库三范式(1NF、2NF、3NF)

1NF&#xff08;第一范式&#xff09; 定义&#xff1a;确保每一列都是原子值&#xff0c;即是不可分割的基础数据项。 所谓第一范式&#xff08;1NF&#xff09;是指在关系模型中&#xff0c;对于添加列的一个规范要求&#xff0c;所有的列都 应该是原子性的&#xff0c;即数…

亚马逊CEO安迪·贾西(Andy Jassy)近日透露,Alexa助手即将迎来一次重大升级,具备“代理性”功能

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

ts:函数的重载

ts&#xff1a;函数的重载 1 主要内容说明2 例子2.1 函数的重载2.1.1 源码1 &#xff08;函数的重载&#xff09;2.1.2 源码1运行效果 3.结语4.定位日期 1 主要内容说明 重载函数可以提高类型安全性&#xff0c;内容灵活性和可读性。重载允许同一个函数定义多个参数类型的数量…

qt QTabWidget详解

1、概述 QTabWidget是Qt框架中的一个控件&#xff0c;它提供了一个标签页式的界面&#xff0c;允许用户在不同的页面&#xff08;或称为标签&#xff09;之间切换。每个页面都可以包含不同的内容&#xff0c;如文本、图像、按钮或其他小部件。QTabWidget非常适合用于创建具有多…

telnet 密码模式 访问路由器

telnet 密码访问华为路由器 模拟被访问路由 sy [Huawei]int g0/0/0 //选中 g0/0/0端口 [Huawei-GigabitEthernet0/0/0]ip add 192.168.1.1 24 //设置端口ip [Huawei]user-interface vty 0 4 //配置vty [Huawei-ui-vty0-4]set authentication password cipher huawei123 //设置…

项目模块1~12总结:服务器大模块梳理

一、思维导图 二、设计思路 1、各种回调函数梳理 服务器里面包含了监听套接字和监听到的通信套接字&#xff08;新连接&#xff09;&#xff0c;我们要对这两种套接字进行设置回调函数&#xff0c;其中监听套接字里面只要设置读回调&#xff0c;通信套接字要设置5种回调&…

UE4安卓Gradle工程中的libUE4.so的生成原理

流程图 流程图放在最前面&#xff0c;下面是讲解。 libUE4.so 问&#xff1a;在UE4安卓开发中&#xff0c;libUE4.so即是符号表&#xff0c;又是引擎代码native&#xff0c;是吗&#xff1f; 答&#xff1a;是的&#xff0c;libUE4.so在UE4安卓开发中既包含符号表&#xff0c;…

Linux下Nginx的安装与使用

Linux下Nginx的安装与使用 博客&#xff1a; www.lstar.icu 开源地址 Gitee 地址&#xff1a; https://gitee.com/lxwise/iris-blog_parent Github 地址&#xff1a; https://github.com/lxwise/iris-blog_parent 序言 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子…

STM32 HAL库 SPI驱动1.3寸 OLED屏幕

目录 参考硬件引脚与接线 点亮屏幕CubeMX 配置OLED 驱动程序代码 参考 基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏&#xff08;0.96寸 1.3寸通用&#xff09;0.96 oled HAL库驱动 SPI STM32SPI驱动0.96/1.3寸 OLED屏幕&#xff0c;易修改为DMA控制STM32驱…

江协科技STM32学习- P26 UART串口外设

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

基于Abaqus的高纯铝不同应变率下单晶塑性变形的取向依赖性研究

文章题目&#xff1a;《Strain rate effect of high purity aluminum single crystals: Experiments and simulations》 文章doi&#xff1a;10.1016/j.ijplas.2014.10.002 推荐理由&#xff1a;作者研究了高纯铝不同应变率下单晶塑性变形的取向依赖性&#xff0c;不同应变率…

虚拟现实与增强现实:重塑娱乐和教育的边界!

内容概要 在这个瞬息万变的时代&#xff0c;虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;正如两位魔法师&#xff0c;腾云驾雾间掀起了一场教育与娱乐的革命。虚拟现实带我们飞跃平凡&#xff0c;进入一个充满奇迹的数字宇宙&#xff0c;仿佛我们…

【论文分享】利用机器学习和计算机视觉技术增强城市街道峡谷中的PM2.5实时监测

本文以兰州市为研究区域使用计算机视觉技术从交通摄像头拍摄的交通图像中提取实时交通流量和街景特征&#xff0c;以预测PM2.5浓度&#xff0c;并解释道路环境变化对PM2.5水平的影响。 【论文题目】 Enhancing urban real-time PM2.5 monitoring in street canyons by machine…

《双指针篇》---复写零(标的简单,实际比较复杂)

题目传送门 方法一&#xff1a;双指针 我们发现不能从前向后复写&#xff0c;因为会覆盖掉还没有被复写的数据 因此我们需要从后往前复写。 此时left应该指向最后一个被复写的数。 right指向数组最后一个元素 1.找到最后一个被复写的数据。我们用left指向 ①先判断left的位置0/…

Docker(二):Docker的基本使用

1 Docker的基本使用 1.1 镜像相关操作 1、从DockerHub搜索镜像 [rootmaster ~]# docker search centos # 镜像名字 描述 星标 是否官方&#xff08;有OK表示为官方镜像&#xff09; NAME …

SQL Server 可观测最佳实践

SQL Server 简介 SQL Server 是微软公司开发的一款关系数据库管理系统&#xff0c;支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。它支持多种操作系统平台&#xff0c;而无论是物理还是虚拟形式&#xff0c;自建部署环境还是在云环境中&#xff0c;运行的操作系…

PyEcharts | 认识图形--饼图和玫瑰图

饼图和玫瑰图 饼图玫瑰图rosetype 参数 饼图 from pyecharts.charts import Pie import pyecharts.options as optsfrom pyecharts.globals import CurrentConfig,NotebookType CurrentConfig.NOTEBOOK_TYPE NotebookType.JUPYTER_LAB CurrentConfig.ONLINE_HOST OnlineHos…