c++语法大全

2023-05-16

c++语法大全

一、变量和简单数据类型

1.变量名只能包含字母、数字和下划线。可以以字母和下划线开头,但是不能从数字开头;变量名不能包含空格

2.数据类型–字符串

字符串可以用双引号或者单引号括起来,两者作用一样。具体选择哪种,要看字符串里面的内容,如果字符串里面包含单引号,那么外面就要使用双引号;如果字符串里面包含双引号,那么就用单引号括起来。

3.字符串函数

title()–以首字母大写的方式显示每个单词

title.upper()–全部大写

title.lower()–全部小写

4.拼接字符串–用"+"号

a=“hello”

b=“world”

print(a+","+b)

输出hello,world

5.指标符–\t 换行符–\n

6.字符串空白处理

rstrip()–删除末尾空白

lstrip()–删除开头空白

strip–删除两端空白

7.数字的四则运算没有什么特别的

8.字符串函数–str()

age=23

str(age)

9.注释符号

单行注释–#

多行注释–"""……"""

二、列表

1.列表类似于C语言的数组,将同类事物放在一个数组里面

string = [‘abc’ , ‘bcd’ , ‘efg’]

print(string)

输出: [‘abc’ , ‘bcd’ , ‘efg’]

还可以直接定义空列表string[]

2.访问列表元素

类似于C语言的数组,string[0],即可访问第一个元素

访问最后一个元素–string[-1]

3.修改元素

string[1] = ‘apple’

4.添加元素

在末尾添加–string.append(‘student’)

5.插入元素

string.insert(0,‘banana’),则banana插入到了列表开头,其他元素后移

6.删除元素

del string[0]

使用del删除的元素,将无法再次访问

string2 = string.pop()

pop函数删除了string末尾的元素,并将其赋值给string2

如果要删除制定位置的元素,只需string.pop(2)

根据值删除元素

string.remove(‘apple’)

remove只删除第一个制定的值,如果要删除列表中所有匹配的值,则需用循环

7.排序

string.sort()–按字母顺序排

string.sort(reverse=True)–按字母逆序排

sorted(string)–临时排序,即排序只有在用运行此句代码时有效,执行下一行代码时字符串又变成原来的顺序

8.反转列表元素的排列顺序

string.reverse()

9.列表长度–len(string)

三、操作列表

1.遍历整个列表–for循环

for k in string:

print(k)

相当于C语言:

for(k=string[i];i<strlen(string);i++)

{

printf(k);

}

2.创建数值列表

range(1,5)–左闭右开,1,2,3,4

for value in range(1,5)

使用list()直接将range()转换成列表

number = list(range(1,6))

print(number)

输出:[1,2,3,4,5]

range指定步长–range(2,11,2)–从2开始数,不断加2,直到达到11或超过11

2,4,6,8,10

3.平方–**

value=a**2

4.列表解析

squares = [value**2 for value in
range(1,11)]

print(squares)

[1,4,9,16,25,36,49,64,81,100]

C语言:

for(i=1;i<11;i++)

{

squares= i*I;

printf(squares);

}

5.切片–使用列表的一部分

要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与range一样,Python在到达你指定的第二个索引前面的元素停止。

letter=[‘a’ , ‘b’ , ‘c’ , ‘d’ , ‘e’ , ‘f’]

letter[0:3]–[‘a’ , ‘b’ , ‘c’]

letter[1:4]–[‘b’ , ‘c’ , ‘d’]

letter[:3]–[‘a’ , ‘b’ , ‘c’]–没有指定第一个索引,就从第一个元素开始

letter[1:]–[‘b’ , ‘c’ , ‘d’ , ‘e’ , ‘f’]–没有指定最后一个索引,就在最后一个元素结束

letter[-3:]–最后三个元素

6.遍历切片

切片是原列表的一个子集,也是一个列表,他的基本操作和列表操作一样

7.复制列表

letter2=letter[:]–只需省略起始索引即可

8.元组

列表的元素可修改,而元组的元素不可修改

9.定义元组

使用圆括号定义–dim=(200,50)

print(dim[0])

print(dim[1])

10.修改元组变量

dim=(200,50)

dim=(500,90)

print(dim[1])

90

这个不是修改元组的元素,而是修改整个元组,使他变成一个新的元组

四、if语句

1.例子

for car in cars: if car == “bmw” print(car.upper() elif car==“ccd” print(car.lower() ) else
print(car.title() )

2.判断符号

==
!= and >=
or

a>=0 and b>=3

3.检查特定值不是否不包含在列表中

if student not in users:

4.检查列表是否为空

if cars:

print(cars[0])

五、字典

1.类似于C语言的结构体

student_1 = {‘name’ : ‘Tony’ , ‘age’:5}

print(student_1[‘name’])

print(student_1[‘age’])

Tony

5

2.添加字典值

字典是一种动态结构,可随时在其中添加键–值对。

student_1[‘sex’] = ‘M’

print(student_1)

{‘name’ : ‘Tony’ , ‘age’:5 , ‘sex’ = ‘M’ }

3.修改字典的值

student_1[‘age’]=6

4.删除值

del student_1[‘name’]

print(student_1)

{‘age’:5 , ‘sex’ = ‘M’ }

5.遍历字典

user_0 = {

‘username’: ‘efermi’

‘first’: ‘enrico’

‘last’: ‘fermi’

}

for k, v in user_0.items():

print("\nkey: " +k)

print("\nvalue" +v)

key: last

value: fermi

key:
first

value: enrico

key: username

value: efermi

PS:遍历字典时,顺序可能会与存储的顺序不一样

6.遍历字典的全部键

for name in student_1.keys():

7.遍历字典的所有值

student_1.values()

8.剔除重复项

set(student_1.values() )

9.嵌套–在列表中存储字典

将一系列字典存储在列表中,或将列表作为值存储在字典中。

alien_0={‘color’:‘green’,‘point’:5}

alien_1={‘color’:‘yellow’,‘point’:10}

alien_2={‘color’:‘red’,‘point’:15}

aliens=[alien_0,alien_1,alien_2]

for alien in aliens:

print(alien)

{‘color’: ‘green’, ‘point’: 5}

{‘color’: ‘yellow’, ‘point’: 10}

{‘color’: ‘red’, ‘point’: 15}

10.嵌套–在字典中存储列表

五、用户输入和while循环

1.输入–input()

a=input(“please input a number”)

相当于C语言:

printf(“please input a number”);

scanf("%d",&a);

2.int类型转换

a=input(“please input a number”)

a=int(a)

3.求模运算符%

两个数相除并返回余数

4%3=1

4%4=0

4.while循环

cnt=1

while cnt <=5:

print(cnt)

cnt+=1

5.使用break退出整个循环

while True:

if … :

break

else

6.continue–退出当前循环

六、函数

1.函数的定义及调用

def
greet(): #定义函数

print(‘hello’)

greet() #调用函数

2.传递参数

def greet (username): #定义函数

print(‘hello,’+username)

greet(‘jenny’) #调用函数

3.位置实参–位置很重要,参数一
一对应

调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。为此,最简单的关联方式就是基于实参的顺序。

定义:def des(animal_type, pet_name):

调用:def des(‘cat’, ‘harry’)

4.关键字实参–传递给函数的名称–值对,顺序可以变

定义:def des(animal_type, pet_name):

调用:def des(animal_type=‘cat’, pet_name=
‘harry’)

5.默认值–给形参指定默认值后,可在函数调用中省略相应的实参

定义:def des(animal_type, pet_name= ‘harry’)

调用:def des(animal_type=‘cat’)

6.返回值–同C语言,return

7.返回字典–就像返回数组

return 字典名/列表名

8.传递列表–参数直接就是列表名,就像传数组一样

9.在函数中修改列表

将列表传递给函数后,函数就可对其进行修改。在函数中对这个列表所做的任何修改都是永久性的

10.禁止函数修改列表

可以传递列表的切片(相当于复制一个列表)

fun(list[:])

11.传递任意数量的实参

def fun(*toppings)

*星号让Python创建一个名为toppings的空元祖,并将所有值都封装到这个元组中

12.将函数存在模块中,再导入整个模块

import fun

13.使用as给函数/模块制定别名

14.导入模块中的所有函数

from mokuai import *

七、类

1.编写和创建类

根据Dog类创建的每个实例都将存储名字和年龄。我们赋予了每条小狗蹲下sit()和打滚roll_over()的能力

class Dog(): ‘’‘一次模拟小狗的简单尝试’’’ def init(self,name,age): ‘’‘初始化属性name和age’’’ self.name =
name self.age=age def sit(self): ‘’‘模拟小狗被命令时蹲下’’’ print(self.name.title()+’ is now
sitting.’) def roll_over(self): ‘’‘模拟小狗被命令时打滚’’’ print(self.name.title()+’ rolled
over!’)

根据约定,在Python中,首字母大写的名称指的是类。这个类定义中的括号是空的,因为我们要从空白创建这个类。

类中的函数称为方法,与普通函数的规则一样,但是调用方式不一样。

(1)方法 init()

我们将方法_init_()定义成了包含三个形参:self、name、age。在这个方法的定义中,形参self是必不可少的,还必须位于其他形参的前面。因为Python调用这个_init_()方法来创建Dog实例时,将自动传入实参self。每个与类相关联的方法调用都自动传递实参self,他是指一个指向实例本身的引用,让实例能够访问类中的属性和方法。

我们创建Dog实例时,Python将调用Dog类的方法_init_().我们将通过实参向Dog传递名字和年龄,self会自动传递,因此我们不需要传递他。没当我们根据Dog类创建实例时,都只需给最后两个形参(name和age)提供值。

self.name=name

self.age=age

以self为前缀的变量都可供类中的所有方法使用,我们还可以通过类的任何实例来访问这些变量。self.name=name获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到当前创建的实例。

2.访问属性

类似于C语言的结构体成员,这里用一个句点来访问属性。my_dog.name

3.调用方法

my_dog=Dog(‘willie’,6)

my_dog.sit()

my_dog.roll_over()

4.修改属性的值

通过实例进行修改

   通过方法进行设置

   通过方法进行递增(增加特定的值)

5.子类的方法_ init _()

创建子类的实例时,Python首先需要完成的任务是给父类的所有属性赋值。

class Car():

‘’‘一堆关于Car类的代码略过…’’’

class Electricar(Car):

‘’‘子类电动车的括号里包含父类的名称’’’

‘’‘创建子类时,父类必须包含在当前文件中,且位于子类前面’’’

6.给子类定义属性和方法

7.重写父类的方法

8.将实例用作属性

关于子类和父类的用法自己去百度,这里不详说

9.将模块中的类导入到主程序中

from car import Car —将car文件中的Car类导入到当前文件

from car import Car,ElectricCar–导入多个类

import car–导入car模块

from modern_name import *–导入所有类

八、文件和异常

1.读取整个文件

with open (‘demo.txt’) as file_object:

contents=file_object.read()

print(contents)

关键字with在不需要访问文件后将其关闭,在整个程序中,我们调用了close(),但没有调用close()。你也可以调用open()和close()来打开和关闭文件,但这样做时,如果程序存在bug,导致close()语句未执行,问价将不会关闭。

2.文件路径

file_name = ‘text_files\filename.txt’

with open(file_name) as file_object

3.逐行读取

for line in file_object:

print(line)

4.创建一个包含文件各行内容的列表

使用关键字with时,open()返回的文件对象只在with代码块内可用。如果要在with代码块外访问文件的内容,可在with代码块内将文件各行存储在一个列表中,并在with代码块外使用该列表。

file_name=‘text_files\filename.txt’

with
open (file_name) as file_object:

lines=file_object.readlines()

for line in lines:

print(line.rstrip())

5.写入文件

filename=‘programming.txt’

with
open (filename,‘w’) as
file_object: #在文件名后加一个参数。默认是只读

file_object.write(‘I love programming.’)

4.异常

如果你编写了了处理该异常的代码,程序将继续运行,如果未对异常进行处理,程序将终止,并显示一个traceback,其中包含异常的报告。

具体自己上网查

5.存储数据

模块json让你能够将简单的Python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据。

函数json.dump()接受两个实参:要存储的数据以及可用于存储数据的文件对象

6.重构–将代码进行修改

九、测试代码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++语法大全 的相关文章

  • FreeRTOS学习第一篇

    之前在STM32Nano开发板开发是基于裸机开发 xff0c 即自己在main方法写死循环 死循环轮流执行各个任务逻辑的方法 这样做直接简单 xff0c 但是不同任务有不同优先级 xff0c 对CPU响应要求不同 逻辑容易某个任务卡住了 x
  • FreeRTOS之heap4

    操作系统离不开内存管理 FreeRTOS提供了5种内存管理方法 实现在portable MemMang里heap1到heap5 每种管理方案策略不同 我采用的是比较有代表性的heap4管理方案 该模式定义了ucHeap全局数组充当堆内存池
  • FreeRTOSMini

    最近在研究实时操作系统FreeRTOS FreeRTOS作为开源的RTOS xff0c 源码规模不大 xff0c 可以供操作系统学习 xff0c 加上我的STM32 Nano开发板正好可以学习OS 借着五一放假宅家里学习 实现的FreeRT
  • 双master节点+keepalived方式部署K8s 1.18.20

    相关部署方式也挺多 xff0c 自己采用双master节点 43 单node节点方式 xff0c 并且采用keepalived部署1 18 20版本 xff0c 中间也出现过相关小问题 xff0c 但都一一处理 xff0c 记录以给需要的同
  • FreeRTOS之TCB

    FreeRTOSMini实现了最小任务调度 现在分开介绍进程调度重要部分 进程调度的基础首先是定义任务调度的数据结构 xff0c 来保存任务堆栈结构和任务状态所在状态列表 xff0c 然后就是任务的优先级唯一号等 最小Mini内核参照 Fr
  • FreeRTOS任务调度主要变量

    之前介绍的和FreeRTOS任务调度相关的数据结构即内存分配实现 xLIST heap 4 TCB结构体 任务调度就是基于这些结构体实现 这次介绍调度相关的主要变量 代码在FreeRTOSMini c文件签名部分 span class to
  • Base64串介绍

    以前写winform时候没接触过Base64 刚开始接触时候还不知道是个啥 最开始接触Base64串时候是仪器出图 很长一段时间我还真以为Base64就是表示图的 xff0c 很多人也是这么认为的 xff0c 这次介绍一下什么是Base64
  • FreeRTOS创建任务

    CPU有这些寄存器 R0 R12为通用寄存器 R13为栈顶指针 xff0c 在OS时候中断函数的R13使用MSP的指针 xff08 内核态 xff09 非中断里面使用PSP指针 xff08 用户态 xff09 正是有双堆栈指针可以保证OS切
  • FreeRTOS任务调度最后篇

    FreeRTOS开启任务调度 一篇说到启动任务调度最后启动Systick定时器 xff0c 通过SVC中断引导第一个任务执行 然后系统就在Systick的定时中断下调度任务执行 xff0c 这次介绍最后的部分 xff0c Systick和P
  • 从STM32-FreeRTOS到linux

    之前买的STM32的开发板学习裸机开发 了解裸机之后学习FreeRTOS来作为小型操作系统学习 xff0c 理解操作系统调度实现 一直想学习一下linux的内核 xff0c 之前下载源码和初步看了下感觉无从下手 有了RTOS的基础后 xff
  • C#实现图片旋转

    C 绘图正常是不涉及到旋转的 有时候会有旋转画笔的情况 比如条码打印字竖着打印 旋转图片一定角度绘制 或者斜着画水印 这时候就涉及到旋转画笔了 源码地址 通过graphics TranslateTransform Pcenter X Pce
  • C#调C++库返回字符串

    用C 调C 43 43 库函数返回字符串 xff0c 由于C 43 43 本身方法之间调用返回字符串都是一般都是申明void或int返回的方法 xff0c 然后通过char变量带出返回值 在C 43 43 调用这种之前自己先初始化char空
  • Asp.NetCore在CentOS网站卡死

    最近碰到项目的网站在高峰期卡死的现象 刚开始以为是数据库问题导致的卡死 xff0c 就排查和改了数据的设置 然后观察几天发现网站还是会在高峰期卡死 xff0c 然后改了点网站设置 xff0c 准备第二天观察一下 xff0c 星期二竟然又没出
  • 使用IRIS碰到的坑

    最近换新电脑了 xff0c 然后直接不安装cache2016了 xff0c 直接上IRIS啊 然后碰到几个坑 xff0c 一是在win11不知道是兼容性不好还是怎么了 每次重启电脑后数据库就无法启动 xff0c 为此祭出多年保存的方子 xf
  • K8s 配置高可用提示Configuration file ‘/etc/keepalived/keepalived.conf‘ is not a regular non-executable file

    k8s配置keepalived高可用 xff0c systemctl start keepalived提示 检查keepalived配置文件 xff0c 查询配置也正常 从报错提示显示keepalived conf 配置文件是一个非执行的文
  • Std数据M的荣光

    对检验的上线 xff0c 实施和开发的大部分时间都用在做基础数据和联设备对通道这些 对相同的仪器每次都有做项目数据 xff0c 对通道那些我一直深有感触 xff0c 一直在构思怎么减少仪器对通道这些做数据的工作量 奈何以前只是浅显的使用M
  • matlab从图表中提取数据

    有如下的波形图 xff0c 如何从中精确提取出全部的数据 1 将波形图片 截图 保存为test png或test jpg xff0c 并将图片放于matlab工作目录中 xff0c 如下图示例所指定的目录中 xff1a 2 xff0c 新建

随机推荐

  • STM32 基础系列教程 1- CubeMX+GPIO

    前言 学习stm32 GPIO 的使用 xff0c 设置某一GPIO引脚为输出功能 xff0c 将对应引脚拉高或拉低输出 xff0c 同时学会初步认识STM32最新的HAL库的使用 xff0c 用代码实现控制GPIO引脚输出产生周期出1s
  • STM32 基础系列教程 29 - FreeRTOS

    前言 学习stm32 中 FreeRTOS嵌入式实时操作系统的使用 xff0c 学会在FreeRTOS时行任务创建与任务运动 xff0c 学习在嵌入式实时操作系统下编程 xff0c 用串口打印相应信息 xff0c 并控制LED闪烁 示例详解
  • 对本地的代码进行修改后,直接git pull会提示本地代码和github代码冲突,需要先commit本地代码,或者stash他们

    对本地的代码进行修改后 xff0c 直接git pull会提示本地代码和github代码冲突 xff0c 需要先commit本地代码 xff0c 或者stash他们 对本地的代码进行修改后 xff0c 直接git pull会提示本地代码和g
  • linux查询内存、CPU、硬盘等系统信息的命令

    一 linux CPU大小 root 64 idc cat proc cpuinfo grep 34 model name 34 amp amp cat proc cpuinfo grep 34 physical id 34 model n
  • ubuntu无法更新的问题,提示错误Err http://mirrors.163.com trusty Release.gpg Could not resolve 'mirrors.163.com

    最近在安装使用ubuntu xff0c 并且配置源文件下载相应gcc xff0c gdb时候 xff0c 出现错误 xff0c 提示报错内容为 Err http mirrors 163 com trusty Release gpg Coul
  • 在 GitHub 下载某个程序的特定版本代码

    情况 github中某个项目已经更新到2 1 0版本 但是想要它的1 0 1版本怎么办 方法一 xff1a 首先点击这个repository下的这个branch按钮 点开了以后你会看到这个 xff0c 然后点tags 选择你想要下载的版本
  • Pixhawk之姿态控制

    原文地址 xff1a http blog csdn net qq 21842557 1 写在前面 无人机控制部分主要分为两个部分 xff0c 姿态控制部分和位置控制部分 xff1b 位置控制可用远程遥控控制 xff0c 而姿态控制一般由无人
  • Android注册表文件

    data system packages plist com google android ears 10043 0 data data com google android ears default 3003 1028 1015 com
  • Java 爬虫系列丨(一)爬虫介绍

    1 简介 1 1 背景 随着互联网的迅速发展 xff0c 网络资源越来越丰富 xff0c 信息需求者如何从网络中抽取信息变得至关重要 目前 xff0c 有效的获取网络数据资源的重要方式 xff0c 便是网络爬虫技术 简单的理解 xff0c
  • 基于龙伯格观测器的永磁同步电机仿真与实现

    摘 要 xff1a 在永磁同步电动机控制系统中 xff0c 使用转子位置传感器不仅会增加设计和制造的成本 xff0c 还会使系统的可靠性降低 因此 xff0c 无位置传感器技术已成为永磁同步电机控制领域的研究热点之一 本文对龙伯格观测器技术
  • 拷贝cp大文件报错“文件太大”

    问题 xff1a 今天在centos7系统下 xff0c u盘位vfat格式16个G xff0c 拷贝7个G大小的问文件 xff0c 无论是用dd还是cp都在拷贝到4 3G大小的时候显示失败 故写下这篇博客 无论什么系统 xff0c 只要分
  • CMakeList.txt

    一 Cmake 简介 cmake 是一个跨平台 开源的构建系统 它是一个集软件构建 测试 打包于一身的软件 它使用与平台和编译器独立的配置文件来对软件编译过程进行控制 二 常用命令 1 指定 cmake 的最小版本 cmake minimu
  • 安装centos7 卡在 “正在安装引导装载程序”界面

    今天系统突然起不来 xff0c 不知道什么原因删掉了一些文件 修复太浪费时间 xff0c 还是重新装一个系统 xff08 原来的分区有很多个人资料 xff0c 所以一定不能格调 xff0c 在无用的分区上装新的系统 所以你装系统的时候尽量不
  • insmod: ERROR: could not insert module: Invalid module format

    root 64 zn pc home zn sedriver 5000 new sedriver 5000 span class token comment insmod wst se echip drv ko span insmod ER
  • LoongArch上正常使用`pip install`

    原创 xff1a 你在使用loongarch架构操作系统时 xff0c 是否遇到pip install 安装失败的情况 xff1f 刷到这篇文章 xff0c 大家可添加评论或者私信我 xff0c 及时满足大家的需求 那么 xff0c 下面讲
  • python SOABI兼容性问题

    首先说明一点 xff1a 龙芯发布的仓库都是基于configure ac 中包含loongarch64 linux gnu定义的python所构建 https blog csdn net zhangna20151015 article de
  • python中为什么加上中文注释就会报错

    由于Python源代码也是一个文本文件 xff0c 所以 xff0c 当你的源代码中包含中文的时候 xff0c 在保存源代码时 xff0c 就需要务必指定保存为UTF 8编码 当Python解释器读取源代码时 xff0c 为了让它按UTF
  • 关于在linux操作系统下打不出汉字或者在敲打汉字时无法显示拼音的问题

    在linux下出现问题不比在window下形象 在window下 你发现哪个软件有问题了 xff0c 点击几下鼠标就完事了 xff1b 要是在linux系统下 xff0c 不懂代码 xff0c 可修复不了 打不出汉字 xff0c 在这我就说
  • 解析/etc/hosts文件

    1 xff0c etc hosts xff0c 主机名和ip配置文件 hosts The static table lookup for host name 主机名查询静态表 linux 的 etc hosts是配置ip地址和其对应主机名的
  • c++语法大全

    c 43 43 语法大全 一 变量和简单数据类型 1 变量名只能包含字母 数字和下划线 可以以字母和下划线开头 xff0c 但是不能从数字开头 xff1b 变量名不能包含空格 2 数据类型 字符串 字符串可以用双引号或者单引号括起来 xff