1、
#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);