t 工程.
A.3 编译, 连接,运行, 调试一个程序 编译,连接,运行,
当源文件编辑完成后,就可以编译,连接和运行程序了.方法如下: 单击"组建"菜单的"编译"选项,将完成编译工作得到***.obj 目标文件(文件名就是 源文件的名字),编译结果将在窗口最下面的输出窗口显示.可根据窗口的提示修改源文件 以改正错误. 单击"组建"菜单的"组建"选项,完成连接
工作得到 project.exe 可执行文件(文件名 是工程名) ,连接的结果也将在窗口最下面的输出窗口显示. 单击"组建"菜单的"全部重建"选项,将完成编译和连接两项工作,编译和连接的结 果将在输出窗口显示. 单击"组建"菜单的"执行"选项,可运行
程序 project.exe,程序运行的结果如图 A.7 所示. 另外,单击"组建"菜单的"开始调试"选项,然后交替按下 F11 和 F10 快捷键可以 完成程序的单步调试工作.调试方法大家可以逐步摸索,慢慢体会,多试试自然就熟悉了. 不要怕出错误,经验是在错误中不断
学习的.
A.4 输出窗口的常见错误提示
在教学中,同学们在遇到编译,连接和运行错误提示时常常不知道其含义,下面罗列一 下一些常见的错误,以帮助大家上机操作.为了方便,我们采用了"倒推"的方式,我们将 例题 2.2 的程序做一点简单修改,看看将会出现的错误和警告提示. 注:我们将例题中的 a=10 和 b=20 两语句改为用 scanf("%d,%d", &;a, &;b)输入. 在练习时,同学们也可以采用以下方法一步步试试,这样就会知道自己的程序编译,连 接,调试,运行时出现类似
问题的大致原因. 1.完全正确的程序 将例题 2.2 的源程序 s2_2.c 复
制到 project 目录.然后鼠标双击 project 目录下的 project.dsw 文件,将打开 project 工程(如新建工程也可) .此后鼠标左键单击"Source Files" 文件夹下方的 hello.c 文件,使其变蓝,然后按下键盘上的"Delete"按键,hello.c 文件将从 "Source Files" 文件夹上删除. 此后可按 A.2 的第 4 操作步骤将 s2_2.c 源程序添加到 "Source Files"目录.双击"Source Files"文件夹下的 s2_2.c 文件名,将在右边窗口显示其文件内容, 此后可对文件进行编辑将"a=10;b=20;"两语句删除,并在该位置添加以下二语句:
printf("Please input a, b:"); scanf("%d,%d", &;a, &;b); /* 在屏幕上显示提示语,提示下一步的操作 */ /* 调用 scanf()函数输入 a 和 b 的值 */
这样程序将如下所示:
/* 文件名:s2_2.c,比较两个整数的大小 */ /* 欢迎
登陆 C/C++教学网站:cs.scu.edu/~chenliangyin */ #include
#include int Max (int x, int y); int main (void) /* 文件包含预处理命令 */ /* 文件包含预处理命令 */ /* 函数声明语句.*/ /* 主函数 main(void).*/
四川大学计算机"程序员摇篮"教学团队 作者:陈良银
相关 C/C++教学资源欢迎访问网站: cs.scu.edu/~chenliangyin { int a, b, c; printf("Please input a, b:"); scanf("%d,%d", &;a, &;b); /* 变量定义语句,定义了三个变量:a,b,c */ /* 在屏幕上显示提示语,提示下一步的操作 */ /* 调用 scanf()函数输入 a 和 b 的值 */
c = Max (a, b); /* 函数调用语句,调用自定义函数 Max( ),并将其返回值赋给 c */ printf ("Max (a, b) = %d.\n", c); /* 调用在 stdio.h 中声明的库函数 printf( )*/ /* 输出系统提示并返回操作系统 */ system("PAUSE"); /* 调用库函数 system( ) */ return 0; /* 返回值 0,返回操作系统 */ } /* 下面是 Max( )用户自定义函数的函数定义部分,满足函数定义的语法格式要求就是函数 */ int Max (int x, int y) /* 函数头部分:x 和 y 为形式参数 */ { /* 两个外层大括弧之间的内容为函数体部分 */ int z; /* 变量定义语句.定义了变量 z */ if ( x>y ) /* 分支语句.如果 x>y 成立,将 x 的值赋给 z,否则将 y 的值赋给 z */ { z = x; /* 将 x 的值赋值给 z 变量 */ } else { z = y; /* 将 y 的值赋值给 z 变量 */ } return (z); } /* 函数返回语句,函数返回主调函数并将 z 的值一并返回 */
点击"组建"菜单的"全部重建"按钮,执