字符

//偶然发现 自己知识点漏洞太多了 于是 好好复习一遍吧

-----------------------------------------------------------------------------

一、字符类型

1.常量

  const 字符常量 = ‘字符’

2.变量

  char 字符变量

3.string

    作用

    我们会习惯性的把字符串str1的值赋值给字符串str2写成str2 = str1

    但是

    这是不对的

    不过,为了方便使用字符串,C++提供了另外一种数据类型--------string

  

  用法

    定义及初始化:

          string str1;                 //定义一个字符串str1,初始化为空

          string str2(str1);          //用str1初始化str2

          string str3(“world”)  //str3初始值为"word’

          string str4(n,'a')           //str4初始化值为n个“a”

   输入

    1.cin-------(读入单个单词)

        格式1:   cin>>字符串变量

              (遇到空格,换行符都被认为是字符串的结束)

        格式2:cin>>字符串变量1>>字符串变量2>>字符串变量3>>...

              (要有分隔符,eg.一个或多个空格、换行符)

              (可输入中文,可以认为是任意长度的字符串,但受计算机内存限制)

    2.getline-----(读入一个句子)

        格式3:getline(cin,字符串常量)

 

                  while(c)in>>t的功能是循环读入数据,再度不到的时候停止循环

                  s+=' '+t是在s的后面加一个空格和字符变量t,是一种字符串连接的简单方式

    3.scanf--------(仅获取一个单词)(从光标开始的地方到空格)

        格式4:scanf("%s",字符串名称);

                  这里字符串名称之前不加&这个取地址符

                  仅输入字符串的内容即可(系统自动在输入的字符串常量后添加‘\0’

                  输入多个字符串时,以空格分割

    4.gets-------(只输入一个字符串)(从光标开始的地方到换行符)

        格式5:gets(字符串名称)

  输出

    1.printf(“%s”,字符串名称);

    2.puts(字符串名称);

                  输出一个字符串和一个换行符

 

二、字符数组

  也有一维二维三维之分

1.定义格式

  第一个元素是从ch[0]开始

  格式:  [储存类型] char 数组名[常量表达式]

2.字符数组的赋值

  char ch[5]={'a','b','c','d','e'};  剩余元素默认为空字符

  char ch[3][4]={"abc","uyt","edw"};在数组ch中存放3个字符串,每个字符串长度不得大于3

  char ch[3]='a';

3.字符常量和字符串常量的区别

  字符常量用单引号括起来----字符串常量用双引号括起来

  单个字符---- 多个字符

  可以把一个字符常量赋给一个字符变量,但不可以把一个字符串常量赋给一个字符变量

  字符常量占一个字节,字符串常量占2个字节,(存放结束标志‘\0’);

 

 

函数格式

函数功能

strcat(字符串名1,字符串名2)

将字符串2连接到字符串1后边,返回字符串1的值。

strncat(字符串名1,字符串名2,长度n)

将字符串2前n个字符连接到字符串1后边,返回字符串1的值。

strcpy(字符串名1,字符串名2)

将字符串2复制到字符串1后边,返回字符串1的值。

strncpy(字符串名1,字符串名2,长度n)

将字符串2前n个字符复制到字符串1后边,返回字符串1的值。

strcmp(字符串名1,字符串名2)

比较字符串1和字符串2的大小,比较的结果由函数带回;

如果字符串1>字符串2,返回一个正整数;

如果字符串1=字符串2,返回0;

如果字符串1<字符串2,返回一个负整数;

strncmp(字符串名1,字符串名2,长度n)

比较字符串1和字符串2的前n个字符进行比较,函数返回值的情况同strcmp函数;

strlen(字符串名)

计算字符串的长度,终止符’\0’不算在长度之内

strlwr(字符串名)

将字符串中大写字母换成小写字母

strupr(字符串名)

将字符串中小写字母换成大写字母

 

 

三、sscanf和sprintf

  格式:

    sscanf(s,"%d",&N);  将字符串s转换成数字N;

    sprintf(s,"%d",N);    将整数N转化成字符串:

  

四、string类型的操作

见信息学奥赛一本通训练指导教程P128andP131

 

 

 

  

 

 

        

 

 

 

 

 

  

posted @ 2019-01-31 18:50  darrrr  阅读(296)  评论(0编辑  收藏  举报