C语言入门----字符

  1. 字符变量在内存中占用一个字节,只能存放ASCII码。
  2. ‘0’~’9’对应的整数为48~57
    ‘A’~’Z’对应的整数为65~90
    ‘a’~’z’对应的整数为97~122
    大写字母与小写字母的差值为32

  3. putchar和getchar

    char c;
    c=getchar();/*从键盘读取一个字符*/
    putchar(c);/*输出c的值到屏幕*/
  4. 字符运算
    C语言规定,所有的字符运算都是转成ASCII的整数运算。
    如:
    ‘B’- ‘A’相当于66-65=1
    ‘a’+ 1相当于97+1=98=’b’
    既然字符型数据和整形数据可这么方便的转换,那么字符型数据也可以使用%d输出,用来获得字符的ASCII码序号。

  5. 用scanf输入字符

    • 每个%c只接受一个字符
      scanf("%c%c%c",&a,&b,&c);
      如果输入:uvwxyz
      系统会一个一个的截取,使a = ‘u’,b = ‘v’,c = ‘w’
    • 在字符型变量上使用列宽控制时,第一个变量只会读取第一个字符,第二个变量会跳跃列宽后再读取一个字符
      scanf("%3c%c",&c1,&c2);
      如果输入:abcde
      则c1 = ‘a’,c2 = ‘d’
    • 空格和回车都作为字符
      scanf("%c%c%c",&a,&b,&c)
      如果输入:x□y□z
      □表示空格,则a = ‘x’,b = ‘□’,c = ‘y’,最右边的两个字符被丢弃。
      如果输入:x(回车)yz
      a,c与前面相同,但是b会赋值为一个回车,也就是ASCII码的10。
  6. 例题
#include <stdio.h>
int main()
{
    char c1,c2,c3,c4,c5,c6;
    scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
    c5=getchar();
    c6=getchar();
    putchar(c1);
    putchar(c2);
    printf("%c%C\n",c5,c6);
    return 0;
}

程序运行后,若从键盘输入(从第1列开始)
123(回车)
45678(回车)
则输出结果为:1245

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值