C/C++语言基础

C/C++语言基础&& PAT坑点 &&数学基础&&POJ注意事项 报错解决方案 编译错误:variable-sized object may not be initialize 原因:在C/C++中,可以使用变量来定义变长数组,但不能同时进行初始化赋值,需要在之后赋值。 更正后: int size=find_suitalbe_prime(m); int hash[size]; fill(hash,hash+size,0); ... 阅读详情

语言基础

  1. 字符串类-string
  2. 常量与变量
  3. 运算符
  4. 程序和语句

  1. 字符串类-string (属于类类型)(c++中)

    引入string头文件 #include ps:头文件名不是string.h

    1.1 定义字符串
    1.2 字符串运算 复制(赋值 =) 链接(+)比较(关系运算符)
    1.3 字符串数组
    字符串数组中的元素字符串没有‘\0’这样的结束位

  2. 常量与变量

    1.什么是常量
    值不能被改变的量
    常量的类型

    数值型常量(整数、浮点数)
    字符型常量(字符常量,转义字符常量,字符串常量)
    符号常量(#define 符号常量名 常量值)
    

    2.变量
    2.1变量
    在程序运行期间值可以改变的量称为变量
    变量的命名规则:C++规定标识符只能由字母、数字和下划线组成,且只能由字母和下划线开头,大小写敏感
    不能使用关键字和保留字
    2.2常变量
    加了const关键字的变量,程序运行时值不可被改变,称之为常变量

  3. 运算符
    3.1 算术运算符

       +   -   *   /      %      ++    --
       加  减  乘  除  整除求余  自加  自减
       i++  先使用后运算
       ++i  先运算后使用
    

    3.2 关系运算符

        >   <        ==       >=         <=       != 
       大于  小于  等于  大于等于  小于等于  不等于
    

    3.3 逻辑运算符

     &&      ||       !
     逻辑与   逻辑或   逻辑非
     逻辑运算符前后两个值都是bool(C语言中必须是0和非0值)
     &&都为真才为真,只要有一个为假就为假
     ||只要有一个为真
    

    3.4 位运算符

     <<         >>        &        |          ^         ~
     按位左移   按位右移   按位与   按位或   按位异或   按位取反
    

    3.5 赋值运算符 =

     意义:将赋值运算符右边的值(包含表达式最后的运算结果)赋值给赋值运算符左边的变量
     A=1;
     赋值操作的右结合性,被赋值的每个操作数都具有相同的数据类型,那么C++允许将这多个赋值操作写在一个表达式里
     A=b=c=1;
     赋值操作具有低优先级
    

    3.6 条件运算符 ? :

     条件语句?语句1:语句2
     当条件语句为真时,执行语句一并返回最终值,当条件语句为假的时候,执行语句二并返回最终值
    

    3.7 复合赋值运算符

     +=         -=          *=        /=        %=      
     <<=      >>=       &=        ^=        |=
     使用复合赋值操作时,左操作数只计算了一次;而使用相似的长表达式时,该操作数则计算了两次,第一次作为右操作数,而第二次则用做左操作数。除非考虑可能的性能价值,这个差别不是本质性的
     a += 1;   直接对a的内存中的值+1
     a =  a+1; 先取出a中的值,然后+1,最后把得出的值放回
    

    3.8 其他运算符

     逗号运算符:,
     指针运算符:*
     引用运算符和取地址运算符:&
     求字节数运算符:sizeof
     强制类型转换运算符:(类型)或 类型()
     成员运算符:.
     域运算符: ::
     指向成员的运算符:->
     下标运算符:[]
     函数运算符:()
    
  4. 程序和语句

    • 声明语句
      声明常量、变量、常变量的语句
    • 执行语句
      > 控制语句
        1. if(){……}else{……}(判断语句)
        2. for(){……}(循环语句)
        3. while(){……}(循环语句)
        4. do{……}while(循环语句)
        5. continue; (结束本次循环语句)
        6. break (中止语句,中止switch或循环语句)
        7. switch (多分支选择语句)
        8. goto (转向语句)
        9. return (从函数返回语句
    
    
    > 函数和流对象调用语句
    > 表达式语句
    
大厂求职面试专栏之——C/C++语言基础 为方便大家查漏补缺,在阅读专栏概述和《80%以上的应届毕业生看了我的面经都拿到了心仪的大厂offer》后,可分别根据要点对应计算机网络、操作系统、数据库、编程语言C++/Python进行复习。 阅读详情

相关推荐

W5500 MACRAW模式实战:在ESP32上抓取并解析原始以太网数据包

本文详细介绍了如何在ESP32开发板上使用W5500芯片的MACRAW模式捕获和解析原始以太网数据包。通过硬件连接指南、代码实现示例和协议解析技巧,帮助开发者深入理解网络通信底层机制,实现网络嗅探和自定义协议开发等高级应用。

weixin_42520573的博客 418

【C++ 程序设计】第 1 章:C++ 语言简介

C++ 语言简介:发展简史、特点、程序结构。C 语言是 C++ 语言的前身,在进一步扩充和完善 C 语言的基础上得到了 C++ 语言, 它是 C 语言的继承,尽量兼容 C 语言,加入了面向对象的特征,C++ 语言相对于 C 语言的最根本的变化是引进了类和对象的概念。

顾三殇 —— 博客空间(软件测试) 6828

Windows防火墙服务异常修复指南:0x80070422与0x6D9报错实战处理

本文针对Windows防火墙服务异常导致的0x80070422与0x6D9报错,提供了从基础到进阶的实战修复指南。核心是通过services.msc服务管理器检查并修复Windows Firewall服务,包括设置启动类型、检查依赖服务等关键步骤。同时介绍了当基础方法失效时,如何使用命令行工具、系统文件检查器(SFC/DISM)以及排查组策略与第三方软件冲突等深度解决方案,帮助用户彻底解决防火墙服务无法启动或访问的问题。

m9n0o的博客 543

C++语言简介

C++语言的发展简史 C++是由贝尔实验室1979年在C语言的基础上开发成功的。C++兼容C语言,用C语言写的程序基本上可以不加修改地用于C++C++对C的“增强”表现在两个方面: (1)在原来面向过程的机制基础上,增强了C语言对类型的处理。 (2)增加了面向对象的机制。C++语言是一种编译式的、通用的、大小写敏感的编程语言,完全支持面向对象的开发模式。 C++语言的特点 一、基本的输入/输出 在C语言中,标准的键盘输入和屏幕输出功能分别使用scanf()和printf(...

LYQ 3万+

干法刻蚀工艺进阶:如何通过调节DC自偏压优化刻蚀速率和各向异性

本文深入探讨了干法刻蚀工艺中DC自偏压的精细调控艺术。DC自偏压是影响刻蚀速率和各向异性的关键因素,文章通过实战案例,详细分析了如何通过调节射频功率、频率、腔室压力及气体成分等参数,间接而有效地控制DC自偏压,从而优化高深宽比硅沟槽等复杂结构的刻蚀效果,实现工艺性能的精准提升。

weixin_28308325的博客 334

STK12与Python联合仿真(一):环境搭建

STK仿真python接口,安装与测试

qq_42635142的博客 1万+

C++ 语言简介

C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。

君逍遥o 1964

数字滤波器应用介绍

线性滤波器FIR ,会引起恒定延迟,通过补零的方式补偿非线性滤波器IIR,会引起频率相关的延迟,通过零相位延迟filtfilt补偿从信号中去除不需要的频谱时,通过滤波和补偿实现。如果需要去除的频率与采样率相差甚远,比如4kHz 与100Hz, 可通过 低通滤波->补偿->降采样–> 滤波 补偿 -->上采样还原的方法。*降采样前一定要先低通滤波为了防止混叠。

weixin_39107270的博客 274

C++程序设计【一】C++语言简介

将程序设计语言分为低级语言、中级语言和高级语言。机器语言和汇编语言属于低级语言一类,因为它们能够直接操纵计算机的寄存器和内存。机器语言是一种依赖于CPU的指令系统,使用机器指令的二进制代码编写程序,能够直接被计算机识别。汇编语言使用能够代表指令的助记符来编写程序,可以看作是符号化了的机器语言。高级语言是面向用户的语言,很多语言在形式上接近于算术语言和自然语言,程序员编写方便。

zxz947462113的博客 2835

数据中台:大数据平台,数据仓库(DM),数据中台之间的联系以及异同分析

大数据平台是一个技术平台。这个技术平台提供了对于大数据的分布式采集,存储,流处理和计算,实时分析等能力。在没有大数据平台前也有数据集成和管理的平台,这种平台可以实现对结构化数据本身的采集,集成和管理。 管理平台,是在原生的大数据生态的基础之上,为了更好的管理集群服务,管理集群的资源,提供灵活SRE能力和资源核算审计能力的一系列工具和合称整体架构数据中台包括数据仓库的全部内容,数据仓库为数据中台提供了数据对外提供服务的基础资源,数据中台将数据仓库建设的投入价值进行最大化,以加快数据赋能业务的速度大家都知道数据

GIS摆渡人 2135

硬件知识点-----SPI串联电阻、振铃、过冲

电阻取值,没有公式,一被传输线的特征阻抗为50欧姆左右,而TTL电路输出电阻大桃为13欧姆左右,在源端串一个33姆,大致和50相当,这样就可以柳制从终端反射回来的倍号,防止再次反射。传输时间tp=L/V,其中L是导线长度,V是电磁波在电路板中的传输速度V=C/sqrDk,其中Dk是光速衰减因子,对于电路板而言是铜线,Dk=4电磁波在电路板中的速度都是慢于光速的。实际上串联多大的电阻与传输线的阻抗有关,为了保证阻抗的连续性,如果传输线的特性阻抗 Z0与驱动源的输出阻抗 Zd不匹配,会引发信号的反射。

贾saisai的博客 2723

C++经典程序代码大全

//根据半径计算圆的周长和面积 #include const float PI=3.1416; //声明常量(只读变量)PI为3.1416 float fCir_L(float); //声明自定义函数fCir_L()的原型 float fCir_S(float); //声明自定义函数fCir_S()的原型 //以下是main()函数

zhusg的专栏 18万+

ArcGIS实验教程——实验十七:缓冲区分析(Buffer Analysis)

【实验描述】缓冲区(Buffer)是为了识别某一地理实体对周围地物的影响而在其周围建立的一定宽度多边形区域,缓冲区分析(Buffer Analysis)是用来确定不同地理要素的空间临近性或接近程度的一种分析方法。作为GIS的空间分析方法之一,缓冲区分析的应用范围特别广泛,常用于分析矢量实体对周围的影响。例如,工厂排放的废水废气所影响的空间范围等等。 一、缓冲区的基本概念 1、缓冲区 是地理空间目标的一种影响范围或服务范围。 2、缓冲区分析 指根据分析对象的点、线、面实体,自动建立它们周围一定距离的带

智慧空间实验室 1万+

C/C++技术栈 —— C语言基础

文件的读写 从操作系统的角度看,每一个与主机相连的输出输入设备都 可以看作是一个文件。 #include<cstdio> #include<cstdlib> using namespace std; int main(){ FILE *fp; fp = fopen("E:\\data....

键盘国治理专家的博客 1293

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

视频教程-C++语言基础到进阶-C/C++

C++语言基础到进阶 23年C++语言编程经验,经历过多个行业的开发项目包括...

weixin_31103005的博客 894

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C/C++语言基础--从C到C++的不同(上)

案例:假设在标准库中有一个变量叫做,A,但是你也定义了一个变量A,那这样就会发生冲突,这个时候最简单的办法就是修改我们自己定义的变量A的名字,比如说改为C,但是如果我就想用A呢?这个时候,C++大叔提出了一个叫做命名空间的概念,将不同变量可以储存在不同空间中,这样就很容易区分了。本质上就是定义一个范围,将不同变量储存到不同范围里。定义方式namespace name //name为自定义命名空间名//代码声明使用方式name::code;//code可以是变量或函数...

羊小猪~~的博客 2587

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C/C++语言基础知识

C/C++程序占用的内存分为以下几部分: 程序代码区:常量区存放常量。程序结束时由OS回收。 全局区(静态区)存放全局变量和静态变量。初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 程序结束时由OS回收。 堆区存放的变量(用new,malloc,calloc,realloc等分配内存函数得到的变量)由程序员分配释放。 栈区存放的变量(局部变量、函数参数等)由编译器自动分配释放 假定x和y为double型,则表达式x=2,y=x+3/2的值是 D 3/2这

weixin_45363995的博客 2873

【c/c++】C++语言基础

介绍C++语言基础,是在C语言的基础上总结的。

jiangwei0512的博客 1099

【C/C++】语言基础知识回顾

内存对齐:自定义类型的内存对齐是确保数据在内存中按照特定字节边界排列,以提高访问效率和满足硬件要求。内存对齐的规则:第一个成员在与结构体变量偏移量为0的位置其他成员变量要对齐到对齐数的整数倍位置对齐数 = min( 编译器默认的对齐数 , 该成员变量大小 ) , VS下默认对齐数为8结构体总大小为每一个成员变量的最大对齐数的整数倍修改默认对齐数的方法: #pragma pack(8) , 设置默认对齐数为8为什么要有内存对齐为了平台的可移植。

Colorful___的博客 1392

语言求余和乘除优先级_C/C++语言基础

语言基础字符串类-string常量与变量运算符程序和语句字符串类-string (属于类类型)(c++中)引入string头文件 #include ps:头文件名不是string.h1.1 定义字符串1.2 字符串运算 复制(赋值 =) 链接(+)比较(关系运算符)1.3 字符串数组字符串数组中的元素字符串没有‘0’这样的结束位常量与变量1.什么是常量值不能被改变的量常量的类型数值型常量(整数、浮...

weixin_31669073的博客 1386

【C/C++语言基础知识】

C++基础整理

m0_52130442的博客 406

【第一篇文章—C/C++学习】

C/C++的学习记录记录自己未来学习C/C++的过程新的改变自我介绍学习编程B站学习资料 记录自己未来学习C/C++的过程 看了下自己的个人中心,已经有5年码龄了,但是很遗憾没有在自己博客中写过一篇文章。当初注册账号仅仅是为了查资料,关注别的博主而已。今天写了自己的第一篇博文,即开篇首作,是为了记录我未来很长一段时间的学习成长的过程。 新的改变 最近自己在学C语言,看到鹏哥在视频提到要善于分享,要有自己的gitee,自己的博客,因此,今天在gitee上提交了我的第一个代码,Hello World! 接着写了

taibudong1991的博客 1544
上一篇: C/C++语言基础
下一篇: OpenGL基础之绘制
jhonjson
博客等级 码龄11年 220粉丝 195原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值