第三章 数组和字符串 笔记

  1. 较大的数组应声明于main函数外,否则可能无法运行
  2. 数组直接不能直接赋值操作,可以用memcpy()
    1. memcpy(b,a,sizeof(int)*k),表示从a数组赋值K个int元素到b
    2. 需要头文件string.h
  3. memset()
    1. 头文件string.h
    2. memset(a,0,sizeof(a)),表示把数组清零
  4. 很多情况下,最好是在做一件事前先判断,而不要做完再判断修改。
  5. 字符数组
    1. 转义字符 escape sequence
    2. scanf("%s",s)
      1. 会读入一个不含空格、TAB、回车字符的字符串,存入s。//遇到的话会停下!
      2. 注意s前没有&符号
      3. 若是字符串char s[max][max1]可以用 scanf("%s",s[i])读取第i个字符
      4. 注意,遇到空白字符会停下
    3. %5d,表示按照五位打印,不足5位在前面补空格(%03d,前面补0)
    4. sprintf
      1. 把信息输出到字符串
      2. 注意要保证写入的字符串足够大
      3. printf--屏幕,fprintf--文件,sprintf--字符串
      4. 足够大:字符个数+1
        1. 以空字符"\0"结尾,"\0"截断
    5. strchr:在一个字符串中查找单个字符
    6. strlen(s),获取字符串s的实际长度
      1. 实际长度:结束标记“\0”前的字符个数
    7. strcmp(a,b)--比较, strcat(a,b)--连接,都用string.h头文件
  6. fgetc(fin)
    1. 打开一个文件,读取一个字符,返回一个int值(文件结束的特殊标记EOF,可以区别开来)
    2. 如果要从标准输入读取一个字符,可以用getchar(), 等价于fgetc(stdin);
    3. 一般在检查它返回值不是EOF后,再将其值转换为char值。
    4. fgetc(),getchar()都是用于读取下一个字符的。
    5. 不同操作系统的回车换行符是不一样的
      1. windows下的是“\r” "\n"
      2. Linux则是"\n"
      3. macOS是"\r"
  7. fgets(buf,maxn,fin)
    1. 读取完整的一行
    2. buf的声明为buf[maxn]
    3. 函数读取不超过manx-1个字符,然后在末尾加上'\0'
    4. 一旦读到\n就会停止,因此,"\n"也会是Buf字符串的最后一个有效字符
    5. 在文件末尾的时候 最后一个有效字符就不是'\n'了。
    6. 当一个字符也没有读到的时候,fgets()返回NULL
posted @ 2019-04-16 23:39  xxxuanei  阅读(358)  评论(0编辑  收藏  举报