【Linux C++ 系列 】02 C++基本语法
1 数据类型
现实世界中的数据,有不同的类型,比如有的数据是文本类型,有的数据类型是数值,而有的类型是布尔类型的。作为一门编程语言,C++支持多种数据类型,大致分为如下几类:
01)基本数据类型: 内置可直接使用的数据类型,包含Integer, Character, Boolean, Floating Point, Double Floating Point, Void, and Wide Character
02)派生数据类型:从基本数据类型派生的类型,包含 function, array, pointer 和 reference
03)用户自定义类型:包含 class, structure, union, enumeration 和Typedef
选用合适的数据类型对现实世界问题进行抽象,一方面可以降低内存占用,另一方面也可以让程序更加的稳定和获得良好的性能。
#include <iostream>
using namespace std;
int main()
{
int a = 7 ;
cout<<"sizeof(a) = " << sizeof(a) <<endl;
float f1 = 3.14 ;
cout<<"sizeof(f1) = " << sizeof(f1) <<endl;
double d1 = 2.5 ;
cout<<"sizeof(d1) = " << sizeof(d1) <<endl;
char k = 'E' ;
cout<<"sizeof(k) = " << sizeof(k) <<endl;
bool isOk = true ;
cout<<"sizeof(isOk) = " << sizeof(isOk) <<endl;
string msg = "Hello Msg" ;
cout<<"sizeof(msg) = " << sizeof(msg) <<endl;
unsigned int ui = 99;
cout<<"sizeof(ui) = " << sizeof(ui) <<endl;
long long int lli = 99;
cout<<"sizeof(lli) = " << sizeof(lli) <<endl;
long double ld = 7.89;
cout<<"sizeof(ld) = " << sizeof(ld) <<endl;
return 0;
}
执行如下命令进行编译:
g++ demo02.cpp -o demo02
./demo02
输出信息如下图所示:
root@ubuntu:/home/jack/wmsoft/mycpp# g++ demo02.cpp -o demo02
root@ubuntu:/home/jack/wmsoft/mycpp# ./demo02
sizeof(a) = 4
sizeof(f1) = 4
sizeof(d1) = 8
sizeof(k) = 1
sizeof(isOk) = 1
sizeof(msg) = 32
sizeof(ui) = 4
sizeof(lli) = 8
sizeof(ld) = 16
root@ubuntu:/home/jack/wmsoft/mycpp#
从上图可知,不同数据类型的长度是不同的。在C++中,整型还细分为 : short int ; unsigned short int ; unsigned int ; int ; long int ; unsigned long int ; long long int 和 unsigned long long int 。
2 条件语句
下面给出C++基本的条件判断语句,其中包含 if..else... 条件判断和 for...循环语句,下面给出具体的示例:
#include <iostream>
using namespace std;
int main()
{
const float PI = 3.14 ;
cout << " PI = " << PI << endl;
int a = 2 ;
int b = 7 ;
if ( a < b ) {
cout << " a < b " << endl;
}else{
cout << " a >= b " << endl;
}
int s = 0 ;
for (int i = 0; i <= 100; i++) {
s += i ;
}
cout << " sum(1..100) = " << s << endl;
int idx = 100 ;
s = 0 ;
while ( idx > 0 ){
s += idx ;
idx -= 1 ;
}
cout << " s = " << s << endl;
return 0;
}
执行如下命令进行编译:
g++ demo03.cpp -o demo03
./demo03
输出信息如下图所示:
root@ubuntu:/home/jack/wmsoft/mycpp# g++ demo03.cpp -o demo03
root@ubuntu:/home/jack/wmsoft/mycpp# ./demo03
PI = 3.14
a < b
sum(1..100) = 5050
s = 5050
root@ubuntu:/home/jack/wmsoft/mycpp#
3 函数和变量作用域
C++语言中的变量和其他语言类似,也有全局变量和局部变量,同时也有静态变量。下面给出函数和变量作用域的基本示例:
#include <iostream>
using namespace std;
int a = 7 ;
int sum(int a, int b);
void print_a (){
cout << " a = " << a << endl;
}
int main()
{
int a = 2 ;
int b = 5 ;
int c = sum(a,b);
cout << " sum(a,b) = " << c << endl;
cout << " a = " << a << endl;
print_a();
return 0;
}
int sum(int a, int b){
return a + b ;
}
执行如下命令进行编译:
g++ demo04.cpp -o demo04
./demo04
输出信息如下图所示:
root@ubuntu:/home/jack/wmsoft/mycpp# g++ demo04.cpp -o demo04
root@ubuntu:/home/jack/wmsoft/mycpp# ./demo04
sum(a,b) = 7
a = 2
a = 7
root@ubuntu:/home/jack/wmsoft/mycpp#
从输出结果可知,变量 int a = 7 在函数外定义,是全局变量,而在函数main内定义的 int a = 2 是局部变量。在C++语言中,函数需要在调用前,需要先声明,这也是头文件需要的原因。如果将 int sum(int a ,int b);进行注释后,再进行编译,则会报错:
- 点赞
- 收藏
- 关注作者
评论(0)