第一节 变量

1. Hello World

复制代码
#include <iostream>

int main()
{

  std::cout << "Hello, World!" << std::endl;

  return 0;    

}
复制代码

2. 符号

C++中的符号:符号是C++语言中最小的片段,类似于语言中的单词,一般语言中单词分为名词、动词、形容词、副词,他们的作用是主语、谓语、宾语、定语、状语、补语。

C++中的部分符号与作用如下表所示:

片段类型(单词的作用) 描述 关键字(单词)
关键字 C++已经定好的特定关键字,都具有特殊意义,保存在编译器中。 int、double、for、while、if、#indclude
标识符 用户自定义的数据名称,这些数据的值在使用过程中会发生改变。 cout、std、x、MyFunction
常量 固定的值,可直接用在代码中。 “Hello World”、2、‘c’
操作符 数学或逻辑字符。 +、-、&&、%、->
分隔符 用来对代码进行结构化操作的符号。 {}、()、;、,
格式化符号 对于上述内容进行间隔的空白或描述,会被编译器忽略。 空格、Tab、注释

3. 程序解释

复制代码
////”符号表示单行注释,它是格式化符号之一,用来帮助解释代码
// 注释中的内容,不会被编译器进行编译,只是用来阅读


// 以”#“开始的行,被称为预编译指令
// #include <...>指令表示<...>中的代码文件,不在当前文件中
// iostream是C++官方的标准库(标准代码)之一
// 这个库中的代码用来实现在屏幕上进行文字的输入(input)与输出(output)流(stream)控制
#include <iostream>

// int main() { ... } 表示一个函数
// 程序是由许多函数构成的,每一个函数用来实现一些功能
// 比如有的函数用来计算数据,有的函数用来保存数据,有的函数用来输出数据
// 任意和一个程序,都有一个起始函数,被称为主函数,也就是默认执行的第一个函数
// C++中的主函数就是名字为main的函数
// int main()行称为函数的声明,用来告诉C++编译器,这个函数的基本信息。
// { ... }中的是函数的定义,是函数实现功能的具体代码
// 注意:声明和定义可以不在一起
int main()
{

    // std::cout << 表示将后续的内容输出到屏幕上
    // C++中,标识符是用户自定义的内容,因此不同人可能使用相同的标识符
   // 命名空间就是为了区分当前标识符是那个用户进行定义的,命名空间与标识符之间使用”::”进行链接
   // std是C++标准命名空间,cout << 表示将后续内容输出,<< endl表示输出换行符
   // 除了使用命名空间::标识符这种完整的写法,也可以在程序起始使用using namespace指令简化代码
   // 代码片段:
   // using namespace std;
   // int main() { cout << "Hello Wolrd" << endl; }

   // "Hello, Wolrd!"是字符串常量
   // C++中单个字符使用单引号表示,'C',字符串使用双引号表示,“C”
   // 两者的区别是在内存中,单个字符的长度为1个字节,字符串的长度不定,在内存中以“/0”进行结束
   std::cout << "Hello, World!" << std::endl;

   // return的意思表示当前函数执行结束,通常return后会跟着一个返回值,用来表示函数执行后的状态
   // 本例中return 0;的意思表示程序顺利执行结束
   return 0;    

    // 注意
    // 空格用个分隔不同的关键字与标识符
    // 每一行代码都要使用分号结束
    // 每一段代码段都需要使用大括号括起来
}
复制代码

4. 数据类型

背下来

 

类型名称 描述 内存中的大小 例子
char 用来保存单个字符 1 byte 'a'、'c'、'd'
int 用来保存整数 4 bytes 4, 0, -23
bool 用来保存布尔值(True/False) 1 bytes true(1)、false(0)
float(double) 用来保存小数 8 bytes(16 bytes) 3.12323f、1.000f、-6.3f

还可以使用signed、unsigned、short、long对上述符号进行修饰,short和long分别表示对数据的在内存中的大小进行1/2缩减或翻倍

注意:以上提到的数据类型在内存中的大小都和CPU的位宽有关,64位CPU上述内容表示的大小全部翻倍。

注意:上述类型不能直接转换,比如1 / 4 如果使用int类型保存结果是0,如果使用float类型保存结果才是0.25

5. 输入输出

复制代码
#include<iostream>
using namespace std;

int main () {
    int a;
    int b;

    // cin >> 表示输入
    cin >> a;
    cin >> b;

    // cout << 表示输出
    cout << a / b;

    return 0;
}
复制代码

6. 变量

与常量(如4,5,“Hello,World”)相对应的称为变量,变量在使用过程中值会发生改变,因此需要给这些可以变化的值一个名称,比如数学中使用S表示面积、使用V表示体积。

C++中变量的名称实际上表示数据在内存中保存的地址。

声明一个变量需要提供变量的类型和变量的名称,对变量进行赋值时使用“=”,声明和赋值可以一起也可以分开。

 

复制代码
#include <iostream>
using namespace std ;

// 声明整形变量a,此时变量a还未被分配内存空间
//extern int a;

int main () {
    // 1. 变量的声明与定义
    // 声明整形变量a,此时变量a还未被分配内存空间
    // 注意:只能在文件开始时声明单独声明变量
    //extern int a;
    // 定义整型变量a,此时变量a已经被分配内存空间,但是未赋值
    int a;
    // 为变量a进行赋值
    a = 5;

    // 声明定义整型变量b,同时进行赋值
    int b = 6;

    cout << "a / b = " << a / b << endl;

    // 使用sizeof可以计算变量所占用的内存空间大小,单位为字节
    cout << "size of int a is: " << sizeof(a) << endl;

    // 2. 变量的类型,常用类型包括:int, float, double, bool, char;扩展类型为:string
    // 3. 类型之间可以进行强制转换,转换的方式为内存截取
    // 强制类型转换
    char c = 'A';
    a = (int) c;
    float f = 3.45;
    b = (int) f;
    cout << "c is : " << c << "  f is : " << f << endl;
    cout << "a is : " << a << "  b is : " << b << endl;

    // 4. 变量的数据长度
    signed int sa;
    sa = -5;
    unsigned int usa;
    usa = -5;
    cout << "signed a is : " << sa << "  unsigned a is : " << usa << endl;

    cout << "size of int: " << sizeof(int) << endl;
    // 需要注意根据不同平台,long扩展的方式是不同的
    // 标准中只是说明long int的长度大于等于int的长度
    cout << "size of long int: " << sizeof(long int) << endl;
    cout << "size of short int: " << sizeof(short int) << endl;
    cout << "size of long long int: " << sizeof(long long int) << endl;
    cout << "size of float: " << sizeof(float) << endl;
    cout << "size of double: " << sizeof(double) << endl;
    // 需要注意根据不同平台, bool类型的长度至少为1字节
    cout << "size of bool: " << sizeof(bool) << endl;
    // 需要注意根据不同平台, bool类型的长度至少为1字节
    cout << "size of char: " << sizeof(char) << endl;
    
    // 5. 其他修饰符
    // const int ca; 这种写法是错误的,const会将变量变为常量,也就是值不可修改
    // 在使用const时需要给出初值
    const float pi = 3.14;
    
    // 6. 运算符(一)
    // + - * / % ++ --
    
    return 0;
}
复制代码

 

7. 练习

复制代码
// 计算语文、数学、外语平均分
// 请使用英文命名

#include <iostream>

using namespace std;

int main()
{
    float Chinese;
    float English;
    float Math;

    cout << "请输入语文成绩: ";
    cin >> Chinese;
    cout << "请输入英语成绩: ";
    cin >> English;
    cout << "请输入数学成绩: ";
    cin >> Math;

    cout << "平均成绩为:" << (Chinese + English + Math) / 3 << endl;

    return 0;
}
复制代码
复制代码
// 零售价 = 进货价 * (1 + 加价率)
// 根据用户输入的加价率和进货价,给出零售价

#include <iostream>

using namespace std;

int main()
{
    float Rate;
    float Income;

    cout << "请输入加价率: ";
    cin >> Rate;
    cout << "进货价: ";
    cin >> Income;

    cout << "零售价为:" << Income * ( 1 + Rate) << endl;

    return 0;
}
复制代码
复制代码
// 计算加权平均分,期中0.3,实验0.5,期末0.2

#include <iostream>

using namespace std;

int main()
{
    float MidTerm;
    float FinalExem;
    float Exp;

    cout << "请输入期中成绩: ";
    cin >> MidTerm;
    cout << "请输入实验成绩: ";
    cin >> Exp;
    cout << "请输入期末成绩:";
    cin >> FinalExem;

    cout << "加权成绩: " << MidTerm * 0.3 + Exp * 0.5 + FinalExem * 0.2 << endl;

    return 0;
}
复制代码

8. 作业

作业1:根据输入,输出两个数字的和

作业2:编写程序询问用户的姓名,并回复“Hello”

posted @   庞兴庆  阅读(162)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示