• C基础学习笔记——01-C基础第03天(Helloworld)


    在学习C基础总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

    01-C基础第03天(Helloworld)

    目录:
    1.编写hello world
    2.System系统函数
    3.在QT平台下创建图形化界面
    4.在VS平台下创建图形化界面:(MFC)
    5.gcc编译过程
    6.汇编语言
    7.QT快捷键
    8.VS常用快捷键
    9.VS2013 C4096的错误

    C语言仅有32个关键字,9种控制语句,34种运算符

     

     

    1.编写hello world:

    进入Ubuntu,打开终端——>进入相应文件夹——>mkdir day03——>cd day03——>vi helloworld.c:(输入下面代码)——>Shift+zz退出vi——>gcc -o helloworld hello world.c——>./hello world(出现:hello world)

     1 //导入标准输入输出库
     2 #include stdio.h//包含头文件 std标准库io input output 输入输出库:<>系统库 ""自定义头文件
     3  //这是一行注释
     4 /*
     5 
     6 块注释
     7 
     8 */
     9 //主函数,一个函数有且只有一个主函数
    10 //函数的返回值类型:int整型
    11 //函数的参数类型:void空类型
    12 //int main(int argc, char *argc[])
    13 //{}程序体 代码体 函数体
    14 int main(void)
    15 {
    16     //打印函数 ""引起来的称为字符串常量
    17     //转义字符
     换行
    18     //;代表一条语句的结束 多个分号代表多个空语句
    19   printf("hello world
    ");
    20   //函数的返回值;如果在主函数中遇到return代表程序结束
    21   return 0;
    22 }

    通过gcc编译C代码:

    格式:gcc [-option1] ... <filename>

    命令、选项和源文件之间使用空格分隔
    一行命令中可以有零个、一个或多个选项
    文件名可以包含文件的绝对路径,也可以使用相对路径
    如果命令中不包含输出可执行文件的文件名,可执行文件的文件名会自动生成一个默认名,Linux平台为a.out,Windows平台为a.exe

    选项

    含义

    -o file

    指定生成的输出文件名为file

    -E

    只进行预处理

    -S(大写)

    只进行预处理和编译

    -c(小写)

    只进行预处理、编译和汇编

    2.System系统函数:

    使用system函数可以调用其他程序;

    需要使用系统库:<stdlib.h>

    可以用在Linux平台和Windows平台,到那时调用的命令行不同

     如:

     1 #include <stdlib.h>
     2 int system(const char *command);
     3 功能:在已经运行的程序中执行另外一个外部程序
     4 参数:外部可执行程序名字
     5 返回值:
     6 成功:不同系统返回值不一样
     7 失败:通常是 - 1
     8 
     9 示例代码:
    10 #include <stdio.h>
    11 #include <stdlib.h>
    12 
    13 int main()
    14 {
    15     //system("calc"); //windows平台
    16     system("ls"); //Linux平台, 需要头文件#include <stdlib.h>
    17 
    18     return 0;
    19 }

    注意:此处的命令已总结至博客:C基础学习笔记——第01天CMD命令 ——https://www.cnblogs.com/Alliswell-WP/p/C_BasicLearning_01_CMD.html

    3.在QT平台下创建图形化界面:

    1)安装QT并设置环境变量;

    2)调试Windows运行下gcc命令是否安装成功;

    3)打开QT开发环境,选择文件新建项目;

    4)在打开对话框中选择QT图形化界面;

    5)在新建好的项目中拖拽空间push button按钮;

    6)双击按钮,更改按钮名称;

    7)右击按钮,选择:转到槽...,打开对话框;

    8)导入系统库stdlib.h输入:system(“calc”);

    9)导入系统库windows.h输入WinExec(“calc”, SW_HIDE);系统调用时默认隐藏黑窗口。

    注意:QT平台下创建项目不能含有中文路径!

    4.在VS平台下创建图形化界面:(MFC)

    1)打开项目选择:MFC应用程序;

    2)在弹出对话框选择:基于对话框;

    3)选择视图界面中的工具箱,找到工具箱;

    4)在工具箱中找到Button按钮,在点击按钮后选择状态栏中的外观设置名称;

    5)双击按钮进入代码编辑界面;

    6)导入系统库windows.h输入WinExec(“calc”, SW_HIDE);系统调用时默认隐藏黑窗口。

    5.gcc编译过程

    C程序编译步骤
    C代码编译成可执行程序经过4步:
    1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法
    2)编译:检查语法,将预处理后文件编译生成汇编文件
    3)汇编:将汇编文件生成目标文件(二进制文件)
    4)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去

    分步编译:

    预处理:gcc -E hello.c -o hello.i
    编  译:gcc -S hello.i -o hello.s
    汇  编:gcc -c hello.s -o hello.o
    链  接:gcc    hello.o -o hello_elf

     一步编译:

     gcc hello.c -o demo(还是经过:预处理、编译、汇编、链接的过程)

    可执行程序的编译过程:

     

     可执行程序的执行过程:

     C语言编译过程:

    1)预处理

      (1)宏定义展开;

      (2)头文件展开;

      (3)删除注释;

      (4)条件编译;

      格式:gcc -E a.c -o a.i

    2)编译:

      (1)检查语法;

      (2)转化成汇编语言;

      格式:gcc -S a.i -o a.s

    3)汇编

       (1)将汇编语言转化成机器语言;

      格式:gcc -c a.s -o a.o

    4)链接

      (1)将库文件链接变成可执行文件;

      格式:gcc a.o -o a.exe

    6.汇编语言

    1)新建项目,创建文件;

    2)写C语言源代码,添加断点,调试执行;

    3)程序会停止在断点处,在调试菜单栏选择窗口,在列表中选择反汇编,查看汇编源代码;

    4)//汇编代码:

    __asm

      {

        mov a, 3

        mov b, 4

        mov eax, a

        add eax, b

        mov c, eax

      }

    7.QT快捷键:

    注意:代码提示设置:工具——>选项——>环境——>选中“标签”:搜索“TextEditor”中CompleteThis设置为Ctrl+Right

    快捷键

    含义

    Ctrl + i

    自动格式化代码

    Ctrl + /

    注释/取消注释

    Alt + Enter

    自动完成类函数定义

    F4

    .h 文件和对应.cpp 文件切换

    F9

    设置断点

    F5

    调试运行

    Ctrl + r

    编译,但不调试运行

    Ctrl + b

    编译,不运行

    F10

    next调试

    F11

    step调试

     

    8.VS常用快捷键

    快捷键

    含义

    Ctrl + k,Ctrl + f

    自动格式化代码

    Ctrl + k,Ctrl + c

    注释代码

    Ctrl + k,Ctrl + u

    取消注释代码

    F9

    设置断点

    F5

    调试运行

    Ctrl + F5

    不调试运行

    Ctrl + Shift + b

    编译,不运行

    F10

    next调试

    F11

    step调试

    注意:VS快捷键已总结至博客:VS2015快捷键大全 ——https://www.cnblogs.com/Alliswell-WP/p/VS2015_ShortcutKeys.html

    9.VS2013 C4096的错误:

    原因:由于微软在VS2013中不建议再使用C的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误。

    分析:VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C函数。

    解决:要想继续使用此函数,

    法一:需要在源文件中添加以下指令就可以避免这个错误提示:
    #define _CRT_SECURE_NO_WARNINGS     //这个宏定义最好要放到.c文件的第一行

    法二:需要在源文件中添加以下指令:

    #pragma warning(disable:4996)    //或者使用这个

    法三:在VS中选择项目“day03”——>右键“属性”——>“配置属性”点开,“C/C++”点开,选择“预处理器”——>在“预处理器定义”后边点击下拉菜单,选择“编辑”——>在最后一行按“Enter”键,添加新行:_CRT_SECURE_NO_WARNINGS——>“确定”——>“确定”

    在学习C基础总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

  • 相关阅读:
    162. Find Peak Element
    475. Heaters
    字符串统计
    数据的交换输出
    偶数求和
    青年歌手大奖赛_评委会打分
    蟠桃记
    素数判定
    多项式求和
    出现Presentation Error的解决方法
  • 原文地址:https://www.cnblogs.com/Alliswell-WP/p/C_BasicLearning_03.html
Copyright © 2020-2023  润新知