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

上传人:b****1 文档编号:80149 上传时间:2023-04-28 格式:DOCX 页数:28 大小:28.20KB
下载 相关 举报
C语言程序设计实验指导书.docx_第1页
第1页 / 共28页
C语言程序设计实验指导书.docx_第2页
第2页 / 共28页
C语言程序设计实验指导书.docx_第3页
第3页 / 共28页
C语言程序设计实验指导书.docx_第4页
第4页 / 共28页
C语言程序设计实验指导书.docx_第5页
第5页 / 共28页
C语言程序设计实验指导书.docx_第6页
第6页 / 共28页
C语言程序设计实验指导书.docx_第7页
第7页 / 共28页
C语言程序设计实验指导书.docx_第8页
第8页 / 共28页
C语言程序设计实验指导书.docx_第9页
第9页 / 共28页
C语言程序设计实验指导书.docx_第10页
第10页 / 共28页
C语言程序设计实验指导书.docx_第11页
第11页 / 共28页
C语言程序设计实验指导书.docx_第12页
第12页 / 共28页
C语言程序设计实验指导书.docx_第13页
第13页 / 共28页
C语言程序设计实验指导书.docx_第14页
第14页 / 共28页
C语言程序设计实验指导书.docx_第15页
第15页 / 共28页
C语言程序设计实验指导书.docx_第16页
第16页 / 共28页
C语言程序设计实验指导书.docx_第17页
第17页 / 共28页
C语言程序设计实验指导书.docx_第18页
第18页 / 共28页
C语言程序设计实验指导书.docx_第19页
第19页 / 共28页
C语言程序设计实验指导书.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《C语言程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验指导书.docx(28页珍藏版)》请在冰点文库上搜索。

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

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

《C语言程序设计》课程

 

实验指导与报告书

 

专业

班级

姓名

学号

南京交通职业技术学院信息工程系

二○一○年元月

 

实验一C程序的运行环境和运行C程序的方法

一、实验目的:

1、了解C语言程序的编译与编程环境;

2、掌握常量和变量的区别;

3、掌握数据的输入方法;

4、掌握数据的输出方法;

二、实验内容和步骤:

1、检查所用的计算机系统:

是否已安装了C编译系统并确定它所在的子目录。

2、进入C的工作环境;

3、熟悉TC的集成环境:

1)了解和熟悉编辑窗口和信息窗口的作用;

2)按功能键F10,并按回车键,观察File菜单,了解他们的作用和用法。

分别观察Edit、Run、Compile、Project、Pption、Debug、Break/watch菜单,大致了解他们的作用;

3)选择File菜单中的New并按回车键,在编辑窗口中随意输入几行字符,观察窗口顶部左端line和col后面数字的变化。

4、输入并运行一个简单的程序:

1)选择File菜单中的New并回车,使编辑窗口变成空白;

2)输入下面的程序:

main()

{

printf(“欢迎进入C语言的学习!

\n”);

}

3)按功能键F9进行编译和连接,观察屏幕上显示的编译信息。

如果出现“出错信息”,则应找出原因并改正,再进行编译。

4)如果编译无错误,按Ctrl和F9键使程序运行,按Alt和F5键,切换到用户屏,观察并分析运行结果。

5、输入并编译一个C程序:

1)选择File菜单中的New并回车,使编辑窗口变成空白;

2)输入下面的程序:

main()

{inta,b,sum;

a=123;b=456;

sum=a+b;

printf(“sumis%d\n”,sum);

}

3)编译并分析运行结果。

6、输入并运行一个需要再运行时输入数据的程序:

1)选择File菜单中的New并回车,使编辑窗口变成空白;

2)输入下面的程序:

main()

{inta,b,c;

printf(“inputa&b:

”);

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

c=max(a,b);

printf(“max=%d”,c);

}

intmax(intx,inty)

{intz;

if(x>y)z=x;

elsez=y;

return(z);

}

3)编译并运行,在运行时从键盘输入整数2和5,回车,按Alt和F5键,观察运行结果;

4)将程序中的第2行改为:

inta;b;c;再进行编译,观察结果。

5)将子程序max的第3、4两行合并为一行,即:

if(x>y)z=x;elsez=y;再进行编译和运行,分析结果;

7、把上述内容在VC++6.0再次实现一次。

实验二数据类型、运算符和表达式

一、实验目的

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

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

3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用;

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

二、实验内容和步骤:

1、输入并运行下面的程序:

main()

{charc1,c2;

c1=’a’;

c2=’b’;

printf(“%c%c\n”,c1,c2);

}

1)运行此程序;

2)在此基础上增加一个语句:

printf(“%d%d\n”,c1,c2);再运行,并分析结果;

3)将第2行改为:

intc1,c2;再运行,并分析结果;

4)再将第3、4行改为:

c1=a;/*不加单引号*/

c2=b;

再运行,并分析结果;

5)再将第3、4行改为:

c1=“a”;/*用双引号*/

c2=“b”;

再运行,并分析结果;

6)再将第3、4行改为:

c1=300;/*用大于255的整数*/

c2=400;

再运行,并分析结果;

2、输入并运行下列程序:

main()

{charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;

printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);

printf(“\t\b%c%c”,c4,c5);

}

在上机前先人工分析程序,写出结果,然后将上机的结果和其对照。

3、输入并运行下面的程序:

main()

{inta,b;

unsignedc,d;

longe,f;

a=100;

b=—100;

e=50000;

f=32767;

c=a;

d=b;

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

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

printf(“%u,%u\n”,c,d);

c=a=e;

d=b=f;

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

printf(“%u,%u\n”,c,d);

}

请对照程序和运行结果分析:

1)将一个负整数赋给一个无符号的变量,会得到什么结果;

2)将一个大于32767的长整数赋给整型变量,会得到什么结果;

3)将一个长整数赋给无符号变量,会得到什么结果。

4、输入下列程序:

main()

{inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“%d,%d,%d,%d”,i,j,m,n);

}

1)运行程序,注意i、j、m、n各变量的值,分别作以下改动并运行:

2)将第4、5行改为:

m=i++;

n=++j;运行。

3)将程序改为:

main()

{inti,j;

i=8;

j=10;

printf(“%d,%d”,i++,j++);

}

4)在3)的基础上,将printf语句改为:

printf(“%d,%d”,++i,++j);

5)再将printf语句改为:

printf(“%d,%d,%d,%d”,i,j,i++,j++);

6)将程序改为:

main()

{inti,j,m=0,n=0;

i=8;

j=10;

m+=i++;

n—=——j;

printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);

}

5、要将“China”译成密码,译码规律是:

用原来字母后面的第4个字母代替原来的字母。

例如,字母A后面第4个字母是E,用E代替A。

因此,“China”应译为“Glmre”。

请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。

要求:

1)输入事先已编好的程序,运行该程序,分析是否符合要求;

2)改变c1、c2、c3、c4、c5的初值为:

‘T’、‘o’、‘d’、‘a’、‘y’,对译码规律作如下补充:

‘W’用‘A’代替,‘X’用‘B’代替,‘Y’用‘C’代替,‘Z’用‘D’代替。

修改并运行程序;

3)将译码规律修改为:

将字母用它前面的第4个字母代替,例如‘E’用‘A’代替。

修改并运行程序。

实验三顺序结构程序设计

一、实验目的

1、掌握C语言中使用最多的一种语句——赋值语句的使用方法;

2、掌握C语言中最简单的一种结构——顺序结构程序设计方法;

二、实验内容和步骤:

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

1)输入程序

main()

{inta,b;

floatd,e;

charc1,c2;

doublef,g;

longm,n;

unsiguldintp,q;

a=61;b=62;

c1=’a’;c2=’b’;

d=3.56;e=—6.87;

f=3157.890121;g=0.123456789;

m=50000;n=—60000;

p=32768;q=40000;

printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n”,a,b,c1,c2,d,e);

printf(“f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n”,f,g,m,n,p,q);

}

2)运行此程序并分析结果;

3)在此基础上,修改程序的第8-13行:

a=61;b=62;

c1=a;c2=b;

f=3157.890121;g=0.123456789;

d=f;e=g;

p=a=m=50000;q=b=n=—60000;

运行程序分析结果;

4)改用scanf函数输入数据而不用赋值语句,scanf函数如下:

scanf(“%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u”,

&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);

输入的数据如下:

61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000↙(说明:

lf和ld格式符分别用于输入double型和long型数据)

运行程序,分析结果;

5)在4)的基础上将printf语句改为:

printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n”,a,b,c1,c2,d,e);

printf(“f=%f,g=%f\nm=%d,n=%d\np=%d,q=%d\n”,f,g,m,n,p,q);

运行程序,分析结果;

6)将p、q改用%O格式符输出;

7)将scanf函数中的%lf和%ld改为%f和%d,运行程序,分析结果。

2、编写程序:

设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输入数据,输出计算结果。

输出时要有文字说明,取小数点后两位数字。

3、编写程序:

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

上机运行程序,比较用这两个函数输出字符的特点。

4、书上例题及习题。

实验四分支结构程序设计

一、实验目的

1、了解C语言表示逻辑量的方法(以0代表假,以非0代表真);

2、学会正确使用逻辑运算符和逻辑表达式;

3、熟练掌握if语句和switch语句;

4、结合程序掌握一些简单的算法;

5、学习调试程序。

二、实验内容和步骤:

本实验要求事先编好程序,然后上机输入程序并调试运行:

1、有一函数:

x(x<1)

y=2x—1(1≤x<10)

3x—11(x≥10)

用scanf函数输入x的值,求y的值。

2、给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。

90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。

要求:

1)用switch语句实现。

2)运行程序,输入一个负值(如-78),查看结果。

修改程序,使当用户输入的数值不在0-100之间时,显示“输入数据错误!

”的提示。

3、给一个不多于5位的正整数,要求:

1)求出它是几位数;2)分别打印出每一位数字;3)按逆序打印出各位数字。

(测试要求:

1-5位的数字都要测试;负数和大于5位的正整数也要测试)

4、输入4个整数,要求按由小到大的顺序输出。

得到正确结果后,修改程序使之按由大到小的顺序输出。

5、书上例题及习题。

实验五分支结构的嵌套

一、实验目的

1、熟练掌握分支结构程序设计的方法;

2、掌握分支结构的嵌套方法;

3、结合程序掌握一些简单的算法;

二、实验内容和步骤:

用if语句实现以下程序:

1、实现一个简单的能实现+、—、*、/四则运算的计算机的功能。

2、

有一函数:

x(x<1)

y=2x—1(1≤x<10)

3x—11(x≥10)

用scanf函数输入x的值,求y的值。

3、给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。

90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。

4、书上例题及习题。

实验六循环结构程序设计

一、实验目的

1、熟练掌握循环结构程序设计的方法;

2、掌握循环结构的嵌套方法;

3、结合程序掌握一些常用的算法;

二、实验内容和步骤:

编程序并上机调试运行:

1、输入两个正整数m和n,求它们的最大公约数和最小公倍数。

要求:

1)输入的值m>n,观察结果是否正确;

2)再输入的值m

3)修改程序,不论m和n为何值(包括负整数),都能得到正确结果。

2、输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。

3、输入一行字符,分别统计出其中的大小写英文字母、空格、数字和其它字符的个数。

4、用牛顿迭代法求方程2x3—4x2+3x—6=0在1.5附近的根。

要求:

1)在得到正确结果后,请修改程序使所设的x初值由1.5改变为100、1000、10000,再运行,观察结果,分析不同的x初值对结果由没有影响,为什么?

2)修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的x初始值对迭代的次数有无影响;

5、猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天又将剩下的桃子吃掉一半,又多吃了一个。

以后每天都吃了前一天剩下的一半多一个。

到第10天再吃时,只剩下一个桃子了。

求第一天共摘了多少个桃子。

6、修改第5题的题目为:

每天吃了前面一天的一半后多吃了两个。

修改程序,并运行。

7、书上例题及习题。

实验七数组的使用

一、实验目的

1、掌握一维数组和二维数组的定义、赋值和输入输出的方法;

2、掌握字符数组和字符串函数的使用;

3、掌握与数组有关的算法;

二、实验内容和步骤:

编程并上机调试运行:

1、用选择法对10个整数排序。

10个整数用scanf函数输入。

2、有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。

如果该数不在数组中,则输出“无此数”。

这15个数用赋初值的方法在程序中给初。

要找的数用scanf函数输入。

3、将两个字符串连接起来,不用strcat函数。

4、找出一个二维数组的“鞍点”,既该位置上的元素在该行上最大,在该列上最小。

也可能没有鞍点。

可设置如下的测试数组:

1)有鞍点:

2)没有鞍点:

9

80

205

40

90

-60

96

1

210

-3

101

89

9

80

205

40

90

-60

196

1

210

-3

101

89

45

54

156

7

 

用scanf函数从键盘输入数组个元素的值,检查结果是否正确。

题目并未指定二维数组的行数和列数,程序应能处理任意行数和列数的数组。

因此,从理论上来说,应当准备许多种不同行数和列数的数组,但这样的工作量太大,一般来说不需要这样,只需准备典型的数据即可。

如果已指定了数组的行数和列数,可以在程序种对数组元素赋初值,而不必用scanf函数。

请修改并实现。

4、书上例题及习题。

实验八函数的使用

一、实验目的

1、掌握定义函数的方法;

2、掌握函数实参与形参的对应关系以及“值传递”的方式;

3、掌握函数的嵌套调用和递归调用的方法;

4、掌握全局变量和局部变量动态变量、静态变量的概念和使用方法;

5、学习对多文件程序的编译和运行。

二、实验内容和步骤:

编程并上机调试运行。

1、写一个判别素数的函数。

在主函数输入一个整数,输出是否素数的信息。

2、用一个函数来实现将一行字符串中最长的单词输出。

此行字符串从主函数传递给该函数。

3、用递归法将一个整数n转换成字符串。

例如:

输入数字483,输出字符串“483”。

4、求两个整数的最大公约数和最小公倍数。

用一个函数求最大公约数,用另一个函数根据求初的最大公约数求最小公倍数。

5、写一函数,输入一个十六进制数,输出相应的十进制数。

6、书上例题及习题。

实验九指针

一、实验目的

1、掌握指针的概念,会定义和使用指针变量;

2、能正确使用数组的指针和指向数组的指针变量;

3、能正确使用字符串的指针和指向字符串的指针变量;

4、能正确使用指向函数的指针变量;

5、了解指向指针的指针的概念及其使用方法;

二、实验内容和步骤:

编程并上机调试运行:

1、输入三个整数,按由小到大的顺序输出,然后将程序改为:

输入三个字符串,按由小到大的顺序输出;

2、将一个3*3的矩阵转置,用一函数实现。

在主函数种用scanf函数输入以下矩阵元素:

135

7911

131519

将数组名作为函数实参,在执行函数的过程种实现矩阵转置,函数调用结束后在主函数种输出已转置的矩阵。

3、有n个人围成一圈,顺序排号。

从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。

问最后留下的是原来第几号的那位。

4、用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:

intstrcmp(char*p1,char*p2);

设p1指向字符串s1,p2指向字符串s2,要求当s1=s2时,函数返回值为0;如果s1≠s2,则返回他们二者第一个不相同字符的ASCII码差值。

如果s1>s2,则输出正值,如果s1

两个字符串s1、s2由main函数输入,strcmp函数的返回值也由main函数输出。

5、写一个用矩形法求定积分的通用函数,分别求:

说明:

sin、cos、exp已在系统的数学函数库中,程序开头要用#include

6、用指向指针的指针的方法对n个整数排序并输出。

要求将排序单独写成一个函数。

N和各整数在主函数中输入,最后在主函数中输出。

7、书上例题及习题。

 

实验十文件

一、实验目的

1、掌握文件以及缓冲文件系统、文件指针的概念。

二、实验内容和步骤:

1、有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。

设5名学生的学号、姓名和3门课成绩如下:

99101Wang89,98,67.5

99103Li60,80,90

99106Fun75.5,91.5,99

99110Ling100,50,62.5

99113Yuan56,68,71

在向文件stud写入数据后,应检查验证stud文件中的内容是否正确。

2、将上题stud文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入一个新文件stud-sort中。

在向文件stud-sort写入数据后,应检查验证stud-sort文件中的内容是否正确。

3、对上题已排序的学生成绩文件进行插入处理,插入一个学生的3门课成绩。

程序先计算新插入学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。

要插入的学生数据为:

99108Xin90,95,60

在向文件stud-new写入数据后,应检查验证stud-new文件中的内容是否正确。

4、书上例题及习题。

实验一C程序的运行环境和运行C程序的方法

实验报告:

实验二数据类型、运算符和表达式

实验报告:

实验三顺序结构程序设计

实验报告:

实验四分支结构程序设计

实验报告:

实验五分支结构的嵌套

实验报告:

实验六循环结构程序设计

实验报告:

实验七数组的使用

实验报告:

实验八函数的使用

实验报告:

实验九指针

实验报告:

实验十文件

实验报告:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2