首页 > 其他分享 >6.C基础_输入输出函数

6.C基础_输入输出函数

时间:2024-08-02 21:27:32浏览次数:7  
标签:输出 函数 字符 int 输入输出 基础 格式 数据 输入

putchar

功能:输出一个字符

函数声明:

int putchar(int c);

返回值:参数c的ASCLL码值

c:要输出的字符,可以为字符常量、字符变量或表达式

注意点:输出的结果不带'\n'

getchar

功能:从键盘读一字符

函数声明:

int getchar(void);

返回值:获取数据的ASCLL码值,当输入ctrl+d时会退出获取,此时返回值为-1

返回值为int型而不是char,unsigned char型是因为要返回-1和0~255范围,int型的范围才足够。

注意点:当获取多个字符时,回车也会被getchar获取,示例代码如下:

printf

功能:按指定格式向显示器输出数据

函数声明:

printf("格式控制串",输出表);

格式控制串:

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

格式字符汇总

整型输出有:%i、%d、%ld、%u、%lu、%o、%lo、%x、%lx

其中:l代表long或者double;l可以换成h,代表short型

字符型输出有:%c、%s

浮点型输出有:%f、%lf、%e、%le、%E、%lE、%g、%lg

其中:l代表long或者double

修饰符汇总

1、设置域宽(m):

设置输出数据的域宽,显示m个长度。

  • 如果原数据<m个长度,则会补其m个长度;
  • 如果原数据>m个长度,则会显示全部内容,不会截取。

2、限制输出位数(.n):

可以限制字符串、实数的输出位数。

  • 若原数据为字符串,则指定输出n个字符串,多余的会被截取。
  • 若原数据为实数,则指定输出小数点后n位,具有四舍五入原则。

3、设置左右对齐(-):

默认对齐方式为右对齐,加上" - "之后变成左对齐

4、显示有符号数正数符号(+)

有符号正数前会加上" + ",负数还是自动加上" - "

5、空位补0(0):

默认空位补的是空格,0会让空位补0

6、自动显示十六进制、八进制的前缀(#)

十六进制前缀是0x,八进制前缀是0

scanf

功能:按指定格式从键盘读入数据,存入地址表指定

函数声明:

int scanf("格式控制串",&地址表);

返回值:输入的有效数据的个数

输入停止规则

对于数值型数据,空格、Tab、回车、非法字符会让输入停止。

对于字符型数据,只有非法字符会让输入停止。

非法字符就是不符合要求的字符,比如要输入%d,却输入了36.1,那么" . "就是非法字符

格式控制串汇总

格式控制串与printf完全一致。

修饰符汇总

指定获取多个位(m):

输入的数据最多获取m个,多于m个的会被放到下一个格式控制串去输入,少于m个字符无影响。

抑制符(*):

配合m可以指定跳过m个字节不赋值

注意点

1、地址表需要有&取地址符号;

2、格式控制串中如果出现普通字符,如" , " 那么在输入时也要输入" , "

当普通字符位空格时,输入空格和回车都可以被获取到

3、当先获取数值型数据,再获取字符型数据时,回车会被获取(类似getchar的问题)

下面提供了三种解决方法:

4、当前面有m修饰时,但输入数据大于m时,数据会被下一个scanf接收

标签:输出,函数,字符,int,输入输出,基础,格式,数据,输入
From: https://blog.csdn.net/Fresh_man111/article/details/140870008

相关文章

  • PTA—基础编程题目集(7-13)
    7-12日K蜡烛图 题目描述股票价格涨跌趋势,常用蜡烛图技术中的K线图来表示,分为按日的日K线、按周的周K线、按月的月K线等。以日K线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开盘价格Open(早上刚刚开始开盘买卖成交的第1笔价格)、收盘价格Close(下......
  • 从汇编层面看c/c++函数调用过程
    函数调用分析前置知识:全局变量:在函数内部定义的变量局部变量:在函数外部定义的变量esp:存储当前函数栈底的地址ebp:存储当前函数栈顶的地址对于函数形参(实际上):简单:cpu寄存器中复杂:栈中开空间函数调用机制:局部变量占用的内存是在程序执行过程中“动态”地建立和释放的......
  • 嵌入式软件--C语言高级 DAY 8.5 相关函数
    递归函数在嵌入式中应用不常见,但对于学习C语言的我们,也要时刻记得它的作用和用法。此外还要记住sprintf尤其重要!还有时间戳!一、递归函数1.概念一个函数在函数体内又调用了本身。但必须满足两个条件:具有明显的结束条件;趋近于结束条件的趋势。2.递归原理#include<stdio.h>......
  • 函数指针和指针函数的使用
    指针函数1:本质函数,返回值为指针1.2:格式:数据数据*函数名(形参){函数体return地址;//失败一般会返回NULL}#include<stdio.h>#include<stdlib.h>char*yue(){//chara[32]="hello";//栈区,函数调用结束后空间被释放//char*s="hello";//常量区,不会被释......
  • C++语法基础之输入输出(易理解巨详细)
    Unit1C++语法基础之基本输入输出本次分享属于C++语法基础系列课,标准输入输出的理解和使用C++语法基础之输入输出标准输入输出介绍(一)输入输出流(概念比较抽象,可先理解代码,回头进行理解性记忆)1、概念2、输入流(InputStreams)3、输出流(OutputStreams)(二)标准输出1、输......
  • rows和range的区别--窗口函数
    目录1.rows和range关键字的区别2.例题:2.1 求最近三个月(前两个月和当前月)的累计销量2.2 计算最近3个月(前两个月和当前月)的累计销量1.rows和range关键字的区别rows和range关键字,都可以用来定义windowframe范围:rowsbetween上限and下线rangebetween上限and......
  • 一次函数杂谈
    update2024.7.25更改内容update2024.8.1更改内容+图床更改4.一次函数4.1函数的认识函数的定义:一般地,如果在一个变化过程中有两个变量\(x\)和\(y\),并且对于变量\(x\)的每一个值,变量\(y\)者都有唯一的值与它对应,那么我们称\(y\)是\(x\)的函数,其中\(x\)......
  • C primer plus 4.23 strlen函数
    一、strlen函数    **用来给出字符串的长度#include<stdio.h>#include<string.h>#definePRAISAE"Youareamextraordinarybeing."intmain(void) {   charname[40];   printf("Whatyourname?");      scanf("%s",nam......
  • 函数function2、栈
    目录设计函数函数调用的关系递归栈内存的5个区域数组作为函数参数设计函数能拆成函数的尽量拆成函数函数设计时尽可能考虑健壮性和拓展性,代码鲁棒性(健壮性)最强越好函数调用的关系调用者        被调用者intmain(void){printf("%d",getMonthdays(......
  • 大话C语言:第34篇 指针与函数的关系
    1指针作为函数的参数指针作为函数的参数,语法格式:返回数据类型函数名(数据类型*指针变量1,...,数据类型*指针变量1)注意,指针变量的数据类型可以为任何数据类型,包括基本数类型和自定义数据类型代码示例:voidswap(int*ptr1,int*ptr2){//提前保存ptr1指向对象......