基于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/7/21 18:05:47 阅读更多 →
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/7/26 15:20:49 阅读更多 →
SpringBoot3+Sa-Token实现双Token认证实战指南

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

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

2026/7/25 7:18:54 阅读更多 →

最新新闻

如何快速上手BG3ModManager:博德之门3模组管理的终极指南

如何快速上手BG3ModManager:博德之门3模组管理的终极指南

如何快速上手BG3ModManager:博德之门3模组管理的终极指南 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. This is the only official source! 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager 在《博德之门3》的模组世界中&…

2026/7/26 17:11:07 阅读更多 →
如何从传统主题迁移到Hugo-PaperMod:解决静态博客的三大痛点

如何从传统主题迁移到Hugo-PaperMod:解决静态博客的三大痛点

如何从传统主题迁移到Hugo-PaperMod:解决静态博客的三大痛点 【免费下载链接】hugo-PaperMod A fast, clean, responsive Hugo theme. 项目地址: https://gitcode.com/GitHub_Trending/hu/hugo-PaperMod 当您尝试为Hugo博客寻找一个既美观又高效的主题时&am…

2026/7/26 17:11:07 阅读更多 →
5倍速导出!Photoshop图层批量导出插件终极指南

5倍速导出!Photoshop图层批量导出插件终极指南

5倍速导出!Photoshop图层批量导出插件终极指南 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe. 项目地址: https://gi…

2026/7/26 17:11:07 阅读更多 →
Label Studio完全指南:5步构建高效数据标注平台,加速AI模型开发

Label Studio完全指南:5步构建高效数据标注平台,加速AI模型开发

Label Studio完全指南:5步构建高效数据标注平台,加速AI模型开发 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/la…

2026/7/26 17:11:07 阅读更多 →
【译】Visual Studio Insider 来了!

【译】Visual Studio Insider 来了!

【译】Visual Studio Insider 来了! 引言:从初学者到专家的旅程作为编程讲师,我经常被问到:“如何从零开始学习编程?”。答案是:从基础概念开始,逐步深入。今天,我们将通过 Visual S…

2026/7/26 17:11:07 阅读更多 →
Python毕设选题推荐:基于 Python 的音乐收藏评论与社交互动平台实现 轻量化网络音乐社交分享管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

Python毕设选题推荐:基于 Python 的音乐收藏评论与社交互动平台实现 轻量化网络音乐社交分享管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/26 17:10:07 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻