在编程中,输入和输出是我们与计算机交流的关键。无论是键盘输入还是屏幕输出,它们贯穿了我们每一行代码的编写。本文将带你深入探索C语言中输入输出的精彩世界,解锁其中的奥秘,助你轻松驾驭键盘和屏幕!(最后附上2题练习题)
一、输出
当你写完一段程序,你必然需要让程序输出一些结果,这时就要用到printf、putchar、puts。下面我们来对这三个一一介绍。
-
printf打印:
先来举个例子帮助我们理解一下意思,eg:我现在有一个数a等于999,我要把a等于多少用一段程序告诉别人。
第一步:按照我们前一篇文章说的c语言基础框架,先新建一个文件,搭建好我们的简单框架。
第二步: 开始写入我们的内容,即我们告诉计算机我们的a等于999,再让计算机告诉别人a等于999。
第三步: 打开cmd,cd指令跳到代码文件夹,对这个程序进行编译和运行并生成结果
看到这边,大家应该有点清晰了吧,不懂的话就按照我们上面的图文一步一步操作一遍!
OK,接下来让我们具体了解一下printf。
printf的格式:
printf(格式控制,输出表列),例如printf("%d",a),printf("%c",y)。
括号内包含了两部分:
(1)格式控制是用双撇号”“括起来的一个字符串。它包括两个信息:
a、格式声明。格式声明由”%“和格式字符组成,如上面的%d,%c等。它的作用是将输出的数据转换为指定的格式,然后输出。比如:
1. %d为输出十进制整型数int;
2. %c为输出单个字符char;
3. %s为输出多个字符;
4. %f为输出小数float;
5. %x为输出16进制格式的整数;
6. %p一般为打印内存地址,也是16进制格式输出。取出地址(变量的存储位置)的运算符号&。
(c语言中字符串格式有许多,我们先记住最常用的几个就行,步步为营,从简到繁)
b、普通字符。普通字符就是在输出结果时,需要原样输出的字符。比如,printf("我怎么那么帅呀"),那么结果就会输出:我怎么那么帅呀
如果将格式声明和普通字符结合起来用,比如:printf("a等于:%d", a )就会是类似于这样的形式:
- 关于%f,再补充一点:
用%f输出实数,只能得到6位小数。如果要指定数据宽度和小数位数,用%m.nf,如%5.2f,指定了输出的数据占5列,其中包括两位小数,此时我们会发现数据像右靠了一些。如果要让输出的数据像左靠,则用%-m.nf。就像下面展示的这样:
怎么样,应该都挺好理解的吧。还剩下puts和putchar。
-
puts:
输出字符串。和printf的区别在于:1.用puts函数输出字符串时会自动换行,不用使用换行符”\n“;2.puts只能原样输出,不能格式声明。 -
putchar:
输出字符。如:putchar(c);
二、输入
当你写完一段程序,你可能需要让用户输入一些字符来让你的程序继续运行,这时就要用到scanf和getchar。下面我们来对这俩个一一介绍。
-
scanf扫描键盘
scanf和printf有异曲同工之妙,scanf的一般形式为:scanf(格式控制,地址表列),格式控制和printf一致,地址表列可以是变量的地址,也可以是字符串的首地址,总之就是地址。如:scanf("%d", &a );
需要注意的问题:
1.地址符号:有些新手朋友们容易忘记取地址符号——&,因而写成scanf("%d", a ),这样是不对的;
2.原样输入:在格式控制的位置,如果除了格式声明外,还有别的字符,如:scanf("地址是:%d",&a),那么用户在输入时,也应该将别的字符一起输进去,像这样:
3. 注意字符:用”%c“格式声明输入字符时,空格字符和转义字符都会被作为有效字符被扫描到。例如:scanf("%c%c%c",&a.&b.&c),在执行此函数时,应在对应的位置上输入连续的3格字符,中间不能有空格,如:abc
-
getchar
getchar是用来获取字符的,也可以用来吸收多次使用scanf时留下的回车符,多次使用scanf时,前一次使用scanf留下的回车会影响下一次的scanf,导致下一次的scanf扫描到了回车,会导致程序输出结果出错。
三、练习题
1.输入两个数,获得两个数加减乘除的值
#include<stdio.h>
int main()
{
int a;
int b;
puts("请输入两个整数");
scanf("%d%d",&a,&b);
//两个数加
printf("两个数的和是%d\n",a+b);
//两个数减
printf("两个数的差是%d\n",a-b);
//两个数乘
printf("两个数的积是%d\n",a*b);
//两个数除
printf("两个数的商是%.2f\n",(float)a/b);
return 0;
}
2.请编程序将”China“译成密码,密码规律是用原来的字母后面第4个字母代替原来的字母。
(分别用printf和putchar输出字符)