
实验1C程序的运行环境.pdf
28页实验 1 C 程序的运行环境 一、 实验目的 1. 熟悉 TurboC运行环境的使用方法; 2. 掌握在该集成开发环境下输入、编译、调试和运行 C程序的基本过程和方法; 3. 理解和掌握 C程序的结构 二、 实验要求 1. 复 习教材 p7“ C程序 的上机 步骤 ” 2. 完成各实验步骤和“问题讨论” 三、 TC3.0 使用 1. 了解 TC 运行环境 使用 Windows的“搜索”功能查找文件 tc.exe所在目录,并作记录观察 TC所在目录的构成 2. TC的使用方法 ( 1) 双击 Turbo C图标,进入 Turbo C集成环境后,首先在屏幕上显示 Turbo C主菜单窗口,如下图 1所 示按“ Alt+Enter”键,可将该窗口全屏显示 图 1 Turbo C主菜单窗口 ( 2) 了解各菜单命令的含义及使用方法 从图 1中可以看出,在该窗口,有 10个菜单条目其中菜单的意义如下: File 处理文件 (包括装入、存盘、选择、建立、换名写盘),目录操作(包括列表、改变工作目录),退出系统及调用 DOS Edit 建立、编辑源文件。
Run 控制运行程序 Compile 编译并生成目标程序与可执行文件 Project 允许说明程序中包含哪些文件的管理条目 Options 可以 选择集成环境任选项(如存储模式、编译时的任选项、诊断及连接任选源程序编辑窗口 主菜单 信息显示窗口 项)及定义宏;也可以记录 Include Output 及 Library 文件目录,保存编译任选项和从配置文件加载任选 Help 帮助菜单,通过可查找有关 C语言、库函数使用等方面的资料 Debug 检查、改变变量的值,查找函数,程序运行时查看调用栈选择程序编译时是否在执行行代码中插入调试信息如 Break/Watch 增加、删除、编辑监视表达式,及设置、清除、执行至断点 特别要指出的是,除了 Edit 项外,每一个菜单又有对应的子菜单而选择 Edit项目后,只是进入 源程序编辑窗口 为了从主菜单中选择所需要的功能,可以用以下两种方式之一 : 方法一: 按 F10键后,可以看到屏幕上部主菜单中有反白显示,此时,利用左、右光标移动键(←与→)选择需要的菜单,然后按回车( Enter)键 方法二: 直接按 Alt+主菜单条目中的首字母(分别为 F, E, R, C, P, O, D, B),此时就会出现相应的子菜单。
例如,按 Alt+F表示选择文件子菜单( File) 当出现子菜单时,其中某个条目是高亮度的,此时可以利用上、下光标移动键(↑与↓)来移动该高亮度线,从而选择所需要 的功能在菜单调用时,按 Esc键后将直接返回到活动窗口 2. 编辑、编译、连接、运行一个简单的 C 程序 ( 1) 输入程序 用 File 菜单中 New 命令打开源程序编辑窗口,在编辑窗口输入以下程序: #include main() { printf(“ How are you!”); } ( 2)运行程序 按“ Ctrl+F9”或 Run 菜单中 Run 命令,运行程序,如果没有报错,可以按“ Alt+F5”查看运行结果,再按空格键回到编辑窗口若报错,根据提示修改源程序后,再运行程序 ( 3)保 存文件 按 F2 键或 File 菜单中“ Save… As”命令,弹出一个对话框,在对话框中输入文件名,如: proj1.c ( 4)退出 TC 程序 按 Alt+X 键,弹出对话框,提示是否真的要退出 TC,如果输入 Y 就会退出 TC ( 5)打开已经存在的文件 ①首先启动 TC ②按 F3 或用 File 菜单中 open 命令 ,弹出对话框。
③在该对话框中,输入文件名即可 四 、 实验内容 (一)基础知识部分 1. 编写程序 在屏幕上显示 “This is my first C Program!” 程序: 2. 运行下面的程序 求两个整数之和 #include /* This function calculates the sum of x and y */ int add(int x,int y) { int z; z=x+y; return(z); } /* This is the main program */ main() { int a,b,sum; a=10; b=24; sum=add(a,b); printf(“sum= %d\n",sum); } 3. 运行下面的程序, 计算三个实型数的平均值 # include // 嵌入头文件 main() // 主函数入口 { float a,b,c,aver; printf("请输入三个实型数 \n:"); scanf("%f ,%f,%f ",&a,&b,&c); aver = (a+b+c)/3; // 求平均值 printf("\n average = %f \n", aver); } 4. 运行下面的程序, 求两整型数中的较小的那个数的值 #include int xmin( int x, int y ) //用户自定义函数 { int m; if ( x void main() { int k; float x=3.6; printf(“\n[k=x]: x=%f k=%d”,x,k=x); } (1)当 x=2.5,y=4.7,z=7 时,观察 以下表达式的值: x+z%3*(int)(x+y)%2/4 (2) 当 a=12 时,观察 以下表达式的值: ① a+=a; ② a*=2+3; ③ a%=(5%2) ④ a+=a-=a*=a; ( 提示 :思考表达式的类型是什么?并用正确的方式输出其结果。
) 2.下面程序的输出结果是什么?并对输出结果给予合理的解释 #include void main() { char ch; int k; ch=’a’; k=10; printf(“ch=%d, %x, %o, %c\n”, ch,ch,ch ch); printf(“k=%d\n”,k); } 3. 运行下面的程序: #include void main() {printf(“p=%d\n”,p); printf(“p=%d ,p++=%d\n”,p,p++); } 先分析程序并判断输出结果,再运行程序检查结果是否与判断的结果相同,若不同试分析原因 4. 运行下面的程序: void main() {char i=-1; int p; i *= -3; p=10*(i+2)/255; printf(“p=%d\n”,p); printf(“Hello,c”); } 先分析程序并判断输出结果,再运行程序检查结果是否与判断的结果相同,若不同试分 析原因 5. 运行下面的程序: main() { printf(“\x4F\x4B\x21\n”); printf(“\x15 \xAB\n”); } 先分析程序并判断输出结果,再运行程序检查结果是否与判断的结果相同,若不同试分 析原因。
6. 分别编写用于下面的计算的 C 语言程序(变量的值自己设定,但两题中,要有一题为实型,一题为整型) ( 1) y=a-ab/(c+d) ( 2) y=1/2(xy+2/x3) (二)提高部分: 1( 1)( 2) 题必作, 2、 3、 4 选作两题 1.写出下面程序的运行结果 ( 1) main() { int a1,a2,a3=258; a1=97;a2=98; printf("a1=%c,a2=%c,a3=%c",a1,a2,a3); } ( 2) main() { int x,y,m,n; x=10;y=20; m=x++;n=++y; printf("x=%d,y=%d,m=%d,n=%d",x,y,m,n); m=x--;n=--y; printf("x=%d,y=%d,m=%d,n=%d",x,y,m,n); } ( 3) main() { char a=0x95,b,c; b=(a c=(a a=b|c; printf("\n%x\n",a); } ( 4) main() { unsigned int a =0112,x,y,z; x=a>>3; printf("x=%o\n",x); y=~(~0 main() { int c; char a; c=65; a='B'; putchar(c); putchar('\n'); putchar(a); } ( 3) #include main() { int c; printf("Enter a character:"); c=getchar(); printf("%c-hex%x\n",c,c); } (二)提高部分,选作 1.将程序补充完整,并写出输出结果 ( 1) int a=1234; float f=123.456; char ch=‘a’; printf(“%8d,%2d \n”,a,a); printf(“%f,%8f,%8.1f,% .2f,%.2e\n”,f,f,f,f,f); printf(“%3c \n”,ch); ( 2) static char a[]=“Hello,world!” printf(“%s \n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a); int a=1234; float f=123.456; static char c[]=“Hello,world!”; printf(“%8d,% -8d\n”,a,a); printf(“%10.2f,% -10.1f\n”,f,f); printf(“%10.5s,% -10.3s\n”,c,c); 2. 写出下面程序的运行结果。
( 1) main() { char c1='a',c2='b',c3='c',c4='\101',c5='\116'; printf("a%cb%c\tabc\n",c1,c2,c3); printf("\t\b%c %c",c4,c5); } ( 2) main() { int a=5,b=7; float x=67.8546,y=-789.124; char c= 'A'; long n=1234567; unsigned u=65535; printf("%d%d\n ",a,b); priintf("%3d%3d\n ",a,b); printf("%f,%f\n ",x,y); printf("%-10f,%-10f\n ",x,y); printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n ",x,y,x,y,x,y); printf("%e,%10.2e\n ",x,y); printf("%c,%d,%o,%x\n ",c,c,c,c); printf("%ld,%lo,%lx\n ",n,n,n); printf("%u,%o,%x,%d\n ",u,u,u,u); printf("%s,%5.3s\n ", "computer","english"); } ( 3) #include main() { char c='a'; int a=5,b=6; float f=12.345,g=56.789; printf("%c\n", c); printf("%c\n", c-3。
