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

 勉励自己:**生活百般滋味,人生需要笑对。

前言:

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

概念部分

    字符在输入时通常用单引号括起来,大部分字符都可以用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.忽略对空白字符的处理

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

  • 26
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论
### 回答1: jmu-java-01入门-格式化输入输出与字符串是Java编程语言中的一个入门级别的课程,主要涉及到Java中的格式化输入输出和字符串处理。在Java中,格式化输入输出可以通过使用格式化字符串来控制输出的格式,例如指定输出的宽度、精度、对齐方式等。而字符串处理则包括字符串的拼接、截取、替换、比较等操作,这些操作都是Java编程中非常常见的操作。通过学习这门课程,可以帮助初学者更好地掌握Java编程语言的基础知识,为后续的学习打下坚实的基础。 ### 回答2: jmu-java-01入门课程中,格式化输入输出与字符串是Java编程中非常重要的基础知识。格式化输入输出主要是通过使用Java中的格式化字符串来实现对变量进行控制输出的格式。而字符串则是Java中非常重要的一种数据类型,它可以用于存储文本信息。 在Java中,格式化输入输出主要是通过使用printf()和Scanner类来实现。其中,printf()方法用于输出格式化字符串,可以根据需要控制输出的格式,比如输出数字时控制小数点的位数、输出字符串时设定字符串宽度等。Scanner类则用于获取用户输入,并将输入的字符转换为相应的数据类型。在使用Scanner时,需要先创建对象,再通过调用相应的方法获取输入信息。 字符串在Java中是一种类似于字符数组的数据类型,它可以存储由字符组成的文本信息。Java中的字符串是不可变的,一旦创建后就不能再被修改。常见字符串操作包括字符串的连接、截取、替换等。Java中的字符串也支持正则表达式,可以用于处理一些复杂的字符串匹配操作。 使用格式化输入输出和字符串,可以方便地处理各种复杂的输入输出需求,并实现对字符串的灵活操作。掌握这两个基础知识对于Java编程的学习非常重要,是构建更复杂程序的基石。同时,也可以通过使用Java提供的类库函数,进一步扩展字符串及格式化输入输出的处理能力,提高程序的效率和质量。 ### 回答3: jmu-java-01入门-格式化输入输出与字符串,是Java编程语言的入门课程,它涵盖了格式化输入输出和字符串的基本概念、用法和实例应用等内容,是学习Java编程语言的重要基础。 格式化输入输出是一种常见的技术,可以让我们以可读性更好的方式向用户展示数据,并且可以方便地输出复杂的数据结构。在Java中,将这种技术应用到实际编程中的方法是使用格式化字符串和格式化输出。 Java字符串也是一个重要的概念。字符串在Java中是引用类型,它们被定义为对象,并且许多重要的Java类库方法使用字符串作为参数和返回类型。学习字符串如何在Java中使用和操作,不仅可以帮助我们更好地理解Java,还可以帮助我们编写更强大和复杂的程序。 在学习jmu-java-01入门-格式化输入输出与字符串时,我们将学习使用Java中的Scanner类来实现格式化输入。Scanner类提供了一种方便的方式,用于读取输入流中的各个部分。我们还将学习如何使用Java的Formatter类来格式化输出,从而以人类可读的方式格式化数据输出。 此外,我们还将学习如何创建和使用Java字符串字符串包含许多重要的概念,如长度、字符串拼接、子字符串和常用的字符串方法等等。通过学习字符串的方法和用法,我们将能够更好地理解Java语言中的字符串处理,从而更加熟练地编写程序。 总的来说,jmu-java-01入门-格式化输入输出与字符串,是学习Java编程语言时的一个重要基础课程。通过学习这个课程,我们将更好地理解和掌握Java中的格式化输入输出和字符串处理,从而编写出更高质量和复杂的Java程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

狗蛋今天也要努力

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

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

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

打赏作者

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

抵扣说明:

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

余额充值