黑马程序员—C语言输入与输出

来源:互联网 发布:淘宝直通车 如何出价 编辑:程序博客网 时间:2024/06/06 05:32
1  输入字符getchar()
  getchar函数是对单个字符进行输入的函数。它的功能是:从标准输入设备上(键盘)输入一个且只能是一个字符,并将该字符返回为getchar函数的值。
例如:
      char ch;
      ch = getchar();
ch为字符型变量,上述语句接收从键盘输入的一个字符并将它赋给ch。
例1:getchar函数应用。
#include <stdio.h>
main()
{
      int i;
      i=getchar();
      printf("%c:%d\n",i,i);
}
执行本程序时,按下字符‘A’并回车后,显示结果如下:
      A:65
在使用getchar函数时,要注意以下几点:
1)getchar函数是不带参数的库函数,但是()不能省略。
2)用户输出一个字符后,只当按“回车”键之后输入的字符才有效;
3)getchar函数只接受一个字符,而非一串字符。上例中:若输入abcde,getchar函数也只接受第一个字符‘a’。
4)getchar函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量而是作为表达式的一部分。
5)getchar函数不能够显示输入的数据,如果希望显示该数据,必须调用相应的输出函数(例如putchar()库函数)来实现。
还有一个与之相接近的函数是getch()函数。getch()函数表示当用户在键盘上输入一个字符后,该字符立即被计算机接受,可以通过输出函数显示出来,而无需等待“回车”命令。

2 输出字符putchar()
  putchar函数是对单个字符进行输出的函数。它的功能:将指定表达式的值所对应的字符输出到标准设备(终端),每次只能输出一个字符。
putchar()必须带输出项,输出项可以是字符型常量或变量,putchar函数功能与printf函数中的%c相当。
例2:putchar函数的应用
#include"stdio.h"
main()
{
      char o=‘O’,k=’K’;
      putchar(o);
      putchar(k);
      putchar(‘\n’);
      putchar(‘*’)
}
执行结果为:
       OK
      *
使用putchar函数时,应注意以下几点:
1)输出的数据只能是单个字符,不能是字符串。’abc’或“abc”都是错误的。
2)被输出的字符常量必须用单引号括起来,如:’\n’、’*’。不能用双引号,导致错误。
3)当输出项是表达式的时候,可以写成a+’32’等形式,不能写成a\n等形式。
另外,与putchar函数的功能和使用方法一样,putch函数也可以输出一个字符。

3 scanf函数原型包含在标准输入输出头文件“stdio.h”中。调用格式:
      格式:scanf("格式控制字符串",输入项地址列表);
scanf函数有两项参数,用“”引起来的格式控制字符串和需要接收数据的内存地址。
格式控制字符串:规定数据输入的格式,由转换说明符和普通字符组成,转换说明符和百分号(%)一起使用,用来说明输入数据的数据类型(格式字符)。
输入项地址列表:需要接收数据的变量地址,这些输入项与格式控制字符串在类型和数量上要对应,当有多个输入项时,各个地址名之间以逗号“,”分隔。输入格式和变量类型要保持一致。
在C语言中,一个变量的地址可以通过地址运算符&得到。例如:定义int a,b;则a,b的地址为&a,&b。(见指针一章)
scanf()函数中的输入项是变量地址,输入数据将被放入变量地址所指示的内存单元中,所以在变量前要加地址运算符“&”。 

4 printf函数的调用格式

  printf函数是一个标准库函数,能够以精确的格式输出程序运算的结果。printf函数的调用格式为:
printf(“格式控制字符串”,输出项列表);
printf函数有两项参数:用“”引起来的格式控制字符串和向标准设备输出的数据。每次调用printf函数时都要包含描述输出格式的 “格式控制字符串”。
格式字符串是由格式字符(包括:转换说明符、标志、域宽、精度)和普通字符组成,转换说明符和百分号(%)一起使用,用来说明输出数据的数据类型、标志、长度和精度。
输出项列表可以是常量、变量和表达式,也可以没有输出项,这些输出项必须与格式控制字符串在类型和数量上完全对应,否则,结果将不可预测。当有多个输出项时,各个输出项之间用逗号‘,’分隔。

例1: 输出字符串hello Cprogramming!
main()
{
      printf(“hello Cprogramming!”);
}
可以在显示器屏幕上看到输出结果为:hello Cprogramming!
printf函数永远不会自动换行,如果想将hello Cprogram!分行输出,输出形式如下:
      hello
      Cprogram!
则需要引入转移字符\n,或者多次调用printf函数分段输出。程序如下:

main()
{
      printf(“hello\n Cprogram!”);
}
或:
main()
{
      printf(“hello\n”);
      printf(“Cprogram!”); }

其中:“\n”是一个转移字符,是控制字符。它的作用是使计算机执行printf函数时,指示从下一行的右边开始的换新一行输出。所以显示器上出现了两行字符。如果在字符串中忘记了“\n”,那么输出的结果就没有换行(尽管可以多次调用printf函数)。例如下面的程序:
main()
{
      printf(“hello”);
      printf(“Cprogram!”);
}
输出结果仍为:hello Cprogram!

 

0 0