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种运算符

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

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

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

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基础学习笔记——01-C基础第03天(Helloworld)C基础学习笔记——01-C基础第03天(Helloworld)

 可执行程序的执行过程:

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

 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,转载请注明出处。