• C语言基础(1)-基本语法及注意事项


    1. include 头文件包含

    #include <stdio.h>这个是hello world程序的第一句话
    # 代表预编译指令
    #include的意思就是头文件包含,使用C语言库函数需要提前包含库函数对应的头文件。
    stdio.h这个文件在操作系统的系统目录下


    include有两种写法
    #include <文件名>,如果文件在系统目录下,那么需要用<>
    #include “文件名”,如果文件在当前目录下,那么用""

    2. main函数

    main函数又叫主函数,main函数是c语言程序的入口,程序是从main函数开始执行的,一个c语言程序中只能有一个main函数

    c语言可执行程序必须也只能有一个main函数。

     

    3. 注释

    //叫行注释,注释的内容编译器是忽略的,注释主要的作用是在代码中加一些说明和解释,这样有利于代码的阅读, 行注释是从c++语言借鉴过来的

    /* */ 叫块注释,块注释是c语言标准的注释方法

      

    4. {}括号,程序体和代码块

    C语言每句可执行代码都是;结尾

    {}叫代码块,一个代码块内部可以有一条或者多条语句

    所有的可执行语句必须是在代码块里面

    所有的函数都是由

    函数名

    程序体,{语句}组成的。

     

     

    5. 声明和定义

     

     int a; //定义一个变量

     extern int b; // 声明一个变量

     intextern都是c语言的关键字,ab是用户可以自己起的名字

    6. C语言变量命名规范

     可以使用大小写字母,下划线,数字,但第一个字母必须是字母或者下划线,字母区分大小写。

    7. printf函数

    printfc语言库函数,功能是向标准输出设备输出一个字符串

     printf(“hello world ”);// 的意思是回车换行

     

    8. return 语句

     

     return代表函数执行完毕,返回return代表函数的终止.

     如果main定义的时候前面是int,那么return后面就需要写一个整数,如果main定义的时候前面是void,那么return后面什么也不需要写

     在main函数中return 0代表程序执行成功,return -1代表程序执行失败

     在C语言中 int main()和 void main都可以

     int main()void main()在c语言中是一样的,但C++只接受int main这种定义方式。

    9. system函数调用

    在使用system函数之前需要包含stdlib.h这个头文件,system主要的功能是通过程序执行另外一个程序

     

    system返回值在windows和unix下的不同

    如果在命令行执行一个程序,那么这个程序的调用者就是操作系统,如果在代码中通过system执行一个程序,那么这个程序的调用者就是自己写的代码本身.

    C语言所有的库函数调用,只能保证语法是一致的,但不能保证执行结果是一致的,同样的库函数在不同的操作系统下执行结果可能是一样的,也可能是不一样的。

    POSIX

    POSIX是一个标准,只要符合这个标准的函数,在不同的系统下执行的结果就可以一致。

    Unixlinux很多库函数都是支持POSIX的,但windows支持的比较差。

    如果将unix代码移植到linux一般代价很小,如果把windows’代码移植到unixl或者linux就比较麻烦。

     

     

    10. C语言编译过程,GCC参数简介

    C语言编译过程

    1.预编译->2.编译->3.链接

    -E 预编译

    Gcc –E参数代表预编译

    gcc -o a11.c -E a1.c

    预编译a1.c,预编译之后的文件名叫a11.c

    预编译功能之一:#include包含的头文件做简单的文本替换

    C语言中#开头的语句又叫预编译指令

    预编译功能之二:将代码中的注释删除

    -c编译

    编译的作用是把文本的c语言编译为二进制的指令

    gcc -c a11.c

    编译a11.c,编译后的文件名叫a.o

    链接

    C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去

    Gcc没有单独的链接参数

    gcc -o a.o

    链接a.o,最后生成的文件叫a

     

    11. 操作系统

    64位和32位操作系统区别

    CPU内存结构和寄存器

    寄存器是CPU内部最基本的存储单元

    CPU对外是通过总线来和外部设备交互的,总线的宽度是8位,同时CPU的寄存器也是8位,那么这个CPU就叫8CPU

    如果总线是32位,寄存器也是32位的,那么这个CPU就是32CPU

    有一种CPU内部的寄存器是32位的,但总线是16位,准32CPU

     

    所有的64CPU兼容32位的指令,32位要兼容16位的指令,所以在64位的CPU上是可以识别32位的指令

    64位的CPU构架上运行了64位的软件操作系统,那么这个系统是64

    64位的CPU构架上,运行了32位的软件操作系统,那么这个系统就是32

    64位的软件不不能运行在32位的CPU之上的。

    32位的系统最大支持4G的内存,64位则可以大于这个限制

    RISC与CISC CPU架构

    RISC精简指令集

    CISC复杂指令集

    SPARC,X86与ARM

    SPARCARM都属于精简指令集

    X86典型复杂指令 

    12. 常用IDE快捷键

     

    QT常用快捷键

    Ctrl + I, 自动格式化代码

    Ctrl + /, 注释/取消注释

    Alt + enter, 自动完成类函数定义

    F9, 设置断点

    F5,调试运行

    Ctrl + r,不调试运行

    Ctrl + b,编译,不运行

    F10, next调试

    F11, step调试

    VS常用快捷键

    Ctrl + k,Ctrl + f, 自动格式化代码

    Ctrl +k, Ctrl + c, 注释代码

    Ctrl + k,Ctrl + u, 取消注释代码

    F9, 设置断点

    F5,调试运行

    Ctrl + F5,不调试运行

    Ctrl + Shift + b,编译,不运行

    F10, next调试

    F11, step调试

     

     

  • 相关阅读:
    HDU-5818-Joint Stacks
    蓝桥杯-2016CC-卡片换位
    HDU-2255-奔小康赚大钱(KM算法)
    蓝桥杯-PREV31-小朋友排队
    crypto.js加密传输
    js之对象
    LigerUi之ligerMenu 右键菜单
    关于js中window.location.href,location.href,parent.location.href,top.location.href的用法
    设置js的ctx
    AngularJS简单例子
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/6226411.html
走看看 - 开发者的网上家园