C语言相关 实习笔记

来源:互联网 发布:mac 升级10.8 编辑:程序博客网 时间:2024/06/06 08:52

1 产生随机数:

    #include <time.h>

    srand(time(NULL));

    number = rand() %100 + 1;

 

2 strstr: 

   eg: p = strstr(s1,s2);    //从字符串s1中寻找s2第一次出现的位置,返回指向第一次指向s2位置的指针,如果没有找到,返回NULL。

 

   strchr:

   eg:p = strchr(s1,'c');  //查找字符串s1中首次出现字符c的位置,返回首次出现字符c的指针,如果s1中不存在c,则返回NULL。

 

3 sizeof(数组名)/sizeof(数组名[0])    //得到数组的大小(长度)

 

4 scanf:

       1) scanf("%*[^\n]");              scanf("%*c");   //清脏数据

       2) scanf("%*d%d", &x);    //跳过第一个输入的数据

       3) scanf("%[a-z]%[^a-z]", str, str1);   //%[a-z]:表示字母     %[^a-z]:表示非字母

 

5 printf

       printf("%c, %*c\n" , 'a', n , 'a' ); //列宽,其中n是数字或者int型的变量

 

6 流:

  1)文件指针:FILE  * fp;                        stdin,stdout,stderr

       文件操作:fopen函数

                    "r"   :打开文件用于读

                    "w"  :打开文件用于写

                    "a"  :打开文件用于追加

                    "r+" :用于读写,从头开始

                    "w+":用于读写,文件存在就截去

                    "a+":用于读写,文件存在就追加

        fclose():关闭文件

        remove():删除文件

        rename():文件重命名

   2)getc/putc   :读取字符

        eg:while((ch = getc(fp)) != EOF)  {  }

   3)  ungetc:将刚从流中读入的字符放回到流

        eg:读入数字,并在首个非数字时停止操作

               while( isdigit(ch=getc(fp)) )  {  }

               ungetc(ch,fp);

 

7 make:

   1) Makefile文件:(#号开头的为注释)

       eg:

              main:main.o module.o

              |<-Tab->|gcc main.o module.o -o main

         或:

              main:main.o module.o;gcc main.o module.o -o main

       将Makefile文件及源文件和头文件放在当前目录下,执行命令make 自动编译

 

      一般情况下,makefile只能命名为Makefile或者makefile,若定义为别的名字,则执行时需要使用-f指定:

           eg:make  -f othername

           或:make  --file= othername         

 

     2)make命令参数详解:

          -c  dir:(或者 --directory = DIR  切换目录再执行

          -d  :打印出所有的调试信息

          -e :或者--environment - overrides:不允许在Makefile中对系统环境变量重新赋值

          -i:或者 --ignore - errors:忽略Makefile中命令时产生的错误,不退出make

          -h:或者 --help:打印帮助信息

          -k:或:--keep - going:遇到错误时不终止make的执行,尽可能多的执行所有命令,直到遇到致命错误才终止

          -s:或者 --slient:执行但不显示所执行的命令。

          -t :或者 --touch:把所有目标文件的最后修改时间设置为当前系统时间

          -v :或者 --version:打印出make的版本信息