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

上传人:b****8 文档编号:9470907 上传时间:2023-02-04 格式:DOCX 页数:100 大小:179.44KB
下载 相关 举报
C语言程序设计实验指导书vc版1.docx_第1页
第1页 / 共100页
C语言程序设计实验指导书vc版1.docx_第2页
第2页 / 共100页
C语言程序设计实验指导书vc版1.docx_第3页
第3页 / 共100页
C语言程序设计实验指导书vc版1.docx_第4页
第4页 / 共100页
C语言程序设计实验指导书vc版1.docx_第5页
第5页 / 共100页
点击查看更多>>
下载资源
资源描述

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

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

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

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

 

 

计算机程序设计(C语言)实验指导

 

 

 

 

 

 

 

2007年9月

 

 

实验1C语言上机环境介绍

 

一、实验目的

1、1、 了解VisualC++6.0的特点。

2、2、 熟悉VisualC++6.0的开发环境,学会开发环境的使用,了解C或C++程序设计的一般过程。

3、3、 学习用VisualC++6.0编写标准的C或C++程序。

4、4、 掌握单文件程序及多文件程序的编写与运行过程,学会建立工程,编译运行程序,学会查找和排除错误的方法。

二、实验内容和步骤

使用VisualC++来建立以下C程序,编译、连接并运行,然后记录运行结果。

建议在硬盘(如E盘)上建立一个文件夹,将C程序存储在其中,实验完毕后,再将源程序复制到软盘。

1、单文件编辑,设文件名为sy1-1.c。

#include

voidmain()

{

printf(”Hello!

\n”);

printf(”Welcometoc!

\n”);

}

运行结果:

 

 

 

2、单文件编辑,在文件中有两个函数。

设文件名为sy1-2.c。

#include

intadd(int,int);

voidmain()

{

inta,b;

a=5;

b=7;

intc=add(a,b);

printf("a+b=%d\n",c);

}

intadd(intx,inty)

{

returnx+y;

}

运行结果:

 

 

 

3、多文件编辑,使用包含文件。

设文件名为sy1-3.h和sy1-3.c。

首先创建一个头文件,“文件”—“新建”—选择“文件”标签—C++HeadFile,在“文件”框内输入文件名:

sy1-3.h,其内容如下:

#include

voidprnstr(char*s)

{

prinf(”我是个%s\n”,s);

}

编译此文件。

然后建立sy1-3.c文件。

内容如下:

#include“sy1-3.h”

{

printf(”欢迎您使用C语言!

\n”);

prnstr(“大学生”);

printf(”我喜欢C语言!

\n”);

}

编译此文件、连接、运行,并记录结果。

运行结果:

 

 

 

4、多文件编辑,设文件名为sy1-4.c和sy1-41.c。

sy1-4.c文件的内容:

include

intadd(int,int);

voidmain()

{

inta,b;

a=5;

b=7;

intc=add(a,b);

printf("a+b=%d",c);

}

sy1-41.c文件的内容

intadd(intx,inty)

{

returnx+y;

}

请编译这两个文件,并连接、运行(请事先建立一个工程,具体步骤请参考“三、实验指导”)。

运行结果:

 

 

注意:

在输入以上程序时,可故意漏打或打错几个字符,然后进行编译,仔细分析编译信息窗口,识别所显示的错误,逐个修改,直到不出现错误。

5、运行自己编写的程序

输入a、b、c三个整数,输出其中最大者。

仿照教材上的例题编写程序或者自己编写新的程序进行练习。

 

三、实验指导

1、启动VisualC++6.0开发环境

从“开始“菜单中选择“程序”—MicrosoftVisualStudio6.0—MicrosoftVisualC++6.0,显示VisualC++6.0开发环境窗口。

2、创建一个项目或工程(Project)

(1)单击“文件”菜单中的“新建”选项,显示“新建”对话框(如图1-1所示)

(2)单击“工程”标签,在“工程”选项卡中,选择“Win32ConsoleApplication”(Win32控制台应用程序)。

在“位置”文本框中指定一个路径,在“工程”文本框中为项目输入一个名字如lab1-1,单击““确定按纽。

(3)在弹出的Win32ConsoleApplication-Step1of1对话框选择AnEmptyProject单选项,然后单击“完成”按纽(如图1-2所示)。

(4)最后在NewProjectInformation对话框单击“完成”按纽,完成项目的建立。

3、建立C++源程序文件

(1)选择菜单命令“工程”—“添加工程”—“新建”,弹出对话框。

(2)如图1-3所示,在“新建”对话框的“文件”选项卡中选择“C++SourceFile”,并填入文件名称如:

lab1-1,单击“确定”按纽,完成新建C++源程序文件。

4、编辑C++源程序文件内容

(1)在文件编辑窗口中输入代码(如图1-4所示)。

(2)选择“文件”菜单—“保存”命令。

5、建立并运行可执行程序

(1)选择菜单命令“编译”—lab1-1.cpp,编译程序。

如果程序有语法错误,则屏幕下方的状态窗口中会出现错误信息,根据这些错误信息对源程序进行修改后,重新编译。

(2)选择菜单运行命令“编译”—“执行lab1-1.exe”运行程序,观察屏幕的显示内容。

图1-1New对话框

图1-2创建控制台应用程序第一步

 

图1-3添加新的源程序文件

图1-4在文件编辑窗口中输入代码

6、关闭工作空间

选择“文件”菜单—“关闭工作区”,即可关闭当前工作区。

 

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

一、实验目的

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

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

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

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

二、实验内容和步骤

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

#include

voidmain()

{

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、输入并运行以下程序(BX2.6)

#include

voidmain()

{

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、输入并运行下面的程序

#include

voidmain()

{

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,b);

c=a=e;

d=b=f;

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

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

}

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

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

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

(3)将一个长整数赋给无符号变量,会得到什么结果(分别考虑该长整数的值大于或等于65535以及小于65535的情况)。

同学们可以改变程序中各变量的值,以便比较。

例如:

a=65580,b=-40000,e=65535,f=65580。

4、输入以下程序(BX2.16)

#include

voidmain()

{

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)将程序改为:

#include

voidmain()

{

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)将程序改为:

#include

voidmain()

{

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、按要求编写程序并上机运行

(1)要将”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’、,并输出。

(BX2.7)

①输入事先已编好的程序,并运行该程序。

分析是否符合要求。

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

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

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

修改程序并运行。

③将译码规律修改为:

将字母用它前面的第4个字母代替,例如:

’E’用’A’代替,’Z’用’U’代替,’D’用’Z’代替,’C’用’Y’代替,’B’用’X’代替,’A’用’V’代替。

修改程序并运行。

(2)已知两个电阻分别为10欧姆和20欧姆,求并联后电阻的值。

提示:

1/R=1/R1+1/R2

实验3最简单的C程序设计

一、实验目的

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

2、掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

二、实验内容和步骤

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

(1)输入程序

#include

voidmain()

{

inta,b;

floatd,e;

charc1,c2;

doublef,g;

longm,n;

unsignedintp,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、按要求编写程序

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

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

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

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

上机运行程序,比较用printf和putchar函数输出字符的特点。

(3)由键盘输入底和高,求三角形的面积。

(4)求平面上任意两点之间的距离。

提示:

点(x1,y1)到点(x2,y2)的距离公式为:

d=

(5)输入两个数为两个变量赋值,然后将两个变量的值互相交换。

(6)输入一个四位数,反序输出这个数。

如:

输入1357,则打印1、3、5、7及7531。

提示:

N-S图如下:

(SA1.5)

输入一个四位数如x

取千位数a=x/1000

取百位数b=(x-a*1000)/100

取十位数

取个位数

输出各位数

输出反序数

实验4逻辑结构程序设计

一、实验目的

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

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

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

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

5、学习调试程序。

二、实验内容和步骤

本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。

1、对于如下函数:

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

(BX4.5)

运行程序,输入x的值(分别为x<1、1≤x<10、x≥10三种情况,如0.5、8、15),检查输出的y值是否正确。

2、从键盘输入学生的考试成绩,利用计算机将学生的成绩划分等级并输出。

学生的成绩可分成5个等级,90-100分为A级,80-89分为B级,70-79分为C级,60-69分为D级,0-59分为E级。

要求在输入负数时,给出错误提示。

①事先编好程序,要求分别用if语句和switch语句实现。

运行程序,并检查结果是否正确。

②再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。

修改程序,使之能正确处理任何数据。

当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。

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

①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如:

原数据为321,应输出123。

(BX4.6)

应使用1位正整数、2位正整数、3位正整数、4位正整数、5位正整数分别作为测试数据进行测试。

除此之外,程序还应当对不合法的输入作必要的处理。

例如:

当输入负数时或输入的数超过5位(如123456)数时。

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

5、根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型(等边、等腰、直角、一般三角形)。

6、输入两个字符,如果先输入的字符大则输出1,否则输出0(不允许使用if语句)。

7、输入某职工的工资,根据不同档次扣除工资所得税,然后计算实发工资。

扣税标准如下:

(1)

(1)若工资低于850元,则不扣税。

(2)

(2)若工资在850元至1500之间,则扣税比例为1%。

(3)(3)若工资在1500元至2000之间,则扣税比例为1.5%。

(4)(4)若工资高于2000元,则扣税比例为2%。

8、编写一个菜单显示程序,界面如下:

---------------------------------------------------

主菜单

1.添加记录2.显示记录

3.读取记录4.保存记录

----------------------------------------------------

请选择1-4,0退出:

输入1-4可以进行相应的显示,如输入1则显示“你选择了1”,输入2则显示“你选择了2”等,当输入0-4之外的数据时,显示“选择错误!

”。

9、编程实现2个浮点数的四则运算,如输入:

4.0*5.2,则打印出:

4.0*5.2=20.8

(LFZ75)

实验5循环控制

一、实验目的

1、掌握用while语句,do-while语句和for语句实现循环的方法。

2、掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。

3、进一步学习调试程序的技巧。

二、实验内容和步骤

编程序并上机调试运行。

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

(BX5.1)

在运行时,输入的值m>n,观察结果是否正确。

再输入时,使m

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

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

(BX5.2)

在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其它字符的个数。

3、猴子吃桃问题。

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

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩一个桃子了。

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

(BX5.8)

在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。

请修改程序,并运行,检查结果是否正确。

4、用for语句求1到100中是3的倍数的数的和。

(LL3.3)

5、从键盘输入整数,分别计算所输入的正整数的和、负整数的和。

当输入0时,结束输入并输出计算结果。

(SA2.6)

6、编写一个选票统计程序,四个候选人分别用字母A、B、C、D表示,现有20个人进行投票,每人只能选A、B、C、D四人中的一人。

(SA2.7)

提示:

参考下面的N-S图

a=b=c=d=0

i=1

读入字符到ch,根据ch的值不同分别进行累加

 

ch=’A’

ch=’B’

ch=’C’

ch=’D’

a=a+1

b=b+1

c=c+1

d=d+1

直到i>100

输出得票数a,b,c,d

7、输入一个4位数,要求逆序打印每一位数字,并打印逆序整数,要求使用循环完成。

请考虑:

如不限定几位数(即只要不超过整数范围),应如何修改程序。

(SX2.3)

8、将实验四的菜单程序,改成可循环选择,直到输入0结束程序。

9、打印1!

+2!

+3!

+……+20!

之和。

(BX5.4)

10、打印出所有的“水仙花”数,“水仙花”数是指一个3位数,其各位数字的立方之和等于该数本身。

如153。

(BX5.5)

11、打印数列2/1,3/2,5/3,8/5,13/8,21/13……的前20项之和。

(BX5.7)

12、打印九九乘法表。

13、打印下列各种图案。

(分别使用递增循环和递减循环完成)

 

*

***

******

*********

******

***

*

*******

*****

***

*

 

*********

*******

*****

***

*

 

 

 

 

 

 

1、1、 给

 

13、给出任意一个正整数,要求:

(1)求它是几位数

(2)按逆序打印出各位数字,例如原数字为321,应输出123。

(3)打印各位数字之和。

 

 

 

 

 

 

 

实验6数组

一、实验目的

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

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

3、掌握与数组有关的算法(特别是排序算法)。

二、实验内容和步骤

编程序并上机调试运行。

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

10个整数用scanf函数输入。

(BX6.2)

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

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

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

要找的数用scanf函数输入。

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

(BX6.11)

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

数组也可能没有鞍点。

(BX6.7)

应当至少准备两组测试数据:

①二维数组有鞍点

98020540

90-60961

210-310189

②二维数组没有鞍点

98020540

90-601961

210-310189

45541567

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

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

因此,需在程序中使用scanf输入行数和列数。

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

5、改用数组实现实验五第5题(统计选票)。

(SA2.7)

提示:

技巧是把下标与候选人对应的字母相统一,大大减化了程序。

6、打印出以下的杨

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1