字符串入门和初学字符串常见问题

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
 勉励自己:**生活百般滋味,人生需要笑对。

前言:

  本项目是笔者刚开始学完字符串后结合自己的总结,和课本以及老师所讲的,总结出来的字符串
  快速入门的一些经典知识,和一道简单的入门题目,希望给大家带来帮助!!

概念部分

    字符在输入时通常用单引号括起来,大部分字符都可以用ascll码来表示,而有一些特殊的字符,
  如换行键,等只能依靠转义序列来表示。并且所有的ASCLL码字符,都可以用数字转义序列来表示

输入问题

   scanf()和getchar()函数都可以用来输入单个字符,但是scanf不会跳过空白符,一般指回车键,
   这时候常用的办法是用getchar();吞噬掉空白格,

样例:先读入整数,在读入字符;
常见有三种办法:

scanf("%d",&n);
getchar();//吞噬空格或者回车
scanf("%c",&ch)
scanf("%d",&n);
scanf("%*%c",&ch)
scanf("%d",&n);
scanf(" %c",&ch)//在%c前加上一个空格

一般情况下第一种情况更好用

字符串

字符串既是字符的数组表达形式,末尾有一个零字符’\0’,只作为标志结尾符,无任何实际意义。

字符串的输入输出和初始化

输入输出

一共有三种方法
1)逐个输入,比较麻烦

for(i=0;i<20;i++)
    scanf("%c",&str[i]);
for(i=0;i!='\0'&&i<20;i++)
    printf("%c",str[i]);

2)以%s格式整体输出,读入回车空格等空白字符时系统自动判定输入结束

    char str[20];
    scanf("%s",str);
    printf("%s",str);

这种方式在输入时无需加地址符,只要输入数组名即可。
3)用gets()和puts()函数输入和输出,但是gets()不能控制输出格式

    char str[20];
    gets(str);
    puts(str);

上述三种中,常用的就是第三种。

初始化

一维数组的定义、引用。初始化方法都适用于字符数组。
样例如下

   char t[5]={'H','A','P','P','Y'};

实战

一个简单的入门题

单词个数统计

样例如下

                  1133: 单词个数统计
 时间限制: 1 Sec  内存限制: 128 MB
题目描述
从键盘输入一行字符,长度小于1000。统计其中单词的个数,各单词以空格分隔,且空格数可以是
多少个。
输入
输入只有一行句子。仅有空格和英文字母构成 
输出
单词的个数 
样例输入 Copy
stable marriage  problem Consists     of Matching members 
样例输出 Copy
7

题解如下

#include<stdio.h>
#include<stdlib.h>
int main ()
{
    char a[1000];//定义字符串
    int sum,b=0,i;
    gets(a);//输入字符串
    for(i=0;a[i]!='\0';i++)
    {
        **if(a[i]!=' '&&a[i+1]==' ')//判断前一个是不是单词**
         b++;
    }
    sum=strlen(a);//strlen是统计字符长度的函数
    **if(a[sum-1]!=' ') //最有一个单词的特殊情况,因为上面那个只能判断到倒数第二个单词**
    b++;
    printf("%d\n",b);
    return 0;
}

常见问题

1.经常把char类型的字符串定义为int类型
2.对gets()函数输入不太掌握,要牢记,括号里只输入数组名即可。
3.忽略对空白字符的处理

好了,今天的文章到这就结束了,我们已经对字符串有了一定的了解,下一步就是自己去学习和刷题啦!

Python初学系列—字符串 字符串 表示方式 字符串有两类共4种表示方式 (1)由一对单引号或双引号表示,仅表示单行字符串 (2)由一对三单引号或者三双引号表示,可表示多行字符串 注:这里三单引号在python也是多行注释的表示方式,这取决于三单引号的字符串内容是否被赋给了一个变量 注:如果希望字符串中能够表示引号怎么办?这样就可以使用单双引号交替的方式,即如果希望文本中出现单引号,则使用双引号来表示,反之亦然。 字符串的序... 阅读详情

相关推荐

零基础入门篇①① Python字符串常用方法(全网最细,仅此一份)

Python从入门到精通👉零基础入门篇①①

hacker707的博客 1万+

字符串遇到的一些问题

一、字符串怎么表示 用字符指针 char * str 用字符数组 char str[N] 二、字符串数组怎么表示 char * S[N] char S[N][M] 三、我遇到的问题 问题一 在结构体中(比如Student结构体)有一项char * name的内容项,在使用的过程中涉及此内容时候会有Access Violation报错 解决:我遇到此类问题一般由以下两种原因引起 ...

zjs975584714的博客 388

第3章 信息技术服务(一)

对 第三章 《信息技术服务》中第一、二、三节 <内涵与外延、原理与组成、服务生命周期>进行总结、归纳

好好学习,天天向上的博客 712

matlab学习中遇到的问题整理

编程基础实在是很差,将最近在看matlab程序遇到的问题查资料,并整理如下: 一.Matlab输出输出参数varargout与nargout,varargin与nargin的区别(来自百度文库) 1、varargout与nargout区别    varargout简介:  varargout可以看做“Variable length output argument list”的缩写。在matl

荪荪的博客 7099

string字符串遇到的问题 以及字符串为空或空格问题

http://bbs.bccn.net/thread-367153-1-1.html  可能是没有cin输入 判断字符串为空: bool empty() const;  The member function returns true for an empty controlled sequence. string a; if(a.empty()) printf("empty")

tianzhijiaozi19的专栏 1454

简单字符串的输入输出

#include&lt;iostream&gt; #include&lt;cstdlib&gt;//里面封装了许多函数, //例如malloc,free这些动态分配内存函数等等, //如果你不引入这个库,这些函数就无法使用 using namespace std; int main() { int i; char ...

养猪的纺织工 367

Scala入门案例

1:输入两个数,按从小到大排序后输出 package com.qf.bigdata import scala.collection.mutable.ArrayBuffer import scala.io.StdIn object Demo02 { def main(args: Array[String]): Unit = { println("请输入两个数,比较大小") val a = StdIn.readInt() val b = StdIn.readInt() v

默主归沙的博客 1611

Python 初学入门指南

基础函数:用def关键字定义,支持参数返回值:pythonreturn a + b # 定义加法函数print(result) # 输出:8Python 3.12 新特性:简化类型注解,增强代码可读性:pythondef greet(name: str) -> str: # 明确参数返回值类型Python 的魅力在于 “简单却强大”,初学者无需追求 “一次学完所有知识”,而应通过 **“小项目驱动”** 逐步积累经验。

zqmgx13291的博客 1万+

python初学入门——————字符串

字符串是python常用的变量类型,其包括了很多函数方法。本文重点介绍这些方法的使用。在之前的文章提到过,字符串是用单引号或者双引号进行声明。 初次之外也可以使用三引号 二、字符串的使用 1.输出 在前篇文章具体提到过输入输出,读者可以翻阅之前文章。下标也可以理解为索引。用来标识位置,下标的作⽤即是通过下标快速找到对应的数据。 正数小标从第一个字母开始,并且以0为起始。负数下标从末尾第一个字母开始,以-1起始。 使用就可以获取特定索引位置的字母。 如: 当下标数字超过字符长度时,程序将会报错 :Index

weixin_44984007的博客 1420

适合初学入门Java程序

相思一夜梅花发,忽到窗前疑是君。 概述 Java是在IT行业广泛使用的最流行的编程语言之一。它简单,健壮,可帮助我们重用代码。在本文中,让我们看一些了解Java基础的应用程序。 入门的Java程序 计算机程序 编写一个Java程序来执行基本的计算器操作。 当你考虑使用计算器时,就会想到加,减,乘,除等运算。让我们借助以下程序来实现基本的计算器操作。 package com.niocoder;...

郑龙飞 665

Shell 脚本中变量字符串入门介绍

这种方法在处理按字符位置截取且字符串有一定规律的情况时比较方便,尤其是当需要结合其他命令来处理输入字符串时。在处理更复杂的文本处理字符串操作任务时非常有用,但对于简单的字符串截取,可能会显得有些“大材小用”。,Shell可能会误解变量名,而使用花括号可以避免这种情况,保证正确的拼接。获取密码字符串的长度,并与8比较,来判断密码是否符合长度要求。命令的使用可能会有一些差异,而且这种方法相对较复杂,不如使用。的第3个字符(偏移量为2)开始,截取3个字符,得到。需要注意的是,在不同的Shell环境中,

huanghm88的专栏 1463

Java初学者的30个常见问题

学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:286945438我们一起学Java! 本文回答了30个JAVA入门初学者的常见问题。 我可以用%除以一个小数吗? a += b ...

chuifuhuo6864的博客 123

初学者学python看什么书,python入门教程哪本书好

大家好,本文将围绕想初学python有什么推荐的书吗女生展开说明,想初学python有什么推荐的书吗知乎是一个很多人都想弄明白的事情,想搞清楚想初学python有什么推荐的书吗需要先了解以下几个事情。

w666666Wwwwwww的博客 721

Python 编程语言入门常见问题

本文介绍了Python编程语言的基础知识常见问题解决方法。主要内容包括:Python的特点应用领域,环境搭建步骤(安装解释器选择IDE),基础语法(变量与数据类型、运算符、控制结构、函数),模块与包的使用。同时针对初学者常见的7类问题(缩进错误、变量未定义、类型错误、模块导入失败、无限循环、函数参数传递、文件操作)提供了具体解决方案示例代码。通过学习这些内容,读者可以快速掌握Python编程基础,并有效解决实际编程中遇到的问题

2301_78096295的博客 1101

python中变量字符串的定义使用(适合python初学者借鉴)

但是如果想要打印的文本中同时包含字符串“ ”、’ ‘怎么办呢?变量简单来说就是一个名字,这个名字可以由我们自己来定义,可以是数字、字母、python3.0以上的版本甚至还可以用中文作为变量名,但是值得注意的是不可以用数字开头的变量作为变量名。如果以上不好理解的话,这里举个例子,例如x = 120,其中的x就是一个变量,而120是我们给变量x赋的值。变量的作用:变量可以存储各种类型的数据,例如数字、字符串、列表、字典等。通过这个变量可以找到相应的数据。字符串的使用:字符串的作用就是将文本包裹起来。

2303_79761523的博客 690

去掉字符串中的单引号双引号_Python入门学习(二)(字符串篇一)

考虑到部分与我一样想要入门Pyhthon的朋友,有些人可能没有其他语言基础,因此在入门学习记录中我会尽量详细,也希望大家能够坚持看下去,有看不懂的或者有错误的地方,希望大家私聊我提醒一下,大佬看到也希望不要喷小弟,哈哈哈,谢谢!你们的关注与回复就是我更新的最大动力!一、字符串简介所谓字符串就是由0个过多个字符组成的有序字符序列,字符串由2类4种表示方法:一类是有一对单引号或双引...

weixin_39760295的博客 4516

Python初学入门知识点

1.简单易学 2.面向对象 3.开源 4.可移植性 5.解释性 6.高级语言 7.可拓展性8.丰富的库 9.规范的代码python文档:https://docs.python.org/zh-cn/3.12二进制,十进制,八进制,十六进制导入包的模块基本语法导入包的模块的指定函数,类,变量。

m0_74449629的博客 1221

python初学者怎么入门?如何学习python?_初学者怎么练习python

很多刚接触编程的小伙伴们想要了解一下零基础学python难不难,本篇文章就来给大家解答一下python初学者怎么入门。了解 Python 的语法、关键字、变量、数据类型、运算符、条件语句、循环语句等基本概念,并通过简单的编程练习来熟悉这些概念。从 Python 的官方网站下载并安装最新的 Python 解释器。根据自己的操作系统选择合适的版本,并按照安装向导进行安装。Python 有丰富的标准库,其中包含了很多实用的模块函数,如字符串处理、文件操作、日期时间处理、数学计算等。

aclncf1313的博客 776

C语言入门(9)——字符串入门

C语言入门——字符串入门

Sunrise的博客 386
上一篇: C语言入门(初学函数递归和数组时常见的错误)
下一篇: 初学数组时常见问题
狗蛋今天也要努力
博客等级 码龄5年 299粉丝 7原创
评论 26
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狗蛋今天也要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值