C语言基础学习笔记--01

C语言基础学习笔记--01

  • C语言概述
    • 1.1 什么是计算机语言
    • 1.2 C语言的发展及其特点
    • 1.3 简单的C语言程序
    • 1.4 C语言编译过程
    • 1.5 集成开发环境IDE

C语言概述

本文章为学习笔记,如有不足还请多多包涵。同时欢迎各位一起学习交流。

1.1 什么是计算机语言

人和人之间的交流需要通过语言。人和计算机交流信息也要解决语言问题。需要创造一种计算机和人都能够识别的语言,这就是计算机语言。计算机语言经历了以下几个发展阶段。
机器语言 计算机工作基于二进制,从根本上说,计算机只能识别和接受由0和1组成的指令。在计算机发展初期,一般计算机的指令长度为16,即以16个二进制数(0或1)组成一条指令,16个0和1可以组成各种排列组合。

例如:1011011000000000

这种计算机能直接识别和接受的二进制代码称为机器指令。机器指令的集合就是该计算机的机器语言。在语言的规则中规定各种指令的表示形式以及他的作用。机器语言与人民习惯用的语言差别太大,难学,难写,难记,难检查,难修改,难以推广使用,因此初期只有极少数的计算机专业人员会编写计算机程序。

符号语言 为了克服机器语言的上述缺点,人们造出了符号语言,他们用一些英文字母和数字表示一个指令。例如用ADD代表“加”,SUB代表“减”,LD代表“传送”等。

ADD A,B      (执行A+B=A,将寄存器A中的数与寄存器B中的数相加,放到寄存器A中)

计算机并不能直接识别和执行符号语言的指令,需要用称为汇编程序的软件吧符号语言的指令转换为机器指令。一般,一条符号语言的指令对应转换为一条机器指令。转换过程为“代真”或“汇编”,因此,符号语言又称为符号汇编语言或汇编语言。
汇编语言比机器语言简单好记,但仍难以普及,只在专业人员中使用。
不同型号的计算机的机器语言和汇编语言是互不通用的。机器语言和汇编语言是完全依赖于具体机器特性的,是面向机器的语言。由于它“贴近”计算机,故称为计算机低级语言

高级语言 为了克服低级语言的缺点,20世纪50年代创造出了第一个计算机高级语言——FORTARN语言。它很接近于人们习惯使用的自然语言和数学语言,

//例如在FORTARN语言中,计算输出3.5*6sin(π/3)
PRINT *,3.5*6*SIN(3.1415926/3

这种语言功能很强,且不依赖于具体机器,用它写出的程序对任何型号的计算机都适用,它与具体机器距离较“远”,故称为计算机高级语言。
计算机也不能直接识别高级语言程序,也要进行“翻译”。用一种称为编译器的软件把用高级语言编写的程序(源程序)转换为机器指令的程序(目标程序),然后让计算机执行机器指令程序,最后得到结果。高级语言的一个语句往往对应多条机器指令。
高级语言经历了不同的发展阶段:
(1)非结构化的语言
(2)结构化语言
(3)面向对象语言

1.2 C语言的发展及其特点

1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上设计出来C语言。1983年,美国国家标准协会(ANSI),根据C语言问世以来各种版本对C语言发展和扩充,制定了第一个C语言标准草案('83 ANSI)。1989年,ANSI公布了一个完整的C语言标准——ANSI X3. 159-1989(常称为ANSI C 或 C89)。1990年,国际化标准组织ISO接受C89作为国际标准ISO/IEC 9899:1990,他和ANSI的C89是相同的。1999年,ISO又对C语言标准进行修订,在基本保留C语言特征的基础上,针对应用的需要,增加了一些功能,并在2001年和2004年先后进行了两次技术修正,它被称为C99,C99是C89的扩充。

C语言的特点
(1)语言简洁、紧凑,使用方便灵活
(2)运算符丰富
(3)数据类型丰富
(4)具有结构化的控制语句
(5)语法限制不太严格,程序设计自由度大
(6)C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作
(7)用C语言编写的程序可移植性好
(8)生成目标代码质量高,程序执行率高

1.3 简单的C语言程序

屏幕上打印 Hello Woeld

#include
int main(){   
    printf("Hello World");
    return 0;
}

代码解析:

//导入标准输入输出库
#include    //包含头文件 std 标准库 io input output 输入输出库 <>系统库 “”自定义头文件
//主函数  一个程序有且只能有一个主函数
//函数的返回值类型 int整型
//函数的参数类型 void空类型
//{}程序体代码体  函数体
int main(void){   
    //打印函数“”引起来的称为字符串常量
    printf("Hello World");
    //函数的返回值 如果在主函数中遇到return代表程序结束
    return 0;
}

C语言程序结构
(1)一个程序有一个或多个源程序文件组成,在一个源程序文件中可以包括3个部分:
① 预处理指令
② 全局声明
③ 函数定义
(2)函数是C程序的主要组成部分,一个C语言程序是由一个或多个函数组成的,其中必须包含一个main函数(且只能有一个main函数)
(3)一个程序包括两个部分
①函数首部。即函数的第一行,包括函数名、函数类型、函数参数名、参数类型
在这里插入图片描述
②函数体。即函数首部下面花括号内的部分。函数体一般包括以下两部分。
声明部分。声明部分包括:定义在本函数中所用到的变量;对本函数所调用函数进行声明。
执行部分。由若干个语句组成,指定在函数中所进行的操作。
(4)程序总是从main函数开始执行的
(5)程序中要求计算机完成的操作是由函数中的C语句完成的
(6)在每个数据声明和语句的最后必须有一个分号
(7)C语言本身不提供输入输出语句
(8)程序应当包含注释

1.4 C语言编译过程

1、预处理

  • 宏定义展开
  • 头文件展开
  • 删除注释
  • 条件编译

2、编译

  • 检查语法
  • 转化成汇编语言

3、汇编

  • 将汇编语言转化成机器语言

4、链接

  • 将库文件链接变成可执行文件
    C语言基础学习笔记--01_第1张图片

1.5 集成开发环境IDE

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

Qt Creator
Qt Creator是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务

Microsoft Visual Studio
Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等,所写的目标代码适用于微软支持的所有平台。Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。
Visual Studio4396错误
由于微软在VS中不建议再使用C的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误:
在这里插入图片描述
VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C函数。要想继续使用此函数,需要在源文件中添加以下指令就可以避免这个错误提示:

#define _CRT_SECURE_NO_WARNINGS     //这个宏定义最好要放到.c文件的第一行
#pragma warning(disable:4996)	//或者使用这个

C语言基础学习笔记–02

你可能感兴趣的:(笔记)