C 语言输入输出 (I/O)

C 语言输出

在C语言编程中,printf()是主要的输出函数之一。该函数将格式化的输出发送到屏幕。例如,

示例1:C 语言输出

#include <stdio.h>int main (int argc, char* argv)
{printf("Hello world\n");return 0;
}

输出结果

C Programming

该程序如何工作?

  • 所有有效的C程序都必须包含该main()函数。代码从main()函数的开头开始执行。

  • printf()是一个库函数来格式化输出发送到屏幕上。该函数将打印引号内字符串。

  • 要在我们的程序中使用printf()函数,我们需要使用#include <stdio.h>语句包括stdio.h头文件  。

  • return 0;main()函数中的语句是程序的“退出状态”。 它是可选的。

示例2:整数输出

#include <stdio.h>
int main()
{
int test = 5;
printf("number= %d",test);
return 0;
}

输出结果

Number = 5

我们使用%d格式说明符来打印int类型。在这里,引号内的%d将替换为testInteger的值。

示例3:单精度浮点和双精度浮点数输出

#include <stdio.h>
int main()
{
float number1 = 15.6;
double number2 = 12.36;
printf("number1 = %f\n",number1);
printf("number2 = %lf",number2);
return 0;
}

输出结果

number1 = 15.600000
number2 = 12.360000

要打印float,我们使用%f格式说明符。同样,我们还是要了%lf打印double值。

示例4:打印字符

#include <stdio.h>
int main()
{
char c = 'c';
printf("charchar = %c",c);
return 0;
}

输出结果

charchar = c

要打印char,我们使用%c格式说明符。

C 语言输入

在C语言编程中,scanf()是从用户那里接受输入的常用功能之一。该scanf()功能从标准输入(例如键盘)读取格式化的输入。

示例5:整数输入/输出

#include <stdio.h>
int main()
{
int testnumber;
printf("请输入数字:");
scanf("%d",&testnumber);
printf("testnumber = %d",testnumber);
return 0;
}

输出结果

输入数字: 4
testnumber = 4

在这里,我们使用了scanf()函数内部的格式%d说明符来接收用户的输入int数值。用户输入整数时,它将存储在testInteger变量中。

注意,scanf()使用了&testIntegerinside 。这是因为&testInteger获取的地址testInteger,并且用户输入的值存储在该地址中。

示例6:单精度浮点和双精度浮点数输入/输出

#include <stdio.h>
int main()
{float num1;double num2;printf("输入一个数字: ");scanf("%f", &num1);printf("输入另一个数字: ");scanf("%lf", &num2);printf("num1 = %f\n", num1);printf("num2 = %lf", num2);return 0;
}

输出结果

输入一个数字: 12.523
输入另一个数字: 10.2
num1 = 12.523000
num2 = 10.200000

float和double我们分别使用%f和%lf格式说明符。

示例7:C 字符 I / O

#include <stdio.h>
int main()
{char chr;printf("输入一个字符: ");scanf("%c",&chr);     printf("您输入了 %c.", chr);  return 0;
}

输出结果

输入一个字符: g
您输入了 g.

当用户在上述程序中输入字符时,字符本身不会被存储。而是存储一个整数值(ASCII值)。

当我们使用%c文本格式显示该值时,将显示输入的字符。如果%d用于显示字符,则将其ASCII值打印出来。

示例8:ASCII值

#include <stdio.h>
int main()
{char chr;printf("输入一个字符: ");scanf("%c", &chr);     //当使用%c时,将显示一个字符printf("您输入了 %c.\n",chr);  //使用%d时,显示ASCII值printf("ASCII 值为 % d.", chr);  return 0;
}

输出结果

输入一个字符: g
您输入了 g.
ASCII 值为 103.

多个值输入输出(I/O)

这是您可以从用户那里获取多个输入并显示它们的方法示例。

#include <stdio.h>
int main()
{int a;float b;printf("输入整数,然后再输入浮点数: ");//接受多个输入scanf("%d%f", &a, &b);printf("您输入了%d和 %f", a, b);  return 0;
}

输出结果

输入整数,然后再输入浮点数: -3
3.4
您输入了 -3 和 3.400000

I / O的格式说明符

从以上示例中可以看到,我们使用

  • %d 对应为 int

  • %f 对应为 float

  • %lf 对应为 double

  • %c 对应为 char

这是常用的C数据类型及其格式说明符的列表。

数据类型格式说明符
int%d
char%c
float%f
double%lf
short int%hd
unsigned int%u
long int%li
long long int%lli
unsigned long int%lu
unsigned long long int%llu
signed char%c
unsigned char%c
long double%Lf

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

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

相关文章

分布式系统中的缓存设计与应用

引言 缓存是分布式系统中的重要组件&#xff0c;主要解决高并发&#xff0c;大数据场景下&#xff0c;热点数据访问的性能问题。提供高性能的数据快速访问。 本文是缓存在分布式应用第一篇文章&#xff0c;介绍缓存的原理&#xff0c;缓存的分类&#xff0c;缓存的设计&#xf…

智能机器人的技术革命:从感知到决策的全栈架构解析

——基于多模态大模型的下一代机器人系统设计引言&#xff1a;机器人技术的范式迁移当波士顿动力的Atlas完成后空翻时&#xff0c;全球见证了机器人运动控制的巅峰&#xff1b;但当Figure 01通过大模型理解人类模糊指令并自主执行任务时&#xff0c;我们正见证机器人认知智能的…

day20 双向链表

双向链表的函数功能注意事项 1.双向链表还需要关注到前指针的指向2.函数都需要判断逻辑3.函数的增删都要关注到len的变化4.函数的改查功能都需要遍历结束的标志NULL5.注意p->next->prio时&#xff0c;p->next是否指向NULL创建双向链表头节点Node_ptr list_create()函数…

[Rust 基础课程]猜数字游戏-获取用户输入并打印

创建项目 按照之前的章节讲的创建一个 Cargo 项目的方法&#xff0c;自己创建一个名为 guessing_game 的 cargo 项目并执行&#xff0c;确保能成功打印出 Hello World。 编写代码 使用 RustRover 打开项目&#xff0c;打开 src/main.rs 文件&#xff0c;我们将在这个文件中编写…

重读《人件》Peopleware -(22)Ⅲ 适当人选 Ⅵ 乐在其中(上)

本章以一个小测验开始&#xff1a;问题1&#xff1a;在过去几年里&#xff0c;你们组织的年员工流失率是多少&#xff1f; 问题2&#xff1a;替换一个离职员工平均需要多少成本&#xff1f;评分标准如下&#xff1a;如果你对这两个问题有任何答案&#xff0c;则通过&#xff1b…

Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡

Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡既然我们甲方要做直播私有化&#xff0c;既然我们做了这么多年系统&#xff0c;我们对直播的理解很深&#xff0c;那么我们2025年就应该用更先进的技术栈&#xff0c;不然怎么让我们的…

SpringBoot 集成Mybatis Plus

一、为什么SpringBoot不推荐使用MybatisSpring Boot 不推荐使用 MyBatis&#xff0c;主要源于二者在设计理念、生态融合和开发风格上的差异。Spring Boot 强调“约定优于配置”&#xff0c;追求高效的开发体验和统一的框架风格。它通过自动配置和依赖注入&#xff0c;将复杂的基…

PI 思维升级 PI设计的典范转移:从阻抗思维到谐振控制

们先来回想一件事&#xff0c;根据欧姆定律&#xff0c;阻抗是不是越低越好&#xff1f; 代表即使有很大的瞬时电流&#xff0c;瞬间的电压降也不会超过某个极限&#xff01;理论上是&#xff01; 可是这其实忽略了两个关键的要素&#xff1a;PDN阻抗有谐振&#xff1a;谐振代表…

如何制定企业级服务器安全策略(Security Policy)

制定一套**企业级服务器安全策略&#xff08;Security Policy&#xff09;**对于保护服务器资源、数据安全和业务连续性至关重要。以下是制定安全策略的详细指南&#xff0c;包括安全策略的核心要素、实施步骤和具体措施&#xff0c;帮助企业构建全面的服务器安全防护体系。1. …

n1 armbian docker compose 部署aipan mysql

apt update apt install docker-compose-plugin -y #安装docker compose docker compose version Docker Compose version v2.38.2 sudo mkdir -p /sda1/data/mysql/conf.d sudo chown -R 999:999 /sda1/data/mysql # MySQL 用户 UID 通常为 999 cat docker-compose.yml vers…

RAG情境化分段向量模型voyage-context-3,聚焦分段细节,融入全局文档上下文

最近看到一个有意思的工作&#xff0c;原文来自&#xff1a; https://blog.voyageai.com/2025/07/23/voyage-context-3/?utm_sourceTWITTER&utm_mediumORGANIC_SOCIAL voyage-context-3&#xff1a;聚焦分段细节&#xff0c;融入全局文档上下文 概要&#xff1a; Voyage A…

计算机体系结构中的中断服务程序ISR是什么?

计算机体系结构中的中断服务程序ISR是什么&#xff1f; 在计算机体系结构中&#xff0c;中断服务程序&#xff08;Interrupt Service Routine, ISR&#xff09; 是操作系统或硬件直接调用的关键代码模块&#xff0c;用于响应来自硬件设备、软件异常或系统事件的中断信号。其核心…

开源项目XBuilder前端框架

spx-gui/ 配置文件package.json 项目依赖和脚本配置vite.config.ts Vite构建工具配置tsconfig.json TS项目配置主文件tsconfig.app.json 应用程序的TS配置tsconfig.node.json Node.js环境的TS配置index.html 应用入口HTML文件src/ 源码目录main.ts 应用入口文件&#xff0c;初始…

0723 单项链表

Part 1.完成单向链表&#xff0c;并完成下面功能1.单链表节点创建链表是物理空间上不连续的一个结构&#xff0c;需要创建一个next作为指向下一个节点的指针&#xff0c;所以需要建立一个结构体包含数据域&#xff0c;next指针域&#xff0c;记录长度的数据域。因为长度只有头节…

基于 ASP.NET Web 应用程序(.NET Framework)的花店系统

1.1功能模块实现1.1.1整体结构界面由两部分组成&#xff1a;左侧导航栏、右侧内容展示区。使用了 Bootstrap 5 的样式库&#xff0c;并结合了 ASP.NET MVC 的 Html.ActionLink 和 Razor 条件判断语句来动态生成菜单项。1.1.2导航栏功能模块导航栏基础结构导航栏基础结构使用 Bo…

C++ Qt6 CMake qml文件启动方式说明

在Qt6之后,Qt程序默认使用CMake进行构建,当然也可以使用qmake, 本篇博客介绍Qt6.8之前和Qt6.8版本中QtQuick程序的启动方式。 在QtQuick程序main.cpp里qml的文件启动分为两种:(1)直接加载qml文件,(2)加载qml模块,下面分别介绍这两种启动方式。 方式1:直接启动qml文…

字符串 “asdasjkfkasgfgshaahsfaf” 经过哈夫曼编码之后存储比特数是多少?

要计算字符串 “asdasjkfkasgfgshaahsfaf” 经过哈夫曼编码后的存储比特数&#xff0c;需按以下步骤进行&#xff1a;步骤 1&#xff1a;统计字符出现频率先统计字符串中每个字符的出现次数&#xff1a;a&#xff1a;出现 6 次s&#xff1a;出现 6 次d&#xff1a;出现 1 次j&a…

什么是游戏盾(高防版)?

随着网络游戏产业的快速发展&#xff0c;游戏服务器的安全问题日益受到关注。DDoS攻击、CC攻击等网络威胁常常导致游戏卡顿、断线甚至服务器宕机&#xff0c;严重影响玩家体验。游戏盾&#xff08;高防版&#xff09;是一种专为游戏业务设计的网络安全防护服务&#xff0c;集成…

openGauss数据库在CentOS 7 中的单机部署与配置

部署 版本选择 通过openGuass官网下载地址 &#xff0c;我们可以看到它支持x86_64与Aarch64两种平台&#xff0c;又分成openEuler 22、openEuler 20、Centos 7以及Docker 版本。 进入CentOS 7标签&#xff0c;看到又分成企业版、轻量版、极简版与分布式镜像版。 本文只讨论…