zoukankan      html  css  js  c++  java
  • C语言基础

    1.#include <stdio.h>   //头文件.h    printf("%d 的阶乘为 %f ", i, factorial(i));  当上面的代码被编译和执行时,它会产生下列结果: 15 的阶乘为 1307674368000.000000

      int main( )

      {       

          printf( "hello world");

          return 0;

      }

    2.整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。整数常量也可以带一个后缀,后缀是 U L 的组合,

        U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U L 的顺序任意。

    3.1.strcpy(s1, s2); 复制字符串 s2 到字符串 s12 strcat(s1, s2); 连接字符串 s2 到字符串 s1 的末尾。 3 strlen(s1);返回字符串 s1 的长度。 4 strcmp(s1, s2);如果 s1 s2 是相同的,

        则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 05 strchr(s1, ch);返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。6 strstr(s1, s2);

        返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

    4.#define C 指令,用于为各种数据类型定义别名,与 typedef 类似,但是它们有以下几点不同:

      typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名,比如您可以定义 1 ONE

      typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。

    5. 打开文件 FILE *fopen( const char * filename, const char * mode );

         关闭文件 int fclose( FILE *fp );如果成功关闭文件,fclose( ) 函数返回零,如果关闭文件时发生错误,函数返回 EOF

         写入文件 int fputc( int c, FILE *fp );函数 fputc() 把参数 c 的字符值写入到 fp 所指向的输出流中。如果写入成功,它会返回写入的字符,如果发生错误,则会返回 EOF

         int fputs( const char *s, FILE *fp );函数 fputs() 把字符串 s 写入到 fp 所指向的输出流中。如果写入成功,它会返回一个非负值,如果发生错误,则会返回 EOF

         int fprintf(FILE *fp,const char *format, ...) 函数来写把一个字符串写入到文件中

         读取文件 int fgetc( FILE * fp ); fgetc() 函数从 fp 所指向的输入文件中读取一个字符。返回值是读取的字符,如果发生错误则返回 EOF

         char *fgets( char *buf, int n, FILE *fp );函数 fgets() fp 所指向的输入流中读取 n - 1 个字符。它会把读取的字符串复制到缓冲区 buf,并在最后追加一个 null 字符来终止字符串

         int fscanf(FILE *fp, const char *format, ...) 函数来从文件中读取字符串,但是在遇到第一个空格和换行符时,它会停止读取。

    6.C 预处理器(C Preprocessor)简写为 CPP

      #define 定义宏

      #include 包含一个源代码文件

      #undef 取消已定义的宏

      #ifdef 如果宏已经定义,则返回真

      #ifndef 如果宏没有定义,则返回真

      #if 如果给定条件为真,则编译下面代码

      #else #if 的替代方案

      #elif 如果前面的 #if 给定条件不为真,当前条件为真,则编译下面代码

      #endif 结束一个 #if……#else 条件编译块

      #error 当遇到标准错误时,输出错误消息

      #pragma 使用标准化方法,向编译器发布特殊的命令到编译器中

    7.ANSI C 定义了许多宏

      __DATE__ 当前日期,一个以 "MMM DD YYYY" 格式表示的字符常量。

      __TIME__ 当前时间,一个以 "HH:MM:SS" 格式表示的字符常量。

      __FILE__ 这会包含当前文件名,一个字符串常量。

      __LINE__ 这会包含当前行号,一个十进制常量。

      __STDC__ 当编译器以 ANSI 标准编译时,则定义为 1

    8.预处理器运算符 #define运算符

      宏延续运算符(#define  message_for(a, b)  

          printf(#a " and " #b ": We love you! ")

         字符串常量化运算符(#) 当需要把一个宏的参数转换为字符串常量时,则使用字符串常量化运算符(#)。在宏中使用的该运算符有一个特定的参数或参数列表

         标记粘贴运算符(##)    宏定义内的标记粘贴运算符(##)会合并两个参数。它允许在宏定义中两个独立的标记被合并为一个标记

         #define 可以当方法用

         #define square(x) ((x) * (x))   

         #define MAX(x,y) ((x) > (y) ? (x) : (y))

        9.引用头文件的语法 使用预处理指令 #include 可以引用用户和系统头文件。它的形式有以下两种:

      #include <file>

        这种形式用于引用系统头文件。它在系统目录的标准列表中搜索名为 file 的文件。在编译源代码时,您可以通过 -I 选项把目录前置在该列表前。

      #include "file"

        这种形式用于引用用户头文件。它在包含当前文件的目录中搜索名为 file 的文件。在编译源代码时,您可以通过 -I 选项把目录前置在该列表前

      只引用一次头文件:

      #ifndef HEADER_FILE

      #define HEADER_FILE

      the entire header file file;

      #endif

      有条件引用:

      #if SYSTEM_1

         # include "system_1.h"

      #elif SYSTEM_2

         # include "system_2.h"

      #elif SYSTEM_3

         ...

      #endif

    10. C 语言提供了 perror() strerror() 函数来显示与 errno 相关的文本消息。

      perror() 函数显示您传给它的字符串,后跟一个冒号、一个空格和当前 errno 值的文本表示形式。

      strerror() 函数,返回一个指针,指针指向当前 errno 值的文本表示形式。

    11.格式说明由“%”和格式字符组成 格式字符有d,o,x,u,c,s,f,e,g等。

        如%d整型输出,%ld长整型输出,%o以八进制数形式输出整数,%x以十六进制数形式输出整数,或输出字符串的地址。

      %u以十进制数输出unsigned型数据(无符号数)。注意:%d%u有无符号的数值范围,也就是极限的值,不然数值打印出来会有误。

      %.2f用来输出实数,保留小数点2位。 %e以指数形式输出实数。 %g根据大小自动选f格式或e格式,且不输出无意义的零。

      %d int   %f float   %e double

    12.常用函数:

           sizeof(int num); 字节大小

           scanf("%f",&number);屏幕输入

           printf("%f",number);屏幕输出

           sqrt(number);计算一个非负实数的平方根

           pow(x,y);xy次方的值

           putchar(int char) 把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout

    注意:函数参考查找C标准库,C标准库是一组C内置函数、常量和头文件,比如 <stdio.h><stdlib.h><math.h>,等等。这个标准库可以作为 C 程序员的参考手册。

    支持个人观看使用,如商用或转载,请告知! -----萧朗(QQ:453929789 Email:xiaolang_xl@sina.com)
  • 相关阅读:
    Centos6.6部署Redis集群
    贪心算法解+-字符串
    水题记录--排序
    项目总结之HashMap问题
    水题记录--大整数求阶乘
    水题记录--组合数
    水题记录-成绩转换
    水题记录
    简单排序
    数组
  • 原文地址:https://www.cnblogs.com/XiaoLang0/p/12170096.html
Copyright © 2011-2022 走看看