[C语言] 运行C程序的步骤

[C语言] 运行C程序的步骤,第1张

(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)的,把程序的编辑、编译、连接和运行等 *** 作全部集中在一个界面上进行,功能丰富,使用方便,直观易用。

可以的,1、运行PowerPoint程序,打开要插入动画的幻灯片。

2、在菜单中选择“插入”选项,从打开的下拉菜单中选择“对象”。会d出“插入对象”对话框,选择“由文件创建”,单击[浏览],选中需要插入的Flash动画文件,最后单击[确定]返回幻灯片。

3、 这时,在幻灯片上就出现了一个Flash文件的图标,我们可以更改图标的大小或者移动它的位置,然后在这个图标上右击鼠标,选中“动作设置”命令。

4、在d出的窗口中选择“单击鼠标”或“鼠标移动”两个标签都可以,再点击“对象动作”,在下拉菜单中选择“激活内容”,最后单击[确定],完成插入动画的 *** 作。

C语方下可以在文本模式下作出,也可以在图形模式下画出,用的是一些扩展库,就是说不是C标准库,下面给一个框架,不知道建不建议学,感觉过时了,看你自已的兴趣了,感兴趣下了功夫肯定能学好,因为它根本就不难,只不过用了些非标准库的所谓高级函数而已

#include <processh>

#include <dosh>

#include <conioh>

#define Key_DOWN 0x5100

#define Key_UP 0x4900

#define Key_ESC 0x011b

#define Key_ALT_F 0x2100

#define Key_ALT_X 0x2d00

#define Key_ENTER 0x1c0d

void box(int startx,int starty,int high,int width);

main()

{

int i,key,x,y,l;

char menu[] = ;

/ 主菜单各项 /

char red[] = ; / 加上红色热键 /

char f[] = ;

/ File 项的子菜单 /

char buf[16102],buf1[162]; / 定义保存文本的缓冲区 /

while(1)

{

textbackground(BLUE);

clrscr();

textmode(C80);

window(1,1,80,1);/ 定义显示主菜单的窗口 /

textbackground(LIGHTGRAY);

textcolor(BLACK);

clrscr();

gotoxy(5,1);

for(i=0,l=0;i<8;i++)

{

x=wherex(); / 得到当前光标的坐标 /

y=wherey();

cprintf("%s",menu[i]); / 显示各菜单项 /

l=strlen(menu[i]); / 得到菜单项的长度 /

gotoxy(x,y);

textcolor(RED);

cprintf("%s",red[i]); / 在主菜单项各头字符写上红字符 /

x=x+l+5;

gotoxy(x,y);

textcolor(BLACK); / 为显示下一个菜单项移动光标 /

}

gotoxy(5,1);

key=bioskey(0);

switch (key){

case Key_ALT_X:

exit(0); / ALT_X 则退出 /

case Key_ALT_F:

{

textbackground(BLACK);

textcolor(WHITE);

gotoxy(5,1);

cprintf("%s",menu[0]); / 加黑 File 项 /

gettext(5,2,20,12,buf); / 保存窗口原来的文本 /

window(5,2,20,9);/ 设置作矩形框的窗口 /

textbackground(LIGHTGRAY);

textcolor(BLACK);

clrscr();

box(1,1,7,16); / 调用作框函数 /

for(i=2;i<7;i++) / 显示子菜单各项 /

{ gotoxy(2,i);

cprintf("%s",f[i-2]);

}

gettext(2,2,18,3,buf1); /将下拉菜单的内容保存在 buf1/

textbackground(BLACK);

textcolor(WHITE);

gotoxy(2,2);

cprintf("%s",f[0]);/加黑下拉菜单的第一项 load file/

gotoxy(2,2);

y=2;

while ((key=bioskey(0))!=Key_ALT_X) / 等待选择下拉菜单项/

{

if ((key==Key_UP)||(key==Key_DOWN))

{

puttext(2,y,18,y+1,buf1); / 恢复原先的项 /

if (key==Key_UP)

y=y==26:y-1;

else

y=y==62:y+1;

gettext(2,y,18,y+1,buf1);/保存要压上光条的子菜单项/

textbackground(BLACK);

textcolor(WHITE);

gotoxy(2,y);

cprintf("%s",f[y-2]); / 产生黑条压在所选项上 /

gotoxy(2,y);

}

else

if (key==Key_ENTER)/ 若是回车键,判断是哪一子菜单按的回

车,在此没有相应的特殊处理/

{

switch ( y-1 ){

case 1: / 是子菜单项第一项:Load file /

break;

case 2: / Save file /

break;

case 3: / print /

break;

case 4: / modify /

break;

case 5:

exit(0);

default:

break;

}

break;

}

else

if (key==Key_ESC)

break; / 是 Esc 键,返回主菜单 /

}

if (key==Key_ALT_X) exit(0);

break;

}

}

}

}

void box(int startx,int starty,int high,int width) / 画矩形框函数 /

{ int i;

gotoxy(startx,starty);

putch(0xda); / 画┌ /

for (i=startx+1;i<width;i++) putch(0xc4); / 画— /

putch(0xbf); / 画┐ /

for( i=starty+1;i<high;i++)

{

gotoxy(startx,i);putch(0xb3); / 画│ /

gotoxy(width,i);putch(0xb3); / 画│ /

}

gotoxy(startx,high);

putch(0xc0); / 画└ /

for (i=startx+1;i<width;i++) putch(0xc4); / 画— /

putch(0xd9); / 画┘ /

return ;

}

#include <stdioh>

void main(){

int y,f;

scanf("%d",&y);

if(y%400==0)

f=1;

else if(y%4 == 0&&y%100!=0)

f=1;

else f=0;

if(f)

printf("%d is",y);

else printf("%d is not",y);

printf(" a leap year\n");

}

扩展资料

Java判断输入的年份是否为闰年

public class TestLeapYear {

public static void isLeapYear(int year){

boolean flag1=(year%4==0);

boolean flag2=(year%100==0);

boolean flag3=(year%400==0);

if((flag1&&!flag2)||(flag3)){

Systemoutprintln(year+" Is Leap Year");

}

else Systemoutprintln(year+" Is Not Leap year");

}

public static void main(String[] args) {

// TODO 自动生成的方法存根

isLeapYear(1993);

isLeapYear(2000);

isLeapYear(1996);

isLeapYear(1900);

}

}

以上就是关于[C语言] 运行C程序的步骤全部的内容,包括:[C语言] 运行C程序的步骤、ppt可以在演示文稿中编写c语言程序吗、c语言如何编写界面程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存