基于Linux的C语言编程Day3
前提1输入输出是以计算机主机为主体而言的。2C语言本身不提供输入输出语句输入和输出操作是由C函数库中的函数来实现的。一. 字符数据的输入输出 putchar getchar1 . 用Linux查看putchar手册 命令为man putchar / getchar 打开后会出现以下内容PUTS(3) Linux Programmers Manual PUTS(3)NAME//函数名及功能简短说明fputc, fputs, putc, putchar, puts - output of characters and stringsSYNOPSIS// 函数所需要的头文件以及函数原型#include stdio.hint fputc(int c, FILE *stream);int fputs(const char *s, FILE *stream);int putc(int c, FILE *stream);int putchar(int c);int puts(const char *s);DESCRIPTION//描述函数使用细节fputc() writes the character c, cast to an unsigned char, to stream.fputs() writes the string s to stream, without its terminating nullbyte (\0).putc() is equivalent to fputc() except that it may be implemented as amacro which evaluates stream more than once.putchar(c) is equivalent to putc(c, stdout).puts() writes the string s and a trailing newline to stdout.Calls to the functions described here can be mixed with each other andwith calls to other output functions from the stdio library for thesame output stream.For nonlocking counterparts, see unlocked_stdio(3).RETURN VALUE//返回值fputc(), putc() and putchar() return the character written as anunsigned char cast to an int or EOF on error.puts() and fputs() return a nonnegative number on success, or EOF onerror.(1) putchar函数int putchar ( int c )功能是向终端输出一个字符其形式一般为putchar (c)参数c表示要输出的字符返回值 : 返回要输出的字符ASCII编码用法 #includestdio.h int main() { char a A; putchar(a); return 0; }运行结果从图中可以看出输出结果很紧凑没有换行。要想换行代码就要改为#includestdio.hint main(){char a A;putchar(a);putchar(\n); // 换行return 0;}2getchar函数int getchar ( void ) //getchar 只能接收一个字符功能从终端输入一个字符参数void 表示不需要传参数返回值 返回读到的字符 ASCII编码值 用法 #includestdio.h int main() { char a; a getchar(); putchar (a); putchat(\n); return 0; }结果 二 格式输入与输出 printf scanf1 .printf 函数int printf ( const char *format , ... ); 一般格式为 printf ( 格式控制 输出列表 )功能 向终端输出若干个任意类型的数据format : 参数 格式化字符串... 可变参数返回值 成功时返回打印了的字符1普通字符 -------------------------原样输出例 printf (hello ,world );2占位字符-------------------------把对应数据转换为指定的占位符i整型%d----------------------------------------将数据转换为有符号的十进制%md--------------------------------------m为指定的输出字段的宽度m实际宽度以实际宽度输出m实际宽度数据默认右对齐也可以右对齐需在m前加 - 左边补空格补0需在m前加 0%#d--------------------------------------表示输出数据对应的前缀字符%ld---------------------------------------输出长整型数据%Ld--------------------------------------输出为long long型的数据%*d--------------------------------------表示跳过它指定的列数例 scanf(%2d%*3d%2d,a,b); 输入12 345 67系统会将12赋值给a%*3d表示读入三位整数但不赋值任何变量再将67赋值给b也就是说345会被跳过%u---------------------------------------将数据转换为无符号的十进制%o---------------------------------------将数据转换为八进制%x---------------------------------------将数据转换为十六进制%X--------------------------------------将数据转换为十六进制输出结果中的字母都转换为大写ii浮点型%f---------------------------------------将数据转换为十进制形式的小数默认保留六位小数%.nf(n为整数)------------------------表示保留前n位小数%m.nf----------------------------------指定输出的数据共占m列保留n位小数%e--------------------------------------将数据转换为科学计数法默认保留六位小数%g--------------------------------------将数据以一种更简洁的方式输出消除无意义的0iii字符型%c--------------------------------------将数据转换为对应字符形式%s--------------------------------------将数据输出为一串字符%.ns-----------------------------------将数据保留结果前n位注 占位符和输出参数要一一对应2 .scanf 函数int scanf ( const char *format , ... ) scanf ( 格式控制 地址列表 ) scanf(%d%d,a,b);format : 参数格式化字符串... : 可变参数 要地址列表返回值 表示成功匹配到数据项i整型%d----------------------------------------将数据转换为有符号的十进制%md--------------------------------------m为指定的输入字段的宽度m实际宽度以实际宽度输出m实际宽度数据默认右对齐也可以右对齐需在m前加 - 左边补空格补0需在m前加 0%#d--------------------------------------表示输入数据对应的前缀字符%ld---------------------------------------输入长整型数据%Ld--------------------------------------输入为long long型的数据%u---------------------------------------输入无符号的十进制%o---------------------------------------输入为八进制%x---------------------------------------输入为十六进制%X--------------------------------------输入十六进制输入结果中的字母都转换为大写ii浮点型%f---------------------------------------输入十进制形式的小数默认保留六位小数%.nf(n为整数)------------------------表示保留前n位小数%m.nf----------------------------------指定输入的数据共占m列保留n位小数%e--------------------------------------输入科学计数法默认保留六位小数%g--------------------------------------简洁的方式输入消除无意义的0iii字符型%c--------------------------------------输入对应字符形式%s--------------------------------------将数据输入为一串字符%.ns-----------------------------------将数据保留结果前n位注 1占位符和地址参数要一一对应2scanf的格式控制字符可以输入普通字符但是不建议3输入多个数据时默认用空格 Enter Tab作为分隔符4计算机中0号地址一般不能直接访问会出现segmentation fault (core dumped) 段错误5scanf匹配结束条件遇空白符 遇非法字符 达到指定宽度如果设置宽度了的话6scanf输入时占位符与类型要严格匹配7scanf处理字符数据时空白符也是字符

相关新闻

深入解析Ren‘Py二进制逆向工程:3种核心应用场景与技术实现原理

深入解析Ren‘Py二进制逆向工程:3种核心应用场景与技术实现原理

深入解析RenPy二进制逆向工程:3种核心应用场景与技术实现原理 【免费下载链接】unrpyc A renpy script decompiler 项目地址: https://gitcode.com/gh_mirrors/un/unrpyc RenPy脚本反编译工具unrpyc作为专业的二进制逆向工程解决方案,为游戏开发者…

2026/8/13 8:35:12 阅读更多 →
7个实用技巧:如何高效参与Blender开源社区贡献

7个实用技巧:如何高效参与Blender开源社区贡献

7个实用技巧:如何高效参与Blender开源社区贡献 【免费下载链接】awesome-blender 🪐 A curated list of awesome Blender addons, tools, tutorials; and 3D resources for everyone. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-blend…

2026/8/18 10:49:22 阅读更多 →
SpringBoot3+Sa-Token实现双Token认证实战指南

SpringBoot3+Sa-Token实现双Token认证实战指南

1. 项目背景与核心需求在当今的Web应用开发中,身份认证和权限控制是每个系统都无法绕开的核心模块。传统的Session-Cookie方案在分布式环境下存在诸多局限,而单纯的JWT方案又难以解决无感刷新和主动注销等问题。这正是双Token机制(Access Tok…

2026/8/16 4:37:25 阅读更多 →

最新新闻

鸣潮自动化工具 ok-ww 怎么用?六个高频问题一次讲透

鸣潮自动化工具 ok-ww 怎么用?六个高频问题一次讲透

鸣潮自动化工具 ok-ww 怎么用?六个高频问题一次讲透 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 刷《鸣潮》最累的是…

2026/8/18 12:12:34 阅读更多 →
Wand专业版免费解锁10分钟上手:Wand-Enhancer本地补丁与手机远程控制完整攻略

Wand专业版免费解锁10分钟上手:Wand-Enhancer本地补丁与手机远程控制完整攻略

Wand专业版免费解锁10分钟上手:Wand-Enhancer本地补丁与手机远程控制完整攻略 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 周末晚上…

2026/8/18 12:12:34 阅读更多 →
AutoGPT 本地部署踩坑记:从装不上到真正跑起来

AutoGPT 本地部署踩坑记:从装不上到真正跑起来

折腾了一天 AutoGPT Platform,把安装、启动和一堆莫名其妙的坑都趟了一遍。这篇不是官方教程的复读,是我自己踩出来的经验,按「搭建环境 → 运行起来 → 遇到的坑」三部分写,希望能帮你少走点弯路。 文章目录一、搭建环境1. 前置条…

2026/8/18 12:12:34 阅读更多 →
KMS_VL_ALL_AIO 终极使用指南:10分钟开启Windows与Office自动续期激活,附避坑清单

KMS_VL_ALL_AIO 终极使用指南:10分钟开启Windows与Office自动续期激活,附避坑清单

KMS_VL_ALL_AIO 终极使用指南:10分钟开启Windows与Office自动续期激活,附避坑清单 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 周五晚上九点,同事老周发来…

2026/8/18 12:12:34 阅读更多 →
汽车维修店预约70590----- APPAndroid + SpringBoot + MySQL|一张维修工单如何从“选维修员”走到“完工评价”

汽车维修店预约70590----- APPAndroid + SpringBoot + MySQL|一张维修工单如何从“选维修员”走到“完工评价”

汽车维修预约系统最容易被写成“选择时间 提交预约”的普通表单项目,但真正决定系统是否好用的,是预约之后发生了什么。维修员有没有确认?维修内容和价格由谁记录?顾客怎么知道进度?临近维修时间谁来提醒?…

2026/8/18 12:12:34 阅读更多 →
原神帧率解锁完整指南:3个关键技巧告别60帧枷锁,畅玩144Hz

原神帧率解锁完整指南:3个关键技巧告别60帧枷锁,畅玩144Hz

原神帧率解锁完整指南:3个关键技巧告别60帧枷锁,畅玩144Hz 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 当你蒙德城跑图时,画面总被 60 帧"按&…

2026/8/18 12:11:33 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →