当前位置: 首页 > wzjs >正文

无备案网站可以做百度推广西安网站制作公司

无备案网站可以做百度推广,西安网站制作公司,做资金盘网站,杭州下沙网站建设目录 1. 字符串的定义与表示 2. 获取字符串的两种方式 3.字符串数组 4. 字符串输入函数 4.1 gets()(不推荐使用,有缓冲区溢出风险) 4.2 fgets()(推荐使用) 4.3 scanf() 4.4 gets_s()(C11 标准&…

目录

1. 字符串的定义与表示

2. 获取字符串的两种方式

 3.字符串数组

4. 字符串输入函数 

4.1 gets()(不推荐使用,有缓冲区溢出风险)

4.2 fgets()(推荐使用)

4.3 scanf()

4.4 gets_s()(C11 标准,MSVC 支持)

4.5 s_gets()(自定义安全函数)

5. 字符串输出函数 

5.1 puts()

5.2 fputs()

5.3 printf()

6.  函数

6.1 strlen()

6.2 strcat()

6.3 strcpy()

6.4 strcmp()

6.5 strlwr() 和 strupr()(非标准,部分编译器支持)

7.  字符处理函数

7.1 字符分类函数

7.2 字符转换函数 

7.3综合示例:统计字符串中的字母和数字


1. 字符串的定义与表示

在 C 语言中,字符串是由字符数组表示的,以 ** 空字符\0** 结尾。例如:

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; // 显式初始化

char message[] = "Hello"; // 自动添加'\0',等价于上面的写法


2. 获取字符串的两种方式

  • 字符数组:预分配内存,长度固定

char name[20]; // 定义长度为20的字符数组

  • 字符指针:指向字符串常量(存储在只读内存区) 
    • 只读常量区特点:①内容不可以修改。②里面定义的字符串是可以复用的。

char *greeting = "Hello"; // 指向字符串常量的指针


 3.字符串数组

  • 二维字符数组:存储多个字符串
char fruits[3][10] = {"Apple","Banana","Cherry"
}; // 3个字符串,每个最大长度9(留一个位置给'\0')
  • 指针数组:每个元素是一个字符串指针 
char *colors[] = {"Red","Green","Blue"
}; // 更灵活,可指向不同长度的字符串

4. 字符串输入函数 

4.1 gets()不推荐使用,有缓冲区溢出风险)

  • 作用:从标准输入读取一行字符串(直到换行符\n
  • 缺点:不检查输入长度,可能导致缓冲区溢出
  • 示例

char str[10];

gets(str); // 输入超过9个字符会溢出

4.2 fgets()推荐使用

  • 作用:从文件或标准输入读取字符串,指定最大长度
  • 原型fgets(str, size, stdin)
  • 特点:会读取换行符\n,需手动处理
  • 示例

char str[10];

fgets(str, 10, stdin); // 最多读9个字符,留一个给'\0'

4.3 scanf()

  • 作用:格式化输入,遇空格或换行符停止
  • 示例

char name[20];

scanf("%s", name); // 输入"John Doe"时,只读取"John"

4.4 gets_s()(C11 标准,MSVC 支持)

  • 作用:安全版本的gets(),需指定缓冲区大小
  • 示例

char str[10];

gets_s(str, 10); // 安全读取,超出长度会截断

4.5 s_gets()(自定义安全函数)

  • 作用:手动实现安全读取,处理换行符
char *s_gets(char *st, int n) {char *ret_val;ret_val = fgets(st, n, stdin);if (ret_val) {char *find = strchr(st, '\n'); // 查找换行符if (find) *find = '\0'; // 替换为'\0'else while (getchar() != '\n') continue; // 清除多余输入}return ret_val;
}

5. 字符串输出函数 

5.1 puts()

  • 作用:输出字符串并自动添加换行符
  • 示例

char str[] = "Hello";

puts(str); // 输出"Hello"后换行

5.2 fputs()

  • 作用:输出字符串到文件或标准输出,不添加换行符
  • 示例

char str[] = "Hello";

fputs(str, stdout); // 输出"Hello"

5.3 printf()

  • 作用:格式化输出字符串
  • 示例

char name[] = "Alice";

printf("Hello, %s!\n", name); // 输出"Hello, Alice!"


6. <string.h> 函数

6.1 strlen()

  • 作用:计算字符串长度(不包含\0
  • 示例

char str[] = "Hello";

int len = strlen(str); // len = 5

6.2 strcat()

  • 作用:拼接两个字符串
  • 原型strcat(dest, src)
  • 示例

char dest[20] = "Hello, ";

char src[] = "World!";

strcat(dest, src); // dest = "Hello, World!"

6.3 strcpy()

  • 作用:复制字符串
  • 原型strcpy(dest, src)
  • 示例

char src[] = "Hello";

char dest[10];

strcpy(dest, src); // dest = "Hello"

6.4 strcmp()

  • 作用:比较两个字符串
  • 返回值
    • 0:相等
    • 负数:str1 < str2
    • 正数:str1 > str2
  • 示例

int result = strcmp("apple", "banana"); // result < 0

6.5 strlwr() 和 strupr()(非标准,部分编译器支持)

  • 作用:转换字符串大小写
  • 示例

char str1[] = "Hello";

char str2[] = "Hello";

_strlwr(str1); // str1 = "hello" (如果编译器支持)

_strupr(str2); // str2 = "HELLO" (如果编译器支持)


7. <ctype.h> 字符处理函数

7.1 字符分类函数

7.2 字符转换函数 

7.3综合示例:统计字符串中的字母和数字

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {char str[100];int letters = 0, digits = 0, others = 0;printf("Enter a string: ");fgets(str, 100, stdin);// 处理fgets可能读取的换行符str[strcspn(str, "\n")] = 0;for (int i = 0; str[i] != '\0'; i++) {if (isalpha(str[i]))letters++;else if (isdigit(str[i]))digits++;elseothers++;}printf("Letters: %d\n", letters);//识别字母数量printf("Digits: %d\n", digits);//识别数字数量printf("Other characters: %d\n", others);//识别空格或符号数量return 0;
}

    http://www.dtcms.com/wzjs/157776.html

    相关文章:

  • 做网站需要空间跟域名吗检测网站是否安全
  • 用java做网站验证码怎么写全渠道营销案例
  • 临沂网站制作公司云计算培训
  • 北京网站建设公司如何排版海外推广解决方案
  • 四方网架公司seo站群优化
  • 欧美化妆品网站模板下载什么平台可以免费推广产品
  • 全网网站建设维护渠道网
  • 买机票便宜的网站建设长沙网站优化体验
  • 好的建设网站公司简介google ads
  • 做html网站模板网站关键词优化怎么做的
  • 马鞍山网站建设cnfg平台推广是什么
  • 大良网站建设乱码链接怎么用
  • wordpress评论框文件seo服务外包价格
  • 自己服务器可以做网站营销型网站名词解释
  • 深圳网站制作hi0755媒体资源网官网
  • 夺宝网站制作推广软件app
  • 网站流量好难做线上推广策略
  • 网站价钱优化关键词排名公司
  • 个人微信注册网站网络营销案例有哪些
  • 自己做网站接入微信和支付宝宁波seo公司哪家好
  • 百度百科网站怎么做游戏推广拉人渠道
  • 网站卖了对方做违法吗专业营销推广团队
  • 网站开发与应用 答案做网站用什么编程软件
  • 舒兰网站建设seo站内优化
  • 宜昌怎样优化网站建设电脑课程培训零基础
  • 做网站百度一下媒体资源网
  • 电影网站html模板网络科技有限公司
  • 厦门网站seo今日足球赛事推荐
  • dz网站建设视频教程资源最全的网盘搜索引擎
  • 北京城乡建设部网站首页山东今日头条新闻