c语言指导书20xx(编辑修改稿)内容摘要:

辑、编译、连接和运行一个 C 程序,即运行一个 C 程序的全过程。 3 通过运行简单的 C程序,初步了解 C程序的基本结构及特性。 二 实验内容和步骤 1 从开 机开始进行操作,熟悉一些常用的 DOS 命令,包括如何建立子目录,文件拷贝,删除文件等。 2 建立自己的子目录,以备存放文件。 3 进入 Turbo C集成环境,熟悉 Turbo C主菜单下各选择项的功能及功能键的使用。 4 输入一简单 C程序(可用教科书上的例题),了解 C程序运行的全过程。 5 编写用 printf 语句将 3 个字符串: good morning, floppy disk, hard disk 在同一行显示的程序。 程序例 main() { printf (“good morning”)。 /*显示不换行 */ printf (“floppy disk”)。 printf (“hard disk \n”)。 } 运行结果: good morning floppy disk hard disk 6 把上面的程序改为每行显示一个字串,应如何修改程序,并运行之。 7 编写一程序,用键盘输入语句输入三个数,然后分别求它们的和、积及求余。 三 习题 1 以下各标识符中,哪些是合法的用户标识符。 第 20页 ⑪ main ⑫ MAIN ⑬ a205 ⑭ _exp ⑮ a_b ⑯ ⑰ A[10]⑱ ⑲ %d ⑳ float ⑴ $100 ⑵ I am ⑶ max(5) ⑷ begin ⑸ define ⑹ NONAMEOO ⑺ proc ⑻ and ⑼ not ⑽ WHile 注:字母或下划开始的后跟若于字母或下划线或数字组成的序列;不能和保留字相同;避免和系统函数名相同;大小写字母有别。 2 选择 ⑪ 18/4*sqrt()/8 的值的类型。 A int B float C char D 不确定 ⑫ 在 C中,一个 unsined int 型数据的表示范围是 A 0127 B 0225 C 032767 D 065535 ⑬ ( 15) %( 8)的值是 A –7 B 7 C D 非法 3 下列常量哪一组全是合法的。 ⑪ 288, 079, ,‟A‟,10111 ⑫ 0,1e14,.5678,‟ABC‟,oxabc ⑬ +1,‟4‟,ox5a,.0 ⑭ 15,+3,069,101,oxabcd (5) 2L,345e8,‟\n‟,‟\\‟,‟\101‟ 4 下列常量中哪一组都是非法的。 ⑪ 0a,ox7,‟.‟,158 ⑫ 088,ox9afg,65538,3E24,‟\089‟ ⑬ 32768,”A”,9FBA ⑭ 32769,45678L,OX9ab,‟\063‟ ⑮ 9abH,177Q,07777,‟\t‟ 5 计算下列表达式 ⑪ 15+30%4 ⑫ +15/2 ⑬ 10= =9+1 ⑭ x=10,3+8,y=20 ⑮ x=y=500 ⑯ 设 x=1,y=2,求 x++,y++ ⑰ 53 ⑱ 10500 ⑲ 53amp。 amp。 58 ⑳ 105||510 第 21页 实验二 数据描述与基本操作 一 实验目的要求 1 进一步掌握运行一个 C语言程序的方法和步骤。 2 分清 C语言的符号、标识符、保留字的区别。 3 掌握 C 语言的数据类型,会定义整型、实型、字符型变量以及对它们的赋值方法。 4 学会数据输入方式和数据输出格式及各种格式转意符。 5 学会使用 C 的运算符以及用这些运算符组成的表达式,特别是自加( ++)和自减( — — )运算符的使用。 二 实验内容的步骤 1 输入并运行下面程序,分析其运行结果。 main() { char c1,c2。 c1=46。 c2=47。 printf(“%3c%3c”, c1,c2)。 printf(“%3d%3d”, c1,c2)。 } 将程序第二行改为: int c1,c2。 再运行,分析其结果。 注: 实际本例体现出 C 语言的一种特性(灵活),整型变量与字符型变量可以相互转换。 2 输入并运行下面程序 main() { int a,b。 float c,d。 第 22页 long e,f。 unsigned int u,v。 char c1,c2。 scanf(“%d,%d”,amp。 a,amp。 b)。 scanf(“%f,%f”, amp。 c,amp。 d)。 scanf(“%ld,%ld”,amp。 e,amp。 f)。 scanf(%o,%o”,amp。 u,amp。 v)。 scanf(“%c,%c”, amp。 c1,amp。 c2)。 printf(“\n”)。 printf(“a=%4d,b=%4d\n”,a,b)。 printf(“c=%,d=%\n”,c,d)。 printf(“e=%16ld,f=%16ld\n”,e,f)。 printf(“u=%o,v=%o\n”,u,v)。 printf(“c1=%c,c2=%c\n”,c1,c2)。 } 运行上面程序,分析结果,特别注意输出 C1, C2 的值是什么。 什么原因。 ⑪将输入 e和 f、 u和 v的语句分别改为: scanf(“%d,%d”,amp。 e,amp。 f)。 scanf(%d,%d”,amp。 u,amp。 v)。 运行并分析结果。 ⑫将程序的第一行加命令行: include 运行并分析结果。 3 编写一个程序,求表达式 xz%2*(x+y)%2/2 的值。 设 x= ,y= ,z=4 4 先分析下面程序的结果,然后再上机运行,看结果上否一致。 main() { int x,y,z。 x=y=z=3。 第 23页 y=x++ 1。 printf(“%4d%4d”,x,y)。 y=++x –1。 printf(%4d%4d”,x,y)。 y=z +1。 printf(“%4d%4d”,z,y)。 y= z+1。 printf(“%4d%4d”,z,y)。 } 注:本例学生注意,自增自减运算符,先赋值后自增(自减)和先自增(自减)后赋值的问题。 *5 编写一个程序,将输入的小写字母改写成大写字母并输出。 提示:可采用getchar( )函数输入字符,并利用 for( )循环语 句。 当然也可用其它方法,只要能实现其功能即可。 下面给出一个语句段,学生补充一个完整的程序后,上机进行调试。 for(i=1。 i=10。 i++) { c1=getchar( )。 c2=c1 – 32。 printf(“string %c\n”,c2)。 } 三 习题 1 (判错)下述论断哪些是不对的。 ① 每个 C 语言程序有且仅有一个主函数 main()。 ② C语言程序的每一行都用分号结尾。 ③ C程序的执行从第一 行开始到最后一行结束。 ④ C程序的每一行只能写一条语句。 ⑤ C程序的一条语句可以占多行。 ⑥ 一个C程序可有一个或多个函数组成。 ⑦ 在C程序中,注释说明只能写在一条语句的末尾。 ⑧ 在一个C程序中,主函数必须放在程序的首部。 ⑨ 在一个C程序中,主函数 main()可以放在程序的任何位置上。 ⑩ 在C程序中,注释部分是用花括号括起来的。 2 下列程序错误在哪里。 第 24页 ① main( ) /* 给定半径 r,求园的面积 s */ { float r,s。 s=п *r*r。 printf(“s=%f\n”,s) } ② main() /* 给定长和宽 l,w,求矩形面积 s */ { int l,w,s。 scanf(“%d%d”,l,w)。 s=l*w。 printf(l,w,s)。 } ③ main() { int i,j,k。 float x,y,z。 scanf(“%d%f%”,amp。 i,amp。 j,amp。 k)。 scanf(“%d%f%f”,x,y,z)。 i=i+x。 y=y+j。 z=i+j。 k=x%y。 printf(“%d%f%f\n”,i,j,k)。 printf(“%f%d%d\n‟,x,y,z)。 } 运行看看结果如何。 为什么。 ④ main() { int i。 float x。 long y。 i=100。 x=200。 y=300。 printf(“i=%d,x=%d,y=%d\n”,i,x,y)。 printf(“i=%f,x=%f,y=%f\n”,i,x,y)。 printf(“i=%ld,x=%ld,y=%ld\n”,i,x,y)。 } 运行试试看,结果如何。 为什么。 第 25页 3 参考下面程序,如何改写输入函数,并配合正确的键盘输入方法才能使 x,y和 ch 分别获得值 10, 100 和‘A’。 main() { int x,y。 char ch。 scanf(“x=%d,y=%d,ch=%c”,amp。 x,amp。 y,amp。 ch)。 printf(“x=%d,y=%d,ch=^c\n”,x,y,ch)。 } 若将输入函数改为 scanf(“%d,%d,%c”,amp。 x,amp。 y,amp。 ch)。 或者 scanf(“%d,%c,%d”,amp。 x,amp。 ch,amp。 y)。 或者 scanf(“%c,%d,%d”,amp。 ch,amp。 x,amp。 y)。 结果将会如何。 4 下面程序对输入有何要求。 利用它可以作什么。 main() { int x,y,z。 long m。 scanf(“%d%o%x”,amp。 x,amp。 y,amp。 z)。 scanf(“%x%ld”,amp。 m)。 printf(“x=%d,%o。 %x\n”,x,x,x)。 printf(“y=%d,%o。 %x\n”,y,y,y)。 printf(“z=%d,%o。 %x\n”,z,z,z)。 printf(“m=%ld,%lo。 %lx\n”,m,m,m)。 } 5 main() { int x。 long y。 x= 500。 y= 500。 printf(“x=%d,%u。 y=%ld,%u\n”,x,x,y,y)。 } 你记得补码是何意义吗。 上述程序说明了什么。 如果将 x, y各赋值为-1。 或者各赋值为 32768 和 2147483648,输出结果如何。 为什么。 6 输出宽度及控制 第 26页 main() { int i,j。 float x,y。 long int m。 i=688。 j=32765。 x=。 y=。 m=1234567890。 printf(%d,%8d,%08d,%8d\n”,i,i,j,j)。 printf(%f,%,%,%\n”,x,x,y,y)。 printf(%ld,%lu,%12ld,%12d\n”,m,m,m,m)。 } 第 27页 实验三 程序的分支 一 实验目的要求 1 熟悉关系表达式和逻辑表达式的使用。 2 掌握 break 和 continue 语句的使用 ,以及它们之间的区别。 3 熟悉掌握 if 语句和 switch 语句的应用。 二 实验内容和步骤 1 三个整数 a, b, c,由键盘输入这三个数 ,求三个数中最大的值。 main() { int a,b,c。 printf(“input a,b,c:”)。 scanf(“%d。 %d。 %d”,amp。 a,amp。 b,amp。 c)。 if(ab) if(bc) printf(“max=%d\n”,c)。 else printf(“max=%d\n”,b)。 else if(ac) printf(“max=%d\n”,c)。 else printf(“max=%d\n”,a)。 } 运行下面程序,分析 if 和 else 是哪两个相互“配对”,在书写程序时,分出层次,这样有利于程序的可读性,容易查找出错误。 此程序还有更加简明的方法实现,就是利用条件表达式。 main() { int a,b,c,max,t。 printf(“input a,b,c:”)。 第 28。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。