上个总结比较笼统,下面写的稍微详细点吧算是。

 

一、控制台屏幕打印

  1、putchar();   格式: void putchar(char c);  //直接把一个字符输出到屏幕上

  2、printf();    格式: void printf(格式字符串,参数1,参数2,参数3...参数n);

  

  标准错误输出流:stderr

二、读取键盘输入(前两个包含在头文件<conio.h>中,第三个包含在头文件<stdio.h>中)

  1、getchar();  格式:int getchar(void);  //等待用户输入并读取字符的数值(ascII)在用户按下回车键后才返回相应的第一个输入字符的数值

  2、getch();  格式: int getch(void);   //同上,不过在使用的时候,再按下字符之后立刻返回对应的数值

  3、getche();             //在使用的时候2按下的字符不显示在屏幕上,而这个会显示在屏幕上,其他同上

  4、scanf(); 格式: scanf(格式控制字符串,&参数1,&参数2...参数n);

三、逻辑判断 

    if

    if-else

    if-else if-else

    swicth

  条件选择结构:  表达式1? 表达式2 : 表达式3;  例如:球两个数的最大值:(x>y) ? x : y ;

四、循环结构

  1、while循环                    2、do-while循环

  while(条件)                       do

    {                           {

    循环体;                        循环体;

    }                           }while(条件);

  3、for循环(表达式可省略,在for循环可添加逗号表达式)  4、高级流程控制

  for(n=3,i=0;i<20;i++,n++)                  (1)、goto 任意跳转(只能在本函数中)

  {                                  goto lable;

    循环体;                          lable:

  }                                   ....

                                 (2)、break 结束循环

                                 (3)、continue 结束本次循环

五、函数

  1、return在函数中结束函数,返回到主调函数

  2、函数在C语言中和变量的性质是一样的,如果在定义之前调用,必须先声明,否则出错,不在定义之前调用,则不必声明。

      例: int fun1(参数列表);

         int fun1(参数列表)

          {

            函数体;

          }

  3、函数可嵌套调用

      

  4、递归(调用一个函数的过程中直接或间接的调用自身)

    例:1、 fun1(x)                        2、fun1(x)    

        {                      {

          ...                     fun2(x);

          fun1(x);                 }

        }                      fun2(x)

                               {fun1(x);}

  5、变量的存储类别

    (1)、静态变量:在程序进行期间是固定的存储空间方式

    (2)、动态存储变量:在程序进行期间根据需要进行分配存储空间的方式

        注意:内存提供的存储空间分为程序区,静态区,动态区。  静态变量和全局变量有默认值0,其他变量的默认值都是随机分配的

          自动变量:(auto) int i;(默认不带auto的都是自动变量)

          内部函数:声明函数时前面加 static (只能在本文件中使用)

          外部函数:声明函数时前面加 extern(默认不带extern时就是外部函数,可在整个程序中使用)

六、数组

  一维数组: int array[100]={1,2,3...100};

       float fArray[100];

  二维数组: int array[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

        float fArray[][5]={{1,2,3,4,5}};   //在初始化时可以省略一维的大小

        二维数组array[3][4]相当于是两个一维数组嵌套,如下图:

        

  字符数组:

      char str[]={'1','2','k'};

      char str[]="hello world";

        

      char str2[123];

      scanf("%s",str2);

七、字符串 (在头文件<string.h>中定义)

各个函数如下:

  1、求字符串长度函数 strlen();

     格式:unsigned int strlen(char * str);

       来统计字符串中字符的个数。

  2、字符串拷贝函数

    (1)、strcpy();   格式: char * strcpy(char * dest,char * src);

                该函数是把src指向的字符串拷贝到dest中去,并且返回指向dest的指针给调用函数。

    (2)、strncpy();  格式: char * strncpy(char * dest,char * src,int n);

                该函数是把src所指向的字符串的前n个字节复制到dest所指向的数组中,并且返回指向dest的指针。

  3、字符串连接函数

    (1)、strcat();   格式:char * strcat(char * dest,char * src);

                该函数是把src所指字符串添加到dest结尾处(覆盖dest结尾处的"\0"),在整个字符串,即新的dest最后添加"\0",并                            且返回指向dest的指针给调用函数。

    (2)、strncat();   格式:char * strncat(char * dest,char * src,int n);

                该函数是把src所指字符串的前个字节添加到dest结尾处(覆盖dest结尾处的"\0"),在整个字符串,即新的dest最后添                          加"\0",并且返回指向dest的指针给调用函数。

  4、字符串比较函数

    (1)、strcmp();   格式:int strcmp(char * s1,char * s2);

                  该函数是比较字符串s1和s2,即对两个字符串自左向右逐个比较(按ASCII码值大小比较),

直到出现不同的字符或者遇到"\0"为止。其返回值有三种,如下图:

       

    (2)、strncmp();   格式:int strcmp(char * s1,char * s2,int n);

                     该函数是比较字符串s1和s2的前n个字符,其返回值跟上面一样也是3种。但要注意,

该函数在比较时,从左向右逐个字符相比,直到n个字符结束。

    (3)、strcmpi();   格式:int strcmpi(char * s1,char * s2);

                     该函数是比较字符串s1和s2,但不区分大小写。

  5、字符串查找函数

    (1)、strchr();   格式:char * strchr(char * s,char c);

                   s指向待查找的字符串,c可以赋值为需要查找的字符。当调用该函数时,将字符串中从左到右,

                  第一个出现的字符c的地址返回给调用函数,如果没有找到,返回NULL。

    (2)、strrchr();   格式:char * strrchr(char * s,char c);

                  与上面相反,这是从右到左查找。

    (3)、strcspn();   格式:int strcspn(char * s1,char *s2);

                    该函数是在字符串s1中搜寻s2中所出现的字符,返回第一个出现的字符在s1中的下标。

    (4)、strspn();    格式:int strspn(char * s1,char *s2);

                    该函数返回值为n,则说明s1开始连续有n个字符都是与字符串s2内的相同。

    (5)、strpbrk();    格式:char * strpbrk(char * s1,char *s2);

                  该函数是在字符串s1中搜寻与字符串s2中任何一个字符相匹配的第一个字符的位置,结束符不包括在内,

                 并返回指向s1中的第一个相匹配的字符的指针,如果没有匹配的就返回NULL。

    (6)、strstr();     格式:char * strstr(char * s1,char *s2);

                  该函数是在一个字符串中查找子字符串,并返回指向这个子字符串的指针。与其他查找函数不同,该函数是要整个,

                 子字符串相符合时,才成功返回。

  6、其他字符串处理函数

    (1)、strrev();     格式:char * strrev(char * s);

                    该函数是将一个字符串中的字符顺序颠倒(但不包括空字符NULL),并返回指向新字符的指针。

    (2)、strset(); 和strnset();    格式: char * strset(char * s,char c);

                       char * strnset(char * s,char c,int n);

                      更换字符串中的字符(带n更换前n个,不带全换)。

  7、字符串检查函数

    (1)、isdigit();      格式:int isdigit(char c);

                    当c为0-9时,返回非零,否则返回0。

    (2)、isalpha();      格式:int isaalpha(char c);

                      当c为a-z或者A-Z时,返回非零,否则返回0。

  8、将字符串转换成数字

    int atoi(char * s);

    long atoi(char * s);

        这两个函数都可以讲指定的数字字符串转换成数值,并赋值给变量。不过,这两个函数也是有区别的,

一个是转换成int型,一个是long型。

八、指针

指针函数

  例:int * fun(int * a,int * b)

    {

      ...

      return p;

    }

函数指针

  作用:(1)、调用函数   (2)、作参数

    例:int fun(int x);   //声明一个函数

      int (*f) (int x);  //声明一个函数指针

      f=fun;         //将fun的首地址赋值给f

九、结构体

结构体就相当于是一个数据类型

    例:struct (student)

      {

        

      }(sd1,sd2);

  (struct student sd1,sd2);

-----------------------------------------------------------------

     struct (student)

     {

      

     }sd1={ , , , ,};

sd1. = ;...

共用体   用法同上

  union data

  {

  };

十、文件 待续

C语言基础知识小总结(2)的更多相关文章

  1. C语言基础知识小总结(1)

    这几天在学习C语言,零零散散的学了十来天,这两天由于家里来了朋友,也没有顾得上写个总结,今天刚把朋友送走,下面就把这十来天的学习情况总结一下,一边在以后好复习与查看. 一.流程控制包括:顺序语句.判断 ...

  2. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  3. java基础知识小小结

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  4. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

  5. C语言基础知识-程序流程结构

    C语言基础知识-程序流程结构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.概述 C语言支持最基本的三种程序运行结构:顺序结构,选择结构,循环结构. 顺序结构:程序按顺序执行, ...

  6. C语言基础知识-运算符与表达式

    C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...

  7. C语言基础知识-数据类型

    C语言基础知识-数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常量与变量 1>.关键字 C的关键字共有32个. >.数据类型关键字(12个) char,s ...

  8. OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

  9. 李洪强iOS开发之OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

随机推荐

  1. 带圆角的EditText

    转载请注明出处:http://blog.csdn.net/krislight/article 1.定义一个Drawable <?xml version="1.0" encod ...

  2. 在老项目中使用Gradle:更改默认目录结构

    apply plugin: 'war' sourceCompatibility = 1.5 version = "1.0" //中央仓库 repositories { mavenC ...

  3. 17.2.2.1 The Slave Relay Log Slave中继日志

    17.2.2.1 The Slave Relay Log Slave中继日志 中继日志, 像binary log,有一组文件组成包含events 描述数据库的修改,和一个index文件包含所有使用过的 ...

  4. 使用vs自带的wcf配置工具

    服务和行为是并列的 对应到配置文件中  wcf的配置在system.serviceModel中 可以有多个服务 一个服务会有一个主机以及多个终结点 主机包含多个基址 baseAddress 终结点,由 ...

  5. 【转】Android4.4(MT8685)源码蓝牙解析--BLE搜索

    原文网址:http://blog.csdn.net/u013467735/article/details/41962075 BLE:全称为Bluetooth Low Energy.蓝牙规范4.0最重要 ...

  6. ashx文件的使用

    转自:http://www.cnblogs.com/Tally/archive/2013/02/19/2916499.html ashx是什么文件 .ashx 文件用于写web handler的..a ...

  7. Python串口操作纸币器1

    公司需要纸币器开发,参考纸币器文档和网上的一篇vb版本,代码如下: # -*- coding:utf-8 -*- # Author: Pete Yim<xpHook@gmail.com> ...

  8. stl binary search

    stl binary search */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola,&q ...

  9. C++类实现AVL树

    二叉查找树是个好东西,他让查找,插入,删除,这些常用操作变得高效,但是,他是存在问题的,那就是,在坏的输入序列下,树会退化成链表,这就很尴尬了,于是为了避免这种情况的发生,我们需要一种数据结构,可以自 ...

  10. 完美转换MySQL的字符集 Mysql 数据的导入导出,Mysql 4.1导入到4.0

    MySQL从4.1版本开始才提出字符集的概念,所以对于MySQL4.0及其以下的版本,他们的字符集都是Latin1的,所以有时候需要对mysql的字符集进行一下转换,MySQL版本的升级.降级,特别是 ...