C语言程序设计实验指导书

发布时间 : 星期五 文章C语言程序设计实验指导书更新完毕开始阅读

实验二:数据类型、运算符和表达式(2学时)

一、实验目的和要求:

(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。

(2)掌握不同的类型数据之间赋值的规律。

(3)学会使用C的算术运算符,以及包含这些运算符的表达式,特别是自增(++)和自减(— —)运算符的使用。

(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容:

(1)进一步熟悉 Turbo C集成环境。

(2)输入并运行几个C程序,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。

(3)输入并运行几个C程序,掌握不同的类型数据之间赋值的规律。 (4)输入并运行一个C程序,熟悉自加和自减运算符的使用方法。

三、实验步骤、过程:

1、启动Turbo C集成开发环境。(方法与实验1相同)

2、完成或选做以下5个程序题。(编辑、编译连接、运行程序,步骤与实验1相同) 注意:经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。 3、退出Turbo C集成开发环境,关机。

四、源程序清单、测试数据、结果。(注释供阅读、理解程序,上机时不必输入)

1、 写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。(要求文件名:2_1.c) #include main()

{ int x=010,y=10,z=0x10; /* 整型数据表示 */ char c1='M',c2='\\x4d',c3='\\115',c4=77,c; /* 字符型数据表示 */ /* 整型数据的输出 */ printf(\

/* 数据以原进制输出,注意是否有前导0或0x */

printf(\

/* 数据以10进制输出,换算到10进制,结果对吗? */ /* 字符型数据的输出 */ printf(\

/* 数据以原进制输出,注意是否有前导0或0x ?*/

printf(\

/* 结果都是什么字符?,也就是说字符可以自由的表示成几种形式? */

printf(\

/* 看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符 */

/* 字符型数据参与算术运算 */

c=c1+32; /* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数

/* 参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */

printf(\

/* 看看这个字符是什么?哇,'M'+32='m'了,看看ASCII码表,原来如此! */ }

参考结果: x=10,y=10,z=10 x=8,y=10,z=16

c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109

2、 整型数据的溢出错误。(要求文件名:2_2.c)

整型(int型)数据的表达范围是-32768~32767,如果最大允许值32767+1,最小允许值-32768-1,会出现什么情况?

#include main() {

int a,b; a=32767; b=a+1;

printf(\ a=-32768; b=a-1;

printf(\ getch(); //获得键盘击键,起到暂停程序运行作用,目的是保留用户屏幕,便于查看结果。 }

参考结果:

a=32767,a+1=-32768 a=-32768,a-1=32767

3、 实型数据的舍入误差。(要求文件名:2_3.c) 实型变量只能保证7位有效数字,后面的数字无意义 #include main() {float a,b;

a=123456.789e5; b=a+20;

printf(\ printf(\ }

参考结果:

a=12345678848.000000,b=12345678848.000000 a=1.23457e+10,b=1.23457e+10

4、已知:a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。试编程上机验证。(要求文件名:2_4.c) 提示编程要点:

(1)先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果; (2)程序先给几个条件变量赋初值,然后将表达式赋值给变量r; (3)最后打印变量r的值就是表达式的值。 参考程序:

#include main()

{ int a=2,b=3;

float x=3.9,y=2.3; float r;

r=(float)(a+b)/2+(int)x%(int)y; printf(\}

参考结果: 3.500000

思考:为什么是这个结果?

5、分析下面程序结果,并上机验证。(要求文件名:2_5.c) #include main()

{ int i,j,m,n; i=8; j=10; m=++i; n=j++;

printf(\}

参考结果: i=9, j=11, m=9, i=10

实验三:简单的程序设计及逻辑结构程序设计(2学时)

一、实验目的和要求:

(1)掌握C语言中使用最多的一种语句——赋值语句的使用方法。 (2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 (3)了解 C语言表示逻辑量的方法。 (4)学会正确使用逻辑运算符和逻辑表达式。 (5)熟练掌握if语句和switch语句。

二、实验内容:

可选做以下题目:

(1)掌握各种格式转换符的正确使用方法。

(2)编程序,用getchar函数读入两个字符给c1、c2,然后分别用 putchar函数和 printf函数输出这两个字符。

(3)编程序:给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,81~89分为 B,70~79分为 C,60~69分为 D,60分以下为 E。

(4)编程序:输入一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。

三、实验步骤、过程:

(1)启动Turbo C集成开发环境。(方法与实验1相同)

(2)完成或选做上面4个程序题。(编辑、编译连接、运行程序,步骤与实验1相同) 注意:经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。 (3)退出Turbo C集成开发环境,关机。

四、源程序清单、测试数据、结果。

(1)掌握各种格式转换符的正确使用方法。 请调试课本第4章习题4.5 、4.6题,并给出结果。 参考结果:(习题4.5) main() {int a=5,b=7;

float x=67.8564,y=-789.124; char c='A'; long n=1234567; unsigned u=65535; printf(\printf(\printf(\

联系合同范文客服:xxxxx#qq.com(#替换为@)