C语言入门篇--字符串的基本理论及应用

目录
  • 字符串
    • 1.常见字符串的情况
    • 2.'\0'的证明
  • 3.字符串的用法
    • 3.1 用数组
      • 3.1.1 给数组直接赋字符串
      • 3.1.2 以单个字符赋入数组
    • 3.2 用指针
  • 4.字符串可直接输出

字符串

(1)由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。eg:“hello world!”

(2)字符串在结束时默认有 转义字符'\0',不作为内容,作为结束标志。

(3)C语言无字符串类型,需借助 char*,char[ ](即指针和数组)来进行使用。

1.常见字符串的情况

#include <stdio.h>
int main()
{
	'A';//(1)
	"abc";//(2)
	"A";//(2)
	"";//(3)
	"1234";//(4)
	return 0;
}

(1)‘A' :单引号' ' 引起来的字符常量,' ' 中的字符只可有一个,代表一个字符。

(2)“abc”、“A”:双引号" " 引起来的字符串常量,结尾处默认有'\0'。

(3)"":空串,什么也不存放,结尾处默认有'\0'。

(4)“1234”:是字符串1234,不是int 类型的1234。两者在C语言底层结构上不一致。

2.'\0'的证明

#include <stdio.h>
int main()
{
	printf("%d\n", sizeof("abcd"));
	printf("%d\n", strlen("abcd"));
	return 0;
}

详情点这里sizeof与strlen基础理论

3.字符串的用法

3.1 用数组

3.1.1 给数组直接赋字符串

	char str[] = "a";//此字符串数组大小为2

默认以'\0'结尾,在写入数组时,默认把'\0'带进去。

3.1.2 以单个字符赋入数组

C语言默认字符串以'\0'结束,以单个字符赋入数组时必须显示带上'\0',否则输出随机值(即遇到'\0'才停止输出)。

(1)不带'\0'

#include <stdio.h>
int main()
{
	char str[] = { 'a', 'b', 'c'};
	printf("%s\n", str);
	return 0;

}

(2)'\0'在结尾

#include <stdio.h>
int main()
{
	char str[] = { 'a', 'b', 'c','\0' };
	printf("%s\n", str);
	return 0;
}

(3)'\0'在中间

#include <stdio.h>
int main()
{
	char str[] = { 'a', 'b','\0', 'c' };
	printf("%s\n", str);
	return 0;
}

3.2 用指针

用char型指针指向字符串。

#include <stdio.h>
int main()
{
	char *s = "abc";
	printf("%s\n", s);
	return 0;
}

4.字符串可直接输出

C语言中printf可直接打印字符串,其他的不行。

#include <stdio.h>
int main()
{
	printf("abc\n");
	return 0;
}

以上就是C语言入门篇--字符串的基本理论及应用的详细内容,更多关于C语言理论应用的资料请关注我们其它相关文章!

(0)

相关推荐

  • 一篇文章带你了解C语言的一些重要字符串与内存函数

    目录 一.字符串函数 1. 求字符串长度的strlen 2.比较字符串大小的strcmp 3.复制字符串的strcpy 4.追加字符串的strcat 5.查找字符串函数的strstr 二.内存函数 1.复制 memcpy,memmove 2.比较 memcmp 总结 一.字符串函数 1. 求字符串长度的strlen size_t strlen ( const char * str ); 字符串以 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包含 '

  • C语言的字符串函数,内存函数笔记详解

    目录 strlen strlen模拟实现 strcpy strcpy的模拟实现 strcat strcat的模拟实现 strcmp strcmp模拟实现 strstr strstr模拟实现 strncpy strncat strncmp strtok memcpy memcpy模拟实现 memmove memmove模拟实现 memcmp 字符分类函数 字符串换函数 总结 strlen 此函数接收一个char*类型参数,返回字符串\0前字符数,注意返回类型是size_t型的 //关于strlen

  • C语言字符函数、内存函数功能及实现代码

    C语言字符函数.内存函数 功能及实现 strlen函数(求字符串长度)注意点模拟实现 strcpy函数(字符串拷贝函数)注意点模拟实现 strcat函数(字符串衔接函数)注意点模拟实现 strcmp函数注意点模拟实现 strstr函数模拟实现 strtok函数使用 strerror函数使用 memcpy函数注意点模拟实现 memmove函数注意点模拟实现 memset函数注意点 strlen函数(求字符串长度) 统计字符串长度直到\0为止 注意点 1.属于<string.h>库 2.参数为字符

  • c语言重要的字符串与内存函数

    目录 一.字符串函数 1. 求字符串长度的strlen 2.比较字符串大小的strcmp 3.复制字符串的strcpy 4.追加字符串的strcat 5.查找字符串函数的strstr 二.内存函数 1.复制 memcpy,memmove 2.比较 memcmp 一.字符串函数 1. 求字符串长度的strlen size_t strlen ( const char * str ); 字符串以 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包含 '\0'

  • C语言进阶教程之字符串&内存函数

    目录 前言: 一.求字符串长度 strlen strlen函数的模拟实现 二.长度不受限制的字符串函数 strcpy strcpy函数的模拟实现 strcat strcat函数的模拟实现 strcmp strcmp函数的模拟实现 三.长度受限制的字符串函数 strncpy strncpy函数的模拟实现 strncat strncat函数的模拟实现 strncmp strncmp函数的模拟实现 四.字符串查找 strstr strstr函数的模拟实现 strtok strtok函数的模拟实现 五.

  • C语言入门篇--字符串的基本理论及应用

    目录 字符串 1.常见字符串的情况 2.'\0'的证明 3.字符串的用法 3.1 用数组 3.1.1 给数组直接赋字符串 3.1.2 以单个字符赋入数组 3.2 用指针 4.字符串可直接输出 字符串 (1)由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串.eg:"hello world!" (2)字符串在结束时默认有 转义字符'\0',不作为内容,作为结束标志. (3)C语言无字符串类型,需借助 char*,char[

  • C语言入门篇--注释,关键字typedef及转义字符详解

    目录 注释 1.注释意义 2.两种注释风格 2.1 C语言注释风格 2.2 C++注释风格 关键字typedef 1.注意 2.用法 语法结构 转义字符 1.转义字符及其含义 2.字面 转 特殊 3.特殊 转 字面 注释 1.注释意义 (1)代码中有不需要的代码可以直接删除,也可以注释掉. (2)有些代码比较难懂可以注释一下. 2.两种注释风格 2.1 C语言注释风格 /*xxxxxx*/ 一次可以注释一行或多行,但不能嵌套注释. eg: #include <stdio.h> int main

  • C语言入门篇--定义宏#define的概述

    目录 1.什么是宏 2.为什么要有宏? 3.宏的用法 3.1定义宏 3.2宏常量 3.3"宏函数" 1.什么是宏 宏只做简单的文本替换,但一般在作为变量名出现或者在字符串中出现中是不会被替换的. 2.为什么要有宏? (1)便于代码的可维护性,对宏的内容进行修改,即可修改代码中所有用到此宏地方的内容. (2)方便阅读,见名知意. 3.宏的用法 3.1定义宏 格式: #define 标识符 内容 3.2宏常量 #include <stdio.h> #define M 1 int

  • C语言入门篇--四大常量(字面,const修饰,宏,枚举)及标识符

    目录 1.字面常量 2.const修饰的常变量 3.#define定义的标识符常量 3.1标识符 3.2宏常量 4.枚举常量 1.字面常量 (1)字面意思是啥就是啥,看其表示就可以知道其值和类型. (2)有值无名,一用来初始化变量,与一种字符相关联. #include <stdio.h> int main() { 10;//int型数字10 'c';//char型字符c "Hello world!";//字符串常量(!C语言无字符串类型) int sum=10+20;//1

  • C语言入门篇--初识C语言及数据类型

    目录 1. 什么是C语言? 2.第一个C程序&&知识点 2.1 头文件 2.2 main函数 2.3 函数调用 2.4 return 0; 3. 数据类型 3.1 C语言数据类型 3.2 为什么有这么多数据类型? 3.3 各个数据类型的大小 1. 什么是C语言? (1)C语言是面向过程.编译型的编程语言(与C++.Java等面向对象的编程语言有所不同,ps:C与C++是兼容的),经过编译后最终形成可执行程序(即exe,可直接运行). (2)C语言非常经典,一般会在底层开发使用,Linux.

  • C语言入门篇--sizeof与strlen基础理论

    1.sizeof (1)若求字符串占据 空间 的大小,包括字符串结尾处默认的'\0'. (2)若所求不是字符串的大小,求的是数组.类型等的大小,不用考虑'\0',因为不是字符串,在结尾处无默认的'\0'. (3)若明显出现'\0',则统计. (4)返回一个变量或者类型的大小(以字节为单位) 2.strlen 求字符串内容的大小,统计字符串的字符个数,遇到'\0'停止统计,不统计'\0'. 3.知识点 3.1 对于数组 sizeof:结果就是数组大小. strlen:在计算时会遍历整个数组,往后遍

  • C语言入门篇--关键字static详解

    目录 1.修饰局部变量 1.1作用 1.2举例 (1)不加static (2)加static (3)静态局部变量的初始化只会进行一次 2.修饰全局变量 2.1作用 2.2举例 (1)不加static (2)加static 3.修饰函数 3.1作用 3.2举例 (1)不加static (2)加static 1.修饰局部变量 1.1作用 ststic修饰局部变量,会改变局部变量的生命周期,不改变作用域: 生命周期:和全局变量一样具有全局性,但在内存中的位置没有改变,还在在静态存储区中. 作用域:作用

  • C语言入门篇--初识指针和指针变量

    1.指针 指针就是地址(即一个数据). 2.指针变量 2.1概念 (1)指针变量是变量,是变量在内存中就会开辟空间,会有自己对应的的地址,有自己的变量大小. (2)指针变量里放的内容是地址(即指针). 2.2指针变量大小 32位平台下,4字节. 48位平台下,8字节. 2.3指针变量理解 理解前一定先看看,地址相关知识. #include <stdio.h> int main() { int a = 10; int *p = &a;//p为指针变量 printf("a的地址=

  • C语言入门篇--函数及数组用法

    目录 函数 1.函数的作用 2.函数的构成 (1)返回值 (2)函数名 (3)形参列表 (4)函数体 数组 1.定义数组 1.1不进行初始化 1.2进行初始化 1.3不给定数组元素个数 2.数组的经典用法 2.1求数组大小.元素大小.元素个数 2.2遍历 面向过程编程:C语言是面向过程的语言:在C语言中,把大部分的功能以一个个函数呈现,就称之为面向过程编程: 函数 是面向过程编程最关键的语法结构. 1.函数的作用 1.从工程上讲,函数可以让我们的代码更具有结构性,让代码更好看. 2.函数可以提升

  • C语言入门篇--充分理解操作符

    目录 1.算术操作符 1.1除法运算 1.2取模运算 2.移位操作符 相关知识 1.移位运算是站在二进制角度移位的 2.左移右移,原始变量值不发生变化除非给原始变量赋值 3.整数移位运算不能整除时,只保留整数部分 4.C语言中的移位运算符 5.移位分为算术移左移.算术移右移和逻辑左移.逻辑右移 3.位操作符 3.1按位与& 3.2按位或 | 3.3异或 ^ 4.赋值操作符 5.单目操作符 5.1 逻辑反操作 ! 5.2 负值 - 正值 + 5.3 取地址 & 5.4 取反 ~ 5.5 前置

随机推荐