字符和字符串|学习笔记

简介: 快速学习字符和字符串

开发者学堂课程【你的第一门 C 语言课字符和字符串】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/444/detail/5458


字符和字符串


目录:

一.案例:代码展示

二.如何给字符串赋值

 

一, 案例:代码展示

/**

*问题一:字符变量可以用来存放整数吗?

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

}

*输出的结果如下图:

图片84.png

*假设此处的字符是否也运用了查表的原理?

*答案是肯定的。

*查表查询的是标准 ,这个表格是设计者在设计之初

*为了便于计算机存储数据设置的。

*标准 ASCII 字符表使用7位二进制数来表示所有的大写和小写字母,*数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。

*其中,ASCII 字符表上的数字0~31以及127(共33个)分配给了控*制字符,用于控制像打印机等一些外围设备:

图片85.png

ASCII 字符表上的数字32~126分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现:

图片86.png

*之前我们编译的程序输出的 C 的值也可以在 ASCII 字符表上找到对*应的值

图片87.png

*新需求:

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;

}

*打印的结果如下:

图片88.png

*为什么输入的是数字,打印的却是字符呢?

因为我们在输出的时候*指定了字符 C,所以系统会自动去扫描 ASCII 字符表,*打印的 FishC 的结果出来。

结论,字符类型实际上就是一个特殊的*整型。这里可以通过查看下表来理解整型的取值范围。区别在于,

*对于整型而言,不写 unsigned,系统会默认成是 int 类型。在 C 语*言里并没有规定字符串类型 char 类型是 char 还是 unsigned char。

*细节就是这些规定都是由编译系统自己决定。 

举例:一位程序员需

*要使用某个字符串类型来存放身高这项数据。此时的编译系统会给*他分配 char 还是unsigned char 呢?如果是 unsigned char 则刚

*够用,下面就用一个简单的程序来演示一下:

图片89.png

int main( ){char height;height = 170;printf(""小甲鱼的身高是%d厘米 \n", height);return 0;

}

*运行的结果如下图所示:

图片90.png

*这里给我们的经验教训是不要去想当然,注意程序的跨平台性。

*需要注意到它的取值范围是0~255,注意到这个细节后的输出结果

*为:

图片91.png


二, 如何给字符串赋值

  • 字符串

-char 变量名[数量]

  • 声明字符串

-char name [5]

//索引号是从0开始计算的,故它的值为0,1,2,3,4.

//可以通过索引号来获取对应的内存空间。

  • 给字符串赋值:

name[0] = ‘F’;

name[1] = ‘i’;

name[2] = ‘s’;

name[3] = ‘h’;

name[4] = ‘C’;

  • 定义字符串:

Char name[5] = {‘F’,’i’,’s’,’h’,’c’};

实例:

Int main()

{

Char a [5] = {‘F’,’I’,’s’,’h’,’c’};

Print {“%s\n”,a};

Print{“Hello\n”};

Return 0;

}

//运行结果出现乱码:

图片92.png

//报错原因,缺少了\

//修改后的代码如下所示:

Int main()

{

Char a [6] = {‘F’,’I’,’s’,’h’,’c’,’\0’};

Print {“%s\n”,a};

Print{“Hello\n”};

Return 0;

}

//运行结果恢复正常:

图片93.png

//对该部分代码进行如下优化,省去了数的环节:

Int main()

{

Char a [] = {“FishC”};

Print {“%s\n”,a};

Print{“Hello\n”};

Return 0;

}

//这里不用添加\,系统会自动给用户进行补充。

//运行结果如下图:

图片94.png

相关文章
|
2月前
|
存储 C语言
字符输入输出函数
字符输入输出函数
17 2
|
2月前
|
自然语言处理
字符范围
字符范围
26 2
|
8月前
|
C语言
向字符串添加空格
首先我们可以算出s数组的大小-len,也可以直接得到spaces的大小-即要添加的空格数,那么我们要创建的数组大小是len+spacesSize吗? 不是,应该是len+spacesSize+1,这里的加一是存放一个'\n' 这里呢 我们可以写一个for i循环,用来把s中的元素放到arr里面,然后在外面定义一个falg用来充当arr的下标,存进一个元素falg++,再定义一个j=0,当i == space[j]就存放空格,每存放一个空格++.
44 0
7-8 字符串字母大小写转换 (15 分)
7-8 字符串字母大小写转换 (15 分)
263 0
字符串加空格
给定一个字符串,在字符串的每个字符之间都加一个空格。 输出修改后的新字符串。
123 0
C#编程-39:字符和字符串笔记
C#编程-39:字符和字符串笔记
C#编程-39:字符和字符串笔记
|
存储 Shell 程序员
字符和字符串
一.案例:代码展示 二.如何给字符串赋值
字符和字符串
|
C#
C# 字符串首字符大写
原文:C# 字符串首字符大写 我找到一些把字符串首字符大写的方法。 假如需要把字符串 "red" 转换为 "Red",把 "red house" 转为 "Red house" 或者单词的第一个大写,下面就是我从网上看到的技术。
888 0