【C语言】数据类型之字符,字符串(1)

简介: 【C语言】数据类型之字符,字符串(1)

前言

字符串定义:字符串也可以简称为串,在数据结构中,串是一种在数据元素的组成上具有一定的约束条件的线性表,即要求组成线性表的所有数据元素都是字符,所以说串是一个有穷的字符序列。

为什么要学习字符串?我们所以显示的东西都是字符串,他对于我们来说很重要。

提示:以下是本篇文章正文内容,下面案例可供参考

一、字符及字符串数组

字符是什么?

字符就是ASCII码表上的一些字符。给位可以自己搜索

1).字符的定义

类型名为:char 他为1字节,他只能为一个字符

字符需要用单引号 ’ ’

char c = 'a';//初始化
c = 'b';//赋值
//输出
printf("%c",c);//使用格式化输出符:%c

2).字符数组

初始化及赋值:

char ch[5] = { 'A', 66, 'C', 'D', 69};
char ch[5] = { 'A', 66, 'C' }; //初始化部分元素,其余默认初始化为 0 
char ch[] = { 'A', 66, 'C' }; //初始化时,可不写个数
//赋值
ch[0]="B";

怎么输出

(1).使用for循环

int i = 0;
 for (i = 0; i < 5; i++) //一个一个元素输出
  printf("%c ", ch[i]);

3).字符串

(1).字符’\0’介绍与字符’0’、0的区别


定义:以 \0 结尾的字符数组,\0 就是数字 0,ASCII 表上第一个字符 ‘\0’ : 字符

数字 0 的字符形式,\叫转义字符,\0 共同构成 1 个字符,站 1 字节

0 : 数字 0 ,数值上’\0’,NULL,0 三者一样

作用在不同场景,以经验区分 ‘0’ : 字符 0,48 的字符形式


(2).字符串的使用

字符串本质就是一个字符数组,只是字符串是用双引号的一串

使用:

//s:string 字符串
char s[20]={"hello world"};//初始化
char s2[20] = {"hello 人才程序猿!"}
//输出
printf("%s",s);//使用格式化字符串"%s"
//输入
scanf_s("%s",&s,20);//如果使用的vs的,字符串变量后面需要加字符串的元素
//那么scanf就不用了
//赋值:只能一个一个元素赋值
s[0] = 'o';

4).能不能写中文?写中文要注意什么

(1)首先我们要知道,一个汉字2字节

(2)我们可以像写普通的字母一样写中文

注意!中文2字节,不要超过大小

5).自带\0 结尾

二、字符串指针

字符串指针初始化

char s[10]={"aaa"};
char *sp = s;
char *spp = "hello world";
//C语言最标准的写法:加const
const char *cc = "heew";


中间 '\0’啥意思?

'\0’字符串结尾的意思

示例:“he\0llo”,那么字符串就是: he 字符串只找结尾

其他问题

空格会作为分隔符,不会输入到字符串中

想输入空格怎么办?使用 gets_s 函数

char s[20]={'\0'};
gets_s(s,20);

下期预告:字符串操作函数

相关文章
|
1天前
|
存储 程序员 C语言
3.1 C语言基本数据类型
在C语言中,整数类型如`int`类型是很有用的,它属于有符号整型,意味着该类型的值必须是整数,并且可以是正整数、负整数或者零。`int`类型的数值范围依据计算机系统有所不同,通常取决于系统的位宽。例如,在早期16位的IBM PC兼容机上,`int`类型使用16位存储,取值范围为-32768至32767;而在当前32位系统中,使用32位存储,拥有更宽泛的取值范围。随着64位处理器的普及,`int`类型能够存储的整数范围将进一步扩大。根据ISO C标准,`int`类型的最小取值范围被规定为-32768到32767。系统通常会利用一个特殊的位来表示整数的正负。
18 10
|
23小时前
|
C语言
3.1C语言基本数据类型
在C语言中,初始化变量是指为变量设定初始值,通常在声明时直接完成,例如 `int cows=32;`。应注意避免在同一语句中混合初始化与未初始化的变量,如 `int dogs, cats=94;` 这样的写法容易引起误解。此外,整型常量如21、32等在C语言中被视为int类型,但非常大的整数则不然,且带有小数点或指数的数值不属于整型常量。
18 9
|
23小时前
|
C语言
3.4 C语言基本数据类型2
在C语言中,声明一个整型(int)变量时,需先写入&#39;int&#39;关键字,后跟变量名并以分号结尾。若同时声明多个变量,可在&#39;int&#39;后用逗号分隔列出所有变量名。例如,`int erns;` 或 `int hogs, cows, goats;` 都是合法声明。变量声明后需通过赋值语句如 `cows = 112;` 或使用函数如 `scanf()` 来初始化其值。
19 10
|
22天前
|
存储 C语言 索引
C 语言数据类型详解
C语言中的数据类型主要包括基本数据类型、构造数据类型和用户定义数据类型。基本类型如整型(`int`)、字符型(`char`)、浮点型(`float`)、双精度浮点型(`double`)和无符号整型(`unsigned int`)。构造类型包括数组(`Array`)、结构体(`Struct`)、共用体(`Union`)和枚举(`Enum`)。用户定义类型则通过`typedef`为已有类型定义新名称,并可通过结构体和共用体自定义复合数据结构。此外,还有指针类型用于存储变量地址,以及`signed`、`unsigned`、`short`、`long`等类型修饰符。
54 11
|
21天前
|
存储 C语言
【C语言基础考研向】02 数据类型-常量-变量
本文介绍了编程中的基本概念,包括数据类型分类、常量与变量的定义及使用。首先概述了四大类数据类型:基本类型(整型、浮点、字符型)、构造类型(数组、结构体)、指针类型和空类型。接着阐述了常量与变量的区别及命名规则,并详细说明了整型、浮点型和字符型数据的特点与应用。最后总结了常见的易错点,如字符串与字符常量的区别及浮点数的默认输出格式。
|
21天前
|
存储 C语言
【C语言基础考研向】10 字符数组初始化及传递和scanf 读取字符串
本文介绍了C语言中字符数组的初始化方法及其在函数间传递的注意事项。字符数组初始化有两种方式:逐个字符赋值或整体初始化字符串。实际工作中常用后者,如`char c[10]=&quot;hello&quot;`。示例代码展示了如何初始化及传递字符数组,并解释了为何未正确添加结束符`\0`会导致乱码。此外,还讨论了`scanf`函数读取字符串时忽略空格和回车的特点。
|
21天前
|
存储 Serverless C语言
【C语言基础考研向】11 gets函数与puts函数及str系列字符串操作函数
本文介绍了C语言中的`gets`和`puts`函数,`gets`用于从标准输入读取字符串直至换行符,并自动添加字符串结束标志`\0`。`puts`则用于向标准输出打印字符串并自动换行。此外,文章还详细讲解了`str`系列字符串操作函数,包括统计字符串长度的`strlen`、复制字符串的`strcpy`、比较字符串的`strcmp`以及拼接字符串的`strcat`。通过示例代码展示了这些函数的具体应用及注意事项。
|
24天前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
|
24天前
|
存储 人工智能 C语言
C语言程序设计核心详解 第六章 数组_一维数组_二维数组_字符数组详解
本章介绍了C语言中的数组概念及应用。数组是一种存储同一类型数据的线性结构,通过下标访问元素。一维数组定义需指定长度,如`int a[10]`,并遵循命名规则。数组元素初始化可使用 `{}`,多余初值补0,少则随机。二维数组扩展了维度,定义形式为`int a[3][4]`,按行优先顺序存储。字符数组用于存储字符串,初始化时需添加结束符`\0`。此外,介绍了字符串处理函数,如`strcat()`、`strcpy()`、`strcmp()` 和 `strlen()`,用于拼接、复制、比较和计算字符串长度。
|
24天前
|
存储 编译器 程序员
c语言基本数据类型详解
在 C 语言中,基本数据类型用于存储不同类型的数据,并在内存中分配不同大小的空间,如 `char`(1 字节)、`int`(4 字节)、`short`(2 字节)、`long`(4 或 8 字节)、`float`(4 字节)和 `double`(8 字节)。此外,还有 `void` 和用 `int` 类型替代的 `bool` 类型。这些数据类型的存储空间大小可能因编译器和平台的不同而有所变化,但通常遵循上述规则。选择合适的数据类型可以充分利用内存空间并确保数据准确性。C 语言还支持用户自定义数据类型,如结构体和枚举类型,用于描述复杂的数据结构。