【编程语言 · C语言 · 字符串】

这篇具有很好参考价值的文章主要介绍了【编程语言 · C语言 · 字符串】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

字符串

C中的字符串是一个以NULL字符'\0'结尾的字符数组。

字符串声明可以通过多种方式进行,每种方式都有其各自的考虑因素。

例如:

char str_name[str_len] = "string";

这将创建一个由str_len个字符组成的名为str_name的字符串,并将其初始化为值“ string”。

提供字符串文字以初始化字符串时,编译器会自动将NULL字符'\0'添加到char数组。

因此,必须声明数组大小至少比预期的字符串长度长一个字符。

下面的语句创建包含NULL字符的字符串。如果声明不包含char数组大小,则将根据初始化中字符串的长度加上'\0'的值来计算:

char str1[6] = "hello";
char str2[ ] = "world";  /* size 6 */

字符串也可以声明为一组字符:

char str3[6] = {'h', 'e', 'l', 'l', 'o', '\0'};
char str4[ ] = {'h', 'e', 'l', 'l', 'o', '\0'}; /* size 6 */ 

使用这种方法,必须显式添加NULL字符。请注意,这些字符用单引号引起来。

与任何数组一样,字符串的名称充当指针。

字符串文字是用双引号引起来的文本。

诸如 'b' 之类的字符用单引号引起来,不能视为字符串。

字符串指针声明,例如 char *str ="stuff"; 被认为是常量,不能从其初始值更改。

为了安全,方便地使用字符串,可以使用下面显示的“标准库”字符串函数。不要忘记引入<string.h>头文件。

strlen() -获取字符串的长度

strcat()-合并两个字符串

strcpy()-将一个字符串复制到另一个

strlwr()-将字符串转换为小写

trupr()-将字符串转换为大写

strrev()-反向字符串

strcmp()-比较两个字符串

【填空题】将字符串声明为char数组:

 str[] = "Hello, world!";

字符串输入

程序通常是交互式的,要求用户输入。

为了从用户那里检索一行文本或其他字符串,C提供了scanf(),gets()和fgets()函数。

你可以使用scanf()根据格式说明符读取输入。

例如:

char first_name[25];
int age;
printf("Enter your first name and age: \n");
scanf("%s %d", first_name, &age);

当使用scanf()读取字符串时,不需要&访问变量地址,因为数组名称充当指针。

scanf()到达空格时停止读取输入。

要读取带空格的字符串,请使用gets()函数。它读取输入,直到到达终止换行符(按Enter键)。

例如:

char full_name[50];
printf("Enter your full name: ");
gets(full_name);

gets()的更安全替代方法是fgets(),它最多读取指定数量的字符。

这种方法有助于防止缓冲区溢出(当字符串数组的大小不足以容纳键入的文本时发生)。

例如:

char full_name[50];
printf("Enter your full name: ");
fgets(full_name, 50, stdin);

fgets() 参数是字符串名称,要读取的字符数以及指向要从中读取字符串的指针。stdin表示从标准输入(即键盘)中读取。

get 和 fgets 之间的另一个区别是换行符由fgets存储。

fgets() 仅从stdin读取n-1个字符,因为必须有用于'\0'的空间。

【选词填空】使用scanf函数从输入中读取字符串


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

char

int

str

字符串输出

字符串输出由fputs(),putf()和printf()函数处理。

fputs 函数

fputs 函数的作用是向指定的文件写入一个字符串,其中字符串可以是字符串常量,也可以是字符组名、指针或变量。

fputs 一般形式如下:

fputs(字符串, 文件指针)

例如:

#include <stdio.h>
int main()
{
  char city[40];
  printf("Enter your favorite city: ");
  gets(city);
  // Note: for safety, use
  // fgets(city, 40, stdin);

  fputs(city, stdout);
  printf(" is a fun city.");

  return 0;
}

puts() 函数仅接受字符串参数,也可以用于显示输出。

但是,puts() 将在输出中添加换行符。

例如:

#include <stdio.h>
int main()
{
  char city[40];
  printf("Enter your favorite city: ");
  gets(city);
  // Note: for safety, use
  // fgets(city, 40, stdin);

  puts(city);

  return 0;
}

【选词填空】声明字符串,并使用fputs()函数将其输出:

 name[] = "John Smith";
(, stdout);

puts

char

fputs

name文章来源地址https://www.toymoban.com/news/detail-494016.html

到了这里,关于【编程语言 · C语言 · 字符串】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 字符串中的第一个唯一字符(字符串)

    给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。 示例 1: 输入: s = “leetcode” 输出: 0 示例 2: 输入: s = “loveleetcode” 输出: 2 示例 3: 输入: s = “aabb” 输出: -1 提示: 1 = s.length = 105 s 只包含小写字母 题解思路: 1.HashMap解决 2.统

    2023年04月09日
    浏览(7)
  • 字符串中的第一个唯一字符

    字符串中的第一个唯一字符

     这段代码的作用是在一个字符串 s 中找到第一个不重复(只出现一次)的字符,并返回它的下标。具体实现方式如下: 定义变量 i 表示当前处理的字符下标,定义字符串 rem 表示已经检查过的字符集合。 使用 while 循环遍历整个字符串,对于每个字符执行以下操作: a. 在该

    2024年02月01日
    浏览(8)
  • 【C++初阶】String在OJ中的使用(一):仅仅反转字母、字符串中的第一个唯一字母、字符串最后一个单词的长度、验证回文串、字符串相加

    【C++初阶】String在OJ中的使用(一):仅仅反转字母、字符串中的第一个唯一字母、字符串最后一个单词的长度、验证回文串、字符串相加

    前言: 🎯个人博客:Dream_Chaser 🎈博客专栏:C++ 📚本篇内容:仅仅反转字母、字符串中的第一个唯一字母、字符串最后一个单词的长度、验证回文串、字符串相加 目录 917.仅仅反转字母  题目描述: 387.字符串中的第一个唯一字符 题目描述: HJ1 字符串最后一个单词的长度

    2024年04月09日
    浏览(46)
  • 前端算法题——字符串中的第一个唯一字符

    给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 遍历字符串 用一个对象来记数,出现过一次就+1, 遍历完毕,再次遍历字符串,看它们在之前记录的对象里的值,是否是1,是就返回下标,不是返回-1。

    2024年02月22日
    浏览(7)
  • C语言如何输入一个字符串?

    C语言如何输入一个字符串?

    在 scanf() 和 printf() 函数中, %s 指的就是字符串 所以我们就可以使用 scanf(\\\"%s\\\",str) 和 printf(\\\"%s\\\",str) 从键盘处读取字符串并将字符串打印出来 代码如下: 这里要注意的一点是:在 scanf 函数中,后面的参数必须是一个地址,如输入一个整形变量: scamf(\\\"%d\\\",a) ,都需要进行 取地址操

    2024年02月04日
    浏览(49)
  • 深入解析C语言中的字符串和字符串处理函数

    标题:详解C语言中的字符串和字符串处理函数 目录: 1.引言 2.什么是C语言中的字符串 3.字符串的表示方式 4.C语言中的字符串处理函数 5.例子:使用字符串处理函数的示例代码 6.总结 在C语言中,字符串是一种常见的数据类型,用于存储一串字符。本篇博客将详细介绍C语言中

    2024年02月15日
    浏览(15)
  • 力扣热门算法题 349. 两个数组的交集,387. 字符串中的第一个唯一字符,394. 字符串解码

    力扣热门算法题 349. 两个数组的交集,387. 字符串中的第一个唯一字符,394. 字符串解码

    349. 两个数组的交集,387. 字符串中的第一个唯一字符,394. 字符串解码,每题做详细思路梳理,配套PythonJava双语代码, 2024.04.02 可通过leetcode所有测试用例。 目录 349. 两个数组的交集 解题思路 完整代码 Python Java 387. 字符串中的第一个唯一字符 解题思路 完整代码 Python Java

    2024年04月08日
    浏览(16)
  • 【Python3】【力扣题】387. 字符串中的第一个唯一字符

    【Python3】【力扣题】387. 字符串中的第一个唯一字符

    【力扣题】题目描述: 【Python3】代码: 1、解题思路:遍历字符串,依次判断元素在字符串中的个数是否为1,第一个为1的返回该元素的索引号,若整个字符串都没有个数为1的,则返回-1。 知识点:enumerate(序列):返回可迭代的序列中所有索引号和对应元素,元组形式 (索引

    2024年01月18日
    浏览(13)
  • 【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符

    【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符

     作者:小卢   专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。                                  ——《人民日报》 目录  917. 仅仅反转字母  387. 字符串中的第一个唯一字符 917. 仅仅反转字母  题目描述: 给你一个字符串  s  ,根据下述规则反转

    2023年04月12日
    浏览(16)
  • C语言实例:输出字符的几种方式和实际编程中的应用

    在C语言中,要输出单个字符可以使用多种方式。以下是一些常见的方法: 使用putchar函数 putchar函数可以输出单个字符到标准输出设备(通常是屏幕)。例如,下面的代码将字符’A’输出到屏幕上: 使用printf函数 printf函数可以用于格式化输出。如果只想输出单个字符,则需

    2024年02月08日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包