实验一C语言程序设计准备 实验 C语言程序设计准备 实验目的: C语言集绾量、编译、调试和运行为一体,是现代程序设计的基础。木实:验要求孰采并 实验内容: ◆C语言的集成环境 ◆C语言程序的组成 C语言的据类型 C语言的标识符 ◆C语言的关键字 ◆C语言的运算符和表达式 实验步骤: 作业1进入设置/退出C程序设计环境。 在Windows20O0/XP环境下进入TurboC。 ①方式1: 在ndows2000XP的MS.DOS下,按正确路经键入执行文件TC EXE,如: C:/TC-TC∠ ②方式2: 在Windows20O0/XP的桌面、“我的电脑”、“资源浏览器”环境下双击TurboC安装目 录下的TC.EXE可执行文件或快捷方式启动后如图11所示。注意使用时,应及时关闭窗 ▣工具栏上的“汉”字按钮。 ☒ F-fFace F-step F-Rake Fi-Renw KIN 图1-1 TurboC2.0集成环境
实验一 C 语言程序设计准备 ·1· 实验一 C 语言程序设计准备 实验目的: C 语言集编辑、编译、调试和运行为一体,是现代程序设计的基础。本实验要求熟悉并 掌握在综合开发环境下进行 C 程序设计的基本要领与操作技巧。同时要对 C 语言的主要技 术特性和指标有所了解和熟练掌握。 实验内容: ◆ C 语言的集成环境 ◆ C 语言程序的组成 ◆ C 语言的数据类型 ◆ C 语言的标识符 ◆ C 语言的关键字 ◆ C 语言的运算符和表达式 实验步骤: 作业 1 进入/设置/退出 C 程序设计环境。 在 Windows2000/XP 环境下进入 TurboC。 ① 方式 1: 在 Windows2000/XP 的 MS-DOS 下,按正确路经键入执行文件 TC.EXE,如: C:/TC>TC↙ ②方式 2: 在 Windows2000/XP 的桌面、“我的电脑”、“资源浏览器”环境下双击 TurboC 安装目 录下的 TC.EXE 可执行文件或快捷方式, 启动后如图 1-1 所示。注意使用时,应及时关闭窗 口工具栏上的“汉”字按钮。 图 1-1 TurboC 2.0 集成环境
2. C语言作业与习题指导 ③上机编程流程 在上机调试运行自己所编写的程序时,应熟悉掌握操作流程,才能提高上机操作运行的 效 ,上机编程调试的操作流程如图1-2所示。 (开始】 进入TurboC 按AE进入编辑状态 输入编辑源程序并注意存盘 按圆C"Compile to OB"进行编译,生成ob目标程序 有错? N 按四CMake EXE file”进行链接,生成exe可执行程序 有错? N 按AE进入编辑状态 结束】 图1-2上机缩程流程 现在可以进行℃语言程序设计编程的实用学习和演练了,学习掌握怎样用计算机语言表 达描述算法,即学习利用计算机解决各种日常生活、工程设计和科学研究等各个领域的实际 问题。 作业2编写一个C语言程序 ①编辑 按四E组合键进入编辑环境,输入以下程序,并注意输出格式
·2· C 语言作业与习题指导 ③上机编程流程 在上机调试运行自己所编写的程序时,应熟悉掌握操作流程,才能提高上机操作运行的 效率。上机编程调试的操作流程如图 1-2 所示。 Y N Y N 图 1-2 上机编程流程 现在可以进行 C 语言程序设计编程的实用学习和演练了,学习掌握怎样用计算机语言表 达描述算法, 即学习利用计算机解决各种日常生活、工程设计和科学研究等各个领域的实际 问题。 作业 2 编写一个 C 语言程序 ①编辑 按 Alt+E 组合键进入编辑环境,输入以下程序, 并注意输出格式。 开始 进入 Turbo C 开始 按 Alt+E 进入编辑状态 输入/编辑源程序并注意存盘 按 Alt+C/”Compile to OBJ ”进行编译,生成.obj 目标程序 有错? 按 Alt+C/”Make EXE file ”进行链接,生成.exe 可执行程序 按 Alt+E 进入编辑状态 结束 有错?
实验一C语言程序设计准备 3 mainO) printf("C programmingi") printf("s very In)月 printf“usefull !": Cprogramming is very usefull! ② 按-C组合键,选择菜单“write to”选项,取一文件名后存盘,如指定“DF1.C 则取F1.C文件名,存入A:盘。 ③编译 按A-C组合键,选择菜单“Compile to OBJ”选项生成OBJ文件。如检测出错误,可 按AC组合键,选择菜单“Make EXE file”选项生成EXE文件。 ⑤执行 1.在DOS下可直接执行上面制作的.EXE外部命令文件。 2.在Windows2.000/XP操作系统下,找到该EXE文件后,双击就可执行。 作业3C语言的数据类型、标识符及运算符 按ASCI码表值,把下列大写字母转换成小写字母 main ( int cl c2: /定义字符类型*/ c1=65:c2=1A: c1=c1+32:c2=【c2+32】:/*整型数值运算*/ printf("cl=d -cl=%c\n",cl,c1) printf ("c2=d -c2=%cIn",c2,c2) 编译后运行后,显示(按ALT+F5切换)的结果是 cl=97 cl=a c=9 作业4C语言中数据混合运算与强制类型转换。 设a=3.6,b=8,c=5.7,求算数表达式的值。 mainO (int b=8; f1oata=3.6,c=5.7 printf("fnl=%f\n",a+(int)(c)%2/3+b3) printf ("fnl'=%d\n\n",a+(int)(c)%2/3+b%3): printf("fn2=%d\n",(int)(a+c)%2) printf("fn2'=%f\n\n",(int)(a+c)2): printf("fn3=%d\n",b83): printf("fn3'%fn\n,b3):
实验一 C 语言程序设计准备 ·3· main() { printf(“C programming i”); printf(“s very \n”); printf(“usefull !”); } C programming is very usefull! ②存盘 按 Alt+C 组合键,选择菜单“write to”选项,取一文件名后存盘, 如指定“D:F1.C” 则取 F1.C 文件名, 存入 A:盘。 ③编译 按 Alt+C 组合键,选择菜单“Compile to OBJ”选项生成.OBJ 文件。如检测出错误,可 按提示分析调试,直到“success”为止,进入下一步操作。 ④链接 按 Alt+C 组合键,选择菜单“Make EXE file”选项生成.EXE 文件。 ⑤执行 1.在 DOS 下可直接执行上面制作的.EXE 外部命令文件。 2.在 Windows2000/XP 操作系统下,找到该.EXE 文件后,双击就可执行。 作业 3 C 语言的数据类型、标识符及运算符。 按 ASCII 码表值,把下列大写字母转换成小写字母。 main ( ) { int c1, c2; /*定义字符类型*/ c1=65; c2=’A’; c1= c1+32 ; c2=【 c2+32 】; /*整型数值运算*/ printf("c1=%d - c1= %c\n", c1,c1); printf("c2=%d - c2= %c\n", c2,c2); } 编译后运行后,显示(按 ALT+F5 切换)的结果是 c1=97 c1=a c2=97 c2=a 作业 4 C 语言中数据混合运算与强制类型转换。 设 a=3.6, b=8, c=5.7,求算数表达式的值。 main() {int b=8; float a=3.6,c=5.7; printf("fn1=%f\n",a+(int)(c)%2/3+b%3); printf("fn1'=%d\n\n",a+(int)(c)%2/3+b%3); printf("fn2=%d\n",(int)(a+c)%2); printf("fn2'=%f\n\n",(int)(a+c)%2); printf("fn3=%d\n",b%3); printf("fn3'=%f\n\n",b%3);
·4· C语言作业与习题指导 编译运行后,按LT+5切换,输出的结果是【 】 求模运算%必须要进行强制类型转换,转成【整型】 为什么fml‘的结果等于零?【类型不匹配】 把printf"fml‘-%dn",a+Hint(a+c)%2/3+b%3),:中的输出表达式“a+(int(a+c)%2/3+b%3” 换为变量b怎样?【8】,为什么?【 】。 作业5整型数据的特点 分析下面程序的结果 main() fint a=9,b=2: printf("fnl=%d\n",a/b); printf("fn2=%f\n",(float)(a+b)): 编译运行后,按ALT+F5切换,输出的结果是 11.000000 a除以b为什么会得到这样的结果呢【取整】 作业6自加运算 分析下面程序的结果。 main() int a h. 【int】m-9,nel0: a=++m b=n++: printf("m=%d,a%d八n”,.a) printf ("n=%d.b=%d\n".n.b): 编译运行后,按LT+5切换,输出的结果是 m、n、a、b为什么会得到这样的结果呢【 练习趣 1试霸写一个C程输出如下内44 2编写一个程序,把小写的“b”转换为大写的“B
·4· C 语言作业与习题指导 } 编译运行后,按 ALT+F5 切换,输出的结果是【 】 这里求模运算%必须要进行强制类型转换,转成【整型 】。 为什么 fn1‘的结果等于零?【 类型不匹配 】 把 printf("fn1‘=%d\n",a+(int)(a+c)%2/3+b%3);中的输出表达式“a+(int)(a+c)%2/3+b%3” 换为变量 b 怎样?【 8】,为什么?【 】。 作业 5 整型数据的特点 分析下面程序的结果。 main() {int a=9,b=2; printf("fn1=%d\n",a/b); printf("fn2=%f\n",(float)(a+b)); } 编译运行后,按 ALT+F5 切换,输出的结果是 4 11.000000 a 除以 b 为什么会得到这样的结果呢 【取整 】 作业 6 自加运算 分析下面程序的结果。 main() { int a,b; 【int 】 m=9,n=10; a=++m; b=n++; printf("m=%d,a=%d\n",m,a); printf("n=%d,b=%d\n",n,b); } 编译运行后,按 ALT+F5 切换,输出的结果是 m=10 a=10 n=11 b=10 m、n、a、b 为什么会得到这样的结果呢 【 】 练习题 1.试编写一个 C 程序,输出如下内容: **************************** I’ll try another C programming file **************************** main( ) { printf(“**************************************\n”); printf(“I’ll try another C programming file”\n); printf(“*************************************\n”); } 2.编写一个程序,把小写的“b”转换为大写的“B
实验一C语言程序设计准备 5 main() char ab' ab-b', ab-='b'-32 putchar(ab):) 4综合案例小实验,“小精灵吃豆子” #include <graphics.h> include cono.h #include <stdio.h void main() int drive,mode,num,n=10,x=80,y=100; drive=DETECT: while(1 (setcolor(RED); circle(x+28,y-3,8): setfillstyle(1,RED) (x.y-3,RED) setcolor(LIGHTGRAY) setfillstyle(1.YELLOW) for (num=0:num<3:num++) for(n0:mu<6:nm+)) floodfill(x.y-14,LIGHTGRAY) delay(6000); if(x+30>=640)break; setcolor(BLACK): setfillstyle(1.BLUE) circle(x+28.y-3,8)i floodfill(x+28,y-3,BLUE); circle(x.v.35): floodfill(x,y,BLUE): xt=5: nE-n; getch(); closegraph():
实验一 C 语言程序设计准备 ·5· main( ) { char ab’ ab=’b’; ab=’b’-32; putchar(ab);} 4.综合案例小实验,“小精灵吃豆子” #include <graphics.h> #include <conio.h> #include <stdio.h> void main() { int drive,mode,num,n=10,x=80,y=100; drive=DETECT; initgraph(&drive,&mode," "); setbkcolor(BLUE); while(1) {setcolor(RED); circle(x+28,y-3,8); setfillstyle(1,RED); floodfill(x+28,y-3,RED); setcolor(LIGHTGRAY); setfillstyle(1,YELLOW); for(num=0;num<3;num++) pieslice(x,y+num,-35+n,50-n,30); for(num=0;num<6;num++) { circle(x+1,y-14+num,6); setfillstyle(1,BLUE); floodfill(x,y-14,LIGHTGRAY); } delay(6000); if(x+30>=640) break; setcolor(BLACK); setfillstyle(1,BLUE); circle(x+28,y-3,8); floodfill(x+28,y-3,BLUE); circle(x,y,35); floodfill(x,y,BLUE); x+=5; n=-n; } getch(); closegraph();