c++基本语法

本文详细介绍了C++的基本语法,包括基本输入输出操作、枚举值的使用、auto和decltype关键字的功能、函数的定义和调用、引用的概念、内联函数的实现、带默认参数值的函数以及C++11中constexpr函数的运用。同时,还讲解了构造函数及其初始化的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//基本输入输出

#include <iostream>

// 引入操作符头文件
#include <iomanip>

//使用标准名称空间中的变量名,不引入时,得这么写:std::cout << std::hex<< 3.4<< std::endl;
using namespace std;

int main()
{

    //变量赋值的方式
    int a(0);
    int b = 1;
    int c = {0};
    int d{0};
   

    //无符号整数,其值大于0,小于2^8或2^16
    unsigned int e = 100;
    unsigned int f = 50;

    cout << (e - f) <<'\n'; //输出完换行
    cout << (f - e) <<'\n';  //结果是一个很大的数
    

// <<表示将内容插入到输出设备
    cout << "Hello World\n";
    cout << a;
    cout << b;
    cout << c;
    cout << d << '\n';
    
    int g;

// >> 表示提取输入设备中的输入值值到变量g中
    cin >> g;
    cout << g << endl;
    
    //设置域宽和精度
    cout << setw(3) << setprecision(3) << 3.1415926;
   return 0;
}

// 枚举值:

#include <iostream>
#include <iomanip>
using namespace std;
using dou = double;   //指定标识符dou代表double类型
typedef float flo;    //指定标识符flo代表float类型
//enum  枚举类型名  {变量值列表};默认情况下,SUN=0,MON=1,...,SAT=6,称为不限定作用域的枚举类型
enum Weekday {SUN, MON, TUE, WED, THU, FRI, SAT};
int main()
{
    dou e = 12.0;
    cout << e <<endl;
    //声明一个枚举类型的变量week
    Weekday week;
    //定义一个枚举类型的变量w,并给他赋值
    enum Weekday s = SUN;
    cout << s <<endl;
    for(int count = SUN;count <= SAT; count ++ ){
        week = Weekday(count);  // 将整数值赋值给枚举类型时需要强制类型转换
        if (week == s)
            cout << "今天是周日,其枚举值为:" << week <<endl;
        else{
            cout << "今天不是周日" << endl;
        }
    }
    
   return 0;
}

//  auto和decltype关键字

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    //编译器自动进行类型推断
    int a = 0;
    int b(1);
    auto c = a +b;
    cout << c <<endl;
    
    double i = 5;
    
    //decltype关键字,定义变量j的初始值为2,且类型与i相同。
    decltype(i) j = 2;
    cout << j;
    
   return 0;
}

// 函数的定义与使用

#include <iostream>
using namespace std;

int main()
{
   //先进行调用前的原型声明
   double square(double x, int n);
   square(2,5);
   return 0;
}
//求x的n次方的函数
double square(double x,int n){
    double result = 1.0;
    while(n--){
        result *= x;
    }
    cout << result;
    return result;
}

//引用

#include <iostream>
using namespace std;

int main()
{
   //先进行调用前的原型声明
   double square(double a, double b);
   double x = 2,y=5; 
   swap(x, y);
    cout << x << ", " << y;
   return 0;
}


//使用引用可以实现双向传递
void swap(double & a,int  & b){
    double t = a;
    a = b;
    b = t;
}

//内联函数
 

#include <iostream>
using namespace std;

const double PI = 3.14159265358979;

//内联函数
inline double Area(double radius){
    return PI * radius * radius;
}

int main()
{
    double r = 5.0;
    //建议编译器将PI * radius * radius直接替换到这里
    double result = Area(r);
    cout << result;
    return 0;
}

//带默认参数值的函数

#include <iostream>
using namespace std;

//带默认参数的函数
int add(int x = 5, int y = 6){
    return x + y;
}

int main()
{
    cout << add(10,20) << endl;
    cout << add(10) << endl;
    cout << add() << endl;
    return 0;
}

// C++11中的constexpr函数

#include <iostream>
using namespace std;

//constexpr函数
constexpr int get_size(){
    return 20;
}

int main()
{
    constexpr int foo = get_size();
    cout << foo << endl;
    return 0;
}

// 构造函数及其初始化

#include <iostream>
using namespace std;

class Clock{
    //这里的a是私有的
    double a = 5.0;
    public:
        //void setTime(int newH, int newM, int newS);
        void showTime(){
            cout << hour <<endl;
            cout << minute <<endl;
            cout << second <<endl;
        };
        //int b = 10;
        //定义构造函数
        Clock(int newH, int mewM, int newS){
            hour = newH;
            minute = mewM;
            second = newS;
        };
    //类的私有成员,如果构造函数没有进行初始化,则使用这里的类内初始值。
    private:
        int hour = 0, minute = 0, second = 0;
};

int main()
{
    // 定义对象,并调用构造函数进行初始化
    Clock myClock (1 ,2, 5);
    // cout << myClock.b << endl;
    myClock.showTime();
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值