c++初步

作业:

  1. 定义自己的命名空间,其中有string类型的变量,再定义两个函数,一个函数完成字符串的输入,一个函数完成求字符串长度,再定义一个全局函数完成对该字符串的反转
#include <iostream>
#include <cstring>
using namespace std;
namespace A{void fun1(string s1);
}
void A::fun1(string s1){cout<<s1<<endl;
}
void fun2(char arr[],int len){for(int i=0;i<len/2;i++){int temp;temp=arr[i];arr[i]=arr[len-i-1];arr[len-i-1]=temp;}
for(int i=0;i<len;i++){cout<<arr[i];
}
}
using namespace A;
int main()
{string s1="";cout<<"请输入字符串"<<endl;cin>>s1;fun1(s1);char arr[32]="";strcpy(arr,s1.data());int len=s1.size();fun2(arr,len);return 0;
}

一、第一个C++程序

1.cout输出流对象

cout控制格式输出,只能输出十六进制、八进制和十进制

//输出a的16进制cout << "a的十六进制:" << hex << a << endl;
cout << setbase(16) << a << endl;   //输出十六进制cout << "右对齐四个宽度输出a: " << dec << setw(4) << a << endl;cout << "左对齐四个宽度输出a: " << setw(4) << left << a << endl;cout << "b指定小数点后4位输出" << setprecision(4) << b << endl;  //4位包含小数点

2.cin输入流对象

//使用cin输入三个变量cin >> a;cin >> c;cin >> b;

二、命名空间

命名空间只能定义全局处/其他命名空间中

1.在命名空间中声明函数

#include <iostream>
using namespace std;namespace A
{int a=100;void fun();  //在命名空间A中存放了函数声明
}//命名空间中声明,命名空间外定义
//需要加上命名空间名和域限定符限定是哪一个命名空间中的函数
void A::fun()
{cout << "test" << endl;
}int main()
{std::cout << A::a << endl;A::fun();  //testreturn 0;
}

2.命名空间冲突的解决

如果导入了命名空间中和全局变量冲突的标识符时,后续访问该标识符会报错

访问命名空间中的标识符: 命名空间名::标识符名

访问全局变量: ::标识符名; (全局变量,默认在程序的匿名空间中)

三、string字符串

c++中将字符串封装乘string类,后续可以用string定义字符串变量

1.string类

#include <iostream>
using namespace std;
int main()
{string s1 = "hello";  //定义了一个字符串s1并赋值为hellocout << "s1=" << s1 << endl;string s2(3,'a');   //定义了一个字符串s2并使用3个a初始化cout << "s2=" << s2 << endl;string s3(s1);   //定义了一个字符串s3使用s1初始化cout << "s3=" << s3 << endl;string s4("hi");   //定义了一个字符串s4使用hi初始化cout << "s4=" << s4 << endl;cout << "s1+s2 = " << s1+s2 << endl;  //将s1和s2拼接到一起s4 = s1+s2;cout << "s4 = " << s4;return 0;
}

2.  c字符串与c++字符串的转化

#include <iostream>
#include <cstring>
using namespace std;//需要使用c_str函数和data函数玩长城C++风格向C风格的转换
int main()
{string s1 = "hello";  //定义了一个字符串s1并赋值为hellochar str[100];strcpy(str,s1.c_str());cout << str << endl;string s2 = " world";strcat(str,s2.data());cout << str << endl;string s3 = str;  //C风格字符串可以直接给string类型赋值cout << s3 << endl;cout << (s3>s2) << endl;//string类型可以直接进行比较无需调用strcmp函数,运算符重载return 0;
}

3.string类中的函数

1.at()

cout<<s1.at(100)<<endl;

2.size()/length()

s1.size()

s1.length()

3.empty()/clear()

s1.empty:对字符串判空

s1.clear:清空字符串

4.字符串的判断

可以直接使用!=,==,>,>=····运算符直接判断字符串间的关系

四、bool类型

  1. bool类型的默认值,0/false
  2. bool的大小,1Byte(内存分配的最小单位是Byte)
  3. bool类型的赋值,可以直接使用true和false赋值,可以用数值直接赋值
  4. bool输出,默认以数字形式输出,如果想用单词形式输出,需要加上boolalpha,恢复数字形式,加上noboolalpha

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/771639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库索引失效的常见情况

MySQL数据库索引失效的常见情况 01 索引失效负面后果 在MySQL数据库中&#xff0c;当索引失效时&#xff0c;可能会导致以下后果&#xff1a; 全表扫描&#xff1a;如果索引失效&#xff0c;MySQL 可能会选择执行全表扫描来检索数据&#xff0c;这将导致性能下降&#xff0c;…

vue2 配置@指向src

使用的是vue cli创建的项目。 1.安装 path 如果在 Node.js 环境中运行代码&#xff0c;path 模块默认是可用的&#xff0c;则不需要单独安装&#xff0c;否则输入下面命令安装path npm i path -S 2.找到vue.config.js文件&#xff1a; const { defineConfig } require(vu…

辽渤湾海现已加入2024第七届燕窝天然滋补品博览会

参展企业介绍 大连辽渤湾海产品有限公司&#xff0c;是一家主营海参、鲍鱼、海胆等大连海产品的加工和销售的综合型水产企业&#xff0c;拥有国内精良的整条加工流水线&#xff0c;拥有上千平米的现代化加工办公场地的现代化企业。现已发展成为大连海参产品的主导型深加工基地。…

SpringBoot 三种拦截http请求方式Filter,Interceptor和AOP

1 Filter Filter常被叫做过滤器&#xff0c;filter的调用周期大致如下 也就是说filter在servlet之前&#xff0c;没有办法在filter中获取springboot中的java bean对象。 Filter生命周期方法 init:在服务器启动后&#xff0c;会创建Filter对象&#xff0c;然后调用init方法。…

Leetcode第27题:移除元素

代码实现 class Solution:def removeElement(self, nums: List[int], val: int) -> int:ent_removeTruewhile(ent_remove):if val in nums:nums.remove(val)else:ent_removeFalsereturn len(nums)思路:重复判断列表中是否存在目标值&#xff0c;存在则删除&#xff0c;直到…

无货源违规又现,现在还能做抖音小店吗?无货源商家该怎么调整?

大家好&#xff0c;我是电商花花。 最近好像又有很多人的店铺被查无货源违规&#xff0c;店铺还被扣12分&#xff0c;也申诉不了。 如果想要长期的做下去&#xff0c;就不要秀那些花里胡哨的操作&#xff0c;也不要为了短暂的自然流量而进行违规操作&#xff0c;为什么你的店…

【网络爬虫】(1) 网络请求,urllib库介绍

各位同学好&#xff0c;今天开始和各位分享一下python网络爬虫技巧&#xff0c;从基本的函数开始&#xff0c;到项目实战。那我们开始吧。 1. 基本概念 这里简单介绍一下后续学习中需要掌握的概念。 &#xff08;1&#xff09;http 和 https 协议。http是超文本传输&#xf…

leetcode mt simple

Leetcode-MT-Simple 文章实际写于2021年&#xff0c;那个炎热的夏天。 Leet Code 美团题库简单类总结&#xff0c;题目按照解法可大致分为数学法、计数法、位运算、双指针法、字符串、哈希表、栈、递归/迭代、排序法、匹配法、记忆化法、二分法、分治法、摩尔投票法、前缀和、…

基于nodejs+vue家装一体化平台python-flask-django-php

提高现下家装一体化平台的准确度&#xff0c;同时降低经济波动带来的不良影响&#xff0c;希望本文能对广大学者的研究提供参考。 前端技术&#xff1a;nodejsvueelementui, Express 框架于Node运行环境的Web框架, 语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&am…

喜获千万元价值补贴,探索 AI 领域新应用:Zilliz 全力支持 AI 初创企业

价值 1000 万元的大额补贴&#xff01;得到领先全行业的向量数据库团队支持&#xff01;尽享独家生态资源&#xff01;「Zilliz AI 初创计划」正式开启&#xff01; 「Zilliz AI 初创计划」是 Zilliz 面向 AI 初创企业推出的一项扶持计划&#xff0c;预计提供总计 1000 万元的 …

书生·浦语大模型实战营——两周带你玩转微调部署评测全链路

引言 人工智能技术的发展日新月异&#xff0c;其中大模型的发展尤其迅速&#xff0c;已然是 AI 时代最炙手可热的当红炸子鸡。 然而&#xff0c;大模型赛道对于小白开发者来说还是有不小的门槛。面对内容质量参差不齐的课程和实际操作中遇到的问题&#xff0c;许多开发者往往…

2核4g服务器能支持多少人访问?阿里云2核4g服务器在线人数

阿里云2核4G服务器多少钱一年&#xff1f;2核4G配置1个月多少钱&#xff1f;2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年。可以在阿里云CLUB中心查看 aliyun.club 当前最新2核4G服务器精准报价、优惠券和活动信息。 阿里云官方2…

C++语言学习(三)—— 文件操作

目录 一、文件操作 1.1 打开文件 1.2 关闭文件 1.3 读取文件 1.4 写入文件 1.5 文件指针 1.6 文件状态 1.7 其他文件操作 二、文件操作函数 2.1 打开文件函数 2.2 关闭文件函数 2.3 写入文件函数 2.4 读取文件函数 2.5 读取一行函数 2.6 获取文件大小函数 2.7 …

Java监听器模式在实际中的应用

监听器模式是一种行为型设计模式&#xff0c;它允许对象之间通过监听和触发事件的方式实现解耦&#xff0c;提高代码的灵活性和可维护性。在监听器模式中&#xff0c;存在两类角色&#xff1a;事件源&#xff08;Event Source&#xff09;和监听器&#xff08;Listener&#xf…

【PCL】mac下安装PCL的安装与配置

【PCL】mac下安装PCL的安装与配置 PCL PCL官方文档 PCL&#xff08;Point Cloud Library&#xff09;是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C编程库&#xff0c;它实现了大量点云相关的通用算法和高效数据结构&#xff0c;涉及到点云获取、滤波、分割、配…

从静态到动态化,Python数据可视化中的Matplotlib和Seaborn

​​本文分享自华为云社区《Python数据可视化大揭秘&#xff1a;Matplotlib和Seaborn高效应用指南》&#xff0c;作者&#xff1a; 柠檬味拥抱。 安装Matplotlib和Seaborn 首先&#xff0c;确保你已经安装了Matplotlib和Seaborn库。如果没有安装&#xff0c;可以使用以下命令…

知识图谱推理算法综述(上):基于距离和图传播的模型

背景 知识图谱系统的建设需要工程和算法的紧密配合&#xff0c;在工程层面&#xff0c;去年蚂蚁集团联合 OpenKG 开放知识图谱社区&#xff0c;共同发布了工业级知识图谱语义标准 OpenSPG 并开源&#xff1b;算法层面&#xff0c;蚂蚁从知识融合&#xff0c;知识推理&#xff…

底部填充胶在汽车电子领域的应用有哪些?

底部填充胶在汽车电子领域的应用有哪些&#xff1f; 在汽车电子领域&#xff0c;底部填充胶被广泛应用于IC封装等&#xff0c;以实现小型化、高聚集化方向发展。 底部填充胶在汽车电子领域有多种应用&#xff0c;包括以下方面&#xff1a; 传感器和执行器的封装&#xff1a;汽车…

AJAX(一):初识AJAX、http协议、配置环境、发送AJAX请求、请求时的问题

一、什么是AJAX 1.AJAX 就是异步的JS和XML。通过AJAX 可以在浏览器中向服务器发送异步请求&#xff0c;最大的优势&#xff1a;无刷新获取数据。AJAX 不是新的编程语言&#xff0c;而是一种将现有的标准组合在一起使用的新方式。 2.XML 可扩展标记语言。XML被设计用来传输和…

工业级POE交换机的SSH配置步骤

工业级POE交换机的SSH&#xff08;Secure Shell&#xff09;配置可以通过以下步骤进行&#xff1a; 1. 连接到POE交换机&#xff1a;使用一个支持SSH协议的终端工具&#xff08;如PuTTY&#xff09;连接到POE交换机的管理接口。 2. 登录到POE交换机&#xff1a;输入正确的用户…