基于工作过程的c语言程序设计,第一章 C语言程序设计概述

1 计算机体系结构

计算机主要由硬件和软件的协作完成生活和工作中的绝大多数事情,例如听音乐,看电影,上网聊天,购物等等。

硬件主要包含CPU,内存,外存,IO设备等组成。

CPU:负责从内存中读取进程的数据进行各种运算和控制其他设备

内存:分为RAM(随机访问存储器)和ROM(只读存储器,例如BIOS),只是负责暂时存储数据,断电后数据会消失。做程序开发时一般配置的内存为8-16G,而当台服务器的内存一般为64G。

外存:用于永久存储数据,常见的外存有机械硬盘和固态硬盘,其中固态硬盘的读写性能高于机械硬盘。

IO设备:主要是完成数据的输入输出,常见的IO设备包含鼠标键盘,声卡显卡等等。

软件的出现实现了人和计算机更好的交互

常见的软件包含运行于服务器端,基于命令行交互的Unix(Solaris11),Linux(RedHeat Enterprise 7).

运行于PC端,基于图形界面交互的Windows10(PC),Linux(Ubuntu16),MacOSX10.10。

运行于手机或者嵌入式设备,基于语音手势,体感交互的Android,IOS。Android是基于Linux内核发展而来,IOS是基于MacOSX衍生而来。

还有些运行在系统软件之上的应用软件,例如微信,支付宝,天猫等等。而系统软件底层都是采用C/C++编写的。

2 编程语言发展史

程序就是由指令系统加上数据集组成,而每个CPU都有自己的指令系统(由二进制的机器码01序列组成),PC上是X86指令系统,而手机上是ARM指令系统,这也就意味着PC上的程序不加修改不能直接到手机上运行,手机上的程序也是如此。这也就是最早的机器语言的由来,它的主要特点是高效,不能移植,可读性差,而且后期维护非常困难,想象一下要记那么多的机器指令是多么艰难的事情。

斗转星移,汇编语言和编译器的出现解决了需要记住非常多的机器指令的难题,但是还是没有从根本上解决移植性的问题,只是将机器指令转换为易懂的英文单词,然后由编译器编译成机器指令,因为计算机终归揭底智能识别0001110100110机器指令

这里的代码是演示Windows上将汇编语言嵌套在C语言中使用,完成两个变量相加的结果

void use_asm(){

int a, b, c=0;

a = 4;

b = 6;

printf("a = %d \t b=%d\tc=%d \n",a,b,c);

_asm{

mov eax, a;

add eax, b;

mov c ,eax;

}

printf("a = %d \t b=%d\tc=%d\n", a, b, c);

}

void main(){

use_asm();

getchar();

}

时光再流转,在1972年C语言的诞生,凭借着可移植性,和汇编差不多的高效以及无所不能的强大功能,引领了IT行业的发展,Unix,Windows,Linux都是采用C语言编写,但是它也存在着对平台库依赖比较严重,只有标准C的部分是可移植(所有的主流操作系统都实现了C语言的标准库函数)等缺点。而后期的C++,Java,C#等编程语言在很多方面都吸收了C语言的优点,新增了面向对象(OO)等诸多的特性,适合做应用开发。

接下来看看运行在各大主流操作系统的C程序,顺便简要介绍对应平台的IDE

3 Windows C程序设计

1 Windows C HelloWorld

开发工具: VisualStudio2013

运行环境: Windows7

编译器: CL(VisualStudio2013提供的C语言编译器)

//导入共通的头文件

#include //#表示预处理,在预编译时执行 头文件中只是包含了函数的声明,函数的实现位于源文件中

#include

#include

//Windows平台的C语言版HelloWorld

#include "common.h" //包含共同的头文件

/* * 第一个C语言程序 * C语言的程序若想编译并运行,必须声明 main方法(有且只能有一个,作为程序的主入口),具体如下。 * @author tony 18601767221@163.com * @date 2015/11/11 */

void main(){ //void 表示main函数返回值为空

//这里的程序会从main函数的第一行执行到最后一行

printf("Hello World In Windows7 \n"); // BUG :程序中可能会出错的地方 断点:F11测试程序一步一步执行,然后观察程序执行结果

printf("Hello World In Windows7 again\n"); //每个语句以";"结束

getchar(); //等待输入任意字符回车就退出程序

/* C语言编译器不能识别中文符号,必须在英文状态下输入 VisualStudio2013运行时,解决方案的单个项目中只能有一个main程序,不然程序无法编译运行 */

}

头文件(.h):包含了函数的声明,就像字典的目录

源文件(.c):包含了函数的实现,就像字典的全书

//:表示单行注释,注释的内容会被编译器忽略

/**/:表示多行注释,注释多行。开发中应该多写注释,说明代码的用途

关于VisualStudio2013的一些快捷键:

先介绍几个调试的快捷键吧,初接触C语言,可以使用IDE的调试功能来观察程序执行的过程

F5 :调试并运行

F11:每次执行一行代码

F10:每次执行一个方法

Ctrl+Alt+F7:重新生成解决方案,也就相当于重新编译代码

2 使用标准C库函数system完成Windows系统程序的命令调用

在主流操作系统中可以使用命令来完成许多功能,而在C语言中就可以使用位于stdlib(标准库)的头文件中的system函数完成各大操作系统的命令调用

#include "common.h" //包含共同的头文件

/* * @author tony 18601767221@163.com * @date 2015/11/12 */

/* windows系统下的常用系统程序命令 */

void command(){

system("calc");//打开计算器

system("notepad");//打开记事本

system("stikynot");//打开便签 该命令在cmd下可以打开便签,system函数无法调用成功

system("appwiz.cpl");//打开程序和功能

system("firewall.cpl");//打开防火墙

system("explorer");//打开资源管理器

system("regedit");//注册表

system("shutdown -s -t 600");//10分钟以后关机

system("shutdown -a");//取消关机

system("desk.cpl");//屏幕分辨率

system("taskmgr");//任务管理器

}

/* 程序的主入口 */

void main(){//void 表示main函数返回值为空

command();

getchar();//等待输入任意字符退出程序

}

4 Linux C程序设计

开发工具: VIM

运行环境: Linux(RedHeat Enterprise 7)

编译器: gcc

系统说明:采用VMWare WorkStation 虚拟了一个Linux(RedHeat Enterprise 7),RedHeat Enterprise或者开源版CentOS7是最常用的企业版Linux,安装教程自己网上收罗吧。其实Windows也是一个虚拟机,只是它是宿主机。

1 Linux C HelloWorld

VIM是一个基于命令行的强大编辑器,这里说下简单使用

通常都是采用SSH工具连接远程的Linux服务器,推荐使用SecureCRT,配置主机名,用户和密码之后就能连接,默认端口为22.

在命令行下输入VIM helloworld.c,然后”i”进入编辑模式,输入如下代码

#include //在Linux系统中也是有C语言的标准库函数

void main(){

printf("Hello World In CentOS7\n");

printf("Hello World In CentOS7 Again\n");

}

然后按下ESC,输入: wq即可编辑并保存完成在你登录之后的路径.然后使用gcc编译名为HelloWorld.c的源文件,gcc编译器有几个编译选项,借助这几个选项了解下Linux系统的C语言编译链接的过程。

C语言编译运行第一步-预编译:

将#include的头文件替换到源程序中,可以使用gcc -E HelloWorld.c -o HelloWorld.o 执行预编译,查看将头文件中的内容替换到源文件后的结果。

C语言编译运行第二步-转汇编:

操作系统都不认识C语言编写的源代码,必须转换成对应的汇编代码。可以使用gcc -S HelloWorld.s -o HelloWorld.c将源代码编译成汇编代码

C语言编译运行第三步-链接:

在生成汇编代码之后,将系统库文件以及启动代码链接组成二进制的可执行文件。可以使用gcc -o HelloWorld.o HelloWorld.c来完成编译和链接。

2 使用标准C库函数system完成Linux系统调用

#include // import stand libary head file

int main(){

system("ps -a"); //show process list

system("who am i"); // current loign user

system("gedit"); // start gedit process

}

5. MacOSX C程序设计

开发工具: XCode6.4

运行环境: MacOSX10.10

编译工具:XCode自带的C语言编译器

系统说明:采用VMWare WorkStation虚拟一个MacOSX10.10操作系统并下载XCode6.4,需要解锁插件,具体过程网上搜罗。

1 MacOSX C HelloWorld

#include

int main(int argc, const char * argv[]) {

// insert code here...

printf("Hello, World!\n"); //

return 0; //返回整数0表示程序正常退出

}

在开发C/C++程序时还有一些跨平台的IDE,例如QT,CodeBlocks。在使用IDE开发大型项目时会提高开发效率以及降低后期的维护成本。

谭浩强《C语言程序设计第五版》第一章学习笔记 笔者在23考研的过程将自己对C语言程序设计的一些浅显经验写成章节博客供各位同学参考,希望能对看到引言的您学习C语言提供一些帮助。 C语言程序设计重理解,只要思想学精通,考试怎么考都不会有问题。所谓“学而不思则罔,思而不学则殆”就是这个道理。......... 阅读详情

相关推荐

C语言第一章 C语言的发展历史

人和人之间的交流使用的是自然语言,如汉语,英语,日语等。那人和计算机之间想要进行交流,需要使用到的就是计算机语言。目前已知已经有上千种计算机语言,⼈们是通过计算机语言写的程序,给计算机下达指令,让计算机工作的。C语言就是众多计算机语言中的⼀种,当然C++/Java/Go/Python都是计算机语言。

Nightmare1000的博客 1519

C语言 第一章 程序设计概念

C语言程序设计概念

chasing_dreamsss的博客 2489

C语言程序设计概述+C语言简介+算法概述

C语言程序设计概述程序的基本概念机械语言汇编语言高级语言C语言的诞生C语言的特点C语言字符集C语言严格区分大小写标识符关键字32个C语言程序的上机执行过程C语言开发环境 程序的基本概念 为了让计算机能够贯彻执行人的意图,需要人能与计算机“沟通”,而这种“沟通”所需要的语言就是程序设计语言,使用程序设计语言所设计的指令的集合就是程序。分析问题-设计算法-编码-程序调试。 机械语言 二进制代码,计算机能看懂的语言 汇编语言 用助记符来表示机器指令的语言,也称为符号语言。汇编语言较之机械语言容易读写、记忆与维护,

Jackey_Song的博客 1317

C语言程序设计(第五版)谭浩强 第一章习题答案

仅用作自己C语言刷题时的答案记录。文字题答案均是教材上的描述,代码题答案不唯一,仅供参考。

Dylan的博客 6400

高级语言程序设计(C语言)----第一章 概述

高级语言程序设计--C语言 学习笔记 第一章 概述 主要包含了计算机的发展,计算机语言的发展历程,算法及其描述方法,还有计算机程序和程序的设计方法。

zhangqq_0312的博客 1724

医药领域知识图谱快速及医药问答项目(项目全过程)

该项目是中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目 Github项目地址:mirrors / liuhuanyong / qasystemonmedicalkg · GitCode 一、项目环境搭建 该部分要十分注意,由于版本升级的问题,一些用法及格式已经不兼容了。 python3.8 下载地址:Python Release Python 3.8.10 | Python.orght...

qq_52062182的博客 9914

C语言程序设计 第一章(PTA)

编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。所以,虽然不是强制性的,但将其放在开头是一种常见的编程实践。解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。( .EXE文件)。

lm5688jjupm1n28的博客 3276

linux操作系统使用以太网连接ubuntu,设置固定ipv4

首先,您需要确定要配置的网络接口。可以使用ifconfig -a或ip addr命令来列出当前系统上的所有网络接口及其相关信息。找到您要配置的网络接口名称,例如eth0、ens33或enp0s3;保存并关闭文件后,您需要重启网络服务以使更改生效。在linux操作系统中,要使用交换机连接以太网可以直接使用交互界面;如果你的操作系统没有交互界面,你可以使用命令方式配置;点击ipv4,方式为手动,可以设置ip和子网了;开头,后接网络接口名称。第三步:点击有线最右边圆形控件;第二步:点击有线设置;

2301_79311842的博客 2403

C语言及程序设计概述

文章目录C语言简介一、C语言的主要特点二、使用步骤1.引入库2.读入数据总结 C语言简介 C语言是一种编译型程序设计语言,它是在B语言的基础上发展起来的。它的内核最初用汇编语言编写。汇编语言是面向机器的语言,生成的代码质量较高;但其可读性和可移植性差,并且在对问题的描述上远不如高级语言更接近人类的表述习惯。C语言最初的研制目的就是用于编写操作系统和其他系统程序的,它具有汇编语言的一些特性,同时又具有高级语言的特点,其根源可追溯到Algol 60。 1963年,英国剑桥大学在Algol 60的基础上

KING_阿飞的博客 1950

PPT+视频 | 详解智能营销增益模型(uplift model)

分享营销增益模型的原理和常见的建模及评估方法,并以淘票票智能票补为例介绍uplift model技术的实践经验。

阿里文娱技术 8626

动手学Moveit2 | 运行配置好的机械臂功能demo

通过这个小demo你可以直观的感受moveit2的强大,但还有很多需要我们探索的,比如机械臂是如何规划的,规划的过程中如何结合环境信息,规划的时候机械臂如何求解,如何和真实的机械臂对接等等,这些都需要你来进一步探索,今天就到这里,明天给大家秀一下小仙女焊的fishbot运控板。

生活不止眼前的苟且 8878

C语言程序设计(第二版)学习笔记——第一章

1、函数是构成C程序的主要成分。一个C程序中必须有一个主函数,主函数的名称规定为main()。一个C程序总是从main()函数开始执行,到main()函数的结尾结束。一个C程序的主函数是由函数名main()和函数体两部分组成的。函数体是函数名main()下面由一对花括号括起来的部分,它包括数据声明部分(程序无变量的话,可以没有声明部分)和执行部分(若干条语句)。一个C程序的主函数可以调用一个或若干个子函数,子函数是一个完成具体功能的程序单位。C程序中的子函数通常由函数的首部和函数体两部分组成。

王小瑞的学习博客 1473

AI处理器组合

编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信,如下图所示。- 如果申请处理器个数为1,则选择同一链路,剩余可用的处理器数量为1个的最佳,其次是剩余3个的为次佳,然后是剩余2个,最后是剩余4个。输出为组合列表,当array=[0, 1, 4, 5, 6, 7] ,num=1时,输出为[[0], [1]]- 如果申请处理器个数为2,则选择同一链路剩余可用的处理器数量2个的为最佳,其次是剩余4个,最后是剩余3个。任务申请1个处理器。

面试高手的博客 1万+

第二章 程序设计语言基础知识 — 程序设计语言概述

程序设计语言概述1. 程序设计语言基本概念1-1 低级语言与高级语言1-2 编译程序和解释程序1-3 程序设计语言的定义1-4 程序设计语言分类1-4-1 程序设计语言发展概述1-4-2 程序设计语言分类2. 程序设计语言的基本成分2-1 数据成分2-2 运算成分2-3 控制部分2-4 程序设计语言的传输成分2-5 函数 1. 程序设计语言基本概念 1-1 低级语言与高级语言 低级语言:机器语言、汇编语言; 高级语言:Java、C、C++、PHP、Python等。 1-2 编译程序和解释程序 语言之间的

qq_40120946的博客 3399

华为服务器BMC方式安装系统-官方文档解读

华为服务器BMC方式安装系统 安装完成之后我们有两种方式去安装系统, > 一、服务器连接显示屏、键盘、鼠标和启动盘去启动服务器安装系统(弊端:需要制作单独启动盘并且需要硬件资源) > 二、使用BMC方式安装系统,也就是说使用网线连接我们的笔记本和服务器的BMC口或者mgt口去进行安装。

王明的博客 4577

华为OD机试双机位C卷:流量波峰 (C/C++/Py/Java/Js/Go)

华为OD机试双机位C卷 流量波峰,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 流量波峰。

qq_45776114的博客 2445

第一章 程序设计和C语言

​ 计算机的每一个操作都是根据人们事先指定的指令进行的。为了使计算机执行一系列操作,必须事先编好一条条指令,输入到计算机。所谓程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作。​ 总之,计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。所以,计算机的本质是程序的机器,程序和指令是计算机系统的中最基本的概念。只有懂得程序设计,才能真正了解计算机是怎样工作的,才能更深入地使用计算机。计算机的语言经历了以下几个阶段。​机器语言。

weixin_74407520的博客 782

华为OD技术面八股_C++_05

汇总华为OD技术面C++方向技术面八股文,提供详细解答。

qq_45776114的博客 413

C语言程序设计第一章总结

C语言程序设计第一章总结程序设计语言的发展1.机器语言2.汇编语言3.高级语言(1)非结构化语言(2)结构化语言(3)面向对象的语言1.数据表达2.流程控制程序的算法表示程序的多种描述方法C语言的发展历史C语言的特点C语言的约定C语言的语法成分程序设计的任务运行C程序的步骤与方法 程序设计语言的发展 自1946年世界上第一台电子计算机问世以来,计算机应用已经渗透到人们生活的方方 面面,极大地推动了社会的进步与发展。特别是因特网( Internet)的发展,从根本上改变了 人们的生活方式,人们已经难以摆脱对计

molmoldl的博客 1165

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C语言程序设计--第一章 C语言概述

计算机语言 计算机语言种类有很多,根据发展的过程和面向的对象,可分为三类:机器语言、汇编语言、高级语言。 机器语言(第一代语言) 由二进制代码0和1构成的指令序列,面向计算机CPU系统,是计算机可以直接识别并执行的计算机语言。 例:加法指令 10000000、减法指令 10010000 优点:机器语言能被计算机CPU直接理解和执行,不需要另外的翻译软件,占用空间少,执行速度快。 缺点:机器语言缺点主要表现在难理解、难编写、难修改、难移植等。 汇编语言(第二代语言) 为克服机器语言缺点,采用助

qq_51959610的博客 1405

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【C语言程序设计】C语言程序设计总复习

C语言程序设计总复习C语言程序设计第1章C语言概述C程序的特性习题算法习题第3章基本数据类型及数据的输入输出C语言的基本数据类型简介标识符关键字整型常量实型常量转义字符常量 C语言程序设计 第1章C语言概述 第2章算法 第3章基本数据类型及数据的输入与输出 第4章运算符与表达式 第5章C语句及其程序设计 第6章数组 第7章函数 第8章编译预处理命令 第9章指针 第10章结构体类型与链表操作 第11章共用体与枚举类型 第12章文件 第1章C语言概述 1.1 C 语言简介 C语言的发展历程

qq_68577316的博客 2861

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【C语言】第一章 C语言程序设计基本概念,程序设计语言和方法,C语言的构成(清华大学)

C语言程序设计基本概念,程序设计语言和方法,C语言的构成

周文龙的博客 1645

C语言程序设计-概述、简单程序、数据类型

第一章 C语言基础知识 1.1 C语言概述 1.1.1 C语言与程序设计 1.1.2 C程序形式和程序执行过程 1.2 简单C程序及其上机步骤 1.2.1 简单C程序和编程风格 1.3 数据类型

Chen298的博客 2156

C语言笔记 第一章 概述

文章目录1 计算机如何工作2 数据在计算机中的表示2.1 字节和比特2.2 进制2.3 位权展开求和2.4 进制间的转换2.4.1 R进制转换为十进制:2.4 2 十进制转换为R进制:2.4.3 八进制与二进制2.4.4 十六进制与二进制2.5 正数和负数在计算机中的表示2.5.1 无符号整数2.5.2 带符号整数2.6 西文在计算机中的表示3 程序设计与算法3.1 算法的表示3.2 程序设计语言4 C语言简介4.1 C标准4.2 C语言优缺点4.3 C语言基本书写格式4.4 C语言的开发过程5 c语言集成

C语言/数据结构/数学建模/深度学习/生物信息 1573

第一章 C语言程序设计

本章知识要点及考核要求:C语言程序的基本构成;头文件、函数构成以及程序中的注释;C程序的执行过程;源程序的书写格式。

分享 Windows 系统部署、镜像封装、终端管理、故障排查与运维自动化实践,涵盖 Sysinternals、PowerShell 和 AI 工具应用。以真实案例梳理排查思路与解决步骤,让运维经验清晰、可复用。 1万+
上一篇: C语言计算机基础知识答案,计算机二级C语言基础知识试题及答案
下一篇: 南京师范大学c语言程序设计,南京师范大学地理科学学院631C语言程序设计(含数据结构)2004-2006,20.pdf...
叶子5400
博客等级 码龄8年 30粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值