紫书Unit3.字符数组

char

c语言中字符型关键字用char表示,实际储存的是字符的 ascll码。

字符串是以‘\0’结尾。

同时,字符常量可以用单引号表示,'a',在语法上可以将字符当作int使用,`'a'+1会输出98;

 

字符读入与输出

1.getchar , cin , scanf 可读入一个字符。

char c;
c = getchar(); // 可以通过多次getchar挨个读入字符串中的每一个字符。
scanf ("%c",&c);

 

2. cin,scanf 可读入一个不含空格的字符串。

char s[10010];
cin>>s;
scanf("%d",s);

 

//3.5题目TEX中的引号,将特定符号转化
//输入 "To be or not to be"
//注意,scanf遇到空格会停下,用getchar()读入

#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int main(void)
{
    int c,q=1;
    while ( c= getchar() != EOF) //gechar()的返回值与EOF进行比较
        if (c == '"') 
        {
            printf("%s", q ? "``" : " '' ")
            q = !q;
        }
        else printf("%c",c);
    }
    return 0;
}

 

getline读入一整行字符, 另有截止符

#include<iostream>
#include<cstring> using namespace std; int main(){ string str; //输入aa,bb,cc getline(cin,str); cout<<str<<endl;//aa,bb,cc getline(cin, str, ','); cout<<str<<endl;//aa return 0; }

 

cctype库函数

#include <cstring>

strlen(x)获取字符串x的实际长度,例如char[20],输入前四位,那么函数会得到4
 
sscanf(s,"%d",&N); // 将字符串s转换成数字N
sprintf(s,"d",N); // 将整数N转换成字符串s
 

//
#include <cctype>
isalpha(ch) // 判断是否为字母字符,是返回true
isdigit(ch) // 判断数字,是返回true

tolower(ch) // 若ch为大写字母,返回其小写,不然返回该参数
toupper(ch) // 小写转大写,不然返回该参数


 

 

 

 

 

 



posted @ 2023-10-08 20:24  MKleo  阅读(27)  评论(0)    收藏  举报