目录

一、字符和字符串

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语言——字符和字符串、算术运算符、类型转换相关推荐

  1. C语言字符与字符串的库函数

    本章重点介绍字符和字符串的库函数使用,C语言本身是没有字符串类型的,字符串通常存放在常量字符串或字符数组中.字符串常量适用于那些对它不做修改的字符串函数. 1.strlen:求字符串的长度(不包括  ...

  2. C语言———字符与字符串

    目录 函数介绍 1. strlen 1.1 模拟实现strlen 2. strcpy 2.1 模拟实现strcpy 3. strcat 3.1 模拟实现strcat 4. strcmp 4.1 模拟实 ...

  3. C语言字符和字符串的输入与输出

    C语言 一.输入单个字符 1.scanf函数输入单个字符 C语言scanf输入时缓冲区问题 scanf函数是标准输入流(从键盘接收数据),接收的数据放入输入缓冲区中,其中就包括在键盘输入的空格.回车这 ...

  4. c语言定义一个字符型变量,C语言-字符与字符串常量及变量

    字符型数据 字符常量:用单引号括起来的一个字符例如:'a' 'A''$''!' 注:'a'与'A'是不同的字符常量 转义字符:①以一个'\'开头的字符序列 例如:'\n'换行 '\t'横向跳格(水平制 ...

  5. C语言字符、字符串函数(超详细版)

    目录 strlen函数 三种方法模拟实现: 1.计数器: 2.指针 - 指针 3.函数递归 strcpy函数 strncpy函数 strcat函数 strncat函数 strcmp函数 strncmp ...

  6. c语言字符串字节数函数,C语言字符,字符串,字节操作常用函数

    strlen 这个函数是在 string.h 的头文件中定义的 它的函数原型是 size_t strlen( const char ); size_t 是一个无符号整型,是这样定义的 typedef ...

  7. C语言算术运算符介绍和示例

    文章目录 1.算术运算符 2.获取视频教程 3.版权声明 1.算术运算符 下表显示了 C 语言支持的所有算术运算符.假设变量 A 的值为 18,变量 B 的值为 5,则: 运算符 描述 实例 + 两个 ...

  8. c语言输入算术运算符,运算符算术运算符 - C语言教程

    C 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符, 提供了以下类型的运算符:算术运算符.关系运算符.逻辑运算符.位运算符.赋值运算符. 杂项运算符 算术运算 ...

  9. c语言字符函数isalpha,总结C语言字符检测函数:isalnum、isalpha...

    前言:最近一直在刷leetcode的题,用到isalnum函数,用man手册查找了一下,总共有13个相关函数如下: #include int isalnum(int c); int isalpha(i ...

最新文章

  1. 部署Small Business Server 2003服务器之四
  2. unsigned int vs. size_t
  3. boost::mpl模块实现copy相关的测试程序
  4. 【源码分析】storm拓扑运行全流程源码分析
  5. NOIP1996复赛 普及组 第二题 python
  6. python编程遍历_Python字典遍历操作实例小结
  7. Spring学习笔记(十三)
  8. phpMyAdmin安装配置
  9. 【渝粤教育】国家开放大学2018年春季 0508-22T影视特技及后期合成 参考试题
  10. 信息安全系统设计基础实验四:外设驱动程序设计
  11. 菜鸟教程python100-Python 基础教程 | 菜鸟教程
  12. 阿里巴巴数据中台实践
  13. C++引用、取地址符
  14. 判断单双周java_单双周计算
  15. 动态监控网卡流量异常
  16. 从程序员到项目经理(六):懂电脑更要懂人脑
  17. 微信php功能整合,微信公众平台开发功能整合
  18. 迪赛智慧数——柱状图(多色柱状图):十大高薪行业
  19. 武汉理工大学新思维研究生英语课文翻译和课后习题答案(1~12单元)
  20. Hank老师推荐的一些博客

热门文章

  1. Parallax-tolerant Image Stitching
  2. 【会议分享】2022年第四届大数据与计算国际研讨会(WBDC 2022)
  3. PCIE5.0如何进行PCB设计?32G高速信号设计注意事项有哪些,高速板材如何选择?
  4. Git 免密Pull/Push
  5. Android 内存分析总结
  6. Yoga and its benefits
  7. 使用天地图报错Error in v-on handler: “TypeError: Cannot read property ‘_tdt_events‘ of null
  8. EasyExcel快如入门
  9. 从零开始搭建仿抖音短视频APP-开发用户业务模块(2)
  10. 企业服务总线建设之道的探索与研究