(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语言如何编写界面程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)