目 录
实验一 程序的建立、调式、执行的方法与步骤 2
实验二 数据类型、表达式验证 4
实验三 顺序结构编程调试 5
实验四 选择结构编程调试 6
实验五 循环结构编程调试 8
实验六 数组结构编程调试 10
实验七 函数编程调试 11
实验八 指针变量编程调试 13
实验九 查询日历的综合性C程序的设计 15
实验一 程序的建立、调式、执行的方法与步骤
一、实验目标
1.初步了解C程序的编译、连接和运行的过程。
2.掌握和理解C程序的结构。
二、实验要求
熟悉Turboc的使用界面及基本命令,熟悉简单C程序。
编程scanf是什么意思三、实验任务
1. 使用TC
2. 运行一个简单的C程序
四、实验步骤
1. 启动计算机系统已经安装了visual C++编译系统,
2. 输入程序
输入以下程序
main()
{
printf(“How are you!”);
}
3. 运行程序
按Ctrl+F9运行程序,如果没有报错,可以按Alt+F5查看运行结果,再按空格键回到编辑窗口。
4. 保存文件
按F2键,弹出一个对话框,在对话框中输入文件名,如:exam1.c。
5. 退出TC程序
按Alt+X键,弹出对话框,提示是否真的要退出TC,如果输入Y就会退出TC。
6. 打开已经存在的文件
①首选启动visual C++。
②按F3,弹出对话框。
③在该对话框中,输入文件名即可。
实验二 数据类型、表达式验证
一、实验目标
1.了解 C 语言中常量的种类和作用;
2.掌握基本输出语句的简单用法。
3.掌握基本运算符的运算规则。
二、实验要求
熟悉基本输出语句的语法规则,熟悉常量和变量的使用方法。
三、实验任务
通过使用printf()语句掌握常量和变量的使用方法及各种运算符的运算规则。
四、实验步骤
1.用printf函数来输入表达运行结果。
x<y
y>x
x!=y
x==z-2
x=x-2
x>=z
x<=z
以上表达式的值
2. 当x=0,y=-1,z=1时
x&&y
x||y
y&&z
y||z
x&y
x|y
以上表达式的值。
实验三 顺序结构编程调试
一、实验目标
1.进一步掌握C程序的编辑、编译、连接和运行的过程。
2.熟悉顺序结构的程序设计方法。
3.熟练使用C的各种表达式。
4.熟练掌握输入、输出函数的使用。
2.熟悉顺序结构的程序设计方法。
3.熟练使用C的各种表达式。
4.熟练掌握输入、输出函数的使用。
二、实验要求
熟悉简单C程序的编程步骤与方法。
三、实验任务
1. 输入x,y,编写程序求z=x+|y|的值。
2. 编写输入三角形的三边长a、b、c,求三角形面积area的程序。
四、实验步骤
1. 输入x,y,编写程序求z=x+|y|的值。
实验步骤与要求:
(1)程序中用scanf函数输入x和y的值,请分析以下两个语句
实验步骤与要求:
(1)程序中用scanf函数输入x和y的值,请分析以下两个语句
scanf(“%f%f”,x,y);
scanf(“%f%f”,&x,&y);
哪一个是正确的,分别运行之,分析程序运行结果。
如果scanf函数改为scanf(“%f,%f”,&x,&y);应该怎样输入数据。
如果scanf函数改为scanf(“%f,%f”,&x,&y);应该怎样输入数据。
2. 编写输入三角形的三边长a、b、c,求三角形面积area的程序。
实验步骤与要求:
实验步骤与要求:
(1)输入前要加提示语句。
(2)输出结果前要有必要的文字说明。
(3)输入一组数据3,4,5,观察运算结果。
(4)输入另外一组数据3,4,8,观察运算结果,分析这个运算结果是否
(2)输出结果前要有必要的文字说明。
(3)输入一组数据3,4,5,观察运算结果。
(4)输入另外一组数据3,4,8,观察运算结果,分析这个运算结果是否
有效。
实验四 选择结构编程调试
一、实验目标
1. 进一步掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if语句进行程序设计。
4. 使用switch语句实现多分枝选择结构。
2. 熟悉选择结构程序设计。
3. 熟练使用if语句进行程序设计。
4. 使用switch语句实现多分枝选择结构。
二、实验要求
熟悉选择结构程序设计语句和方法。
三、实验任务
1.用scanf函数输入一个年份year,计算这一年2月份的天数days,然后用输出函数printf输出days。
2.编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。
3.编写程序,输入奖金数a,计算并输出税率、应缴税款和实得奖金数。
四、实验步骤
1.用scanf函数输入一个年份year,计算这一年2月份的天数days,然后用输出函数printf输出days。
实验步骤与要求:
(1)有变量定义为整型。
实验步骤与要求:
(1)有变量定义为整型。
(2)输入前要加提示语句。
(3)输出结果前要有必要的文字说明。
说明:
(1)闰年的条件是:year能被4整除但不能被100整除,或者year能被400
(3)输出结果前要有必要的文字说明。
说明:
(1)闰年的条件是:year能被4整除但不能被100整除,或者year能被400
整除。
(2)如果year是闰年,则2月份的天数为29天,不是闰年则为28天。
(2)如果year是闰年,则2月份的天数为29天,不是闰年则为28天。
2.编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若
不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。
实验步骤与要求:
(1) 输入一组数据3,4,8,观察程序运行结果,并与实验二中程序2做比较
(2) 另外再输入几组数据进行测试:
3,4,5
3,3,3
3,3,5
实验步骤与要求:
(1) 输入一组数据3,4,8,观察程序运行结果,并与实验二中程序2做比较
(2) 另外再输入几组数据进行测试:
3,4,5
3,3,3
3,3,5
(3)如果程序有误,可采用“跟踪打印”的调试方法,确定错误的出处。
3.编写程序,输入奖金数a,计算并输出税率、应缴税款和实得奖金数。
奖金 税率
a<500 0.00
500≤a<1000 0.05
1000≤a<2000 0.08
2000≤a<5000 0.10
5000≤a 0.15
实验步骤与要求:
(1) 用if语句编程,自变量和函数值均为双精度类型
(2) 用scanf函数输入奖金数a,输出结果采用以下形式:
a=具体值 rate=税率值 tax=应缴税款 profit=实得奖金数
(3) 分别输入a=280,512,1000,4250,5100,运行该程序
(4) 用if~else if语句和switch语句编程,其它同上。
3.编写程序,输入奖金数a,计算并输出税率、应缴税款和实得奖金数。
奖金 税率
a<500 0.00
500≤a<1000 0.05
1000≤a<2000 0.08
2000≤a<5000 0.10
5000≤a 0.15
实验步骤与要求:
(1) 用if语句编程,自变量和函数值均为双精度类型
(2) 用scanf函数输入奖金数a,输出结果采用以下形式:
a=具体值 rate=税率值 tax=应缴税款 profit=实得奖金数
(3) 分别输入a=280,512,1000,4250,5100,运行该程序
(4) 用if~else if语句和switch语句编程,其它同上。
实验五 循环结构编程调试
一、实验目标
1. 熟练掌握三种循环语句的应用。
2. 熟练掌握循环结构的嵌套。
3. 掌握break和continue语句的使用。
4. 练习调试与修改程序。
2. 熟练掌握循环结构的嵌套。
3. 掌握break和continue语句的使用。
4. 练习调试与修改程序。
二、实验要求
熟悉循环语句的使用方法及循环结构的编程。
三、实验任务
1. 分别用while语句、do-while语句编写程序,计算e≈1+1/1!+1/2!+...+1/n!
2. 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如6的因子是1,2,3,且6=1+2+3,因此6是完数。编写程序出1000之内的所有完数及这些
完数的和。
3. 输入并运行一个程序,观察程序的运行结果。
四、实验步骤
1. 分别用while语句、do-while语句编写程序,计算e≈1+1/1!+1/2!+...+1/n!
实验步骤与要求:
(1) 用单重循环编写程序
(2) 使误差小于给定的ε,设ε=10-5
(3) 除了输出e以外,同时还要输出总的项数n
实验步骤与要求:
(1) 用单重循环编写程序
(2) 使误差小于给定的ε,设ε=10-5
(3) 除了输出e以外,同时还要输出总的项数n
2. 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如6的因子是1,2,3,且6=1+2+3,因此6是完数。编写程序出1000之内的所有完数及这些完数的和。
实验步骤与要求:
(1) 要求使用for循环
实验步骤与要求:
(1) 要求使用for循环
(2) 输出形式为:完数1+完数2...=和值
算法说明:
(1) sum=0,m=2
(2) 当m<=1000时,反复执行(2.1)(2.2)(2.3)(2.4),否则转(3)
(2.1)k=m/2,n=0,j=1
(2.2)当j<=k时,反复执行(2.2.1)(2.2.2) ,否则转(2.3)
(2.2.1) if j是m的因子则执行n=n+j
(2.2.2) j++
(2.3) if m=n 则输出完数m, sum=sum+m
(2.4)m++
(3)输出m值
3. 输入并运行下面的程序,观察程序的运行结果。
#include"stdio.h"
main( )
{int n;
算法说明:
(1) sum=0,m=2
(2) 当m<=1000时,反复执行(2.1)(2.2)(2.3)(2.4),否则转(3)
(2.1)k=m/2,n=0,j=1
(2.2)当j<=k时,反复执行(2.2.1)(2.2.2) ,否则转(2.3)
(2.2.1) if j是m的因子则执行n=n+j
(2.2.2) j++
(2.3) if m=n 则输出完数m, sum=sum+m
(2.4)m++
(3)输出m值
3. 输入并运行下面的程序,观察程序的运行结果。
#include"stdio.h"
main( )
{int n;
while (1)
{printf("Enter a number:");
scanf("%d",&n);
if (n%2==1)
{printf("I said");
continue;}
break;
}
printf("Thanks. I needed that!");
}
{printf("Enter a number:");
scanf("%d",&n);
if (n%2==1)
{printf("I said");
continue;}
break;
}
printf("Thanks. I needed that!");
}
实验六 数组结构编程调试
一、实验目标
掌握有关数组和字符串的程序设计方法。
二、实验要求
熟悉一维数组、二维数组和字符串数组的使用方法。
三、实验任务
1.编写程序,把一个数组按从小到大的次序排列起来。
2 求矩阵的转置矩阵。
四、实验步骤
1. 已知一组数据如下:
6,3,42,23,35,71,98,67,56,38
编写程序,把它们按从小到大的次序排列起来。
2. 求矩阵:
1 2 3
A =
4 5 6
的转置矩阵,A矩阵的转置矩阵B是这样的矩阵,其元素bij=aji。
实验七 函数编程调试
一、实验目标
1.理解和掌握多模块的程序设计与调试的方法。
2.掌握函数的定义和调用的方法。
3.学会使用递归方法进行程序设计。
2.掌握函数的定义和调用的方法。
3.学会使用递归方法进行程序设计。
二、实验要求
熟悉函数的使用方法。
三、实验任务
1. 编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。
2. 用递归方法编写程序,求n阶勒让德多项式的值。
四、实验步骤
1. 编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。
实验步骤与要求:
(1) 编写一个函数prime(n),返回给定整数n是否为素数。
(2) 编写一个主函数,输入一个整数,调用(1)中的函数,判断此整数是否为素数,并输出结果。
(3) 对于属于多函数程序,可以采用每个函数分别进行编辑、编译的方法,然后再连接、运行。如果编译有错时,可分别修改,这样便于调试。实验2和实验3也可以使用这样的调试
实验步骤与要求:
(1) 编写一个函数prime(n),返回给定整数n是否为素数。
(2) 编写一个主函数,输入一个整数,调用(1)中的函数,判断此整数是否为素数,并输出结果。
(3) 对于属于多函数程序,可以采用每个函数分别进行编辑、编译的方法,然后再连接、运行。如果编译有错时,可分别修改,这样便于调试。实验2和实验3也可以使用这样的调试
方法。
2. 用递归方法编写程序,求n阶勒让德多项式的值,递归公式为
1 (n=0)
pn(x)=x (n=1)
((2n-1)xpn-1(x)-(n-1)pn-2(x))/n (n>1)
实验步骤与要求:
(1) 根据递归公式编制计算n阶勒让德多项式的递归函数p(n,x)。
(2) 编制一个主函数,由键盘输入n,x,调用(1)中的函数计算n阶勒让德多项式的值。
(3) 输入(n,x)=(4,2)运行该程序。然后自定义几组数据再运行该程序。
2. 用递归方法编写程序,求n阶勒让德多项式的值,递归公式为
1 (n=0)
pn(x)=x (n=1)
((2n-1)xpn-1(x)-(n-1)pn-2(x))/n (n>1)
实验步骤与要求:
(1) 根据递归公式编制计算n阶勒让德多项式的递归函数p(n,x)。
(2) 编制一个主函数,由键盘输入n,x,调用(1)中的函数计算n阶勒让德多项式的值。
(3) 输入(n,x)=(4,2)运行该程序。然后自定义几组数据再运行该程序。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论