第八讲 字符、字符串的输入与输出
一:字符的输入与输出函数:
1:字符输入函数getche ( )
它有两个变体getchar( )getch( ),而第二个变体用得最多。它们用于等待从键盘上输入一个‘字符’。
2:字符输出函数putchar(n)
其功能是用于输出单个‘字符’。
3:程序举例:
<1>单个‘字符’的输入和输出:
#include”conio.h”  /*字符函数须此头文件*/
main()
{char ch        /*定义ch为字符型变量*/
ch=getche()    /*等待键入一个‘字符’*/
putchar(ch)    /*输出键入的‘字符’*/
putchar(‘\n’)  /*注意用单引号加\n换行*/
运行:输入笛子入门基础教程曲谱a,屏幕显示:
          aa
注:使用该函数要用头文件。运行结果中第一个
      是键盘上输入系统回显的,第二个aputchar(ch) 函数输出的。
<2>个‘字符’的输入和输出:
#include<conio.h>  /*字符函数须此头文件*/
main()
    {char a,b,c      /*定义a,b,c为字符变量*/
    a=getch()b=getch()c=getch()  /*输入*/
    putchar(a)putchar(b)putchar(c) /*输出*/
    getch()   
} 运行:在键盘上输入boy后显示:
boy
:
最后一行的getch()函数在程序中的作用是显示
boy后,将停留到有一键按下,这有利于观察运
行结果,无须再按“Alt + F5”来查看运行果。
  getch函数编程,键盘输入系统无回显。
二:“字符串”的输入与输出函数:
  1:“字符串“的输入函数 gets():
    其功能是用于从键盘上输入“字符串”。
  2:“字符串”的输出函数puts()
    其功能是用于输出“字符串”。
  3:程序举例:
  <1>“字符串”的输入与输出:
#include"string.h"/*字符数组用此头文件*/
main(){char  p[20];/*定义一维数组p为字符型*/
      clrscr();
      gets(p);    /*在键盘上键入“字符串”*/
    puts(p);    /*输出数组中的“字符串”*/
      puts("\n");  /*注意用双引号加\n换行*/
      puts("hello ");/*输出“hello 字符串*/
} 运行:如输入This is a book.则显示:
        This is a book.
      (空一行)
        hello 
注:①在键盘上输入“字符串”后,必须用回车作为输入结束,在字符串后面用“\0”代替回车符。其中“\0”不属于字符串中的内容。
  puts函数既可输出数组中的“字符串”,也可以象printf函数一样,直接在圆括号中加双引号原样输出“字符串”,如程序中的puts(hello);的语句行。
  ③输入字符串的长度一定要小于数组的长度。
三:对字符与字符串函数的小结:
1 字符型数组与变量,也要先定义后使用。
2 字符变量存放1个‘字符’。字符数组存放“字符串”。(“字符串”是以单个‘字符’按序存放在数组以p[0]开始的各元素中的)。字符串以’\0’为结束,我们输入字符回车后,系统会自动加一个’\0’。(一个字符串是由有效字符加上’\0’组成)
3 多个‘字符’的输入不能用空格等隔开,(因空格等也是‘字符’),最后以回车结束输入。
4 状态null啥意思建议:输入‘字符’时,使用无回显的getchargetch函数。
5 在使用字符函数编程时,必须要写上conio.hstdio.h头文件。蓝 大气 网页模板
6 如果用scanf()printf()函数代替getch()putchar()函数进行输入输出时,则格式说明用“%c
四:上机练习与思考题:
    <1>输入一个小写字母,打印相对应的大写字母。
#include"string.h"/*字符数组用此头文件*/
main()
{char ch;
      ch=getche();    /*getche函数有回显*/
      putchar(ch-32);
} 运行:如输入字母b,则显示:
      bB
注:每个小写字母与对应的大写字母的ASCII
    相差32
  <2>输入任意一个大写字母,打印对应的小写字母。
    #include"string.h"/*字符数组用此头文件*/
main()
{char ch;
      clrscr();
      ch=getch();      /*getch函数无回显*/
      putchar(ch+32);
} 运行:加输入A则显示:
      a
<3>字符数组的初始化。
    #include"stdio.h"
main()              /*定义h为字符数组*/
{char h[10]={'a','b','c'}; /*并初始化*/ 
puts(h);/*输出数组中的“字符串”*/
  puts("\n");
} 运行:则显示:
      abc
<4>getch函数输入字符,printf函数打印该字符。
#include"stdio.h"
main()
{char ca;            /*定义ca为字符变量*/
    clrscr();
ca=getch();        /*输入任意一个字符*/
    printf("ca=%c",ca);        /*输出字符*/
    getch();
} 运行:如输入f,则显示:
              ca=f
<5>scanf函数输入字符,printf函数输出字符。
#include"stdio.h"
main()
{char a,b,c;      /*定义a,b,c为字符娈量*/
    clrscr();
    scanf("%c%c%c",&a,&b,&c);/*输入三个字符py汇率换算*/
    printf("abc=%c%c%c",a,b,c);/*输出3个字符
putchar('\n');
getch();
putchar函数} 运行:如输入boy,则显示:
      abc=boy
  注:键盘输入三个字符时,不能用空格来隔开,因空格也是‘字符’。对照上面程序说说为什么?
<6>编程打印所有的ASCII字符。
  main()
{int i;
  clrscr();
  for(i=1;i<=255;i++)
    {printf("%d %c \n",i,i);
      sleep(1);
    }
    getch();
<7>输入任意1255中的一个数字,编程打印相的ASCII字符所组成的奇数行三角形(大小自定)。
  main()
{int i,j,k,a;
  clrscr();
  scanf("%d",&a);
  for(i=1;i<=5;i++)
    {gotoxy(40-i,i);
      for(j=1;j<=2*i-1;j++)
        printf("%c",a);
}
  getch();
} 运行:输入12 ↙则显示:
           
              ♀♀♀
            ♀♀♀♀♀
          ♀♀♀♀♀♀♀
          ♀♀♀♀♀♀♀♀♀
<8>从键盘上输入任意一个字符,编程打印由该字符组成的自然数行三角形。                                 
    main()                                           
{int i,j, a;                                     
clrscr();                                     
scanf("%c",&a);                               
    for(i=1;i<=5;i++)                             
      {gotoxy(40-i,i);                             
        for(j=1;j<=i;j++)                           
          printf("%c ",a);                         
}
    getch();
运行:输入大写字母A ↙显示:
                    A
                  A A
                  A A A
                A A A A
  介绍其他几个字符串处理函数
:字符串比较函数:strcmp
  <1>调用形式:strcmp(字符串1,字符串2
  <2>函数作用:将两个字符串从左到右逐个(按ASCII码值的大小)进行比较,直到出现不同的字符或遇到’\0’为止,比较的结果由函数值带回。
  <3>比较函数带回的值有3种情况:
    函数值=0 --->字符串1=字符串2
    函数值>0 --->字符串1>字符串2
函数值<0 --->字符串1<字符串2
  <4>程序举例:
    任意输入两个字符串,比较它们的大小。
#include”string.h” /*字符数组用此头文件*/
main()
{char a[10],b[10],c;
java游戏app
gets(a);      /*输入字符串用两种方式.*/
scanf("%s",b);
c=strcmp(a,b);    /*用比较函数比较个字符串*/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。