高级语言程序设计c与程序设计基础有何区别

高级语言程序设计c与程序设计基础有何区别,第1张

你好,C语言和C++都是高级语言,C++是C的扩充,它们在编程思想上是有区别的,不存在什么难度等级。C语言面向过程,C++面向对象。每一门语言都有自己的特点,也都有自己擅长的一个领域,这样给你举一个例子:你要到外地去旅游,你可以走路,也可以坐火车,C语言就是走路,C++就是坐火车,表面看上去你C++要方便,但是实质却会面临这样一个问题——你的目的地不通火车,只能走路。C能实现其他语言无法实现的程序,这就是为什么学语言的人先学C

不一样,c++是在c语言基础上扩充了很多新特性后形成的支持面向对象的编程语言。

C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

(1)上机输入和编辑源程序。通过键盘向计算机输入程序,如发现有错误,要及时改正。最后将此源程序以文件形式存放在自己指定的文件夹内(如果不特别指定,一般存放在用户当前目录下),文件用c作为后缀,生成源程序文件,如fc。

(2)对源程序进行编译,先用C编译系统提供的“预处理器”(又称“预处理程序”或“预编译器”)对程序中的预处理指令进行编译预处理。例如,对于#include<stdioh>指令来说,就是将stdioh头文件的内容读进来,取代#include<stdioh>行。由预处理得到的信息与程序其他部分一起组成一个完整的、可以用来进行正式编译的源程序,然后由编译系统对该源程序进行编译。

编译的作用首先是对源程序进行检查,判定它有无语法方面的错误,如有,则发出“出错信息”,告诉编程人员认真检查改正。修改程序后重新进行编译,如果还有错,再发出“出错信息”。如此反复进行,直到没有语法错误为止。这时,编译程序自动把源程序转换为二进制形式的目标程序(在Visual C++中后缀为obj,如fobj)。如果不特别指定,此目标程序一般也存放在用户当前目录下,此时源文件没有消失。

在用编译系统对源程序进行编译时,自动包括了预编译和正式编译两个阶段,一气呵成。用户不必分别发出二次指令。

(3)进行连接处理。经过编译所得到的二进制目标文件(后缀为obj)还不能供计算机直接执行。前面已说明:一个程序可能包含若干个源程序文件,而编译是以源程序文件为对象的,一次编译只能得到与一个源程序文件相对应的目标文件(也称目标模块),它只是整个程序的一部分。必须把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序(executive program),在Visual C++中其后缀为exe,如fexe。

即使一个程序只包含一个源程序文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要与函数库进行连接,才能生成可执行程序。

以上连接的工作是由一个称为“连接编辑程序”(linkage editor)的软件来实现的。

(4)运行可执行程序,得到运行结果。

以上过程如图12所示。其中实线表示 *** 作流程,虚线表示文件的输入输出。例如,编辑后得到一个源程序文件fc,然后在进行编译时再将源程序文件fc输入,经过编译源程序,找出问题,修改源程序,并重新编译,直到无错为止。有时编译过程未发现错误,能生成可执行程序,但是运行的结果不正确。一般情况下,这不是语法方面的错误,而可能是程序逻辑方面的错误,例如计算公式不正确、赋值不正确等,应当返回检查源程序,并改正错误。

为了编译、连接和运行C程序,必须要有相应的编译系统。目前使用的很多C编译系统都是集成开发环境(IDE)的,把程序的编辑、编译、连接和运行等 *** 作全部集中在一个界面上进行,功能丰富,使用方便,直观易用。

C语言程序:

#include <stdioh>

void showMenu()

{

printf("请选择 *** 作类型:\n");

printf("  1--存钱\n");

printf("  2--取钱\n");

printf("  3--转账\n");

printf("  0--结束\n");

printf("--------------------------\n");

}

void main()

{

  int account1 = 1000; //1号账户余额

int account2 = 1000; //2号账户余额

int choice; // *** 作选择

int num; // *** 作金额

int id; //账户编号

int id1;

do

{

showMenu();

scanf("%d", &choice);

switch(choice)

{

case 1: //存钱

{

printf("账户(1 | 2):");

scanf("%d", &id);

if(id != 1 && id != 2)

{

printf("账户不存在!\n");

break;

}

printf("金额:");

scanf("%d", &num);

if(num <= 0)

{

printf("存入金额必须大于0!");

break;

}

if(id == 1)

{

account1 += num;

printf("1号账户余额:%d\n", account1);

}

else

{

account2 += num;

printf("2号账户余额:%d\n", account2);

}

break;

}

case 2: //取钱

{

printf("账户(1 | 2):");

scanf("%d", &id);

if(id != 1 && id != 2)

{

printf("账户不存在!\n");

break;

}

printf("金额:");

scanf("%d", &num);

if(num <= 0)

{

printf("取款金额必须大于0!\n");

break;

}

if((id == 1 && num > account1) || (id == 2 && num > account2))

{

printf("当前账户余额不足!");

break;

}

if(id == 1)

{

account1 -= num;

printf("1号账户余额:%d\n", account1);

}

else

{

account2 -= num;

printf("2号账户余额:%d\n", account2);

}

break;

}

case 3:

{

printf("转出账户(1 | 2):");

scanf("%d", &id);

if(id != 1 && id != 2)

{

printf("账户不存在!\n");

break;

}

printf("转入账户(1 | 2):");

scanf("%d", &id1);

if(id1 != 1 && id1 != 2)

{

printf("账户不存在!\n");

break;

}

printf("金额:");

scanf("%d", &num);

if(num <= 0)

{

printf("转账金额必须大于0!\n");

break;

}

if((id == 1 && num > account1) || (id == 2 && num > account2))

{

printf("转出账户余额不够!");

break;

}

if(id == 1)

{

account1 -= num;

account2 += num;

printf("1号账户成功转出 %d 元到2号账户\n", num);

printf("1号账户余额:%d\n", account1);

}

else

{

account2 -= num;

account1 += num;

printf("2号账户成功转出 %d 元到1号账户\n", num);

printf("2号账户余额:%d\n", account2);

}

break;

}

default:

{

break;

}

}

} while(choice != 0);

}

运行测试:

以上就是关于高级语言程序设计c与程序设计基础有何区别全部的内容,包括:高级语言程序设计c与程序设计基础有何区别、c++程序设计和c语言一样吗、[C语言] 运行C程序的步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10208371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存