c语言c++知识整理(onenote)

文章目录

    • c++中的字符串
      • 1.cin>>
          • 1)最常见的是获取输入的一个字符或数字,如
          • 2)获取输入的字符串,可以用数组或string类型。
      • 2.长度
      • 3.比较
    • C语言中字符数组的初始化与赋值
    • 经典排序算法
    • 总结

c++中的字符串

C++获取字符cin,getchar,get,getline的区别 - shrimp_929 - 博客园 (cnblogs.com)

1.cin>>

1)最常见的是获取输入的一个字符或数字,如
int a,b;

cin>>a>>b;`

注意:cin>>会自动过滤掉不可见字符(如空格 回车 tab等)。若不想过滤掉空白字符,可以用noskipws流进行控制。

如下程序,没有过滤掉不可见字符,输入的空格字符存入了input[1]中,也可输出。

c语言c++知识整理(onenote)_第1张图片

2)获取输入的字符串,可以用数组或string类型。

如:

char a[20];
cin>>a;
cout<

或者string类型:

string s;
cin>>s;
cout<

注意:遇到空格、回车等会结束获取输入的字符串,后面的字符串会过滤掉(存放在输入流中)。如果后面还需要输入字符串,则会从前面存放的字符串开始获取。

2.长度

获取C/C++字符串、字符数组长度_snailme的博客-CSDN博客_char数组长度

c语言c++知识整理(onenote)_第2张图片

在C语言中,对 sizeof() 的处理都是在编译阶段进行

char  int /  int bzsizeof(str); /

strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符’\0’为止,然后返回计数器值(长度不包含’\0’)

计算结构体数组的个数:sizeof(结构体数组)/sizeof(结构体)

c语言c++知识整理(onenote)_第3张图片

str是数组拥有固定的内存 sizeof是计算它占的字节数

而指针只是一个存放变量地址的一个变量 在任何时候都是占四个字节

指针和数组是不一样的,但数组做为参数传递时就会退化为同类型的指针.

c语言c++知识整理(onenote)_第4张图片

来自 https://bbs.csdn.net/topics/270084028

3.比较

使用strcmp进行比较

来自 https://blog.csdn.net/qq_31243065/article/details/82810165

C语言中字符数组的初始化与赋值

来自 https://blog.csdn.net/weibo1230123/article/details/80512727

c语言c++知识整理(onenote)_第5张图片

c语言c++知识整理(onenote)_第6张图片

c语言c++知识整理(onenote)_第7张图片

经典排序算法

c语言c++知识整理(onenote)_第8张图片

算法链接

总结

  • 在C语言中并没有直接提供字符串的操作,其字符串操作是通过转化为字符串完成的,例如字符数组,字符指针,其本质是对字符的操作。
  • 作为字符数组,与普通数组相同,区别在于它的每一个元素是一个字符,所以不可以直接用“=”对字符数组赋值(parr[]=”zhifushuzu”,是错误的赋值方式),但是可以对每一个元素进行赋值(charr[12]=’\0’是正确的)。
  • 字符串一定是以’\0’结尾的;字符数组和字符指针我们当做字符串整体初始化,系统会自动添加’\0’;对于字符数组,如果采用单个字符的方式进行初始化或者赋值一定要考虑结束符’\0’
  • strcpy和strcat内部也是对字符的操作,以‘\0’作为字符串结束的标志。

来自 https://blog.csdn.net/weibo1230123/article/details/80512727

你可能感兴趣的:(c语言c++学习,c++,c语言)