当前位置:网站首页 > Go语言开发 > 正文

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



1.1.1创建第一个c++程序

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

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

    1.1.2 注释

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

     
      

    1.1.3 变量

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

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

    1.1.4 常量

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

    区别:

    编译器处理方式
    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、wchar_t、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) float 4 字节 7位有效数字 char 1 字节 ASCII码范围(0~127) bool 1 字节 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是十六进制数

























    算术运算符 术语 示例 结果 + 正号 +1 1 - 负号 -1 -1 + 加 1+1 2 - 减 2-1 1 * 乘 2*3 6 / 除 6/2 3 % 取模(取余) 10 % 3 1 ++ 前置递增 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 结构体名 变量名 = { 成员1值 , 成员2值…}
    • 定义结构体时顺便创建变量
      //结构体定义
      struct student
      {
      //成员列表
      string name; //姓名
      int age; //年龄
      int score; //分数
      }stu3; //结构体变量创建方式3






















     
      

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

    到此这篇vs如何创建c语言项目(vs2010如何创建c语言项目)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

    版权声明


    相关文章:

  • 苹果开发者账号出售多少钱(苹果开发者账号出售多少钱一个月)2026-04-21 22:09:10
  • 苹果开发者账号过期后app 能用吗(苹果开发者账号过期后app 能用吗知乎)2026-04-21 22:09:10
  • argparse是干什么的(argos是什么意思)2026-04-21 22:09:10
  • 苹果开发者账号付款方式(苹果开发者账号付款方式怎么改)2026-04-21 22:09:10
  • 单片机程序100例汇编语言(单片机汇编语言入门教程)2026-04-21 22:09:10
  • 现在学编程学什么语言(现在学编程学什么语言好)2026-04-21 22:09:10
  • 程序员入门学什么语言(程序员学哪种语言好)2026-04-21 22:09:10
  • vs怎样创建一个新项目c语言(vs怎么创建一个c语言项目)2026-04-21 22:09:10
  • linux 微信小程序开发工具(ubuntu微信小程序开发)2026-04-21 22:09:10
  • 编程入门先学什么语言(初学编程先学什么语言)2026-04-21 22:09:10
  • 全屏图片