当前位置:文档之家› 大学一年级下学期C语言程序设计实验报告答案 完整版

大学一年级下学期C语言程序设计实验报告答案 完整版

《C语言程序设计》实验教学大纲学时课程总:64学分:4实验学时:24 实验个数:9 实验学分: 1.5课程性质:必做适用专业:计算机科学技术、网络工程、软件工程、电子商务、教育技术教材及参考书:《C语言程序设计与实践实验指导》,谢满得邵俊编著,机械工业出版社,2014年1月大纲执笔人:廖雪花大纲审定人:一、实验课的性质与任务C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实践性教育环节。

本课程的主要任务是让学生充分掌握C语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。

C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。

通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。

二、实验课程目的与要求1.实验目的通过实验课程的学习实践,加深学生对所学的基本概念、基础理论和知识的理解,熟悉使用Visual C++ 6.0集成环境进行C语言的编写、编译与调试。

同时,通过项目开发全过程的全方位指导,从需求分析、算法设计到程序编写和过程调试,以项目实训的形式引导和帮助学生解决实际问题,提高学生解决具体问题的能力,以及培养学生用多函数、多文件组织程序的思维习惯,为今后的后继课程学习和实际工作打下良好基础。

2.实验要求(1)掌握C语言程序的基本格式,了解C程序的开发过程和C语言中的一些常用概念。

(2)掌握常量和五种基本数据类型变量的使用。

(3)掌握C表达式和运算符的正确使用,熟练掌握数据输入、输出函数。

(4)掌握条件转移语句if-else和选择分支语句switch;掌握三种程序跳转的方法,即break语句、continue语句、return 语句。

(5)掌握循环语句(for语句;do-while语句;while语句)的正确使用,认真体会应该如何组织循环。

(6)掌握数组的定义、赋值,一维数组与二维数组的使用。

(7)掌握函数的定义、函数的调用以及函数的类型说明。

(8)掌握局部变量、全局变量的定义和使用。

(9)掌握指针的基本概念以及数组与指针、指向指针的指针的基本用法。

(10)掌握结构体变量的定义,引用结构体中成员的方法,应用结构数组解决实际问题;共用体的概念,引用共用体中成员的方法。

(11)掌握链表的类型定义及其基本操作。

(12)掌握文件的打开、读写及关闭,并能运用文件提高编程的效率。

(13)理解项目式程序开发的过程。

三、实验项目及内容提要四、实验内容安排:实验一数据类型和表达式实验(验证性实验2学时)1、目的要求:(1)了解C语言中数据类型的意义。

(2)理解常用运算符的意义。

(3)掌握C语言表达式的运行规则。

(4)编写实验报告。

2、实验内容(参考实验指导书):(1)计算由键盘输入的任何两个双精度数据的平均值。

#include<stdio.h>main(){double a,b;printf("please input two real numbers:\n");scanf("%lf%lf",&a,&b);printf("the two`s average is: %.4lf\n",(a+b)/2); }(2)写一个输入7个数据的程序,把输入的数据代入a + b * (c – d ) / e * f – g 表达式进行运算。

#include<stdio.h>main(){float a,b,c,d,e,f,g,x;scanf("%f%f%f%f%f%f%f",&a,&b,&c,&d,&e,&f,&g);x=a + b * (c - d ) / e * f - g;printf("x=%.4f\n",x);}(3)编写一个C语言程序,测试下列各表达式:i, ji + 1 , j + 1i++ , j++++i , ++ji+++++j#include <stdio.h>main(){int i=1,j=1;printf("%d %d\n",i+1,j+1);printf("%d %d\n",i++,j++);printf("%d %d\n",++i,++j);printf("%d\n",(i++)+(++j));}(4)输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。

interest = money(1+rate)year– money#include<stdio.h>#include<math.h>main(){int year=2;float rate=0.1,money=1000;float interest;interest=money*pow((1+rate),year);printf("%10.2f",interest);}(5)输入华氏温度,输出对应的摄氏温度。

计算公式如下:c = 5 * ( f - 32) / 9其中,c表示摄氏温度,f表示华氏温度。

#include <stdio.h>main(){int c,f;scanf("%d",&f);c = 5 * ( f - 32) / 9;printf("%d",c);}实验二分支结构程序设计实验(验证性实验2学时)1、目的要求:(1)了解和掌握分支语句的使用,包括if语句的各种形式以及switch语句。

(2)编写实验报告。

2、实验内容(参考实验指导书):(1)编写一个程序完成输入一个整数,输出它的符号。

#include<stdio.h>main(){int i;scanf("%d",&i);if(i>0)printf("+");elseprintf("-");}(2)请编写居民应交水费,并提供各种测试数据。

居民应交水费y(元)与月用水量x(吨)的函数关系式如下:0 x < 0y = f(x) = 4x / 3 0 ≤ x ≤ 152.5x – 10.5 x > 15#include <stdio.h>main(){float x,y;scanf("%f",&x);if(x<0)printf("0");else if(x>=0&&x<=15){y=4*x/3;printf("%f",y);}else if(x>15){y=2.5*x-10.5;printf("%f",y);}}(3)请根据输入的学生成绩给出成绩等级的判断,判断规则如下:如果输入的成绩大于等于90,则输出优秀;如果输入的成绩小于90、大于等于80,则输出良好;如果输入的成绩小于80、大于等于70,则输出中等;如果输入的成绩小于70、大于等于60,则输出及格;其他输出不及格。

#include <stdio.h>main(){int x;scanf("%d",&x);if (x>=90)printf("优秀\n");else if (x>=80&&x<90)printf("良好\n");else if(x>=70&&x<80)printf("中等\n");if(x>=60&x<70)printf("及格\n");if(x>=0&x<60)printf("不及格\n");}(4)运输公司对用户计算运费。

路程(s)越远,每公里运费越低。

标准如下:s = 250km 没有折扣250km ≤s < 500km 2%折扣500km ≤s < 1000km 5%折扣1000km ≤s < 2000km 8%折扣2000km ≤s < 3000km 10%折扣3000km ≤s 15%折扣设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计算公式为:f = p * w * s * ( 1 – d )请编程实现:从键盘输入基本运费p,货物重w,距离s,计算输出用户最终需要支付的运费。

#include<stdio.h>main(){int c,s;float p,w,d,f;scanf("%f,%f,%d",&p,&w,&s);if(s>=3000)c=12;elsec=s/250;switch(c){case 0:d=0;break;case 1:d=2;break;case 2:case 3:d=5;break;case 4:case 5:case 6:case 7:d=8;break;case 8:case 9:case 10:case 11:d=10;break;case 12:d=15;break;}f=p*w*s*(1-d/100.0);printf("freight=%15.4f\n",f);}实验三循环结构程序设计实验(验证性综合性实验2学时)1、目的要求:(1)使用循环语句完成累乘、图像输出的程序编写。

(2)掌握较复杂结构程序的编写。

(3)掌握程序调试的方法。

(4)编写实验报告。

2、实验内容(参考实验指导书):(1)已知xyz + yzz = 532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字。

#include<stdio.h>main(){int x,y,z;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=1;z<=9;z++)if(100*x+10*y+z+100*y+10*z+z==532)printf("%d %d %d",x,y,z);getchar();}(2)编写一个程序打印如下对称图形(行数由键盘输入1~9范围的值),例如下面是输入的数字4时的情形:4444444333332221222333334444444#include<stdio.h>main(){int i,j,k,n;printf("请输入一个数字\n");scanf("%d",&n);i=n;for(i=0;i<2*n-1;i++){k=i;if(i>=n)k=2*n-2-i;for(j=0;j<k;j++)printf(" ");for(j=0;j<2*(n-k)-1;j++)printf("%d",n-k);printf("\n");}getchar();}(3)学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,编写一个程序求该校的学生人数。

相关主题