zoukankan      html  css  js  c++  java
  • C语言学习笔记指针与字符串

    字符类型

      char(character)是一种整数,也是一种特殊的类型:字符。这是因为

      ① 用单引号表示的字符字符字面量:‘a’,'1'

      ②‘’也是一个字符

      ③printf和scanf里用%c来输入、输出字符。

     1 #include<stdio.h>
     2 int main()
     3 {
     4     char c;
     5     char d;
     6     c = 1;
     7     d = '1';
     8     printf("c = %d,d = %d,d = %c\n",c,d,d);
     9     return 0;
    10 }
    //运行结果:c = 1,d = 49,d = '1'

      通过例子看到,字符'1'和整数1不相等。字符‘1’和整数49相等。字符也是整数的一种。

    字符的输入输出

      如何输入‘1’这个字符给char c ?

      scanf("%c",&c); ---->1

      scanf("%d",&i);c=i; ---->49  

      ‘1’的ASCII编码是49,所以c == 49时,它代表'1'

     1 #include<stdio.h>
     2 int main ()
     3 {
     4     char c;
     5     int d;
     6     scanf("%c",&c);
     7     printf("c = %d,c = '%c'\n",c,c);
     8     scanf("%d",&d);
     9     printf("d = %d,d = '%c'\n",d,d);
    10     return 0;
    11 }
    //运行结果:输入 1
          输出 c=49,c='1'
    输入 49
          输出 d = 49,d = '1'

      字符的输入看scanf的参数,%c就是输入的即是字符;%d就是整数,对应的字符。

    混合输入

      int i;char c;

      scanf("%d %c",&i,&c);

      scanf("%d%c",&i,&c);

      有何不同?

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int i;
     5     char c;
     6     scanf("%d %c",&i,&c);//中间有空格
     7     printf("i = %d,c = %d,c = '%c'\n",i,c,c);
     8     scanf("%d%c",&i,&c);//中间无空格
     9     printf("i = %d,c = %d,c = '%c'\n",i,c,c);
    10     return 0;
    11 }
    //运行结果:
          有空格,输入1a,1 a,1 a都可以正确读入整数和字符
          无空格,只能1a可以正确读入整数和字符。1 a,1 a读入整数1和空格字符。读不进字符a。

     字符计算  

    1 #include<stdio.h>
    2 int main()
    3 {
    4     char c = 'A';
    5     c++;
    6     printf("%c",c);
    7     return 0;
    8 }
    View Code

      字符可以转化为整数运算,结构再转化为字符。

      字母在ASCII表中是顺序排列的;

      大写字母和小写字母是分开排列的,并不在一起。

      于是:

      ①‘a’-'A'可以得到两段之间的距离

      ②A+'a'-A可以把一个大写字母变成小写字母

      ③a+'A'-'a'可以把一个小写字母变成大写字母。


     逃逸字符

      用来表达无法印出来的控制字符或特殊字符,它由一个反斜杠"\"开头,后面跟上另一个字符,这两个字符合起来,组成了一个字符。

      如  printf("请分别输入身高的英尺和英寸,""如输入\"5 7\"表示5英尺7英寸:")

    字符 意义 字符 意义 
    \b 回退一格 \" 双引号
    \t 到下一表格位 \' 单引号
    \n 换行 \\ 反斜杠本身
    \r 回车    

      不同的终端shell翻译可能有区别,通常\b是回退一格不删除,\t制表符,用于对齐;\n通常执行换行和回车两个动作。  

  • 相关阅读:
    【C++ 学习笔记】 Vector
    【AWS】 AWS Free Usage Tier
    【C++ 学习笔记】 MFC CEdit
    【MySql】MySql安装和ODBC设置
    【C++ 学习笔记】 变量转换
    【Perl学习笔记】列表和数组
    【C++ 学习笔记】 值传递
    【Java 学习笔记】 MyEclipse各种细节
    【NLP】 向量空间模型
    【Linux】 Cygwin操作总结
  • 原文地址:https://www.cnblogs.com/netcn/p/4250980.html
Copyright © 2011-2022 走看看