栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

cppday1

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

cppday1

1qt的使用

1安装目录和工程目录需要是英文

2工程新建的三种方式:文件新建,编辑里右键打开新建文件或者newproject。

3只学习C语言的模板选择非qt项目及即Non-qtproject,plain c application。c++则是plain cpp application然后选择工程目录。编译器选择kits+desktop MinGW32bit。,若打开别人的qt文件,先删除别人项目下的user文件。

4.运行可以左下角的一键编译加运行,也可以win加R。

2cpp的初识 1.cpp的编程思想:面向对象和泛型编程 2第一个cpp程序

头文件iostream

using namespace std;//cout cin依赖此语句

cout代表终端输出设备,以拼接的形式显示结果。

endl换行

cin代表终端输入设备形式:cin》num;用num变量来接输入的变量。

3.面向过程和面向对象

1.面向过程:程序=数据结构+算法

数据结构:存储数据的结构(C语言的类型和数据结构)

算法:对数据的操作步骤(查找,排序)

1> 强调做算法

2> 大程序被分隔成很多小程序,这些小程序被称为函数

3> 数据开放特点(封装性差)

2.面向对象(oop即object-Orientented programming )

1>面向对象按照类来分隔组织程序,每个类都有特定的属性和方法,使得软件就像搭积木一样,更加容易组织

2>维护代码的更少修改

3.c++的三大特性:封装,继承,多态

封装:把客观的事物封装成类,并且类中实现自己的数据和方法,对于不可信的进行信息隐藏。

        数据:成员数据 方法:成员函数

        用户只能通过方法操作自身的数据

 继承:类和类之间的关系(一类对象继承另外一类对象的特征和能力),省去了重复开发的时间

多态:同一个接口,不同的功能,也称为多种形态

3c++对c的扩展 1.作用域运算符::

函数内部有与全局变量同名的局部变量,访问局部变量方式同此,但可通过::访问全局变量。

#include   //标准输入输出流
using namespace std;

int num = 100;
void test1()
{
    //printf("num = %dn",num);
    cout<<"num = "<在c语言中
int a =10;//在c语言中当成定义
int a;//没有赋值当成声明

在c++中会报错,要想声明需要加extern
4.c++中所有变量和函数都需要有类型。(类型增强)

C语言定义函数时,所需要传入参数可以不写类型(调用时系统一次指定),不写参数则可以调用时传任何参数。

c++中传入参数必须指明类型,不写参数调用时不可以传实参会报错

5.更严格的类型转换

例1:cpp中不允许不同变量的之直接赋值。

例2:c语言中枚举变量可以赋值无意义的值(即不在列举范围的值)

        而cpp中直接报错。

6.结构体struct增强

1cpp中使用结构体类型时可以不用struct关键字,而直接使用类型名定义变量

即

struct stu{};
stu lucy;

 2.c++中结构体成员可以是函数(并且结构体成员是默认共有的即外界可访问的)

7.bool类型

 c++支持bool类型,可以赋值为true,或者false,占一个字节

使用时可以直接bool定义变量赋值为true(1)或者false(0)。也可以赋其他值,非零值自动转为true,o值为false。

8register 关键词

作用:被register关键词声明的对象直接放在寄存器,大大提升了变量的访问速率

C语言中:register关键词修饰的变量不可以用&操作符取地址

c++中:可以对一个寄存器变量取地址,register关键词变为无效,会被强制放入内存中存储

9.三目运算符(a > b)?a:b

 c语言:三目运算符返回的是一个常量数值   

c++:返回的是一个变量,是a或者b的变量名,也就是说可以当成被判断后的变量使用。

#include 
using namespace std;
int main(int argc, char const *argv[])
{
    int a = 1,b = 2;
    int num = (a > b)?a:b;
    
    (a > b)?a:b = 100;  //C语言中,返回的是一个数值,c++中,返回的是一个变量
    return 0;
}
 10.c/c++中 const

c语言:const修饰的是只读变量,但是可以通过地址来修改其值。

c++:是一个真正的常量,不可以通过地址或者变量来修改其值,因为其存放在符号表中,也就是说,不能对其取地址,但是当对const修饰的变量取地址的话, 系统会为其分配一定内存空间,并且用常量来填充。 const int a = 1;

例1:

 const int a = 1;
    //c++;
    int *p = (int *)&a;  //对const修饰的常量取地址,编译器会分配一个整形的长度,并且把数字1填写到对应的内存中
    *p = 2;
    cout<<"a = "<

 例2:如果以普通变量初始化const,会立即开辟空间(就不会有符号常量表)

int b=10;
const int a = b;

 此时按照一的方式则都是输出2.即用法同c语言

 

例3.const修饰全局变量,如果用常量初始化,则a被分配到文字常量区。

      extern引用也不可以都是严格意义上的只读。

例4.const如果修饰的是自定义数据类型(结构体枚举等)的变量 直接开辟空间

例5.尽量以const替换#define定义常量(便于调试bug)

        const有类型,编译时进行安全检查

        const有作用域,而define不重视作用域,默认到本文件结束。

        define宏不属于命名空间,即使可以定义,不可以用::引用。

 

 

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971567.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号