vs如何创建c语言项目(vs2010如何创建c语言项目)

vs如何创建c语言项目(vs2010如何创建c语言项目)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> 

讯享网

1.1.1创建第一个c++程序

使用visiostudio创建第一个c++程序,这里不做安装描述,可参考其它文章。

  • 创建项目
  • 创建文件
  • 编写代码
  • 运行程序
讯享网

添加后如下所示:
在这里插入图片描述
讯享网

    1.1.2 注释

    C++ 支持单行注释和多行注释。注释中的所有字符会被 C++ 编译器忽略

     
    

    1.1.3 变量

    变量就是一个代号,程序运行时系统会自动为变量分配内存空间,于是变量就代表了 系统分配的那片内存空间。对变量的访问,就是对其代表的内存空间的访问。

    int类型变量的长度通常是4个字节,double类型变量的长度通常是8个字节。其余可以在网上查询。

    1.1.4 常量

    关键字意义define#define 常量名 常量值constconst 数据类型 常量名 = 常量值

    区别:

    编译器处理方式
    define宏是在预处理阶段展开的‌,而‌const常量是在编译运行阶段使用的。因此,define的处理时间早于const。‌
    类型和安全检查
    define宏没有类型,不做任何类型检查,仅仅是替换。
    const常量有具体的类型,在编译阶段会执行类型检查。因此,const可以提供类型安全保障。
    存储方式
    define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。
    const常量会在内存中分配,可以是堆中也可以是栈中。const定义的只读变量在程序运行过程中只有一份拷贝,而#define定义的宏常量在内存中有若干个拷贝。因此,const可以节省空间,提高执行效率,避免不必要的内存分配。
    使用场景和效果
    define宏适用于需要大量替换的场景,例如定义宏函数、宏变量等。
    const常量适用于需要类型安全和内存管理的场景,例如定义全局常量、类成员变量等。const可以提供更好的类型检查和内存管理。

    1.1.5关键字

    在C++中,关键字是用于特定目的的预定义保留的标识符。C++有几个关键字,包括auto、break、case、char、class、const、continue、default、do、double、else、enum、explicit、export、extern、false、float、for、friend、goto、if、inline、int、long、mutable、namespace、new、noexcept、nullptr、operator、private、protected、public、register、reinterpret_cast、return、short、signed、sizeof、static、static_assert、static_cast、struct、switch、template、this、thread_local、throw、true、try、typedef、typeid、typename、union、unsigned、using、virtual、void、volatile、wchart、while和constexpr。

    关键字不能用作变量名、函数名或任何其他标识符名称。

    1.1.6标识符命名规则

    在C++中,标识符(Identifier)是用户自定义的名字,用于程序中的变量、函数、类等命名。C++的标识符命名规则如下:

    1. 标识符必须以字母或下划线()开头。
    2. 标识符可以包含字母、数字或下划线。
    3. 标识符不能包含任何特殊字符或空格,并且不能以数字开头。
    4. 标识符区分大小写,即大写字母和小写字母被认为是不同的字符。
    5. 不能使用C++的关键字作为标识符。

    数据类型存在的意义:给变量分配合适的内存空间。
    C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存。

    数据类型占用内存取值范围short(短整型)2 字节(-2^15 ~ 2^15-1)int(整型)4 字节(-2^31 ~ 2^31-1)long(长整形)4 字节(-2^31 ~ 2^31-1)long long(长长整形)8 字节(-2^63 ~ 2^63-1)float4 字节7位有效数字char1 字节ASCII码范围(0~127)bool1 字节0或1

    注:字、‌字节、‌位之间的关系可以总结如下:‌

    位(‌bit)‌:位是计算机内部数据储存的最小单位,每一个位存储一个1位的二进制码,即0或1。位是计算机数据存储的基本单位。

    字节(Byte)‌:一个字节由8个相邻的二进制位组成。字节是计算机技术中最小的可操作存储单位,也是计算机信息中用于描述存储容量和传输容量的一种计量单位。国际电工委员会(IEC)和电气与电子工程师协会(IEEE)将字节的单位符号指定为大写字母B。
    换算关系:1字节 = 8位。

    字(word)‌:字通常为16、32或64个位组成,也即2、4或8个字节。字的长度(字长)因计算机系统的不同而有所差异。

    换算关系:1字 = 2字节(针对16位字长),1字 = 4字节(针对32位字长),1字 = 8字节(针对64位字长);同时,由于1字节 = 8位,因此1字也分别等于16位、32位或64位。

    1.2.1如何获取数据类型长度?

    sizeof关键字可以统计数据类型所占内存大小,单位字节。

    讯享网

    1.2.3 字符型说明

    注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
    注意2:单引号内只能有一个字符,不可以是字符串

    • C和C++中字符型变量只占用1个字节
    • 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元==
     
    

    ASCII 码大致由以下两部分组成:

    • ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。
    • ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。

    转义字符:
    表示一些不能显示出来的ASCII字符
    : 换行符 (LF),将当前位置移到下一行开头
    : 水平制表符 (HT),在当前位置插入一个制表符
    : 反斜杠本身
    " : 双引号
    ’ : 单引号
    0 : 空字符 (NULL),字符串的终结符
    ddd : 1到3位的八进制数所代表的字符,其中ddd是八进制数
    xhh : 1到2位的十六进制数所代表的字符,其中hh是十六进制数

    算术运算符术语示例结果+正号+11-负号-1-1+加1+12-减2-11*乘2*36/除6/23%取模(取余)10 % 31++前置递增a=2; b=++a;a=3; b=3;++后置递增a=2; b=++a;a=3; b=2;-前置递减a=2; b=–a;a=1; b=1;-后置递减a=2; b=–a;a=1; b=2; 注:在除法运算中,除数不能为0 只有整型变量可以进行取模运算
    赋值运算符术语示例结果=赋值a=2; b=3;a=2; b=3;+=加等于a=0; a+=2;a=2;-=减等于a=0; a+=2;a=2;*=乘等于a=5; a-=3;a=4;/=除等于a=4; a/=2;a=2;%=模等于a=3; a%2;a=1; 注:在除法运算中,除数不能为0 只有整型变量可以进行取模运算
    逻辑运算符术语示例结果!非!a如果a为假,则!a为真; 如果a为真,则!a为假。&&与a && b如果a和b都为真,则结果为真,否则为假。或

    C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构

    • 顺序结构:程序按顺序执行,不发生跳转
    • 选择结构:依据条件是否满足,有选择的执行相应功能
    • 循环结构:依据条件是否满足,循环多次执行某段代码

    1.4.1选择结构

    if语句

    讯享网
     
    
    讯享网
     
    

    switch语句

    switch(表达式)

    讯享网

    1.4.2循环结构

    - while循环语句

     
    

    - do…while循环语句

    讯享网

    - for循环语句

     
    

    1.4.3跳转语句

    break语句
    作用: 用于跳出选择结构或者循环结构

    break使用的时机:

    • 出现在switch条件语句中,作用是终止case并跳出switch
    • 出现在循环语句中,作用是跳出当前的循环语句
    • 出现在嵌套循环中,跳出最近的内层循环语句

    continue语句
    作用在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环

    注:continue并没有使整个循环终止,而break会跳出循环

    goto语句
    作用在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环

    1.5.1一维数组

    一维数组定义的三种方式:

    讯享网

    1.5.2二维数组

    二维数组定义的四种方式:

     
    

    作用:将一段经常使用的代码封装起来,减少重复代码
    一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。

    语法
    下面展示一些 。

    讯享网

    指针存在的意义
    高效管理内存、提供灵活的数据结构操作。

    1.动态内存管理:指针允许程序在运行时动态地分配和释放内存,这对于处理大小未知的数据(如数组、链表等)非常重要。通过new和delete,程序可以根据需求申请和释放内存,有效利用系统资源。
    2.实现一些高效的数据结构:指针是实现复杂数据结构(如链表、树、图等)的基础。它们允许数据元素之间通过地址直接连接,从而实现灵活的插入和删除操作,这些操作在数组中通常较为低效。
    3.访问和修改数据:指针使得可以直接访问内存中的数据,通过指针可以方便地读取和修改数据,特别是在处理结构体和类的成员时。
    4.资源管理:指针提供了对系统资源(如文件、网络连接等)的灵活管理。通过指针,可以实现对资源的共享和引用计数,帮助避免资源泄漏。

    指针机制

    • 每个变量在内存中都有一个唯一的地址。指针存储的是这个地址,而不是变量的值。这使得指针能够直接访问和操作内存中的数据。指针的类型决定了指针所指向的数据的类型。在C++中,指针类型与所指向的变量类型匹配,以便正确地进行内存访问和操作。例如,int*指针表示它指向一个整型变量,编译器能够根据类型信息进行适当的解引用。
    • new关键字,可以在堆内存中动态分配内存。分配的内存地址通过指针返回,程序可以利用这个指针来访问和修改这块内存。通过delete关键字,可以释放这块内存,避免内存泄漏。
    • 指针支持算术运算,例如自增和自减。指针存储的是地址,增加或减少指针的值会移动到下一个或前一个相同类型的数据位置。这在处理数组时特别有用。

    1.7.1指针的定义和基本操作

    指针的定义使用*符号,表示指针类型。你可以通过&运算符获取变量的地址。

     
    

    int*的作用是声明一个指向整型(int)的指针,p是指针变量,&是取地址符.

    通过指针,可以访问和修改指针指向的值。使用*运算符可以解引用指针,从而访问它所指向的变量。

    int p中的号用于声明一个指针类型,p = 20中的号是解引用操作,用来解引用指针,获取指针所指向地址的内容。

    所有指针类型在32位操作系统下是4个字节。在64位操作系统下,是8个字节。

    1.7.2动态内存分配

    指针常用于动态内存分配,通过new关键字申请内存,使用delete释放内存。

    讯享网

    1.7.3指针与函数

    指针可以作为函数参数,允许函数修改外部变量的值。这被称为“按引用传递”。

    1.7.4指针数组和数组指针

    指针数组是一个数组,其每个元素都是指针;而数组指针是指向数组的指针。

     
    

    数组指针是一个指向整个数组的指针。数组指针与指针数组的不同在于它是指向数组本身,而不是数组中的每个元素。

    讯享网

    1.7.5指向指针的指针(二级指针)

    定义指向指针的指针,这在多级指针操作中很有用。

    • 一级指针:是一个指针变量,指向一个普通变量,并保存该普通变量的地址;
    • 二级指针:是一个指针变量,指向一个一级指针,并保存该一级指针的地址;

    1.7.6空指针和野指针

    空指针:指针变量指向内存中编号为0的空间(初始化指针变量),空指针指向的内存是不可以访问的。

     
    

    野指针:指针变量指向非法的内存空间

    讯享网

    const修饰指针有三种情况

    • const修饰指针 — 常量指针
      const修饰的是指针,指针指向可以改,指针指向的值不可以更改
    • const修饰常量 — 指针常量
      const修饰的是常量,指针指向不可以改,指针指向的值可以更改
    • const即修饰指针,又修饰常量

    结构体属于用户自定义的数据类型,允许用户存储不同的数据类型
    语法:struct 结构体名 { 结构体成员列表 };

    • struct 结构体名 变量名
    • struct 结构体名 变量名 = { 成员1值 , 成员2值…}
    • 定义结构体时顺便创建变量
      //结构体定义
      struct student
      {
      //成员列表
      string name; //姓名
      int age; //年龄
      int score; //分数
      }stu3; //结构体变量创建方式3
     
    

    结构体数组
    语法:struct 结构体名 数组名[元素个数] = { {} , {} , … {} }

    小讯
    上一篇 2025-04-14 18:50
    下一篇 2025-05-04 17:43

    相关推荐

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
    如需转载请保留出处:https://51itzy.com/kjqy/154614.html