一些小细节的总结

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
#include <string.h>
#include <string>

int main(){
	//基础知识
	//1.%g 的运用 --保留有效数字会四舍五入
	float num = 21.321613;
	printf("%.5g\n",num);
	//有什么用呢?
	//answer:输出有效数字的最大位数 
	//输出:21.322


	//2.%s 输出c语言字符数组 但是不能直接输出string  ,如何将字符数组转化为string,你需要使用string自带的构造函数。
	//方法一: string str = string (10,'*');   --将字符转化为字符串string
	//方法二: string str = string(arr,0,4);   --数组名 起始索引 终止索引
	char arr[10] = { 'I','`','m','Z','J','M' ,'\0'};
	string str1 = string(10, '*');
	cout << str1 << endl;

	string str2 = string(arr, 3, 6);
	cout << str2 << endl;

	//3.%.的应用 保留n位小数,会四舍五入
	double deci = 3.1415926;
	printf("%.4f\n", deci);
	//答案是3.1416;

	//整数的话 .右边表示不够填0
	//左边表示 不够向右进n-整数位数个空格
	int zhenshu = 1000;
	printf("%16.9d\n", zhenshu);
	//输出:"       000001000"


	//4.#的应用 
	float x1 = 0;
	float x2 = 42.300;
	printf("%#.0f\n", x1);  //#作用为 就算后面没有小数 也会输出小数点 比如此案例 输出为"0.";

	printf("%.4g\n", x2);   //如果后面都是0 保留的有效数字位数多了 编译器会删除后面的0
	//那么该怎么输出后面的0呢
	//#可以防止编译器删掉后面的0;
	printf("%#.4g\n", x2);

	//%d的一些基本操作
	int shu = 19;
	printf("%010d\n", shu);//输出十格 不够的0来凑

	//string可以直接加字符 加完了后仍然是字符串
	string str0 = "JAVA";
	char a = 's';
	char b = 'e';
	str0 = str0 + a + b;
	cout << str0 << endl;

	//c_str
	//string类封装的一个转换的函数
	//可以非常方便的将string类转化为const char*;
	//第一步 我们创建个字符串
	string zifuchuan = "I`m C++.JAVA";

	//第二步 创建字符数组

	//·1 创建一个const char *
	const char* ch1 = zifuchuan.c_str();
	cout <<"ch1 的写法 :" << ch1 << endl;

	//·2 创建一个char *
	char* ch2 =const_cast<char*>( zifuchuan.c_str());
	cout << "ch2 的写法 :" << ch2 << endl;

	//另一种写法 利用strcpy ,const char * 就不行 必须初始化。
	char* ch3 = new char[zifuchuan.length()];
	strcpy(ch3, zifuchuan.c_str());
	cout << "ch3 :" << ch3 << endl;

	//·3.创建一个 char ch[];
	//写法一:
	char ch4[100] = {};
	for (int i = 0; i < zifuchuan.size(); i++) {
		ch4[i] = zifuchuan[i];
	}
	int length = zifuchuan.size();
	int k = 0;
	cout << "ch4 = ";
	while (length--) {
		cout << ch4[k];
		k++;
	}
	cout << endl;

	//写法二:
	char ch5[100] = {};
	strcpy(ch5, zifuchuan.c_str());
	cout << "ch5 = " << ch5;

	return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值