【C语言从零到入门】 第七节 C语言的输入和输出

本节主要讲解

  • 结构化输出函数printf
  • 结构化输入函数scanf

一、printf与占位符

printf的作用是在屏幕上输出文字

它有两种用法:

1. 直接输出字符串

#include<stdio.h>
void main()
{
	printf("你好"); //将输出“你好”
}

“字符串”就是被双引号包裹起来的文本内容。

字符串和char类型的区别:

  • 字符串用双引号,char类型用单引号
  • 字符串的内容可以为空,char类型不能
  • 字符串中可以有多个文字,char类型中只能有一个
  • 字符串中有中文,char类型中没有中文

2.输出格式化字符串

#include<stdio.h>

void main()
{
	printf("你好,我叫%s", "小明");
}

上面的代码会输出:

你好,我叫小明

名词解释
  • %和字母的组合称为占位符,它的作用是先占住一个固定的位置,等着你在里面添加内容,最后,计算机会用相应的数据替换掉占位符。
  • 格式化字符串可以简单理解为带有占位符的字符串

例如上面的%s是字符串占位符,又因为它是第一个出现的占位符,所以它代表了格式化字符串后的第一个字符串。以此类推,第二个出现的占位符代表了格式化字符串后的第二个数据…

printf基本用法
printf("格式化字符串", 变量1, 变量2, 变量3...);
常用占位符 (printf和scanf通用):
占位符 说明
%c 字符
%d 有符号十进制整数
%u 无符号十进制整数
%o 无符号八进制整数
%x 无符号十六进制整数
%f 十进制小数
%s 字符串
%p 指针

%%代表一个普通百分号

例子

void mian()
{
    printf("大家好,我是练习了%f年的%s,我喜欢%s", 2.5, "小明", "唱、跳、rap、篮球");
}

输出结果:

大家好,我是练习了2.5年的小明,我喜欢唱、跳、rap、篮球

二、printf的其他用法

1. 设置输出文字的长度

格式为:%num占位符 (num表示一个整数)

  • 正数表示如果长度不够在前面补空格

  • 负数表示如果长度不够在后面补空格

#include<stdio.h>

void main()
{
	printf("%3d", 1);
	printf("%3d", 1);
	printf("\n");
	printf("%-3d", 1);
	printf("%-3d", 1);
} 

以上代码运行结果为:

在这里插入图片描述

2. %.数字f :表示要保留几位小数

  • 结果会四舍五入
  • 如果小数位数不够会在后面补0
#include<stdio.h>

void main()
{
	printf("%.3f\n", 3.14159);  //保留3位小数
	printf("%.10f\n", 3.14159); //保留10位小数
} 

以上程序运行结果

在这里插入图片描述

三、结构化输入scanf

scanf与printf用法类似,它的作用是将用户的输入赋予给相应变量:

scanf("格式化字符串", &变量1, &变量2...);

注意:不要忘记变量名前的“&”

#include<stdio.h>

void main()
{
	int a;
	printf("请输入一个数:"); 
	scanf("%d", &a);
	printf("你刚才输入的数是:%d", a); 
} 

运行结果:
在这里插入图片描述

输入多个变量的方式:

  1. 将多个数据用空格或“,”隔开,再按Enter键

  2. 重复输入数据并按Enter键

#include<stdio.h>

void main()
{
	int a, b, c;
	printf("请输入三个数:"); 
	scanf("%d%d%d", &a, &b, &c);
	printf("你刚才输入的三个数分别是:%d, %d, %d", a, b, c);
} 
代码运行结果:

在这里插入图片描述

小练习

还记得吗?我们上节写了一个“将小写字母转换为大写字母”的程序。

现在把它用printf和scanf重写一遍。











答案

#include<stdio.h>

void main()
{
    printf("请输入一个小写字母:");
    char a; // 声明一个char型变量a
    scanf("%c", &a); // 获取输入的字符
    a = a - 32; // 让a减去32
    printf("%c\n", &a); // 输出转换后的字符
    printf("程序结束");
}

好了,文章到这里就结束了,我们下一节再见

点击查看更多【C语言从零到入门】系列

每周五晚20:00更新

猜你喜欢

转载自blog.csdn.net/qq_34802028/article/details/106425942