day42——C++对C的扩充

//#include<iostream>
//#include<stdio.h>     //如果没有加该头文件,g++编译器直接报错,gcc报警告
//using namespace std;
 
void fun(void *ptr)
{
	//如果没有强制类型转换,g++编译器会报错,gcc不会
	int *q = (int *)ptr;       //将void×转换为int *
 
	*q = 1314;
}
 
 
 
 
 
int main(int argc, const char *argv[])
{
	int num = 520;
 
	fun(&num);            //将num的地址传递过去
	printf("num = %d\n", num);
 
	return 0;
}

1.2 面向对象

1> 所谓面向对象编程:程序由两部分组成,分别是类的定义和类的使用

2> 面向过程与面向对象:以需求一个电脑为例

面向过程的思想:先购买主板、显卡、cpu、显示器。。。所有零件全部整出来后,进行组装成一台电脑供后期程序使用

面向对象的思想:直接买一台电脑,电脑中厂商封装好了相关组件。后期程序直接使用相关接口

3> 面向对象:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式。

将实现同一事物的所有的属性(成员变量)和行为(成员方法)都集中到一起,我们称之为 类(class),并向外部提供相关接口,用户可以使用这些接口来实现对该类实例化出来的对象的操作,进而对整个进程进行服务。

1.3 第一个C++程序框架

#include <iostream>
#include<stdio.h>
#include<cstdio>                //#include<stdio.h>
#include<cstring>               //#include<string.h>
//C++提供的头文件一般都不以.h结尾,C++进一步封装了C语言的头文件,只需将C语言的头文件.h去掉,在前面加上c即可
//iostream: i(input)、o(output)、stream字节流
//iostream:本质上是一个类,表示当前程序中需要使用该类实例化对象
 
using namespace std;
//using:表示要引入命名空间
//namespace:命名空间的关键字
//std:系统提供的名字空间
 
 
int main()
{
    cout << "Hello World!" << endl;
    //cout:是来自于命名空间std中的一个类名(变量名、结构体变量)
    //<< :插入运算符,用于输出数据,使用了运算符重载函数完成
    //后面是要输出的数据
    //endl: end line 表示换行,类似于C语言中的'\n'
 
 
    return 0;
}

1.4 输出流对象:cout

1> cout是在std命名空间中定义的一个 ostream的类对象(结构体变量)

2> 可以使用该类对象中的成员方法 也是运算符重载函数 << 来进行数据的输出

3> cout输出数据时,不像C语言中的printf一样,不需要使用格式控制符,直接自动识别

4> 如果有多个数据需要输出,则使用多个 << 级联进行

#include <iostream>
 
 
using namespace std;
 
int main()
{
    cout << "Hello World!" << endl;       //使用cout输出一个字符串
 
 
    //可以输出其他类型 的数据,无需使用格式控制符,直接自动识别类型
    cout<<"24061 " << 19 << 99.8 << "刘皖东" << 'H' << endl;
    return 0;
}

1.5 输入流对象:cin

1> cin是在std命名空间中定义的一个 istream的类对象(结构体变量)

2> 可以使用该类对象中的成员方法 也是运算符重载函数 >> 来进行数据的输入

3> cin输入数据时,不像C语言中的scanf一样,不需要使用格式控制符,直接自动识别

4> 如果有多个数据需要输入,则使用多个 >> 级联进行

5> 类似于scanf不加'\n'一样,cin输入时,一般也不加endl

#include <iostream>
 
 
using namespace std;
 
 
int main()
{
    int num = 0;         //定义整形数据
    char ch = 0;         //定义字符数据
    double value = 0.0;    //定义实型数据
 
 
    cin >> num;        //输入字符数据
    cin >> ch >> value;    //级联输入多个数据
 
 
    cout<<"num = "<<num<<"  ch = "<<ch<<"  value = "<<value<<endl;    //将所有数据输出
 
 
    cout << "Hello World!" << endl;
    return 0;
}

练习:

1> 提示并输入一个字符,判断该字符是大写还是小写,如果是小写,转变成大写后输出,如果是大写,转变成小写输出,如果是其他字符,则转变成 * 输出

#include<iostream>
using namespace std;
 
int main()
{
    char ch=0;      //定义字符数据
    cout << "请输入一个字符>>>" ;
    cin >> ch;       //输入一个字符数据
    if(ch >= 'A' && ch <= 'Z')
    {
        ch += 32;
    }    
    else if(ch >= 'a' &&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值