IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言——字符和字符串、算术运算符、类型转换 -> 正文阅读

[C++知识库]C语言——字符和字符串、算术运算符、类型转换

目录

一、字符和字符串

1.字符

2.ASCII字符表

3.字符串

二、算术运算符

1.什么是目?

2.表达式

3.运算符的优先级和结合性

4.类型转换?


一、字符和字符串

1.字符

  • 字符变量可以用来存放整数

代码举例:

#include <stdio.h>

int main()
{
	char a = 'C';
	
	printf("%c = %d\n", a, a);
	
	return 0;
	
}

运行结果:

2.ASCII字符表

? ? ? ? ASClI(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC646。
? ? ? ? 标准ASCⅡ字符表使用7位二进制数来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。

  • ASCIl字符表上的数字0~31以及127(共33个)分配给了控制字符,用于控制像打印机等一些外围设备。
  • ASCIl字符表上的数字32~126分配给了能在键盘上找到的字符,当查看或打印文档时就会出现

代码举例:

#include <stdio.h>

int main()
{
	char a = 70, b = 105, c = 115, d = 104, e = 67;
	
	printf("%c%c%c%c%c\n", a, b, c, d, e);
	
	return 0;
}

运行结果:

?结论:字符类型是一个特殊的整型。但对于整型,若不写signed或unsigned,系统默认是signed;但对于字符类型,C语言并没有规定默认的是signed还是unsigned,由编译系统自行决定。

代码举例:

#include <stdio.h>

int main()
{
	unsigned char height;
	
	height = 170;
	
	printf("他的的身高是%d厘米!\n", height);
	
	return 0;
}

运行结果:

?若不加“unsigned”,则结果为:

可见, 若用char来存放身高的话,必须添加“unsigned”。

3.字符串

  • 声明字符串的语法:char 变量名[数量];
  • 通过索引号获得每个变量的空间:变量名[索引号] = 字符;

例:

  • 声明字符串:char name[2];
  • 给字符串赋值:name[0] = 'F';? ?name[1] = 'i';
  • 定义字符串:char name[5] = {'F', 'I', 'S', 'H', 'c'};

代码举例:

#include <stdio.h>

int main()
{
	char a[4] = {'L', 'O', 'V', 'E'};
	printf("%s\n",a);
	return 0;
}

运行结果:

?这个结果似乎没有什么问题,但如果再打印一个别的(比如hello),那么就会出现乱码。这是因为,为了确定字符串在内存中的结束位置,C语言规定在字符串的最后加一个“\0”来表示结束

对上述代码进行修改如下:

char a[5] = {'L', 'O', 'V', 'E', '\0'};

也可直接写一对“[]”,如下:

char a[] = {'L', 'O', 'V', 'E', '\0'};

或者直接写字符串常量,需用双引号括起来,也无需加“\0”。如下:

char a[] = {"LOVE"};

?如果使用字符串常量,也可以把大括号去掉。如下:

char a[] = "LOVE";

二、算术运算符

C语言通过提供运算符来支持我们对数据进行处理。

1.什么是目?

运算符作用的操作对象称为操作数,运算符是双目还是单目取决于它有多少个操作数,起作用的有多少个操作数。

?C语言有唯一的一个三目运算符,它有3个操作数,后续会作补充。

2.表达式

用运算符和括号将操作数连接起来的式子,称为表达式。

如:1 + 1; 'a' + 'b';? a + b;? a + 'b' + pow(a,b) * 3 / 4 + 5

3.运算符的优先级和结合性

正号运算符、负号运算符? >? /、*、%? ?>? +、-??

代码举例:

#include <stdio.h>
#include <math.h>

int main()
{
	int i,j,k;
	
	i = 1 + 2;
	j = 1 + 2 * 3;
	k = i + j + -1 + pow(2,3);//3 + 7 + (-1) + 8 
	
	printf("i = %d\n",i);
	printf("j = %d\n",j);
	printf("k = %d\n",k);
	
	return 0; 
}

运行结果:

4.类型转换?

类型转换是为了确保计算的精度。

代码举例:

#include <stdio.h>

int main()
{
	printf("整型输出:%d\n", 1 + 2.0);
	printf("浮点型输出:%f\n", 1 + 2.0);
}

运行结果:

?可见,整型输出为错误结果,这是因为,1 + 2.0 自动转换后的结果为 1.0 + 2.0,是一个浮点型的数,浮点型的数强制变为整型的数输出就会打印出错误的结果。

C语言允许我们强制转换操作数的数据类型,在操作数的前面用()将目标数据类型括起来即可。如下:

#include <stdio.h>

int main()
{
	printf("整型输出:%d\n", 1 + (int)2.0);
	printf("浮点型输出:%f\n", 1 + 2.0);
}

运行结果:

?若将2.0改为1.8,则结果为:

?若将2.0改为(1 + 0.8),则结果为:

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-05 23:22:06  更:2022-07-05 23:24:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 19:14:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码