C语言 char 字符串 - C语言零基础入门教程

目录

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.char 字符串简介

C 语言中,除了前面介绍的int 整型、float / double 浮点数、bool....等等,char 字符串也是一种非常重要的数据类型;

字符串:一般用一对双引号""括起的一串字符来表示字符串常量,字符串默认以转义字符 \0 结尾,字符串常量是不可被修改的,如:

复制代码
"Hello!"、"\aWarning!\a"、"123abc\n"、""

二.字符和字符串区别

1.取值范围相同

字符分类两类,一种是无符号字符 unsignedchar,一种是有符号的字符 char ,他们取值范围不同:

复制代码
无符号字符unsigned char取值范围:0~255
有符号字符char取值范围:-127~127

2.字符串由多个字符构成

字符串和字符都可以使用 char 表示,注意使用的区别:

复制代码
//字符串
char* p = "123"; //字符串使用双引号
//字符
char  p = '1';//字符使用单引号
char  p = '2';//字符使用单引号
char  p = '3';//字符使用单引号

3.字符串和字符使用 printf 函数

字符串和字符需要使用不同的占位符:字符串使用 %s 作为占位符,字符使用 %c 作为占位符;

复制代码
printf("%c ", 'A');
printf("%s ", "A");

虽然同样都是 printf 函数输出 A ,但是 "A" 是表示字符串,'A' 是表示单个字符;

三.char 字符串遍历

在上面已经介绍了字符串是有多个字符构成,默认以转义字符\0结尾; 前面的 for 循环while 循环也学完了,我们可以通过循环配合 break 来遍历字符串中的每一个字符,如:

复制代码
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 char 字符串
//@Time:2021/06/01 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/

#include "stdafx.h"
#include<stdlib.h>
#include<stdio.h>
void main()
{
    char* p = "www.codersrc.com";
    printf("字符串p:%s\n", p);
    while (1)
    {
        if (*p == '\0') // '\0'表示字符串结尾,跳出循环
            break;
        printf("%c ", *p);//当前的字符
        p++;//字符串地址偏移+1
    }
    system("pause");
}
/*
输出:

字符串p:www.codersrc.com
w w w . c o d e r s r c . c o m
请按任意键继续. . .
*/

四.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. 设置 Visual Studio 字体/背景/行号
  6. C 语言格式控制符/占位符
  7. C 语言逻辑运算符
  8. C 语言三目运算符
  9. C 语言逗号表达式
  10. C 语言自加自减运算符(++i / i++)
  11. C 语言 for 循环
  12. C 语言 break 和 continue
  13. C 语言 while 循环
  14. C 语言 do while 和 while 循环
  15. C 语言 switch 语句
  16. C 语言 goto 语句
  17. C 语言 char 字符串

未经允许不得转载:猿说编程 >> C 语言 char 字符串
本文由博客 - 猿说编程 猿说编程 发布!
© 著作权归作者所有,转载或内容合作请联系作者

喜欢的朋友记得点赞、收藏、关注哦!!!

相关推荐
没钥匙的锁1几秒前
05-Java面向对象构造器与封装
java·开发语言
仙人球部落4 分钟前
-python-LangGraph框架(3-31-LangGraph 「合并式状态管理」的原理与实践)
开发语言·javascript·python
2401_894915537 分钟前
Geo搜索优化排名源码部署搭建全流程详解
android·开发语言·flask·php·精选
aaPIXa62227 分钟前
C++采样引导优化SPGO——比PGO更智能的编译器决策新方案
java·c++·人工智能
蓝银草同学33 分钟前
Stream 实战:博客列表排序、过滤与分页(AI 辅助学习 Java 8)
java·前端·后端
chouchuang1 小时前
day-025-面向对象-上
开发语言·python
某不知名網友1 小时前
C/C++动态内存管理,智能指针及RAlI思想。
java·c语言·c++
sunfdf1 小时前
Next.js 新手从零部署到首跑实战指南
开发语言·javascript·ecmascript
hold?fish:palm2 小时前
从源码到可执行文件:C++程序的编译过程
开发语言·c++
随性而行3602 小时前
微信API接口与AI自动化:开发者的实现思路
运维·服务器·开发语言·人工智能·微信·自动化