Linux C语言:输入输出(printf scanf)

news2025/1/23 7:20:36

一、数据输出

1、C语言I/O操作由函数实现

#include <stdio.h> 

2、字符输出函数 

格式: int putchar( int c )
参数: c为字符常量、变量或表达式
功能:把字符c输出到显示器上
返值:putchar函数的返回值是参数的ASCLL码值; 

#include <stdio.h>
main()
{ int c;
char a;
c=65; a='B';
putchar(c); putchar('\n'); putchar(a);
}

3、字符输入函数 

字符输入函数getchar
        格式: int getchar( void);
        功能:从键盘读一字符
        返值:正常,返回读取的字符的ASCLL码值;
出错或结束键盘输入,返回-1 (ctrl d) 

#include <stdio.h>
int main()
{ int c;
printf("Enter a character:");
c = getchar();
printf("%c--%d->hex%x\n", c, c, c);
}

4、字符输入输出函数结合使用

#include <stdio.h>
int main( )
{
int c;
printf( "Enter a value :");
c = getchar( );
printf( "\nYou entered: ");
putchar( c );
printf( "\n");
return 0;
}

 二、printf格式输出函数

1、格式

printf(“格式控制串”,输出表)

  • 功能:按指定格式向显示器输出数据
  • 输出表:要输出的数据
  • 格式控制串:包含两种信息

格式说明:%[修饰符]格式字符,用于指定输出格式
普通字符:原样输出 

2、格式字符 

int a=567; printf (“%d”,a);      //567
int a=255; printf(“%x”,a);       //ff
int a=65; printf(“%o”,a);        //101
int a=567; printf(“%u”,a);       //567
char a=65; printf(“%c”,a);       //A

printf(“%s”,“ABC”); //ABC
float a=567.789;printf(“%e”,a);  //5.677890e+02
float a=567.789;printf(“%f”,a);  // 567.789000
float a=567.789;printf(“%g”,a);  // 567.789
printf(“%%”);                    //%

三、printf函数-附加格式说明符

 

1、printf函数-附加格式说明符m.n 

int a=1234;
float f=123.456;
char ch=‘a’;
printf(“%8d,%2d\n”, a, a);
printf(“%f, %8f, %8.1f, %.2f\n”, f, f, f, f);
printf(“%3c\n”, ch);
char a[]=“Hello,world!”
printf(“%s\n%15s\n%10.5s\n%.3s\n”, a, a, a, a, a);

2、printf函数-附加格式说明符0 +

#include <stdio.h>
int a=1234;
float f=123.456;
printf(“%08d\n”, a);
printf(“%010.2f\n”, f);
printf(“%0+8d\n”, a);
printf(“%0+10.2f\n”, f);

 四、scnaf格式输入函数

1、格式

scanf(“格式控制串”,地址表)

  • 功能:按指定格式从键盘读入数据,存入地址表指定存储单元中,并按回车键结束
  • 返值:正常,返回输入数据个数
  • 地址表:变量的地址,常用取地址运算符& 

目前,scanf支持的格式字符很多,如下, 

scanf函数支持的格式说明符可以带以下修饰符。 

2、格式输入函数-示例 

scanf(“%4d%2d%2d”, &yy, &mm, &dd);
若输入19991015
则yy为1999, mm为10, dd为15 

scanf(“%2d%*3d%2d”,&a,&b);
若输入12 345 67
则a为12,b为67

3、格式输入函数-输入字符

用“%c”格式符时,空格和转义字符作为有效字符输入
例子,
scanf(“%c%c%c”,&c1,&c2,&c3);
若输入a b c
则c1为a, c2为空格, c3为b 

ret=scanf(“%d%c%f”,&a,&b,&c);
若输入1234a123o.26
则a为1234, b为‘a’, c为123 

4、scanf函数的返回值 

 如何处理scanf()函数误输入造成程序出错

#include<stdio.h>
int main(void)
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=a+b;/*计算a+b*/
printf("%d+%d=%d",a,b,c);
return 0;
}

五、如何处理输入函数留下的垃圾

1、输入函数留下的“垃圾” 

使用输入函数可能会留下垃圾 

int x;
char ch;
scanf(“%d”,&x);
scanf(“%c”,&ch);
printf(“x=%d,ch=%d\n”,x,ch);

 方法1:用getchar()清除

int x;
char ch;
scanf(“%d”,&x);
getchar();
ch=getchar();
printf(“x=%d, ch=%d\n”, x, ch);

方法2: 用格式串中空格或“%*c”来“吃掉”

int x;
char ch;
scanf(“%d”, &x);
scanf(“ %c”, &ch);或 scanf(“%*c%c”, &ch);

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

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

相关文章

蓝牙网关是什么?能做什么?

蓝牙网关是一种集成了蓝牙通信技术的设备&#xff0c;它在物联网&#xff08;IoT&#xff09;和其他无线通信场景中扮演着重要的角色。以下是蓝牙网关的基本概念以及它的主要功能和应用场景&#xff1a; 蓝牙网关是什么&#xff1f; 蓝牙网关是一种设备&#xff0c;它能够将蓝…

什么是通配符SSL证书?要怎么申请?

通配符SSL证书的作用主要是为了方便管理和加密具有多个子域名的网站。它能够保护一个主域名及其所有的同级子域名&#xff0c;无论子域名的数量多少或名称如何变化。使用一个通配符证书&#xff0c;你可以为像 *.example.com 这样的设置加密&#xff0c;这样不论是 blog.exampl…

使用kubespray部署k8s生产环境

使用kubespray部署k8s生产环境 系统环境 OS: Static hostname: test Icon name: computer-vm Chassis: vm Machine ID: 22349ac6f9ba406293d0541bcba7c05d Boot ID: 83bb7e5dbf27453c94ff9f1fe88d5f02 Virtualization: vmware Operating System: Ubuntu 22.04.4 LTS Kernel: L…

【成品设计】基于华大hc32F005c6ua的读取NFC卡

《基于华大hc32F005c6ua的读取NFC卡》 整体功能&#xff1a; 单片机:华大hc32F005c6ua 1、支持单片机spi接口读取nfc读卡器芯片rc522读写数据 2、读取到的数据可以通过单片机uart接口通信&#xff0c;上报给上位机&#xff08;485主机&#xff09; 3、uart接口支持modbus协议…

飞腾D2000+FPGA云终端,实现从硬件、操作系统到应用的完全国产、自主、可控

飞腾云终端基于国产化飞腾高性能8核D2000处理器平台的国产自主可控解决方案&#xff0c;搭载昆仑国产化固件,支持UOS、银河麒麟等国产操作系统&#xff0c;满足国产化信息安全运算的需求&#xff0c;实现从硬件、操作系统到应用的完全国产、自主、可控&#xff0c;是国产信息安…

【优选算法】BFS解决FloodFill算法

一、经验总结 什么是FloodFill算法&#xff1f; FloodFill算法是一种用于填充连通区域的算法&#xff0c;通常用于图像处理和计算机图形学中。它从给定的起始点开始&#xff0c;向周围相邻的像素进行扩散填充&#xff0c;直到遇到边界或者其他指定条件停止。 FloodFill算法还…

【权威发布】2024年经济发展与社会科学国际会议(ICEDSS 2024)

2024年经济发展与社会科学国际会议 2024 International Conference on Economic Development and Social Sciences 【1】会议简介 2024年经济发展与社会科学国际会议是一个全球性的学术盛会&#xff0c;汇聚了世界各地的经济学家、社会学家及相关领域的专家学者。本次会议旨在提…

flink 作业报日志类冲突的解决方案

文章目录 背景思考初步解决方案深入思考下终极解决方案总结 背景 实时作业在页面提交任务后&#xff0c;报NoSuchMethodException 方法&#xff0c;看了下是关于log4j的&#xff0c;首先是作业升级了很多依赖的版本&#xff0c;其次flink 也升级 到了1.19版本 思考 打的Jar有…

影响指挥中心操作台的材质选择的因素有哪些

指挥中心操作台作为现代指挥系统的重要组成部分&#xff0c;其材质的选择不仅关系到操作台的使用寿命和稳定性&#xff0c;更直接影响到整个指挥中心的运行效率和安全性。因此&#xff0c;对指挥中心操作台的材质设定一系列标准显得尤为重要。 耐用性考量&#xff1a;鉴于指挥中…

10Linux 进程管理学习笔记

Linux 进程管理 目录 文章目录 Linux 进程管理一.进程1.显示当前进程状态(ps)进程树(pstree)1.1实时显示进程信息(top)顶部概览信息&#xff1a;CPU 状态&#xff1a;内存状态&#xff1a;进程信息表头&#xff1a;进程列表&#xff1a;1.2(htop) 2.终止进程(kill)2.1通过名称…

yarn dev报错X [ERROR] Cannot assign to “i“ because it is a constant

yarn dev报错 报错背景 拉取JetLinks-ui-vue源码结果报错 解决方案 node的版本过高导致的 降低版本 Node.js — Download Node.js

yolov5的口罩识别系统+GUI界面 (附代码)

基于YOLOv5模型的口罩识别系统&#xff0c;结合了GUI界面&#xff0c;旨在帮助用户快速、准确地识别图像或视频中佩戴口罩的情况。YOLOv5是一种流行的目标检测模型&#xff0c;具有高效的实时检测能力&#xff0c;而GUI界面则提供了友好的用户交互界面&#xff0c;使得整个系统…

STM32作业设计

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…

Java学习19-List、set容器

目录 一.List&#xff1a; 1.List基本介绍&#xff1a; 2.List接口方法&#xff1a; 3.List的三种遍历方式&#xff1a; 4.ArrayList&#xff1a; &#xff08;1&#xff09;ArrayLis的基本介绍&#xff1a; &#xff08;2&#xff09;ArrayList底层结构和源码分析&…

分层存储的图片的3d显示

分层存储的图片叠层成为3d&#xff0c;并显示。 文件夹D:\mask内的分层存储的图像文件mask_1.PNG至mask_12.PNG&#xff1a; 1、显示为3d点云&#xff1a; import open3d as o3d import numpy as np from PIL import Imagedef images2point_cloud(paths, layer_height):point…

vue中实现一个时间选择器的级联框,第一层小时,第二层分钟

最近在做一个考勤系统时&#xff0c;新增班次的时候需要设置打卡时段&#xff0c;类似如下效果&#xff1a; 1、封装自定义组件Time.vue 接收参数有endHour(范围结束的小时数)、endMinute(最后一小时结束的分钟数)等&#xff0c;根据具体需求变动 <template><div&…

一天涨粉1000+,月变现至少1w+的AI副业项目。

大家好&#xff0c;我是设计师阿威 今天我要揭秘一个一天涨粉1000&#xff0c;月变现至少1w的AI副业项目。 视频制作超级简单&#xff0c;却几乎条条爆款&#xff0c;看下图 这个作品玩法的原理就是&#xff0c;让Ai绘图软件&#xff0c;生成自己理解的某个事物或者东西是什么…

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(二十六)- 微服务(6)

目录 10. Docker 10.1 Docker基本操作 10.1.1 镜像相关命令 10.1.2 容器相关命令 10.2 数据卷命令 10.2.1 常用命令 : 10.2.2 挂载数据卷 10. Docker 10.1 Docker基本操作 10.1.1 镜像相关命令 docker --help 查看docker帮助文档 docker images --help 查看docker ima…

石油行业的数字化转型与智能化发展:新技术综合运用助力业务提升

引言 石油行业面临的挑战与机遇 石油行业是全球能源供应的重要支柱&#xff0c;然而&#xff0c;随着资源枯竭、环境压力增加以及市场竞争加剧&#xff0c;石油企业面临着前所未有的挑战。传统的勘探和生产方式已经难以满足当前高效、安全、环保的要求。同时&#xff0c;能源转…

Codeforces Round 948 (Div. 2) A~D

A. Little Nikita &#xff08;思维&#xff09; 题意&#xff1a; 小 A A A决定用一些立方体建一座塔。一开始&#xff0c;塔上没有任何立方体。在一次移动中&#xff0c;小 A A A要么正好把 1 1 1 个立方体放到塔顶&#xff0c;要么正好从塔顶移走 1 1 1 个立方体。存不存…