C语言上机实验
- 格式:doc
- 大小:83.50 KB
- 文档页数:9
实验一(第1章实验)
实验目的:
1. 掌握运行C语言程序的全过程。
2. 熟悉编译环境。
3. 初步熟悉C语言程序的语法规定。
4. 了解简单函数的使用方法。
实验内容:
1. 编程且上机运行:求3个整数的和。
2. 编程且上机运行:求2个数的和、差、积和商。
3. 编程且上机运行:输入3个数,求最大值。
4. 编程且上机运行:输入圆的半径,求圆的面积和周长。
5. 在屏幕上输出:“hello world!”
实验结果:
实验二(第3章实验)
1.
实验目的:理解C语言的类型系统。
实验内容:写程序测试数据 -2在类型char,int,unsigned int,long int,unsigned long int中存储情况。
实验过程:
实验结果:参见各种类型的存储实现描述。
2.
实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。注意unsigned int和 int数据运算时类型转换的方向。
实验过程:
/*
* 类型转换问题
* 试问下面两个表达式等价吗?
*/
#include
#include
int main() {
unsigned int ui,uj;
ui = 1;
uj = 2;
if (ui < uj)
printf("\n%u < %u is true !\n", ui, uj);
else
printf("\n%u < %u is false !\n", ui, uj);
if (ui - uj < 0)
printf("\n%u - %u <0 is true !\n", ui, uj);
else
printf("\n%u - %u <0 is false !\n", ui, uj);
system("pause");
return 0;
}
实验结果:参见类型转换规则。
3.
实验目的:理解数据溢出现象。
实验内容:写程序测试数据溢出,注意分别在16环境和32环境中测试。
实验过程:
实验结果:参见【例3.3】。
实验三(第3章实验)
1.
实验目的:char的符号问题。
实验内容:写程序测试你所用的C语言编译器char符号问题的处理方案。
实验过程:
/*
* 这个程序验证编译器对 char 的解决方案,是有符号,还是无符号
*/
#include
#include
int main()
{
char c = -1;
int k;
k = c; /* k = ? */
if (k == 255)
printf("The char is unsigned char.\n");
else
printf("The char is signed char.\n");
printf("k = %d, %x", k, k);
system("pause");
return 0;
}
实验结果:TC2.0和DevC++中char是有符号的
2.
实验目的:自增和自减运算符。
实验内容:写程序测试++、-- 运算符。
实验过程:
main()
{
int i=3;
printf("i=%d\n",i++);
printf("i=%d\n",i);
printf("i=%d\n",++i);
printf("i=%d\n",i);
}
实验结果:
i=3
i=4
i=5
i=5
实验四(第4章实验)
实验目的:理解输入输出函数。
1.掌握输入输出函数的使用方法。
2.掌握格式字符的使用方法。
3.掌握不同数制间使用格式字符转换数据的方法。
实验内容:用getchar、putchar、printf、scanf函数实现各种数据的输入和输出。
实验过程:
实验结果:
实验五(第5章实验)
实验目的:
1. 学会使用逻辑运算符和逻辑表达式;
2. 熟练掌握if语句和switch语句。
实验内容:
1. 从键盘输入三个整数a,b,c,输出其中最大的数。
2. 求方程ax2+bx+c=0的根,其中a,b,c由键盘输入。有以下几种情况:
① a=0,不是二次方程;
② b2-4ac=0,有两个相等的实根;
③ b2-4ac>0,有两个不等的实根;
④ b2-4ac<0,有两个共轭复根。
3. 有一函数 X (X<1)
Y = 2X-1 (1≤X<10)
3X-11 (X>≥10)
写一程序,输入整数X,输出Y的值。
4. 给一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’,
80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。
5. 企业发放的奖金根据利润提成。利润(B)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分可提成7.5%;200000<B≤400000时,高于20万元的部分按5%提成;400000<B≤600000时,高于40万元的部分按3%提成;600000<B≤1000000时,高于60万元的部分按1.5%提成;B>1000000时,高于100万元的部分按1%提成。从键盘输入当月利润B,求应发放奖金总额。
6. 从键盘任意输入一个不多于五位的正整数,
① 求它是几位数;
② 分别输出每一个数字;
③ 按逆序输出各位数字,例如原数为135,应输出531。
实验过程:
实验结果:
实验六(第6章实验)
实验目的:
1. 掌握循环的概念,学习用循环的思想来思考实际问题。
2. 掌握单循环的使用方法。
实验内容:
1.计算1001nns,输出其结果。
2.使用循环结构输出下列图形。
3.计算下列公式的和,要求最后一项小于10-5。
171101311。提示:通项公式为:11)1(21nn。
4.输入30个字符,分别统计其中数字、字母及字符的个数。
5.求出Fibonacci(斐波那契)数列的前20项。
Fibonacci(斐波那契)数列的规律是:前2项为0和1,其余各项为该项前2项之和,即0,1,1,2,3,5,8,13……。
实验过程:
实验结果:
实验七(第6章实验)
实验目的:
1.进一步学习循环的使用方法,用循环解决复杂问题。
2.掌握多重循环的使用方法及其他。
实验内容:
1.分别使用双循环和单循环结构计算101!nns,并输出其结果。
2.编制程序,输出如下所示的九九乘法表。
3.输出下列所示菱形字符图形。
4.古代数学家在编写《算经》时,提出了一个不定方程问题,即著名的“百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?
5.求s=1+(1+2)+(1+2+3)+……,并输出其结果。
实验过程:
实验结果:
实验八(第7章实验)
实验目的:
1.掌握数组的定义方法。
2.掌握一维数组的使用方法。
实验内容:
1.用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行5
个数。
2.求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。
3.使用数组,求出下列数列的前20项。
1,1,2,4,7,13,……
4.将一个一维数组反序放置。
例如: a=(67,89,76,98,66), 反序放置后,a=(66,98,76,89,67)
5. 有10个学生一门课程成绩,使用选择排序法将成绩从高向低排序。
实验过程:
实验结果:
实验九(第7章实验)
实验目的:
1. 掌握二维数组的使用方法。
2. 数组的综合应用。
实验内容:
1.将一个一维数组a[9[中各元素值按行的顺序放入二维数组b[3×3]。
2.有一个m×n矩阵,各元素值由随机数产生,将矩阵增加一列,求矩阵每一行的元素值的和,并将每一行的元素值的和放入增加列。
3.有一个m×n矩阵,找出最大元素值及其最大元素值所在的行、列位置。
4.有n个考生,每个考生有考号和一个总分成绩,如果录取m人,确定录取分数线,并输出录取考生的考号和成绩。
5.将矩阵m(n,n)对角线上的元素置为1,其余元素置为0。
实验过程:
实验结果:
实验十(第8章实验)
实验目的:
1.掌握函数的定义和使用方法。
2.了解参数传递方式。
3.掌握简单的递归算法。
实验内容:
n!
1. 用函数过程计算 ——————
M!(N-M)!
2.裴波那契数列的前两项是1、1,以后的每一项都是其相邻前两项之和。编写函数过程求: ⑴ 数列前n项和FS;⑵ 前n项的平均值V。并就n=20计算并输出FS与V。
3.编写一个用梯形法求一元函数f(x)在〔a,b〕上积分近似值的函数过程。并就
f(x)=sin(2x)+x,当[a,b]=[0,3.14159]、小区间数n=10和n=20时,分别计算并输出积分的近似值s1和s2,保留3位小数。