紫书Unit3.字符数组
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) // 小写转大写,不然返回该参数

浙公网安备 33010602011771号