C语言程序设计实验课程简介(共50页).doc
《C语言程序设计实验课程简介(共50页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计实验课程简介(共50页).doc(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上四川师范大学计算机科学学院C语言程序设计实验手册2010年2月年级: 2009级 专业: 计算机科学与技术 班级: 一班 姓名: 谢丹 学号: 指导教师: 廖雪花 C语言程序设计实验课程简介课程名称:C语言程序设计实验课程性质:专业必修课课程属性:专业必修课学时学分:学时32 学分1开课实验室:软件实验室面向专业:网络工程、软件工程、计算机科学与技术一、课程的任务和基本要求C语言程序设计实验是面向计算机相关专业学生开设的C语言程序设计实验课,是配合C语言程序设计课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C语言程序设计的基本概念、各种数据类型的使用技巧
2、、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。二、实验项目【实验一】最简单的C程序-顺序程序设计【实验二】逻辑运算和判断选取控制【实验三】循环结构程序设计(一)【实验四】循环结构程序设计(二)【实验五】函数【实验六】数组(一)【实验七】数组(二)【实验八】指针【实验九】结构体、共用体和文件【实验十】C程序综合性实验三、有关说明1、与其它课程和教学环节的联系:先修课程:计算机文化后续课程:面向对象程序设计、Java程序设计、数据结构、软
3、件工程2、教材和主要参考书目:(1)教材: C程序设计习题解答与上机指导,谭浩强 吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: C语言程序设计 谭浩强主编,清华大学出版社,2003年。三、实验内容实验一 最简单的C程序-顺序程序设计(验证性实验 2学时)(一)、实验目的1熟悉win-tc程序运行环境2掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法3掌握C语言中使用最多的一种语句赋值语句4掌握数据的输入输出方法,能正确使用各种格式控制符(二)、实验内容1写出下列程序的运行结果(1)#include void main()printf(“*n”);printf
4、(“This is a c program. n”);printf(“*n”);运行结果及分析:结果:* 分析:在C语言中,n表示换行,因此运行结果为三行。 This is a c program. Printf 是预定义的标准的C函数,用于显示输出。 *将程序中的n去掉后,运行结果及分析:结果:*This is a c program.*分析:去掉n后,运行结果将不换行,因此只有一行。(2)#include void main() int a=100,b=20,sum,sb;sum=a+b;sb=a/b; printf(sum=%d,sb=%d,sum,sb);运行结果及分析: 结果:sum
5、=120,sb=5分析:变量声明语句int告诉编译器a b sum sb均为整数型,可执行语句中的%d表示输出的结果为整数。(3)#include void main( ) char c1,c2; c1=97;c2=98;printf(%c ,%cn,c1,c2);printf(%d,%dn,c1,c2);printf(%c %cn,c1+1,c2+2);运行结果及分析:结果:a,b 分析:C语言中,%c表示字符输出,在ASC中,97、98、100 97,98 分别为a b d。 b,d(4)#include void main () int i=8,j=10,m,n;m=+i;n=j+; p
6、rintf(%d,%d,%d,%d,i,j,m,n);运行结果及分析:结果:9,11,9,10分析:m=+i表示i加1再赋值给m,而n=j+表示先将j赋值给n,再加1.再将本程序的第3行改为m=i+;n=+j; 运行结果及分析:结果:9,11,8,112程序填空任意输入一个有五位数字的正整数x,分别输出每一数位上的数字(由高到低分别用b5,b4,b3,b2,b1表示),请将程序补充完整。#include main() int b1,b2,b3,b4,b5; long int x;Scanf( “ %ld ”,&x);b5= (x/10000)%10 ;b4=(x/1000)%10;b3= (x
7、/100)%10 ;b2=(x/10)%10;b1= (x/1)%10 ; printf(“the number is %ld n”,x); printf(“its bit is:%d,%d,%d,%d,%dn”,b5,b4,b3,b2,b1); 程序分析:int的表示范围只有-3276832767,并没有包含所有的五位数,而long int的表示范围则比int的范围大了很多,包含了所有的五位数。而算术运算符%为取模运算,该运算的结果是整数除的余数。3程序改错(注意:题中的编号为行序号,并非程序本身)计算任意一个半径为r的圆的面积和周长(结果保留两位小数)(1)#include (2)main
8、()(3)float r; p=3.14,c,area;(4) printf(“input r:”);(5) scanf(“%f ”, r);(6) c=2p*r;(7) area=p*r*r(8) printf(“c=%-7.2f,area=%-7.2f”,c,area);(9)错误语句的行号: (3)改正后的语句全行:float r,p,c,area;错误语句的行号: (4)改正后的语句全行:p=3.14;错误语句的行号: (7)改正后的语句全行:area=p*r*r;错误语句的行号: (6)改正后的语句全行:c=2*p*r;改错分析:实验二 逻辑运算和判断选取控制(验证性实验 2学时)(
9、一)、实验目的1了解逻辑量在C语言中的表示方法2学会使用逻辑运算符和逻辑表达式3熟练掌握if语句和switch语句(二)、实验内容1写出下列程序的运行结果(1)#include void main( ) int a,b,x=10,y=9;a=(-x = y+)? -x : +y;b= y;printf(“%d,%dn”,a,b);运行结果及分析:结果:8,10分析:a=(-x = y+)? -x : +y;所表示的是:若-x=y+,则将x的值赋给a,反之就将+y的值赋给a.而-x的意思为x先减1再用变量x的新值进行表达式计算;而y+的意思为y先进行表达式计算,再加1.(2)#include v
10、oid main()int a=2,b=-1,c=2;If(ab)if(b0)c=0;else c+=1;printf(“%dn”,c);运行结果及分析:结果:2分析:c+=1相当于c=c+1(3)#include void main( )int a=0,b=0,c=0;if(+a 0 | +b 0) +c;printf(“na=%d,b=%d,c=%d”,a,b,c);运行结果及分析:结果:a=1,b=0,c=1分析:(+a 0 | +b 0)语句中,|是逻辑或运算符,该运算符的关联性为从左到右,因此当|左边的表达式满足要求时,右边的表达式将不再进行计算。 ?(4)#include void
11、 main() int x=-1;switch (x)default: printf(“a”); case 1: printf(“b”); case 2: printf(“c”);运行结果及分析:结果:abc在case 1:printf(“b”);后加上break;语句,结果如何?修改程序并上机调试。运行结果及分析:结果:ab2程序填空输入两个整数,从用户处获取这两个整数,显示其中较大的数,在其后跟随“is larger”。如果这两个数相等,显示“These numbers are equal.”。请在_内填入正确内容。#include void main( )int a,b;printf(“
12、please input two numbers, a, b! “);scanf(“%d%d”,&a,&b);if( ) printf(“%d is larger”, a );else if(_) printf(“These numbers are equal”);else _ _; 填空:ab填空:a=b填空:printf(“%d is larger”, b)结果分析:如果输入的两个数a和b中,ab,则输出结果为:a is larger;如果a=b,则输出结果为:These numbers are equal;如果ab,则输出结果为:b is larger.3编写程序?(1)编写一个程序,读
13、入5个整数,然后确定并显示这组数中的最大整数和最小整数。 程序清单:#include main() int a, b, c, d, e; printf (Input five different integers:); scanf (%d %d %d %d %d, &a, &b, &c, &d, &e);getch();程序编写注意事项:(2)编写程序,读取一个整数,判断并显示出这个整数是奇数还是偶数。(提示:使用求模运算符。偶数是2的倍数。任何2的倍数除以2时,余数均为零。)程序清单:#include main() int number; printf (Enter an integer n
14、umbern); scanf (%d, &number); if (number % 2=0) printf (The number is odd number.n); else printf (The number is even number.n);getch();程序编写注意事项:?(3)编写一个程序,从键盘中输入3个不同的整数,然后显示这3个整数的和、平均数、积、最小数和最大数。(用if语句)屏幕中的对话内容如下所示:Input three different integers: 13 27 14Sum is 54Average is 18Product is 4914Smallest
15、 is 13Largest is 27程序清单:#include main() int a,b,c; int sum, average, product, smallest, largest; printf (Input three different integers:); scanf (%d %d %d, &a, &b, &c); if (sum=a+b+c) printf (Sum is %dn, sum); if (average=sum/3) printf (Average is %dn, average); if (product=a*b*c) printf (Product is
16、 %dn, product);getch();程序编写注意事项:实验三 循环结构程序设计(一)(验证性实验 2学时)(一)、实验目的1熟悉用while语句、do-wile语句和for语句实现循环的方法2掌握在程序设计中用循环方法实现的算法(二)、实验内容1写出下列程序的运行结果(1)#include void main()int count=1;while(count=10)count+;printf(“%sn”,count%2? “*”: “+”);运行结果及分析:结果:+ 分析:程序中的语句:count%2? “*”:”+”表示如果 * count%2为真,则输出*,若count%2为假,
17、则输出+ + 而count+表示每循环一次就增加1,直到count的值为10 * 为止。 + * + * + *(2)#include void main() int row=10,Column; while(row=1) Column=1;while(Column =10)printf(“%s”,row%2 ? “”); Column+; row-; printf(“n”);运行结果及分析:结果: 分析:当row=10时,Column=1,因此row%2为假,则输出 ;然后Column增加1,继续进行while(Column 循环,直到Column=10为止。然后运行到row-,继续进 =1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验 课程 简介 50
限制150内