C语言实训指导数组,c语言实训指导书

《c语言实训指导书》由会员分享,可在线阅读,更多相关《c语言实训指导书(18页珍藏版)》请在人人文库网上搜索。

1、C语言程序设计基础实训指导书二0一三年一月实训一 熟悉VC+实验环境 【实训目的】1. 熟悉VC+实验环境 2. 掌握C语言程序的基本结构3. 掌握C语言程序的编辑、调试和运行过程 【实训内容】 1. 编程,在屏幕上显示一个短句“this is my first c program.”。 2. 调试示例,在屏幕上显示一个短句“welcome to you!”。 源程序(有错误的程序) #include void mian() printf(Welcome to You!n”) 运行结果(改正后的运行结果) Welcome to You!实验二 简单程序设计 【实训目的】 1. 掌握C语言的运算。

2、符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。2. 通过编程进一步理解和掌握运算符的确切含义和功能。 3. 理解和掌握运算符与运算对象的关系,优先级和结合方向。 4. 通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。 5. 掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。 6. 掌握简单的C程序的查错方法。 【实训内容】一、.输入程序,观察输出结果,并对输出结果作出合理的解释。 /* e1.c */ #inclu。

3、de void main() float x; double y; x=213.82631;y=213.82631; printf(%-4.2f,-6.2en,x,y); 输出结果:解释: 2/*e2.c */ #include void main() char ch; int k; ch=a;k=10; printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k); printf(“k=%dn”,k); 输出结果: 解释: 3/*e3.c */ #include void main() float a1,a2; double b1,b2; a1=3141.59;a2=0.; b1=。

4、3141.59;b2=0.; printf(“%f,%lfn”,a1+a2,b1+b2); 输出结果: 解释: 4 /* e4.c */ #include void main() float x=5/2,y=5.0/2; printf(x=%f,y=%fn,x,y); 输出结果: 解释 二.编写程序。 1. 编程(c1.c)定义3个整型变量x,y,z和一个实型变量averge,计算并输出3个整数的平均值averge,其中x=y=1,z=0。观察运行结果。再将x,y,z和averge改为实型变量,再观察运行结果。理解整除和不同类型数据进行混合运算的转化规律,对结果进行合理的解释。 源程序: 输出。

5、结果: 解释: 2. 改写程序(c2.c),针对上一题要求,采用从键盘用scanf()函数输入x,y,z的值。要求输出结果的形式为averge=。 源程序输出结果: 解释:三. 调示示例。 1. 求华氏温度100。F对应的摄氏温度。计算公式:C=(5/9)(F-32),其中C表示摄氏温度,F表示华氏温度。 源程序(有错误) #include void main() int celsius;fahr; fahr=100; cels celsius=5*(fahr-32)/9; printf(fahr=d,celsius=%dn,fahr,celsius); 实验三 选择结构程序设计 【实训目的】。

6、 1了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”); 2学会正确使用逻辑运算符和逻辑表达式; 3熟练掌握if语句和switch语句; 4熟练掌握switch语句中break语句的作用。 【实训内容】 1调试示例,输入参数a,b,c,求一元二次方程ax2+bx+c=0的根。 源程序(有错误的程序) #include void main() double a,b,c,d; printf(“输入一元二次方程 a=,b=,c=n”); scanf(“a=%lf,b=%lf,c=%lf”,&a,&b,&c); d=b*b-4*a*c; if(a=0) if(b=0) if(c=0) prin。

7、tf( “0=0参数对方程无意义!”); else printf( “c!=0方程不成立”); else printf(“x=%0.2fn”,-c/b); elseif(d=0) printf(“x1=%0.2fn”,(-b+sqrt(d)/(2*a); printf(“x1=%0.2fn”,(-b-sqrt(d)/(2*a); else printf(“x1=%0.2f+%0.2fin”,-b/(2*a),sqrt(-d)/(2*a); printf(“x1=%0.2f-%0.2fin”,-b/(2*a),sqrt(-d)/(2*a); 2编程,输入x,计算并输出下列分段函数f(x)的值(保。

8、留2位小数)。 输入输出示例: Input x: -2.5 f(-2.)=-2.5提示:该程序应该运行3次,每次测试一个分支,即分别输入每个分段中的x值。 思考:假设x为整数,如何用switch计算上述分段函数。3编程,把百分制成绩转换成5级记分制,要求用switch语句。 90分以上(包括90): A 80至90分(包括80):B 70至80分(包括70):C 60至70分(包括60):D 60分以下:E 输入输出示例: Input Score: 86 86的等级为B 提示: 1)该程序应该运行6次,每次测试一种情况,即分别输入不同等级的成绩 2)在switch中使用break语句 思考:如。

9、何用if语句实现转换?实验四 循环结构程序设计 【实训目的】 1熟练掌握循环程序设计,包括嵌套循环 2熟练掌握使用break、continue语句在循环程序设计中的实现 3继续掌握WIN_TC的程序调试方法【实训内容】 1调试示例,输入正整数的个数n,再输入n个正整数,判断它们是否为素数。(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。 源程序(有错误) #include #include void main() int i,j,k,m,n; printf(“输入正整数的个数n:”); scanf(“%d”,&n); printf(“输入%d个正整数n”); for(j=0;jn。

10、) printf(“%d是一个素数!n”,m); elseprintf(“%d不是一个素数!n”,m); 运行结果(改正后程序的运行结果) 输入正整数的个数:2 输入2个正整数 11 11是一个素数 15 15不是一个素数2编程,输出101115之间不能被3整除的数,每行输出5个。要求使用continue语句。3编程,输入一个正整数,再输入n个整数,输出其中的最大值,输入的每个数都在100200之间,如果某个输入数不在100200之间,则只处理在该数这前输入的数据。 输入示例(共运行2次) 第一次运行: 输入n:5 输入5个整数:100 155 187 192 168 最大值是192 第二次运。

11、行: 输入n:6 输入6个整数:100 155 187 292 168 199 最大值是187 思考:如果输入n个浮点数(或字符),怎样找出其中的最大和最小的数(或字符)4编程,猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上想再吃的时候,见只剩下一个桃子了。求第1天共摘了多少桃子? 输入输出示例: 第1天共摘了1534个桃子! 思考:把题目中的第10天改为第n天,多吃了一个桃子,改为多吃了2个桃子,如何编程。 实训五 数 组 【实训目的】1掌握一维数组、二维数组。

12、的定义、数组元素的引用形式和赋值的方法 2掌握一维数组、二维数组的输入和输出的 3掌握和一维数组、二维数组有关的典型算法【实训内容】1分析和记录以下程序运行结果,并上机验证: # include stdio.hmain() int v5; int i; v0=197; v2=-100; v4=350; v5=v0+v2; -v4; for (i=0;i1; i-=2) ai=ai-2; a1=t; for ( i=0; inum,p-name,p-sex,p-age); (2)建立一个静态链表,它由三个学生数据结点组成,输出各结点的数据 #include “stdio.h” #define N。

13、ULL 0 struct student long num; float score; struct student *next; main() struct student a,b,c,*head,*p; a.num=99101;a.score=89.5; b.num=99103;b.score=90; c.num=99107;c.score=85; head=&a; a.next=&b; b.next=&c; c.next=NULL; p=head; while(p!=NULL) printf(“%ld%5.1fn”,p-num,p-score); p=p-next; 2. 编程题(1)定义一个结构体类型,包括职工的如下信息:职工号、姓名、年龄、工资和职称,输入3个人的信息,然后输出。 (2)、编程实现静态链表的建立和输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值