从键盘到屏幕:C语言中输入输出探秘

        在编程中,输入和输出是我们与计算机交流的关键。无论是键盘输入还是屏幕输出,它们贯穿了我们每一行代码的编写。本文将带你深入探索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输出字符)

  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值