CMakeLists.txt常用语法
cd build目录下
cmake -G "Xcode" ..
cd build目录下
cmake -G "Xcode" ..
1.cin.getline()此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。
2.strlen()获取字符数组长度
3.ASCII A:65 a:97
2047:【例5.16】过滤空格
过滤多余的空格。一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。
#include <iostream>
#include <cstring>
using namespace std;
char s[202];
char s2[202];
int main()
{
cin.getline(s,200);
int len=strlen(s);
s2[0]=s[0];
int n2=1;
for(int n=1;n<len;n++){
if(!(s[n]==' '&&s[n-1]==' ')){
s2[n2++]=s[n];
}
}
cout<<s2;
return 0;
}
对给定的n(1≤n≤20)个国家名(国家名字长度不超过20),按其字母的顺序输出。
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
#include<string>
using std::string;
#include<algorithm>
using std::swap;
int main()
{
int n = 0;
string a[20];
cin >> n;
for (int i = 0; i < n; ++i)
{
cin >> a[i];
}
for (int i = 0; i < n - 1; ++i)
{
for (int j = 0; j < n - i - 1; ++j)
{
if (a[j] > a[j + 1])
{
//直接比较大小就是比较首字母的ascii码
swap(a[j], a[j + 1]);
}
}
}
for (int i = 0; i < n; ++i)
{
cout << a[i]<<endl;
}
}
什么是引用:就是给变量取个别名
例子:
#include <iostream>
using namespace std;
int main(void){
int a=10;
int &b=a;//取别名
b=20;
cout <<b<<endl;
return 0;
}
#include <iostream>
using namespace std;
typedef struct {
int x;
int y;
} Coor;
int main(void){
Coor c1;
Coor &c=c1;
c.x=10;
c.y=20;
cout <<c.x<<endl;
cout <<c.y<<endl;
return 0;
}
类型 *&指针引用名=指针;
#include <iostream>
using namespace std;
int main(void){
int a=10;
int *p=&a;
int *&q=p;
*q=20;
cout <<a<<endl;
return 0;
}
#include <iostream>
using namespace std;
void fun(int &a,int &b){
int c=0;
c=a;
a=b;
b=c;
}
int main(void){
int x=10,y=20;
fun(x, y);
cout <<x<<endl;
cout <<y<<endl;
return 0;
}
const叫常量限定符,用来限定特定的变量,以通知编译器改变量是不可修改的。习惯性的使用const,可以避免在函数中对某些不应修改的变量造成可能的改动。
1.const修饰基本数据类型;
(1)const修饰一般常量
(2)const修饰指针变量*及引用变量&
2.const应用到函数中;
(1)作为参数的const修饰符;
(2)作为函数返回值的const修饰符;
3.const在类中的用法
4.const修饰类对象,定义常量对象
C++是一种静态类型的,编译式,通用的,大小敏感,不规则的编程语言,支持过程化编程,面向对象编程合范型编程
面向对象的四大特性:
封装
隐藏
继承
多态
C++程序可以定义为对象的集合,这些对象通过调用彼此方法进行交互
#include <iostream>
using namespace std;
// main() 是程序开始执行的地方
int main()
{
cout << "Hello World"; // 输出 Hello World
return 0;
}
const type variable=value;
#include <iostream>
using namespace std;
namespace A {
int x=1;
void fun(){
cout <<"A"<<endl;
}
}
namespace B {
int x=2;
void fun(){
cout <<"B"<<endl;
}
void fun2(){
cout <<"2B"<<endl;
}
}
using namespace B;
int main(void){
cout <<A::x<<endl;
fun();
fun2();
return 0;
}
#include <iostream>
using namespace std;
int getMaxOrMin(int *arr,int count,bool isMax){
int temp=arr[0];
for (int n=1; n<count; n++) {
if (isMax) {
if(temp<arr[n])
temp=arr[n];
}else{
if(temp>arr[n])
temp=arr[n];
}
}
return temp;
}
int main(void){
int arr[4]={1,2,3,4};
int max=getMaxOrMin(arr, 4, true);
cout <<max<<endl;
return 0;
}