2.1.3 字面值

本文解析了C++中字符字面值、宽字符、整型、浮点型和字符串字面值的类型,并讨论了不同数值字面值的表示和潜在错误。重点讲解了整数前缀、八进制和十六进制的使用以及类型之间的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
练习2.5:

'a'   //字符字面值,类型是char
L'a'  //宽字符型字面值,类型是wchar_t
"a"   //字符串字面值,类型是char
L"a"  //宽字符串型字面值,类型是wchar_t

字符字面值是由单引号括起来的一个字符。字符串字面值是由双引号括起来的0个或者多个字符。宽字符和字符的区别在于,宽字符的最小哦尺寸有16位,而字符的最小尺寸只有8位。

10   //整型字面值,类型是int
10u  //无符号整型字面值,类型是unsigned int
10L  //整型字面值,类型是long
10uL //无符号整型字面值,类型是unsigned long
012  //八进制整型字面值,类型是int
0xC  //十六进制整型字面值,类型是int
3.14   //浮点型字面值,类型是double
3.14f  //浮点型字面值,类型是float
3.14L  //浮点型字面值,类型是long double
10    //整型字面值,类型是int
10u   //无符号整型字面值,类型是unsigned int
10.   //浮点型字面值,类型是double
10e-2 //浮点型字面值,类型是double

练习2.6:
int month month = 9 和 int month = 09 不一致
0开头的整数代表八进制数,而09是无效的八进制数字。系统报错:
在这里插入图片描述
int month = 7 和 int month = 07 一致。
因为八进制的07=7。系统未报错。

练习2.7:
在这里插入图片描述

输出为: Who goes with Fergus?
\145 (字母e)
\012 (换行符)

3.14e1L //扩展精度浮点型字面值,值为31.4,类型 long double
1024f   //单精度浮点型字面值,类型float
3.14L   //单精度浮点型字面值,类型long double

练习2.8:

#include <iostream>
using namespace std;

int main() {
	
	cout << "2M\12";
	system("pause");
	return 0;
}

在这里插入图片描述

#include <iostream>
using namespace std;

int main() {
	
	cout << "2\tM\12";
	system("pause");
	return 0;
}

在这里插入图片描述

easyExcel是阿里开源的一个快速、简单、占用内存小的Java处理Excel工具,它的2.1.3版本也遵循这些特性。在easyExcel中设置行高和字体大小,通常是在写入Excel时指定相应的样式。以下是基本的设置方法: 1. 设置行高: 在easyExcel中,设置行高通常是在写入数据时,通过`WriteHandler`来自定义行高。例如,可以通过实现`RowWriteHandler`接口,在`afterRowDispose`方法中获取行对象,然后调用`setRowHeight`方法来设置行高。 2. 设置字体大小: 设置字体大小也是通过样式来实现的。在easyExcel中,可以通过`WriteHandler`来自定义样式,或者使用`CellWriteHandler`在单元格写入完成后设置样式。通过获取`ICellWriteHandler`或者`RowWriteHandler`,然后调用`setStyle`方法来设置单元格的字体大小。 下面是一个简单的示例代码片段,展示了如何在easyExcel中设置行高和字体大小: ```java // 创建ExcelWriter ExcelWriterBuilder builder = EasyExcel.write(fileName); // 添加写入监听器设置行高和字体 builder.registerWriteHandler(new RowWriteHandler() { @Override public void afterRowDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer relativeRowIndex, Boolean isHead) { // 设置行高 row.getRow().setHeight((short) 300); // 300是行高的像素值 } }).registerWriteHandler(new CellWriteHandler() { @Override public void afterCellDispose(CellWriteHandlerContext context) { // 设置字体大小 if (context.getColumnIndex() >= 0) { // 确保不是合并单元格 Cell cell = context.getCell(); if (cell != null) { CellStyle cellStyle = cell.getCellStyle(); cellStyle.setFont(new Font(HSSFFont.DEFAULT_FONT_SIZE + 2)); // 设置字体大小 cell.setCellStyle(cellStyle); } } } }); // 创建WriteSheet并写入数据 WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); builder.sheet(writeSheet).doWrite(dataList); ``` 在上面的代码中,`fileName`是你希望创建的Excel文件的路径,`dataList`是你要写入的数据列表。`afterRowDispose`方法用于设置行高,而`afterCellDispose`方法用于设置单元格的字体大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值