5.1 数组

构造数据类型之一

数组是具有一定顺序关系的若干个变量的集合,组成数组的各个变量称为数组的元素

数组中各元素的数据类型要求相同,用数组名和下标确定。数组可以是一维的,也可以是多维的。

5.2 一维数组

所谓一维数组是指只有一个下标的数组。它在计算机的内存中是连续存储的。

C语言中,一维数组的说明一般形式如下:

<存储类型>  <数据类型 >  <数组名>[<表达式>] ;

一维数组的初始化

 5.3 二维数组

定义方式:(声明时列数不能省略,行数可以)

数据类型 数组名[常量表达式][常量表达式];

5.4 多维数组

具有两个或两个以上下标的数组称为多维数组

例如:int c[2][3][4];

5.5字符数组和字符串

字符数组:字符数组是元素的数据类型为字符类型的数组--char c[10], ch[3][4];

字符数组的初始化:1.逐个字符赋值,2.用字符串常量;

5.6字符串函数

C库中实现了很多字符串处理函数

#include <string.h>

字符串长度函数strlen

格式:strlen(字符数组)

功能:计算字符串长度

返值:返回字符串实际长度,不包括‘\0’在内

\xhh表示十六进制数代表的符号

\ddd表示8进制的

例:对于以下字符串,strlen(s)的值为:

char  s[10]={‘A’,‘\0’,‘B’,‘C’,‘\0’,‘D’};(看到\0代表结束了)

char  s[ ]=“\t\v\\\0will\n”;

char  s[ ]=“\x69\141\n”;

答案:1   3   3

字符串拷贝函数strcpy

        格式:strcpy(字符数组1,字符串2)

功能:将字符串2,拷贝到字符数组1中去

返值:返回字符数组1的首地址

说明:字符数组1必须足够大;拷贝时‘\0’一同拷贝

字符串连接函数strcat

        格式:strcat(字符数组1,字符数组2)

功能:把字符数组2连到字符数组1后面

返值:返回字符数组1的首地址

说明:字符数组1必须足够大;连接前,两串均以‘\0’结束;连接后,串1的           ‘\0’取消,新串最后加‘\0’

字符串比较函数strcmp

        格       式:strcmp(字符串1,字符串2)

功       能:比较两个字符串

比较规则:对两串从左向右逐个字符比较(ASCII码),直到遇到不同字符或‘\0’为止

返       值:返回int型整数

a. 若字符串1< 字符串2, 返回负整数

b. 若字符串1> 字符串2, 返回正整数

c. 若字符串1== 字符串2, 返回零

其他常用字符串函数

strncpy(p, p1, n) 复制指定长度字符串

strncat(p, p1, n) 附加指定长度字符串

strcasecmp忽略大小写比较字符串

strncmp(p, p1, n) 比较指定长度字符串

strchr(p, c) 在字符串中查找指定字符

strstr(p, p1) 查找字符串

isalpha() 检查是否为字母字符

isupper() 检查是否为大写字母字符

islower() 检查是否为小写字母字符

isdigit() 检查是否为数字

Linux C语言技术(5)-数组和字符串相关推荐

  1. C语言基础知识-数组和字符串

    C语言基础知识-数组和字符串 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组概述 在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来的方式我们称为数组 ...

  2. C语言关于字符数组接受字符串解析

    C语言关于字符数组接收字符串解析 前言:在一道算法题中遇到了一个让我很诧异的问题,strlen为什么得不到正确的长度.答案是我对字符数组进行的是赋值操作,不会自动补'/0'. 本文从三个角度分析问题, ...

  3. c语言用一维数组求字符串,c语言一维数组练习题.doc

    c语言一维数组练习题 精品文档2016全新精品资料-全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES1 c语言一维数组练习题 4.1内容概述 本章主要介绍了数值数组和字符数组的 ...

  4. C语言的字符数组(字符串)的定义与初始化

    1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ','h','a','p','p','y ...

  5. 【C语言】c语言中的数组和字符串

    如果需要处理1名学生的10门课程的成绩,用什么来存储这些数据?第一种方法:可以定义10个变量,每个变量中存放1门成绩.但这种方法定义的变量过多,若课程数目更多,处理起来势必更加繁琐.第二种方法:设想用 ...

  6. C语言直接清空数组、字符串

    我说的字符串不是C++的STL,是C语言的字符数组 (1)循环方法 char a[ ]="aaaaaaaa"; //定义字符数组 for (unsigned int i = 0; ...

  7. 关于C语言中字符数组和字符串的输出

    本文内容仅仅代表个人在学习中遇到的问题并作出的总结,如有错误的地方和别的想法可以联系一起学习讨论! 文章目录 前言 一.字符数组和字符串 二.过程分析 1.字符数组和字符串输出对比 2.字符数组和字符 ...

  8. C语言,字符数组与字符串

    文章目录 字符数组基本介绍 字符串注意事项 字符串的访问和遍历 字符串的表示形式 用字符数组存放一个字符串: 用字符数组存放一个字符串, 用字符指针指向一个字符串 使用字符指针变量和字符数组两种方法表 ...

  9. C++语言篇 字符数组与字符串输入

    一.在字符数组输入中,常用到cin , scanf() , gets() , cin.getline()和cin.get()函数. 注意:gets() , cin.getline()和cin.get( ...

最新文章

  1. 三维点云分割综述(上)
  2. oracle 递归应用(挺复杂的)
  3. selenium 难定位元素、时间插件
  4. Java面试之Synchronized无法禁止指令重排却能保证有序性
  5. JAVA数据库连接池的工作机制
  6. Unity | 安卓 读取和写入TXT文本操作
  7. 树莓派+aria2+yaaw搭建下载机
  8. bootstrap搜索图标的使用
  9. FC光钎通道交换机,同行性价比超高
  10. 恒指期货交易5分钟技巧
  11. 巧妙地帮你的手机节省流量,担心流量超出的机友们看过(转)
  12. 《蛋仔派对》通关小技巧
  13. turtlesim画正方形代码对比
  14. 全球注意力缺陷多动障碍(ADHD)市场规模2021年大约为796亿元(人民币),预计2028年将达到1259亿元
  15. tagslam框架:LiDARTag和AprilTags,只使用特定标签的雷达/相机
  16. WebUploader重复多次上传问题
  17. [翻译 3GPP 38.321] 5.1.1随机接入流程初始化
  18. bootstrap和css样式兼容(ie、360、qq)不同浏览器的解决办法
  19. vue自定义指令---输入框禁止输入特殊字符
  20. 分享一些手机的测试点

热门文章

  1. windows电脑触摸板 双指触摸 失效
  2. 去掉谷歌浏览器输入框默认的黄色背景
  3. 时间管理,没那么简单!!!
  4. 网络编程——TFTP协议(基于UDP)
  5. 一个简单的各异向性滤波实现和应用
  6. 用Packstack 安装 Openstack,无法启动实例,cpu affinity is not supported
  7. RFID软件:简介、功能和应用范围
  8. php求二维数组,php二维数组怎么求和
  9. 【人机对话】阿里云人工智能ET化身CEO,对话蜻蜓FM猫局长
  10. 灵动微电子EVB-L0136开发板试用