C语言程序设计实验电子稿 下载本文

2.5 实验二 编写几个简单的C程序

一、实验目的与要求

1. 2. 3. 4. 5. 6.

掌握C语言基本数据类型的概念,理解数据类型与运算的关系。 掌握简单变量的定义,算术表达式和赋值表达式的使用。 掌握基本输出语句的使用。

进一步熟悉C程序的编辑、编译、连接和运行的过程。 掌握简单C程序查错方法,编写几个简单程序。 实验4学时

二、实验内容

1.程序验证或填空

(1) 编译和运行下面程序,查看执行的结果:

#include int main(void) {

int si=-1; float f=5; double df=3;

printf(\ return 0; }

若把输出语句中的格式控制中的格式说明符的顺序改变一下,会有什么结果? 再把%lf修改为%f,运行会有什么结果? (2)分析程序,并上机运行验证运行结果 #include “stdio.h” void main( )

{ printf(“\\t*\\n”);

printf(“\\t\\b* * *\\n”);

printf(“\\t\\b\\b * * * * *\\n”); }

(3) 运行程序,并分析结果。

#include “stdio.h” void main( )

{ int a=10,x=5,y=6; a+=a*=6; x=y++; y=++x ; a=x+++y ;

printf(“%d,%d,%d\\n”,a,x,y);

(4)不用第3个变量,实现将二个数进行对调,请填空。

#include “stdio.h” void main( ) { int a,b ;

scanf(“%d%d”,&a,&b);

printf(“a=%d b=%d\\n”,a,b); a= ; b= ;

a= ;

printf(“a=%d b=%d\\n”,a,b); }

2.程序改错

改正下面程序中的多处错误。计算某个数x的平方y,并分别以“y = x*x”和“x*x = y”的形式输出x和y的值。x的值由键盘输入。

输出示例(假设x的值为3): 9 = 3*3 3*3 = 9

源程序(有错误的程序)

#include int main(void) {

int y; y = x*x;

printf(\ /* 输出 printf(\} 3.一般编程题

编程题1

编写程序,输入二个整数,计算它们的和、差、积、商和余数,并按5+11=16这样的输出格式输出结果。 编程题2

编写程序,输入二个实数,计算它们的和、差、积、商,并按32.24=12.2+20.04这样的输出格式输出结果。实数分别定义为单精度实数或双精度实数。 编程题3

编写程序,从键盘输入一个大写字母,改用小写字母输出。 编程题4

求华氏温度150 ℉对应的摄氏温度。计算公式如下,其中:c表示摄氏温度,f表示华氏温度。

c?55?f??32 99要求输出结果为: fahr = 150,celsius = 66

思考:如果使用公式c?5?(f?32)计算华氏温度150 ℉所对应的摄氏温度,计算结果是

9否一样?为什么? 编程题5 编写程序,从键盘输入学生的三门课成绩,求其平均成绩(保留小数点后1位)。 4.较难编程题

编程题1

当n为三位十进制整数时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。

输出示例: 这里增加了一个题目 n为整数152时,它的个位数字是2,十位数字是5,百位数字是1

提示:n的个位数字digit1的值是n,十位数字digit2的值是(n/10),百位数字digit3的值是n/100。 编程题2

将从键盘输入的实型十进制数分离为整数部分和小数部分后输出。如输入233.55,输出为:233.55=233+0.55。 编程题3

计算定期存款的本金与利息之和。设银行定期存款的年利率rate为2.25%,存款期为n年,存款本金为money元,具体的数字由键盘输入,编程计算n年后的本金与利息之和(提示,利用pow函数)。

3.5 实验三 选择结构程序设计

一、实验目的与要求

1. 理解C语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。 2. 掌握利用if结构实现选择结构的方法。 3. 掌握利用switch结构实现多分支选择结构。 4. 结合程序掌握一些简单的算法,学习调试程序 5. 实验4学时

二、实验内容

1.程序改错题

改正下面程序中的错误。输入实数x,计算并输出下列分段函数f(x)的值(保留1位小数)。

1x(x?100)

y?f(x)?

x(x?100)

输入输出示例1(改正后程序的运行结果)

Enter x:100 f(100.00)= 0.1

输入输出示例2(改正后程序的运行结果)

Enter x:23 f(23.00)= 23.0

源程序(有错误的程序)

#include #include void main(void) {

double x;

printf(\ x: \\n\ scanf(\ if(x = 100) { y = 1/sqrt(x) }

else (x != 100) { y = x; }

printf(\}

2.一般编程题

编程题1

输入任意三个整数a,b,c,求3个数中的最大值和最小值。 编程题2

输入x,计算并输出下面分段函数f(x)的值(保留2位小数)。请调用sqrt函数求平方根,调用pow函数求幂。

2 (x?1)?2x?1x(x?0)

f(x)?

x(x?0)

输入输出示例(共运行3次)

Enter x:10 f(10.00) = 3.16 Enter x:-0.5 f(-0.50) = -2.75 Enter x:0