C语言读书笔记(基础 第四、五、六章)

一、运算符的优先级

      从上至下,由高至低

      !

      算术运算符

      关系运算符

      && ||

      赋值运算符

二、循环语句

      1)break;语句提前终止循环

      2)continue;语句终止本次循环

三、数组

#inclue <string.h>

      1)数组定义   一维数组:类型符 数组名[常量表达式];      二维数组:类型符 数组名[常量表达式][常量表达式]; 字符数组与定义一维数组的方法类似:如char c[5]={'a','1','b','v','n'},也可int c[5]={'a','1','b','v','n'};

      2)一维数组的初始化

          (1)全部初始化  int a[5]={1,2,3,4,5};

          (2)部分初始化  int a[5]={1,2};未赋值的自动为0

          (3)数组内元素全设为0  int a[5]={0,0,0,0,0};或int a[5]={0};

          (4)全部赋值时,由于个数已确定,可以不写个数  int a[]={1,2,3,4,5};

     3)二维数组的初始化

          (1)分行给二维数组赋初值  int a[2][3]={{1,2,3},{4,5,6}};

          (2)将所有数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值  int a[2][3]={1,2,3,4,5,6};

          (3)可以对部分元素赋初值  int a[2][3]={{1},{4}};只对各行第一列的元素赋初值,其余元素值自动为0

          (4)如果对全部元素都赋初值 ,则定义数组是,对第一维的长度可以不指定,但第二维的长度不能省 int a[][3]={{1,2,3},{4,5,6}};

     4)字符数组

          (1)给部分赋值,未被赋值的则被当做‘/0’('/0'代表ASCII码为0的字符,不是一个可以显示的字符,而是一个“空操作符”,以其为字符串的结束标志,不会产生附加的操作或增加有效字符,只起一个供辨别的标志。);

          (2)C语言中是将字符串当做字符数组来处理的(系统在用字符数组存储字符串常量时,会自动加一个'/0'作为结束符。在程序中往往依靠检测'/0'的位置来判定字符串是否结束);

          (3)字符数组并不要求最后一个字符为'/0',甚至可以不包含'/0',不过也常常认为添加,便于引用字符数组中的字符串:char c[6] = {'C','h','i','n','a','/0'};      char c[]={"C program."} 在字符数组中便是C p r o g r a m . '/0'

          (4)字符数组的输入输出    1、逐个输入输出:%c        2、将整个字符串一次输入或输出 %s;

          (5)使用字符串处理函数:

                  a) puts函数----输出字符串(1个)    一般形式:puts(字符数组)    (将结束标志'/0'转换为'/n')输出完成字符串后换行;

                  b) gets函数----输入字符串(1个)    一般形式:gets(字符数组)    从终端输入一个字符串给字符数组;

                  c) strcat函数(STRing CATenate)----字符串连接函数    一般形式:strcat(字符数组1,字符数组2);把字符数组2接到字符数组1的后边,把结果放到字符数组1中(字符数组1要足够大,把数组1中的'/0'取消,保留数组2的'/0');

                  d) strcpy(STRingCoPY)和strncpy函数----字符串复制函数    一般形式:strcpy(字符数组1,字符串2);把字符串2复制到字符数组1中(字符数组1要足够大;字符数组1必须写成数组名形式,字符2可以是数组名,也可是一个字符串常量;不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组;可以用strncpy函数将字符串2中前面的n个字符复制到字符数组1中 strncpy(字符数组1,字符串2,n)但复制的字符个数不应多于字符数组中原有的字符“不包括'/0'”);

                  e) strcmp(STRing CoMPare)函数----字符串比较函数    一般形式:strcmp(字符串1,字符串2);比较字符串1和字符串2(自左向右逐个字符比较ASCII码值,知道出现不同或'/0'为止);

                  f) strlen(STRing LENgth)函数----测字符串长度的函数    一般形式:strlen(字符数组)   长度不包括'/0';

                  g) strlwr(STRing Lo WeRcase)函数----转换为小写的函数    一般形式:strlwr(字符串)   将字符串中的大写字母换成小写字母;

                  g) strupr(STRing UPpeRcase)函数----转换为大写的函数    一般形式:strupr(字符串)   将字符串中的小写字母换成大写字母;

posted @ 2017-03-18 17:56  yhz_1  阅读(277)  评论(0编辑  收藏  举报