c++基础

1.cout里面输出printf时,用引号不行的话,用char(34)是一样的,代表 “ 单引号。

 #include<bits/stdc++.h>
 using namespace std;
 const double IP=3.14;
 int main()
 {
     string s={"hello"};
     for(int i=0;i<s.size();i++)
     cout<<"printf(\""<<s[i]<<"\");"<<endl;
     return 0;
 }
 ********
 printf("h");
 printf("e");
 printf("l");
 printf("l");
 printf("o");

2.字符转换:cout<<char(c-32)<<endl;

3.输入输出混用:

由于cin自带缓冲区同步,和c语言的scanf printf缓存不一样

混用以后:顺序错乱,换行残留,读空,乱输入

 #include<bits/stdc++.h>
 using namespace std;
 int main()
 {
 //万能两行,接触cin和c语言输入输出隔阂
 ios::sync_with_stdio(false);
 cin.tie(0);
 //后面cin scanf printf 随便混用
 int a;
 cin>>a;
 printf("%d",a);
 return 0;
 }

注意:getline绝对不能和cin,scanf混用,一定会读到空字符,清除换行才能用

另:getline清空换行用cin.ignore()

4.cin的作用

cin遇见空格,回车换行,制表符\t全部直接停止,会自动跳过,开头不管有多少空格,换行,空白字符全部自动忽略,不读取(scanf(“%s”)和cin一样)

getline碰到换行\n才停止,不会跳过空格,不会自动省略前面的回车

5.向上取整:s/v ==> (s+v-1)/v

6.c++的引号和c的引号

常见错误:c语言中只能用字符数组char s[100],c++中用数组+string类 string s;

string只能用“ ”,而字符用‘ ’

更多推荐