学C历程 这里记录的都是笔记 忘记了好回头看看~


提示 :如果在双击自己编译的程序运行时一下就消失不见了 可以在程序代码末尾加上 system("pause"); 程序就会等待到输入一个字符再继续

    //gcc -c 编译为目标文件
    //gcc -E 只进行预处理
    //gcc -o 设定生成的文件

    //gcc 文件名 //一键编译

1.#include <stdio.h> 与#include "stdio.h" 的区别 搜索相关头文件的优先级不同

< >是直接在系统提供的头文件中进行调用

" "是在当前目录下进行搜索,如果没有再搜索系统提供的头文件

2.创建有返回值与空返回值的函数(方法)

语法:返回类型 方法名(参数类型 参数名,参数类型 参数名){  代码 }

例:返回int类型的方法 int sum(int x,int y){ return x + y;}

  返回空类型的方法 void sum(int x,int y){

            printf("这是个没有返回值的方法");

          }

创建一个返回数组类型的方法: int* nums(){

                static int num[3] = {1,2,3};

                return num;

              }

因为返回的是指针类型的 int*,所以接受的时候也要用int*接受

          int* n = nums();

3.创建变量 赋值

语法:数据类型 变量名;

例 :int num;

   num=10;

创建并赋值 : int num = 10;

创建一个全局的变量:在方法的外面谢 int num = 10; 该变量可以在任何地方使用

创建一个静态的变量:static int num = 10;

静态变量会在编译时就保存在内存中,所以在程序运行到该行代码时会跳过,该变量可以在任何地方使用

4.创建数组

int nums[3] = {4,5,6};  3表示数组的长度 大括号内表示数组的值为4,5,6;

数组的使用:

printf("%d\n",nums[0]);数组的第一个值的下标从0开始计算

获取数组的长度:

    int arry[] = {111,99,44,55,231};
    // 总长度除以单个的长度,即得数组的个数count。
    int count = sizeof(arry)/sizeof(int);
    printf("%d\n", count); 输出 5

  5.循环

    使用for 循环 输出 一个数组

    int arry[] = {111,99,44,55,231};
    // C语音获取一个数组的长度
    // 总长度除以单个的长度,即得数组的个数count。
    count = sizeof(arry)/sizeof(int);  //count=5
    int i = 0;
    for (i = 0; i < count; ++i)
    {
      printf("The number is greater than 100:%d\n", arry[i]);
    }

    system("pause");

    使用while循环 输出 一个数组

    int arry[] = {111,99,44,55,231};
    // C语音获取一个数组的长度
    // 总长度除以单个的长度,即得数组的个数count。
    count = sizeof(arry)/sizeof(int);  //count=5
    int i = 0;
    while (i < count)
    {
      printf("The number is greater than 100:%d\n", arry[i]);

      i++;
    }

    system("pause");

    结果一样

 6.if(判断表达式) {} 语法

大括号内如果只有一条语句 可以省略不行

   if(1+1 == 2)

    printf("正确");

7.什么是形变实不变?

当main函数里面调用外部的一个方法的时候, 即使方法内的参数发生改变,实际参数还是不变。

void add(int num){ ++num;} //此时的num 为形参

void add1(int* num){ ++num;} //此时的num 为传过来的地址,该地址指向的值发生改变后,main函数里面的实参也会发生改变

void main()

{

  int num = 5; //此时的num为 实参

  add(num);

  printf(num);//输出5

  //所以要传这个变量的地址过去

  add1(&num); //&变量名  表示获取该变量的地址

  printf(num);输出6

}

8.创建结构体

    typedef struct cars //typedef 表示 给这个结构体取一个别名 为大括号后面的 car
    {
      //当前的车名
      int price;

      char name;
    }car;

    使用 car *c = malloc(sizeof(car));  //malloc方法需要调用 #include <stdlib.h> 这个库文件 表示分配内存

        c->price = 100;

        printf(c->price);//输出100

  9.指针

    指针:指向一个变量的地址

    int num = 5;

    int *p = &num; //获取num变量的地址 赋给 指针p

    p = 6; //给该指针指向的地址的值改成6

    printf("%d\n",num);//输出6

    printf("%d\n",p);  //输出6

   10.防止头文件重复调用

    #ifndef "stdio.h"

    #define "stdio.h"

      main(){}

    #endif

 

学C日志的更多相关文章

  1. Asp.Net Core 轻松学-利用日志监视进行服务遥测

    前言     在 Net Core 2.2 中,官方文档表示,对 EventListener 这个日志监视类的内容进行了扩充,同时赋予了跟踪 CoreCLR 事件的权限:通过跟踪 CoreCLR 事件 ...

  2. Asp.NETCore轻松学系列阅读指引目录

    前言 耗时两个多月,坚持写这个入门系列文章,就是想给后来者更好更快的上手体验,这个系列可以说是从入门到进阶,适合没有 .NETCore 编程经验到小白同学,也适合从 .NET Framework 迁移 ...

  3. Asp.Net Core 轻松学系列-1阅读指引目录

    https://www.cnblogs.com/viter/p/10474091.html 目录 前言 1. 从安装到配置 2. 业务实现 3. 日志 4. 测试 5. 缓存使用 6.网络和通讯 7. ...

  4. 目录---Asp.NETCore轻松学系列【目录】

    随笔分类 - Asp.NETCore轻松学系列 Asp.NETCore轻松学系列阅读指引目录 摘要: 耗时两个多月,坚持写这个入门系列文章,就是想给后来者更好更快的上手体验,这个系列可以说是从入门到进 ...

  5. 【目录】Asp.NETCore轻松学系列

    随笔分类 - Asp.NETCore轻松学系列 Asp.NETCore轻松学系列阅读指引目录 摘要: 耗时两个多月,坚持写这个入门系列文章,就是想给后来者更好更快的上手体验,这个系列可以说是从入门到进 ...

  6. 循序渐进学.Net Core Web Api开发系列【10】:使用日志

    系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.本篇概述 本篇介 ...

  7. 【菜鸟学Linux】Cron Job定期删除Log(日志)文件

    以前一直做Windows开发,近期的项目中要求使用Linux.作为小菜鸟一枚,赶紧买了一本经典书<鸟哥的Linux私房菜>学习.最近刚好有一个小任务 - 由于产品产生的Log很多,而且增长 ...

  8. 基于日志处理的ElasticSearch的学(gen)习(feng)

    最近学了点solr,然后有听说了ElasticSearch,就想着也学一下ElasticSearch,然后看见了ElasticSearch用于日志的收集的分析,这里就来学习一下. 百度一下Elasti ...

  9. 54. spring boot日志升级篇—logback【从零开始学Spring Boot】

    在<44. Spring Boot日志记录SLF4J>章节中有关相关的介绍,这里我们在深入的了解下logback框架. 为什么要使用logback ? --在开发中不建议使用System. ...

随机推荐

  1. 初步了解JPA

    想当初07.08年的时候,毕业之季,正思考着离开学校要去做什么工作.为了有一份薪资不错,可以长久发展,也正是自己喜欢的行业.于是乎决定投身于计算机行业.当年正是JAVA的火热时期.到处都是JAVA培训 ...

  2. SharePoint Site "Regional Settings"功能与CSOM的对应

    博客地址:http://blog.csdn.net/FoxDave SharePoint网站中的区域设置:"Regional Settings",可以用CSOM通过Site的一些 ...

  3. mysql关于timestamp类型

    数据库设置时间字段为timestamp类型,DTO设置为java.util.Date类型.DTO设值sessionLogDTO.setLoginOutTime(new Date());用new Dat ...

  4. url中

    url中汉字被转换为UTF-8,通过此网址可以解析UTF-8编码.在地址栏中输入文字或者其它的,则可能输入法或者是相关的程序进行解析. http://www.mytju.com/classcode/t ...

  5. Alpha版使用说明书

     游戏规则:             玩家是黑色的小煤球哦!             通过方向键或者ASDW,来控制小球移动(上.下.左.右).             累计时间,直到碰到了红色的小球 ...

  6. entity framework 新手入门篇(4)-entity framework扩展之 entityframework.extended

    对于EF的操作,我们已经有了大概的了解了,但对于实战来说,似乎还欠缺着一些常用的功能,那就是批量的删除,更新数据. 承接上面的部分,我们有一个叫做House的数据库,其中包含house表和seller ...

  7. Ubuntu 64位下搭建ADT的种种问题

    我使用的adt版本为 adt-bundle-linux-x86_64-20140702.zip 1. Eclipse启动时提示 adb 无法加载动态链接库 libstdc++.so.6 以及  lib ...

  8. Java技能树

    自古程序员爱黑Java,不黑不痛快的说,最近一周在V2EX上至少看到过不下5个黑Java的帖子,而且都是顶的老高,一共点开看了一个感觉好无趣啊.我到现在为止已经写了4年的C了,主要是做嵌入式驱动的开发 ...

  9. C++ Daily 《5》----虚函数表的共享问题

    问题: 包含一个以上虚函数的 class B, 它所定义的 对象是否共用一个虚函数表? 分析: 由于含有虚函数,因此对象内存包含了一个指向虚函数表的指针,但是这个指针指向的是同一个虚函数表吗? 实验如 ...

  10. 如何将C#类库做成COM

    在类库项目的属性中, 选择生成, 最下方的"为COM的互操作注册"进行勾选, 并且将项目的Properties中, AssemblyInfo.cs中的[assembly: ComV ...