【编程语言 · 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日
    浏览(41)
  • 字符串中的第一个唯一字符

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2024年01月18日
    浏览(56)
  • C语言实例:输出字符的几种方式和实际编程中的应用

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

    2024年02月08日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包