11C程序设计上机指导.docx

上传人:b****3 文档编号:3513787 上传时间:2022-11-23 格式:DOCX 页数:32 大小:26.94KB
下载 相关 举报
11C程序设计上机指导.docx_第1页
第1页 / 共32页
11C程序设计上机指导.docx_第2页
第2页 / 共32页
11C程序设计上机指导.docx_第3页
第3页 / 共32页
11C程序设计上机指导.docx_第4页
第4页 / 共32页
11C程序设计上机指导.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

11C程序设计上机指导.docx

《11C程序设计上机指导.docx》由会员分享,可在线阅读,更多相关《11C程序设计上机指导.docx(32页珍藏版)》请在冰豆网上搜索。

11C程序设计上机指导.docx

11C程序设计上机指导

C语言程序设计

 

 

电子工程学院

2009-11

实验一C程序的运行环境和编辑、调试、运行简单C程序

一、实验目的

1.了解TurboC的基本操作方法,学会独立使用该系统。

2.掌握在该系统上如何编辑、编译、运行一个C程序。

二、实验内容及步骤

1.进入C的工作环境

1)在Windouws环境下:

“开始”→“程序”→“MS-DOS”

屏幕上进入MS-DOS窗口

2)在Dos环境下:

键入命令c:

\>cdc:

\tc↙

c:

\tc>tc↙

屏幕上出现TurboC的工作环境

2.熟悉TurboC的工作环境

了解Edit窗口与Message窗口

了解主菜单的8个菜单项

FileEditCompileProjectOptionDebugbreak/watch

3.输入并运行一个简单的程序

File→New

输入源程序:

main()

{

printf("ThisisaCprogram.\n");

printf("OK\n");

}

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

如果出现出错信息,则应找出原因并改正。

按Run→Run(或按Ctrl+F9)编译、连接、运行一起完成。

按Run→Userscreen(或按Alt+F5)察看运行结果。

按任一键从用户屏切换回TC窗口。

4.输入并编辑第二个C程序

File→New

输入源程序:

main()

{

inta,b,sum;

a=123;b=456;

sum=a+b;

printf("sumis%d\n",sum);

}

编辑、运行、调试该程序。

5.编辑、运行、调试自己编写的程序(至少一个程序)

如:

输入上底、下底和高,计算梯形面积。

观察屏幕上显示的编译信息。

如果出现出错信息,则应找出原因并改正。

用File→Save(或F2)保存程序(程序名为a1.c)

三、实验报告要求

写明:

1.实验目的

2.实验内容与步骤

3.编写的程序(题目,经调试、运行后正确的程序)

4.编译过程中出现的错误信息。

5.总结讨论本次实验的结果和收获。

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

一、实验目的

1.掌握C语言的各种类型及其定义方法,赋值方法。

2.掌握不同类型之间赋值的规律。

3.学会使用各种算术运算符,特别是自加自减运算符。

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

二、实验内容及实验步骤

1.练习一个有关字符和整型的程序。

main()

{

charc1,c2;

c1=97;

c2=98;

printf("%c%c\n",c1,c2);/*以字符形式输出*/

printf("%d%d\n",c1,c2);/*转换为整数形式输出*/

2.转义字符的练习。

main()

{

printf("---------------*\r*\n");

printf("\tOA\bK\n");

printf("#---------------#\n");

printf("\tABC\tDEF\tGHI\n");

printf("\t123\t456\t789\n");

}

对照输出,理解转义字符的含义。

3.自加自减程序的练习。

main()

{

inta=5,b=3,c1,c2;

a++;

--b;

c1=++a+b;

c2=c1---a/b;

b=++a+b+c1--+c2;

printf("a=%d\nb=%d\nc1=%d\nc2=%d\n",a,b,c1,c2);

}

4.各种类型混合运算的例子

main()

{

inta=7,b=3;charc1=’a’,c2=66;

floatx=12.25;

doubley=1.3333333333;

longd=5432789;

a=x+b*x+y/2-d%(c1-c2);

printf("a=%d,b=%d,c1=%cn",a,b,c1);

printf("d=%ld,x=%f,y=%10.2\n",d,x,y);

5.上机改错题:

请指出以下C程序的错误所在

(1)

main();

floatr,s;

r=5.0;

s=3.14159*r*r;

printf("%f\n",s)

(2)

main

{

floata,b,c,v;

a=2.0;b=3.0;c=4.0

v=a*b*c;

printf("%f\n",v)

6.调试、运行自己编写的程序。

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

(2)输入一个华氏温度,要求输出摄氏温度。

公式为c=5/9*(f-32).

三、实验报告要求

写明

1.实验目的

2.实验内容及步骤

3.编写的程序(题目,经调试、运行后正确的程序)

4.编译过程中出现的错误信息。

5.总结讨论本次实验中的问题和收获

i++和++i的区别,i--和--i的区别

各种类型混合运算时的类型转换

实验三顺序和分支结构的程序设计

一、实验目的

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

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

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

二、实验内容及实验步骤

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

(1)输入程序

main()

{

inta,b;

floatd,e;

charc1,c2;

doublef,g;

longm,n;

unsignedintp,q;

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;

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)改用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型数据)分析运行结果。

(4)在(3)的基础上将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);

运行程序。

2.字符的输入输出

#include

main()

{

chara,b;

a=’g’;

b=getchar();

putchar(a);

putchar(b);

}

3.以下程序多处有错。

若指定必须按下面的形式输入数据,并且必须按下面指定的形式输出数据,请对该程序做相应的修改。

main

{doublea,b,c,s,v;

printf(inputa,b,c:

\n);

scanf("%d%d%d",a,b,c);

s=a*b;

v=a*b*c;

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

printf("s=%f\n",s,"v=%d\n",v);

当程序执行时,屏幕的显示和要求输入形式如下:

inputa,b,c:

2.02.03.0此处的2.02.03.0是用户输入的数据

a=2.000000,b=2.000000,c=3.000000此处是要求的输出形式

s=4.000000,v=12.000000

4.编辑、运行、调试自己编写的程序

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

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

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

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

三、实验报告要求

写明:

1.实验目的

2.实验内容与步骤

3.编写的程序(题目,经调试、运行后正确的程序)

4.编译过程中出现的错误信息。

5.总结讨论本次实验的结果和收获。

实验四循环结构的程序设计

一、实验目的

1.熟练掌握while循环语句的应用。

2.熟练掌握do—while循环语句的应用。

3.熟练掌握for循环语句的应用。

4.理解三者的区别和联系。

二、实验内容及实验步骤

1.求5!

main()

{

intn,t;

n=1;

t=1;

while(t<=5)

{

n=n*t;

t=t+1;

}

printf("%d",n);

}

2.将以上程序用do—while语句改写。

3.求和s=1!

+3!

+5!

main()

{

ints=0,t,i,j;

for(i=1;i<=3;i++)

{

t=1;

for(j=1;j<=2*i-1;j++)

t=t*j;

s=s+t;

}

printf("%d",s);

}

4.求和s=3+33+333

main()

{

ints=0,t=3,i;

for(i=1;i<=3;i++)

{

s=s+t;

t=10*t+3;

}

printf("%d",s);

}

5.打印下列图案

*

***

*****

*******

main()

{

inti,j;

for(i=1;i<=4;i++)

{

for(j=1;j<=4-i;j++)

printf("");

for(j=1;j<=2*i-1;j++)

printf("*");

printf("\n");

}

}

6.测试、运行自己编写的程序。

(1)编写程序,求1-3+5-7+…-99+101的值。

(2)编写程序,求e的值,e≈1+1/1!

+1/2!

+1/3!

+1/4!

+…。

(3)编写程序,统计输入的一行中小写字母的个数。

(4)打印100-999之间所有的“水仙花数”。

“水仙花数”是一个三位数,其各位数立方和等于该数本身。

(5)一个数如果恰好等于它的因子之和,这个数就称为完数。

求1000之内的所有完数。

三、实验报告要求

写明:

1.实验目的

2.实验内容与步骤

3.编写的程序(题目,经调试、运行后正确的程序)

4.编译过程中出现的错误信息。

5.总结讨论本次实验的结果和收获。

实验五数组

(一)

一、实验目的

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

2.掌握二维数组的定义、赋值和输入输出的方法。

二、实验内容及实验步骤

1.在键盘上输入N个整数,试编制程序使该数组中的数按照从大到小的次序排列。

分析:

C中数组长度必须是确定大小,即指定N的值。

#defineN10

main()

{

inta[N],i,j,temp;

printf("pleaseinput%dnumbers\n",N);

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

for(j=0;j

{

if(a[j]>a[j+1])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

printf("thearrayaftersort:

\n");

for(i=0;i

printf("%5d",a[i]);

}

2.有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。

main()

{

intmax,i,j,r,c;

staticinta[3][4]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};

max=a[0][0];

for(i=0;i<3;i++)

for(j=0;j<4;i++)

if(a[i][j]>max)

{

max=a[i][j];

r=i;

c=j;

}

printf("max=%d,row=%d,colum=%d\n",max,r,c);

}

3.测试、运行自己编写的程序。

(1)编写程序,将数组中所有奇数放在另一个数组中返回。

(2)输入若干有序数放在数组中。

然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序。

请对插在最前、插在最后、插在中间三种情况运行程序,以便验证程序是否正确。

(3)求两个矩阵之和。

三、实验报告要求

写明:

1.实验目的

2.实验内容与步骤

3.编写的程序(题目,经调试、运行后正确的程序)

4.编译过程中出现的错误信息。

5.总结讨论本次实验的结果和收获。

实验六数组

(二)

一、实验目的

掌握字符数组的使用。

二、实验内容及实验步骤

1.输入一串字符,计算其中空格的个数。

#include"stdio.h"

#include"string.h"

main()

{

charc[30];

inti,sum=0;

gets(c);

for(i=0;i

if(c[i]=='')

sum=sum+1;

printf("空格数为:

%d\n",sum);

}

2.测试、运行自己编写的程序。

(1)编写程序,将两个字符串连接起来,不要使用strcat函数。

(2)编写程序,将两个字符数组s2中的全部字符复制到字符数组s1中,不使用strcpy函数。

复制时,’\0’也要复制过去。

’\0’后面的字符不复制。

三、实验报告要求

写明:

1.实验目的

2.实验内容与步骤

3.编写的程序(题目,经调试、运行后正确的程序)

4.编译过程中出现的错误信息。

5.总结讨论本次实验的结果和收获。

实验七C程序的函数

(一)

一、实验目的

1.掌握自定义函数的一般结构及定义函数的方法。

2.掌握形参、实参、函数原型等重要概念。

3.掌握函数声明、函数调用的一般方法。

二、实验内容及实验步骤

1.求三角形面积函数。

编写一个求任意三角形面积的函数,并在主函

数中调用它,计算任意三角形的面积。

参考程序

/*定义和使用求三角形面积函数的程序*/

#include"math.h"

#include"stdio.h"

floatarea(float,float,float);

main()

{

floata,b,c;

printf("请输入三角形的三个边长值:

\n")

scanf("%f,%f,%f",&a,&b,&c);

if(a+b>c&&a+c>b&&b+c>a&&a>0.0&&b>0.0&&c>0.0)

printf("area=%-7.2f\n",area(a,b,c));

}

/*以下是计算任意三角形面积的函数*/

floatarea(floata,floatb,floatc)

{

floats,area_s;

s=(a+b+c)/2.0;

area_s=sqrt(s*(s-a)*(s-b)*(s-c));

return(area_s);

}

2.上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。

main()

{

intx,y;

printf("%d\n",sum(x+y));

intsum(a,b);

{

inta,b;

return(a+b);

}

}

3.测试、运行自己编写的程序。

(1)编写函数,对传送过来的三个数选出最大数和最小数,并通过形参传回调用函数。

(2)写出两个函数,分别求出两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。

两个整数由键盘输入。

(3)写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。

三、实验报告要求

写明:

1.实验目的

2.实验内容与步骤

3.编写的程序(题目,经调试、运行后正确的程序)

4.思考题的解决方法。

5.总结讨论本次实验的结果和收获。

 

实验八C程序的函数

(二)

一、实验目的

1.掌握自定义函数的一般结构及定义函数的方法。

2.掌握形参、实参、函数原型等重要概念。

3.掌握函数声明、函数调用的一般方法。

二、实验内容及实验步骤

1.菜单程序。

编写一个菜单程序,运行后首先在屏幕显示如下菜单,

当输入数值1后,调用显示“&”图案的函数程序;输入数值2后,调用显示“$”图案的函数程序;输入数值3后结束程序。

**********************************

*Menusection*

*1.Design(&)*

*2.Design($)*

*3.Exit*

**********************************

参考程序

/*菜单程序*/

#include"stdio.h"

voiddesign1();

voiddesign2();

main()

{

intop;/*以下代码生成菜单*/

printf("\n*************************************");

printf("\n*Menusection*");

printf("\n*1.Design(&)*");

printf("\n*2.Design($)*");

printf("\n*3.Exit*");

printf("\n*************************************");

printf("\nPleaseenterselection:

");

scanf("%d",&op);

if(op==1)

design1();

elseif(op==2)

design2();

}

/*以下是显示&图案的函数*/

voiddesign1()

{

inti;

charstr[31]="&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&";

for(i=1;i<10;i++)

puts(str);

}

/*以下是显示$图案的函数*/

voiddesign2()

{

inti,j;

for(i=1;i<10;i++)

{

for(j=1;j

putchar('');

for(j=1;j<30;j++)

putchar('$');

printf("\n");

}

}

2.测试、运行自己编写的程序。

(1)编写函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。

(2)编写函数,判断一个字符串是否是回文。

若是回文函数返回值为1;否则函数返回值为0。

回文是顺读和倒读都是一样的字符串。

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

(4)写一函数,输入一个十六进制数,输出相应的十进制数。

三、实验报告要求

写明:

1.实验目的

2.实验内容与步骤

3.编写的程序(题目,经调试、运行后正确的程序)

4.思考题的解决方法。

5.总结讨论本次实验的结果和收获。

实验九编译预处理

一、实验目的

1.掌握宏定义的规则,领会带参数宏定义和函数调用的区别.

2.了解文件包含命令的功能和使用规则。

3.了解条件编译的特点和功能。

二、实验内容及实验步骤

1.调试运行例9.1,例9.2,例9.3,例9.4。

2.利用条件编译实现:

如果输入两个实数,则交换后输出;如果输入的是三个实数,则只输出其中最大的数.

三、实验报告要求

写明:

1.实验目的

2.实验内容与步骤

3.编写的程序(题目,经调试、运行后正确的程序)

4.思考题的解决方法。

5.总结讨论本次实验的结果和收获。

实验十C程序的指针

(一)

一、实验目的

1.掌握指针和指针变量的概念。

2.掌握简单指针变量的定义和基本使用方法。

3.熟悉指针和一维数组的关系,掌握指向一维数组的指针变量的定义方法,熟练使用指针变量访问一维数组元素。

4.了解指针和二维数组的关系,掌握用指针表示二维数组元素的方法。

5.了解指针与字符串的关系,能熟练使用指针处理字符串。

二、实验内容及实验步骤

1.用指针访问简单变量。

从键盘输入三个整数,要求设三个指针变量p1,p2,p3,使p1指向三个数的最大者,p2指向次大者,p3指向最小者,然后按由小到大的顺序输出这三个数。

参考程序

/*用指针访问简单变量的程序*/

#include"stdio.h"

main()

{

inta,b,c,temp;

int*p1,*p2,*p3;

printf("请输入三个整数值(a,b,c):

\n");

scanf("%d,%d,%d",&a,&b,&c);

p1=&a;/*使指针p1指向简单变量a*/

p2=&b;/*使指针p2指向简单变量b*/

p3=&c;/*使指针p3指向简单变量c*/

if(*p1<*p2)

{

temp=*p1;*p1=*p2;*p2=temp;

}

if(*p1<*p3)

{

temp=*p1;*p1=*p3;*p3=temp;

}/*至此p1指向了三个数中的最大数*/

if(*p2<*p3)

{

temp=*p2;*p2=*p3;*p3=temp;

}/*至此p3指向了最小数,p2指向了中间数*/

printf("%d,%d,%d\n",*p3,*p2,*p1);

}

①运行程序,任意输入三个整数(之间以逗号分隔),察看并分析程序运行结果。

②运行程序,按由小到大的顺序输入三个整数(之间以逗号分隔),察看并分析程序运行结果。

③运行程序,按由大到小的顺序输入三个整数(之间以逗号分隔),察看并分析程序运行结果。

2.用指针法在一维有序数组中插入数据。

如下是具有10整

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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