C语言字符实验

cyang Lv6

实验一

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdio.h"

main(){
int c;
while( ( c = getchar() )!= '\n' ){
switch (c-'2'){
case 0:
case 1:
putchar( c+4 );
case 2:
putchar( c+4 );
break;
case 3:
putchar( c+3 );
default:
putchar( c+2 );
break;
}
}
printf("\n");
}

输入2473,输出为668977.

知识点

  • 1、getchar和putchar都只能操作一个字符。前者为读入一个字符,后者为输出一个字符。

  • 2、switch-case的用法,在没有break的情况下,执行完一个case会继续向下执行下一个case,直到遇上break或者switch-case语句结束。也就是说,其实switch-case仅在第一次进入是会进行case的比对,进入switch-case选择结构后不会再进行比对。

实验二

使用printf和scanf函数输出和输入字符

  • 1、无空格型,例如:

    1
    scanf("%c%c%c",&a,&b,&c);

    输入格式:

    1
    ABC<CR> //中间不能有空格,否则空格会被算作字符
  • 2、空格型,例如:

    1
    scanf("%c %c %c",&a,&b,&c);

    输入格式:

    1
    ABC<CR>,A-B-C<CR>,A--B----C<CR> //-表示空格,三种均可
  • 3、指定输入格式,例如:

    1
    scanf("%4c%4c",&c1,&c2);

    输入格式:

    1
    A---B---<CR> //必须严格按照指定格式
  • 4、交叉输入数值数据和字符数据,例如:

    1
    2
    int a1,a2; char c1,c2;
    scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

    输入格式:

    1
    10A--20B<CR>  //-代表空格,必须按照此格式。

说明

  • 由上述四个例子可知,在使用scanf进行输入时,情况较为复杂,对格式要求很高。尤其是在交叉输入字符和数字时,很容易造成错误。
  • 标题: C语言字符实验
  • 作者: cyang
  • 创建于 : 2016-09-19 19:34:23
  • 更新于 : 2020-02-19 21:33:47
  • 链接: https://blog.cyang.tech/2016/09/19/C语言字符实验/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
此页目录
C语言字符实验