网站建设需要什么技能,app开发方式,wordpress文档管理,桂林创新大厦网站作业#xff1a;
定义自己的命名空间#xff0c;其中有string类型的变量#xff0c;再定义两个函数#xff0c;一个函数完成字符串的输入#xff0c;一个函数完成求字符串长度#xff0c;再定义一个全局函数完成对该字符串的反转
#include iostream
#include
定义自己的命名空间其中有string类型的变量再定义两个函数一个函数完成字符串的输入一个函数完成求字符串长度再定义一个全局函数完成对该字符串的反转
#include iostream
#include cstring
using namespace std;
namespace A{void fun1(string s1);
}
void A::fun1(string s1){couts1endl;
}
void fun2(char arr[],int len){for(int i0;ilen/2;i){int temp;temparr[i];arr[i]arr[len-i-1];arr[len-i-1]temp;}
for(int i0;ilen;i){coutarr[i];
}
}
using namespace A;
int main()
{string s1;cout请输入字符串endl;cins1;fun1(s1);char arr[32];strcpy(arr,s1.data());int lens1.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 a100;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 s1s2 s1s2 endl; //将s1和s2拼接到一起s4 s1s2;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 (s3s2) endl;//string类型可以直接进行比较无需调用strcmp函数,运算符重载return 0;
}
3.string类中的函数
1.at
couts1.at(100)endl;
2.size()/length()
s1.size()
s1.length()
3.empty()/clear()
s1.empty:对字符串判空
s1.clear:清空字符串
4.字符串的判断
可以直接使用!,,,····运算符直接判断字符串间的关系
四、bool类型
bool类型的默认值0/falsebool的大小1Byte(内存分配的最小单位是Byte)bool类型的赋值可以直接使用true和false赋值可以用数值直接赋值bool输出默认以数字形式输出如果想用单词形式输出需要加上boolalpha恢复数字形式加上noboolalpha