嵌入式学习 C语言-输入输出函数

1.输入输出函数

1.函数接口

1.对单个字符的输入输出

1.putchar

向终端输出一个字符(传入一个字符的ASCII码值,将该值对应的字符显示在屏幕
上)

int ch = 'A';
putchar(ch);  // 输出字符'A'
putchar('\n'); // 输出换行符
 
2.getchar

从终端接收一个字符,表达式的结果为接到字符的ASCII码值

int c = getchar(); // 等待用户输入
putchar(c);        // 回显输入的字符
 

2.格式化字符的输入输出

1.printf

printf 是 C 语言中用于格式化输出的函数,包含在 <stdio.h> 头文件中。

1.打印格式化字符串

格式化字符串由普通字符和格式说明符组成。格式说明符以 % 开头,后跟一个或多个字符,用于指定输出的格式。常见格式说明符包括:

  • %d 按照十进制打印

  • %o 按照八进制打印

  • %x 按照十六进制打印

  • %c 按照字符打印

  • %u 按照无符号类型打印

  • %f 按照浮点数类型打印

  • %ld 按照long类型打印

  • %lf 按照double类型打印

  • %s 按照字符串打印

  • %p 按照指针打印

  • %e 按照指数打印

  • %% 打印%号

示例

#include <stdio.h>

int main() {
    int num = 42;
    float pi = 3.14159;
    char ch = 'A';
    char str[32] = {"Hello, World!"};

    printf("Integer: %d\n", num); //十进制
    printf("Float: %.2f\n", pi);  // 保留两位小数
    printf("Character: %c\n", ch); //单个字符
    printf("String: %s\n", str); //字符串
    printf("Hexadecimal: %x\n", num);  // 小写十六进制
    printf("Pointer: %p\n", &num);     // 输出变量地址

    return 0;
}
 
2.格式化输出的高级用法

printf 支持更复杂的格式化选项,可以通过在 % 后添加修饰符来控制输出的宽度、精度和对齐方式。

  • %5d:输出整数,宽度为 5,右对齐。
  • %-5d:输出整数,宽度为 5,左对齐。
  • %05d:输出整数,宽度为 5,右对齐,不足部分用 0 填充。
  • %.3f:输出浮点数,保留 3 位小数。
3.转义字符
  • \n:换行。

  • \t:制表符。

  • \\:输出反斜杠。

  • \":输出双引号。

2.scanf

scanf 通过格式化字符串匹配输入数据,并将结果存储到对应变量中。变量必须通过地址传递(使用 & 运算符):

int num;
scanf("%d", &num);  // 读取一个整数
 
  • 如果接收非输入控制符,需要在屏幕中将所有字符原封不动输入
  • scanf中尽量少出现非输入控制符

scanf认为' '和'\n'是用户结束数据的标志,所以不会读取到代码中

 int num = 0;
 scanf("%d", &num);
 float f = 0;
 scanf("%f", &f);
 double d = 0;
 scanf("%lf", &d);
 char ch = 0;
 scanf("%c", &ch);
%d      将字符串转换为十进制
%c      从终端接收一个字符
_%c     从终端接收一个非空格和\n的字符
%f      将字符串转换为float类型
%lf     将字符串转换为double类型
%s      从终端接收一个字符串
  • scanf除了%s可以不加&,其余都需要加&符号

3.字符串的输入输出

函数名功能注意
gets从终端接收一行字符串gets可以接收带' '的字符串,scanf无法接收带' '的字符串
puts向终端打印一行字符串puts会多打印一个\n字符

char str[32] = {"hello world"};

 puts("hello world");
 puts(str);

 printf("hello world\n");
 printf("str = %s\n", str);

 char str[32] = {0};

 gets(str);
 scanf("%s", str);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值