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 字符串
本文由博客 - 猿说编程 猿说编程 发布!
© 著作权归作者所有,转载或内容合作请联系作者

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

相关推荐
程序媛学姐3 分钟前
SpringKafka错误处理:重试机制与死信队列
java·开发语言·spring·kafka
有一只柴犬5 分钟前
深入Spring AI:6大核心概念带你入门AI开发
spring boot·后端
2401_8401922712 分钟前
如何学习一门计算机技术
开发语言·git·python·devops
向阳25620 分钟前
SpringBoot+vue前后端分离整合sa-token(无cookie登录态 & 详细的登录流程)
java·vue.js·spring boot·后端·sa-token·springboot·登录流程
巷北夜未央26 分钟前
Python每日一题(14)
开发语言·python·算法
XiaoLeisj37 分钟前
【MyBatis】深入解析 MyBatis XML 开发:增删改查操作和方法命名规范、@Param 重命名参数、XML 返回自增主键方法
xml·java·数据库·spring boot·sql·intellij-idea·mybatis
风象南38 分钟前
SpringBoot实现数据库读写分离的3种方案
java·spring boot·后端
振鹏Dong44 分钟前
策略模式——本质是通过Context类来作为中心控制单元,对不同的策略进行调度分配。
java·策略模式
ChinaRainbowSea1 小时前
3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queues)工作队列
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
雾月551 小时前
LeetCode 914 卡牌分组
java·开发语言·算法·leetcode·职场和发展