#include<iostream>
using namespace std;
int main()
{
cout << "Hello world!" << "\n";
return 0;
}
结果
Hello world!
2、
#include<iostream>
#include<string>
using namespace std;
extern int a, b;
extern int c;
extern float f;
int main()
{
//定义变量
int a, b;
int c;
float f;
//实际初始化
a = 10;
b = 20;
c=a+b;
cout << c << endl;
f = 70.0/3.0;
cout << f << endl;
return 0;
}
结果:
30
23.3333
3、
#include<iostream>
using namespace std;
#define LENGTH 10
#define WIDTH 5
//#define NEWLINE '\n'
int main()
{
int area;
area = LENGTH * WIDTH;
cout << area;
// cout << NEWLINE;
return 0;
}
结果:
50
3、常量定义demo2
int main()
{
const int LENGTH = 10;
const int WIDTH = 5;
int area;
area = LENGTH * WIDTH;
cout << area;
// cout << NEWLINE;
return 0;
}
结果:
50
4、static存储类用法
void func(void);
static int count = 10;
int main()
{
while(count--)
{
func();
}
return 0;
}
void func(void)
{
static int i = 5;
i++;
std::cout << "变量i为" << i;
std::cout << ",变量count为" << count << std::endl;
}
结果:
变量i为6,变量count为9
变量i为7,变量count为8
变量i为8,变量count为7
变量i为9,变量count为6
变量i为10,变量count为5
变量i为11,变量count为4
变量i为12,变量count为3
变量i为13,变量count为2
变量i为14,变量count为1
变量i为15,变量count为0
static int i = 5;
改为
int i = 5;
结果:
变量i为6,变量count为9
变量i为6,变量count为8
变量i为6,变量count为7
变量i为6,变量count为6
变量i为6,变量count为5
变量i为6,变量count为4
变量i为6,变量count为3
变量i为6,变量count为2
变量i为6,变量count为1
变量i为6,变量count为0
4、extern存储类
main.cpp
#include <iostream>
int count;
extern void write_extern();
int main()
{
count = 5;
write_extern();
}
support.cpp
#include <iostream>
extern int count;
void write_extern(void)
{
std::cout << "Count is" << count << std::endl;
}
运行:
$ g++ main.cpp support.cpp -0 write
$ ./write
结果:
Count is 5
5、循环
while语句
int main()
{
int a = 10;
while( a < 20 )
{
cout << a << endl;
a++;
}
}
结果:
10
11
12
13
14
15
16
17
18
19
for语句(基于范围的)
int my_array[5] = {1, 2, 3, 4, 5}; // 每个数组元素乘于 2
for (int &x : my_array)
{
x *= 2;
cout << x << endl;
} // auto 类型也是 C++11 新标准中的,用来自动获取变量的类型 for (auto &x : my_array) { x *= 2; cout << x << endl; }
结果:
/tmp/381229462/main.cpp:29:1: error: expected unqualified-id
for (int &x : my_array)
^
1 error generated.
exit status 1
原因:
程序运行是从main函数入口执行的,把程序语句放在全局空间里不被执行。要放在某个函数里或宏里等等
rang for 遍历字符串,将小写变成大写
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
//string str("guo zehui");
string str = "guozehui";
int main()
{
for (auto &c : str)
{
c = toupper(c);
}
cout << str << endl;
}
结果:
GUOZEHUI
#include <cctype>的函数
6、生成随机数
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
int i,j;
srand( (unsigned)time( NULL ));
for (i = 0; i < 10; i++)
{
j=rand();
cout << j << endl;
}
}
结果:
1338961599
1566172925
1291431620
1754761110
805075681
329934179
1769264811
1209019267
1283590728
579234732
先调用srand()函数,再使用rand()返回随机数。
7、class类的定义
#include <iostream>
using namespace std;
class Box
{
public:
double length;
double breadth;
double heigth;
};
int main()
{
Box box1;
Box box2;
double volume = 0.5;
box1.length = 1;
box1.breadth = 2;
box1.heigth = 3;
box2.length = 4;
box2.breadth = 5;
box2.heigth = 6;
volume = box1.length*box1.breadth*box1.heigth;
cout << volume << endl;
}
结果:
6
class定义成员函数
#include <iostream>
using namespace std;
class Box
{
public:
double length;
double breadth;
double heigth;
double getVolume(void)
{
return length*breadth*heigth;
}
void setLength(double len)
{
length = len;
}
void setBreadth(double bre)
{
breadth = bre;
}
void setHeigth(double hei)
{
heigth = hei;
}
};
int main()
{
Box box1;
Box box2;
double volume = 0.5;
box1.setLength(1.0);
box1.setBreadth(2.0);
box1.setHeigth(3.0);
volume = box1.getVolume();
cout << volume << endl;
}
结果:
6
疑点:
1、explicit构造函数
2、string str ("guozehui");跟string str = "guozehui";区别
C++中的string str问题.
string是个类,string str,是定义一个名叫str的字符串对象。 str内部保存着字符串的内容,通过str.c_str()可以获取这个字符串的首地址。 string str = "ABC",这也不是将str赋值为"ABC"的首地址,而是使用"ABC"为值来初始化一个string类。在字符串变量中存放的是字符串的指针(即字符串的地址)。在vc++6.0环境下,string变量在内存中占4个字节,指针变量在内存中也是占4个字节,它们都用于存放变量的首地址。
字符串的首地址不是字符串的第一个字符!字符串的首地址是字符串的第一个字符的地址,这第一个字符的地址的内容才是这个字符串的第一个字符。
4、函数定义中return_type,当无返回值时,用void
包含一个整型和一个指针数组
形式:
int main(int argc, char* argv[])
6、&x,引用调用,将引用的地址复制给形式参数,修改形参会影响实际参数。
7、ctime
#include <ctime> 包含有什么函数??
定义time_t型t变量
time_t t;
7、定义静态常量
C++中如何在类中定义静态const的string?
只有静态整数(注意,不仅仅是整型)常量可以在类中声明并初始化,其他的都必须在类外初始化。8、
关于C++的class中的public,protected,private;
要给“别人”使用的变量和函数就用public 只给自己使用的变量和函数就用private protected。。。这个只能说概念了。。。就是想要允许他的子类直接访问,就用protected
8、类::成员(参数)
eg:Box::get(double len);
9、#include <>与#include ""区别
include <>引用的是编译器的类库路径里面的头文件。
#include ""引用的是程序目录的相对路径中的头文件。
#include< > 和 #include” ” 的区别
10、.hpp(Header Plus Plus)c++程序头文件格式