赞
踩
注:
1.下面这些为本人大学四年所用过的处理办法, 至今为止遇到的所有编程题都能够使用。如果需要了解更多关于putchar,cin.get,cin.getline等的请自行搜索。
2.getchar相当于获取一个字符,可以实现单个字符的输入以及通过循环实现多个字符输入,本人常将getchar用在吃掉换行符,比如输入一个整数换行再输入字符的情况。
2.c++包含c,也就是c的代码在c++中能运行使用,所以可以混合使用。
一、字符(单个字符)
- #include<stdio.h>
- int main(){
- char c;
- scanf("%c",&c);
- printf("%c",c);
- return 0;
- }
- #include<bits/stdc++.h>
- using namespace std;
- int main(){
- char c;
- cin>>c;
- cout<<c;
- return 0;
- }
二、字符串(多个字符,相当于一维字符数组)
1.直接输入输出
- #include<stdio.h>
- int main(){
- char s[5];//使用字符数组
- scanf("%s",&s);//scanf("%s",s);不加取地址也可以
- //scanf("%[^\n]",s); 通用
- //如果s有空格输入,则不能使用scanf("%s",&s);,scanf("%s",&s);遇到空格便会结束
- printf("%s",s);//如果使用第二种输出有格式错误,尝试循环输出或将char s[5]={0},类似初始化;
- return 0;
- }
- #include<stdio.h>
- int main(){
- char s[5];
- gets(s);
- puts(s);
- return 0;
- }
- #include<bits/stdc++.h>
- using namespace std;
- int main(){
- string s;//c++的string
- cin>>s;
- //getline(cin,s);通用
- //如果s有空格输入,则不能使用cin,cin遇到空格便会结束
- cout<<s;
- return 0;
- }
2.循环输入输出(还有一种是题目给出循环长度,不予赘述)
- #include<stdio.h>
- int main(){
- char c;
- while(scanf("%c",&c)!=EOF){
- printf("%c",c);
- }
- return 0;
- }
- #include<bits/stdc++.h>
- using namespace std;
- int main(){
- char c;
- while(cin>>c){
- cout<<c;
- }
- return 0;
- }
3.字符串循环处理 (介绍循环结束条件)
- #include<stdio.h>
- #include<string.h>
- //需要加string.h头文件才能使用相关函数
- int main(){
- char c[5]={'1','2','3','4','5'};
- for(int i=0;i<5;i++)//这里的5不是表面上的字符数组长度,而是里面的实际长度
- //for(int i=0;i<strlen(c);i++)
- //for(int i=0;i<sizeof(c);i++)
- return 0;
- }
- #include<bits/stdc++.h>
- using namespace std;
- int main(){
- string s="12345";
- for(int i=0;i<s.size();i++)
- // for(int i=0;s[i]!='\0';i++)字符串结尾为'\0'。
- // for(int i=0;i<s.length();i++)
- return 0;
- }
三、二维字符数组和字符串数组参考二维整型数组并结合以上知识点
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。