搜档网
当前位置:搜档网 › C语言实验指导书070629

C语言实验指导书070629

C语言实验指导书070629
C语言实验指导书070629

C语言程序设计实验指导计算机科学与工程系

2007年7月

实验一熟悉C语言程序开发环境

一.目的要求

1.熟悉在所用的计算机系统上如何编辑、编译、连接和运行一个C语言程序。2.掌握C语言的数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法。

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

4.通过运行简单的C语言程序,初步了解C语言程序的结构特点。

二.实验内容

1.输入以下程序,对源程序进行存盘(文件名自定,但不应叫默认名Noname.c),并进行编译和运行。熟悉所用的系统使用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式?

main( )

{

printf(“This is a c program.\n”);

}

2.从键盘依次输入两个整数,计算并输出这2个整数之差。

# include “stdio.h”

main()

{ float a,b,c;

printf(“input a,,b,:\n”);

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

c=a-b;

prin tf(“c=%d\n”,c);

}

具体要求:

①在Turbo C或其他编译环境编辑窗口输入该程序并存盘,然后进行编译

连接。如果在编译过程中有错误发生,则仔细检查并修改程序,再进行

编译连接,直到没有错误为止。

②运行时按程序中要求的格式依次输入下列2个数:

212,84

查看结果,看是否正确,如果不正确请修改程序,再编译运行直到得到正确的结果,并分析原因。

3.有以下程序。

main()

{int a,b,c;

printf(“input a & b :“);

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

c=sum(a,b);

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

}

int sum(int x, int y)

{ int z;

z=x+y;

return (z);

}

具体要求:

①输入并调试源程序;

②掌握在Turbo C环境或其他编译环境下的编辑、连接、运行过程。4.输入并运行以下程序,分析结果,体会自增自减运算符的特点,上机验证;

main( )

{int i,j,m,n,u=0,v=0;

i=8;j=10;

m=++i;n=j++;

u+=i--;n-=--j;

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

}

5.输入并运行下面的程序。

main()

{int m,n;

m=120;

n=112;

printf(“%d\t%d\n”,m,n);

}

要求:

①运行程序记下结果。

②在程序的最后增加一句:

printf(“%c\t%c\n”,m,n);

再运行程序,并分析结果。

③将第2行改为:

char m,n;

再运行程序,并观察结果。

④将第3行和第4行改为:

m=…x?;

n=…p?;

再运行程序,并观察结果。

⑤将第3行和第4行改为:

m=x;

n=p;

再运行程序,并观察结果。如果产生了错误,说明是什么引起的?

⑥再将第3行和第4行改为:

m=280; /*用大于255的整数*/ n=320;

再运行程序,并观察分析运行结果。

6.*.编写一个C 程序,输入a ,b ,c 三个整数,求这三个数之和。

具体要求:

① 在Turbo C 环境或其他编译环境下编辑该程序,然后进行编译连接。

② 运行该程序,检查你所编写的程序是否正确。

实验二 顺序结构程序设计

一. 目的要求

1.掌握数据的输入输出的方法,能正确使用有关格式转换符; 2.熟悉顺序结构程序中语句的执行过程。 3.掌握顺序结构程序的设计方法。

二.实验内容

1.编写C 程序,按下列公式计算并输出S 的值。其中a 和b 的值由键盘输入。

2)(2b a ab

S +=

源程序清单: main( ) {

int a,b;

float s ;

scanf(“%d,%d ”,&a,&b); s=2*a*b/ (a+b)*(a+b); printf (“s=%f \n ”,s); }

具体要求:

①根据题目要求检查并修改上述源程序,在修改的基础上输入并调试源程序;

②对源程序进行编译、连接、运行直到得到正确的结果,并写出程序运行结果;

③对源程序进行存盘(文件名自定);

④在前三步的基础上将scanf 函数改为:scanf (“%d%d ”,&a,&b)再编译、连接、运行,直到得到正确的结果,并写出程序运行结果。

2、分析程序 (1) main()

{ int a=-1;

printf(“\n%d,%o,%x,%u\n ”,a,a,a,a); }

输入调试该源程序,写出运行结果并分析原因。

(2) main()

{unsigned a;

int b=-1;

a=b;

printf("%u",a);

输入调试该源程序,写出运行结果并分析原因。

3、编写下列程序,并上机调试运行程序。

(1)编程:设圆的半径为r=1.5,求圆周长、圆面积与圆球的体积。要求用scanf 函数输入数据,输出计算结果。输出时取小数点后两位数据。

(2)编程:输入一个华氏温度,要求输出摄氏温度。公式为c=5/9(f-32)。(3)编程:用getchar函数读入两个字符,然后分别用putchar函数和printf 函数输出这两个字符。上机运行程序,比较用putchar和printf函数输出字符的特点。

实验三选择结构程序设计

一.目的要求

1.学会正确使用关系运算符和关系表达式;

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

3.学会使用逻辑表达式和关系表达式等表达条件;

4.熟练掌握if语句和switch语句;

5.熟悉选择结构程序中的语句执行过程;并掌握选择结构程序的设计方法;二.实验内容

1、编写程序,判断从键盘上输入的一个字符,并按下列要求输出。

(1)若该字符是数字,输出字符串“0-9”;

(2)若该字符是大写字母,输出字符串“A-Z”;

(3)若该字符是小写字母,输出字符串“a-z”;

(4)若该字符是其他字母,输出字符串“!,@,……”。

部分源程序清单:

main( )

{char c;

scanf(“%c”,&c)

if(…0?<=c&&c<= …9?)

else if( )

printf(“A-Z\n”);

(…a?<= c&&c<= …z?)

printf (“a-z\n”);

printf (“!,@,…\n”); }

具体要求:

① 输入、完善上述源程序,并存盘; ② 对源程序进行编译、连接;

③ 运行程序,并写出运行结果(输入四组数据,分别对应四种情况)。

2、编写下列程序,并上机调试运行程序。 (1)有一函数

y=??

?

??≥-<≤-<)10( 113)101(

12)1(

x x x x x x 用函数输入的值(分别为小x<1,1<=x<10,>=10三种情况),求y 值。

(2)给出一个百分制成绩,要求输出成绩等级?A?、?B?、?C?、?D?、?E?。90分以上为?A?, 81~89分为?B?,70~79分为?C?,60~69分为?D?,60分以下为?E?。用switch 语句实现。

(3)给一个不多于5位的正整数,求出它是几位数。 (4)编程:要求输入a 、b 、c 三个值,输出其中最大者 (5)输入四个整数,要求按大小顺序输出。

实验四 循环结构程序设计

一、 目的要求

1.熟悉用while 语句,do-while 语句和for 语句实现循环的方法; 2.掌握在程序设计中用循环的方法实现各种算法; 3.理解循环结构程序中语句的执行过程;

二、 实验内容

1、编一个C 程序,计算并输出数列:1,3,5,…2n-1,…的前几项之和,其中n 由键盘输入。要求分别用三种循环语句实现。 方法1: 用for 语句实现。 main ( )

{long s, n, k, i; scanf(“ ”,&n); k=2*n-1;

for (i=1;i<=k ; )s+=i ;

printf(“1+3+……+%ld=%ld\n”,k,s);

}

方法2:用while语句实现。

main()

{long ,n,i=1;

scanf(“%ld”,&n);

while()

{s+=i;

;}

printf(“1+3+……+%ld=%ld\n”,2*n-1,s);

}

方法3:用do语句实现。

main()

{long s=0,n, ;

scanf(“%ld”,&n);

do

{s+=i;

}while();

printf(“1+3+……+%ld=%ld\n”,2*n-1,s);

}

具体要求:

①输入、完善上述源程序,并存盘;

②对源程序进行编译、连接;

③写出程序运行结果,并分析。

2、编写程序并上机调试运行:

(1)输入两个正整数,求其中最大公约数和最小公倍数。

(2)求1!+2!+3!+ (20)

(3)一球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高?

(4)打印出以下图案。

*

***

*****

*******

*****

***

*

(5)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想在吃时,见只剩下一个桃子了。求第一天共摘了多少个桃子。

(6)打印九九乘法表。

实验五综合运用三种基本结构进行程序设计

一、目的要求

1.进一步掌握选择结构程序设计的方法和技巧。

2.进一步掌握循环结构程序设计的方法和技巧。

3.综合运用三种基本结构进行程序设计。

三、实验内容

编写程序并上机调试运行:

1.百马百担问题。有100匹马,驮100担,大马驮3担,中马驮2担,两个小马驮1担。问大,中,小马各多少?(程序应考虑适当减少重复次数)2.输入一行字符,分别统计其中的英文字母、空格、数字和其它字符的个数。3.打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如153是一水仙花数。

4.将一个正整数分解成质因数的乘积。例如:输入90,打印90=2*3*3*5。5.利用循环语句编写程序:对一个正整数,将各位数字反序后的数输出。例如原数是12345,则计算机输出是54321;原数是987,则计算机输出是789。6.一个素数加上1000以后是37的倍数,求满足这个条件的最小的素数.

7.*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为

1、2、3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,

并按下面格式输出其因子:

6its factors are 1,2,3

实验六数组的定义及使用

一、目的要求

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

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

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

二、实验内容

1、从键盘输入一个整数n(n≤10)和n个整数,存入数组a中,先依次输出各

个数组元素的值,然后对数组a的所有元素值按从小到大的顺序重新排列后,再依次输出。

源程序清单:

main()

{int a[10],n,i,j, ;

printf(“input n=”);

scanf(“%d”,&n);

print f(“input array a[0] a[1]…a[%d]:\n”,n-1);

for(i=0;i

scanf(“%d”,);

printf (“before sort:array\n”);

for(i=0;i

printf (“%6d”,a[i]);

printf (“\n”);

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

{ min=i;

for(j= ;j

if(a[j]

temp= ;

a[i]=a[min];

=temp;}

printf (“after sort::array\n”);

for(i=0;i

printf (“%6d”,a[i]);

printf (“\n”);

}

具体要求:

①输入、完善并调试上述源程序;

②对源程序进行编译,连接,运行;

③写出程序运行结果(输入三组数据)。

2、编写程序并上机调试运行:

(1)用冒泡法对10个整数排序。10个整数用scanf函数输入。

(2)已有一个已排好序的数组,现输入一个数,要求按原来排序的规律将它插入数组中。

(3)求一个3*3矩阵两对角线元素之和。

(4)打印出以下杨辉三角形(要求打印10行)。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

……

(5)将两个字符串连接起来,不要用strcat函数。

(6)*.找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

实验七函数与预处理

一、目的要求

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

2.掌握函数实参与形参的对应关系,以及“值传递”的方式和数组名作为参数的传递方式;

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

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

5.理解宏的概念,掌握宏的定义。

6.了解文件包含的概念,掌握其用法。

二、实验内容

1、从键盘输入10个数存入数组a中,调用fmax求数组中的最大值并输出。

#include

void main(void)

{ int a[10],i,jmax;

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

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

jmax=fmax( ,10);

printf(“%d”,jmax);

}

fmax(int b[],int t)

{ int i,imax;

imax=b[0];

for(i=1;i

if(b[i]>imax) ;

return ;

}

具体要求:

①输入并完善源程序;

②对源程序进行编译、连接、运行;

③写出程序运行结果。

2、以下程序的功能是在mean 函数中求数组的平均值,在主函数中输出平均值。

#include

float mean(int x,int num) /*有错误*/ {int i; float avg;

for(avg=0,i=0;i

avg%=num; /*有错误*/ return(avg); }

void main(void) {

int i,a[15];

for(i=0;i<15;i++) a[i]=i+3;

printf("average:%6.2f\n",mean(&a,15)); /*有错误*/ }

①输入并改正源程序中的错误;

②对源程序进行编译、连接、运行;

③写出程序运行结果。

3、编写下列程序,并上机调试运行:

(1)求方程 ax 2+bx+c=0 的根,用三个函数分别求当b 2-4ac 大于0,等于0和小于0时的根,并输出结果。从主函数输入a 、b 、c 的值。

(2)写一个判素数的函数,在主函数输入一个整数,输出是否为素数的信息。 (3)编写一函数,由实参传递一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。 (4)输入10个学生5门课程的成绩,分别用函数求:(1)每个学生平均分;(2)每门课的平均分;

(5)用递归法求n 阶勒让德多项式的值,递归公式为

??

?

??

?---?-=--n x p n x p x n x x p n n n /))()1()()12((1)(21 )1()1()0(≥==n n n

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

(7)定义一个带参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

(8)输入两个整数,求它们相除的余数。用带参的宏来实现,编程序。

(9)编写函数,实现将两个字符串连接起来,在主函数中输入两个字符串以及输

出连接后的结果(不要用库函数strcat)。

(10)编写函数,实现比较两个字符串S1和S2的大小,如果S1>S2,输出一个正数;S1

注:该实验可用4学时。

实验八指针的定义及使用

一、目的要求

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

2.掌握指针的运算;

3.学会使用数组的指针和指向数组的指针变量;

4.学会使用字符串的指针和指向字符串的指针变量;

5.了解指向函数的指针变量;

6.了解指向指针的指针的概念及其使用方法。

二、实验内容

1、写出以下三个程序的结果,进行比较并分析原因。

(1)程序一

swap1(int x,int y)

{int t;

t=x;x=y;y=t;

}

void main(void )

{ int a=3,b=5;

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

swap1(a,b);

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

(2)程序二

swap2(int *a,int b)

{int t;

t=*a;*a=b; b=t;

}

void main(void )

{ int a=3,b=5;

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

swap2(&a, b);

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

(3)程序三

swap3(int *a,int *b)

{int t;

t=*a;*a=*b;*b=t;

}

void main(void )

{ int a=3,b=5;

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

swap3(&a,&b);

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

2、先完善以下程序,然后写出三个程序的结果,进行比较并分析原因。

(1)程序一:

#include

main()

{

int a[3][4] ={1,2,3,4,5,6,7,8,9,10,11,12};

int i,j;

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

{

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

printf("%4d",*(*(a+i)+j));

printf("\n");

}

}

(2)程序二:

#include

main()

{

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},*p;

int i,j;

p= ;

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

{

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

printf("%4d",*p++);

printf("\n");

}

}

(3)程序三:

#include

main()

{

int a[3][4] ={1,2,3,4,5,6,7,8,9,10,11,12};

int (*p)[4]; int i,j;

ptr= ;

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

{

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

printf("%4d",*(*(p+i)+j));

printf("\n");

}

}

3、以下程序通过指针操作,输入整型数据给数组并对数组值进行逆序输出。

#include

main()

{int a[10],*p;

for(p=a;p

scanf("%d",p);

p=a+10; /*$ERROR$ */

for(;p>a;p--) /*$ERROR$ */

printf("%5d",p); /*$ERROR$ */

}

具体要求:

①输入并改正源程序中的错误;

②对源程序进行编译、连接、运行;

③写出程序运行结果。

(/*$ERROR$ */表示相应行有错)

4、编写下列程序,并上机调试运行(都要求用指针实现)

(1)输入三个数,按由小到大的顺序输出。

(2)将一个3*3的矩阵转置,用一函数实现之。在主函数中用scanf函数输入矩阵元素,将数组名作为函数的实参。函数调用后在主函数中输出已转置的矩阵。(3)将n个数按输入时顺序的逆序排列,用函数实现。

(4)有n个整数,使前面个数顺序向后移m个位置,最后m个数变成最前面m 个数。写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数。(5)写一函数,求一个字符串的长度。main函数中输入字符串,并输出其长度。(6)输入三个字符串,按由小到大顺序输出。

(7)用一个函数实现两个字符串的比较,即自己写一个strcmp函数:strcmp(s1,s2) 如果s1=s2,则函数返回值为0;如果s1 s2,返回它们二者的第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第二个字母不同,“O”与“A”之差为79—65=14);如果S1>S2,则输出正值;如S1

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

(8)编写函数,实现将一个字符串拷贝到一字符数组中,在主函数中输入一个字符串并输出拷贝后的结果(不要用库函数strcpy)。

(9)*输入一个字符串,内有数字和非数字字符,如

a123xf46 17654?389tabc5609

将其中连续的数字作为一个整数,依次存放到一数组a中。例如123放在a[0],46放在a[1]……统计共有多少个整数,并输出这些数。

(10)*用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成

一个函数。n和整数在主函数中输入。最后在主函数中输出。

注:该实验可用4学时。

实验九结构体和共用体的使用

一、目的要求

1.掌握结构体类型变量的定义和使用;

2.掌握结构体类型数组的概念和应用;

3.掌握链表的概念,初步学会对链表进行操作;

4.掌握共用体的概念与使用。

二、实验内容

1、分析并验证以下程序的结果。

#include

struct student

{ long num;

char *name;

float score;

}stu[5]={ 930001,“Wang”,80.5,

930002,“Zhang”,79.6,

930003, “Li”,95.3,

930004, “Zhao”,84.5,

930005, “Huang”,91.2

};

void main(void)

{ int i;

struct student *sp;

sp=stu;

for(i=0;i<5;i++,sp++)

if(sp->score>=90.0)

printf(“%10ld%10s%6.1f\n”,sp->num,sp->name,sp->score);

}

具体要求:

①输入调试上述源程序,直到无错误为止;

②对源程序进行编译,连接,运行;

③写出程序运行结果。

2、填空

(1)设有三人的姓名和年龄存在结构体数组中,以下程序输出三人年龄居中者的姓名和年龄。

struct person

{

char name[20];

int age;

};

main()

{

struct per[]={"LiMing",18,

"WangHua",19,

"ZhangPing",20};

int i,max,min;

max=min= ;

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

if(per[i].age>max) max=per[i].age;

else if(per[i].age

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

{

if(per[i].age!=max per[i].age!=min)

{

printf("%s: %d\n",per[i].name,per[i].age);

break;

}

}

}

具体要求:

①完善并输入上述源程序;

②对源程序进行编译,连接,运行;

③写出程序运行结果。

(2)以下程序对学生的记录数据统计不及格人数,并输出不及格学生信息。

struct stu

{ int num;

char name[12];

float score;

};

main( )

{ _ _stud[5]={ {101,"Li ping",45},

{102,"Zhang ping",62.5},

{103,"He fang",92.5},

{104,"Cheng ling",87},

{105,"Wang ming",58} };

int i,n=0;

printf("num\tname\tscore\n");

i=0;

while(i<5)

{

if(_ _<60) /*$BLANK2$ if(stud[I].score<60)*/

{printf("%d\t%s\t%.2f\n",stud[i].num,stud[i].name,stud[i].score);

_ _;

}

i++;

}

printf("n=%d\n",n);

}

具体要求:

①完善并输入上述源程序;

②对源程序进行编译,连接,运行;

③写出程序运行结果。

(2)以下程序利用union类型,先输入两个字符,然后按整型数据输出,请填空。

#include

main( )

{union un

{int i;

char c[2];

};

_______ a;

scanf("%c,%c",_________);

printf("a.i=%d\n",_______);

}

3、编程并上机调试运行

(1)利用两个结构体变量求解复数的积:

(5+3i)*(2+6i)

(2)有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分的学生数据(包括学号、姓名、三门课的成绩、平均分数)。

要求:

(I)用一个input函数输入5个学生数据;

(II)用一个average函数求总平均分;

(III)max函数找出最高分学生数据;

(IV)总平均分和最高分的学生的数据都在主函数中输出。

(3)*13个人围成一圈,从第一个人开始顺序报号1、2、3。凡报到“3”者退出圈子,找出最后留在圈子中的人原来的序号。

(4)*建立一个链表,每个节点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的节点所包含的年龄等于此年龄,则将此节点删去。

实验十位运算和文件的应用

一、目的要求

1.加深对二进制的认识;

2.理解位运算的概念,掌握各种位运算的功能;学会使用位运算修改数据的方法;

3.掌握文件以及文件指针的概念;

4.学会使用文件打开、关闭、读、写等文件操作函数;

二、实验内容

1.分析以下程序输入数据,给出结果,并上机验证。

#include

void main(void)

{

int a;

unsigned b;

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

a=a>>2;

b=b<<3;

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

}

要求:

(1)输入调试上述源程序;

(2)对源程序进行编译,连接,运行;

(3

2.下面程序是从键盘上输入一些字符,逐个把它们保存到文件名为file1.txt中去,直到输入一个"#"为止。请改错。

程序如下:

#include

main()

{

FILE *fp;

char ch;

fp=fopen(file1.txt,"w"); /*$ERROR1$*/

if(fp==NULL)

{printf("Cannot open this file\n");exit(0);}

ch=getchar();

while(ch!='#')

{

fputc(ch); /*$ERROR2$*/

putchar(ch);

ch=getchar();

}

fclose(file1.txt); /*$ERROR3$*/

}

(/*$ERROR$ */表示相应行有错)

3.编写程序并上机调试运行。

(1)从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test.txt”中保存。输入的字符串以“!”结束。

(2)顺序显示(1)题创建的磁盘文件test.txt的内容。

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

(4)编程读出上题即(3) 磁盘文件中学生的信息。

注:带*的为选做题;相应章节的题目教师可根据需要进行一定的调整。

附录:

《C语言程序设计》教学大纲

课程名称:C语言程序设计

课程代号:07321010 学时数:60 学分数:3

适应专业:全院所有专业

一、本课程的地位、任务和作用

本课程是计算机科学与工程系、电气工程系、机械工程系、应用数理系、生物化学工程系、纺织服装系等系部各专业的系定必修课,通过本课程的学习可以使学生掌握结构化程序设计的方法,确立程序设计的思维方式,培养和提高学生的应用程序开发能力,并为数据结构、软件工程、C++等后续课程的学习打下基础。

二、本课程的相关课程

本课程的先修课程为计算机文化基础。通过对计算机文化基础的学习,可以使学生理解计算机工作的基本原理和计算机语言的一些基本概念,有助于编程思想的培养;另一方面为学生上机实践提供相应支持。

三、本课程的基本内容及要求

(一)基本内容

第1章C语言概述

C语言的发展过程及特点;C语言程序的基本结构;算法及其描述;C语言字符集、标识符与关键字;C程序的上机步骤。

第2章数据类型与表达式

C的数据类型;常量与变量;整型数据;实型数据;字符型数据;运算符和表达式;不同类型数据间的混合运算。

第3章顺序程序设计

C语言的基本语句;数据输入与输出;顺序结构程序设计举例。

第4章选择结构程序设计

关系运算;逻辑运算;if语句;switch 语句;选择结构程序举例

第5章循环结构程序设计

while 语句;do-while语句;for语句;转移语句;循环的嵌套;循环结构程序举例及综合三种结构编程。

第6章数组

一维数组的定义、引用、初始化;一维数组程序举例;二维数组的定义、引用、初始化;二维数组程序举例;字符数组的定义、引用、初始化;字符串处理函数;字符数组应用举例;常见算法讲解。

C语言实验指导书

《C语言》实验指导书 2016年10月

实验一C程序得运行环境与运行方法 一、实验目得 1。掌握所用得C语言环境得基本操作方法、 2.掌握编辑、编译、连接与运行C程序。 二、实验内容与要求 1、学习使用Visual C++6.0环境开发C程序。 (1)在磁盘上建立自己得文件夹,用于存放C程序,如“e:\cexam”。 (2)启动Visual C++6。0、执行“开始”-—“所有程序”——“Microsoft Visual Studio 6。0"——“Microsoft Visual Studio 6.0”命令,进入VC++编程环境,如图1 所示。 图1 MicrosoftVisual Studio6、0窗口 (3)新建C 程序文件。 执行“文件”——“新建”命令,单击如图2所示得“文件”选项卡,选中“C++So urceFile”;

图 2 新建文件 在“文件”文本框中输入文件名test1, 则C源程序被命名为test1。cpp,若想指定扩展名为.c,则需在“文件”文本框中输入文件名test1.c;在“目录”下拉列表框选择已经建立得文件夹,如,单击“确定”按钮,就新建了C源程序文件,并显示编辑窗口与信息窗口,如图3所示,然后在编辑窗口中输入程序。 (4)保存程序。 在如图3得界面输入程序代码。由于完全就是Windows 界面,输入及修改可借助鼠标与菜单进行,十分方便。当输入结束后,执行“文件”——“保存”命令,保存源文件。 图3编辑源程序(5)编译程序。信息窗口编辑窗口

执行“组建”--“编译[test1、cpp]”命令,弹出消息框,如图4所示,单击“就是"按钮,开始编译,并在信息窗口中显示编译信息。如果信息窗口中显示“test1.obj-0error(s),0 warning(s)",表示编译正确,没有发现错误与警告,并生成了目标文件test1、obj、 图4产生工作区消息框 如果显示错误信息,说明程序中存在严重得错误,必须改正,双击某行出错信息,程序窗口中会指示对应出错位置,根据信息窗口得提示分别予以纠正;如果显示警告信息,说明这些错误并未影响目标文件得生成,但通常也应该改正。 (6)连接程序。 执行“组建”——“组建[test1.exe]”命令,开始连接,并在信息窗口中显示连接信息、如果信息窗口中出现“test1.exe—0 error(s),0 warning(s)”,表示连接成功, 并生成了可执行文件test1、exe。 (7)运行程序。 执行“组建"——“执行[test1、exe]”命令,自动弹出运行窗口,如图5所示,显示运行结果。其中“Pressany key to continue”提示用户按任意键退出运行窗口,返回到VC++编辑窗口。 图 5 显示运行结果 (8)关闭程序工作区。 当一个程序编译连接后,VC++系统自动产生相应得工作区,以完成程序得运行与调试。若想执行第二个程序时,必须关闭前一个程序得工作区,然后通过新得编译连接,产生第二个程序得工作区。否则得话运行得将一直就是前一个程序。 执行“文件"--“关闭工作区命令",弹出得对话框如图 6所示,单击“就是”按钮,关闭工作区。 图 6 关闭所有文档窗口 (9)打开文件、 如果要再次打开C源文件,可以执行“文件”——“打开”命令,在查找范围中找到

《C语言》实验指导书

内江职业技术学院 上机实验指导书 科目:C语言程序设计 系别:电商学院 班级:15软件1班 教师:王刚 2015—2016学年第一学期

《计算机基础》课程实验指导书 目录 实验一C语言概述 (1) 实验二基本数据类型 (3) 实验三输入输出和算法 (6) 实验四选择和循环结构 (10) 实验五循环结构和函数 (13) 实验六模块化设计 (14) 实验七一维数组和字符串 (18) 实验八多维数组和指针 (20) 实验九指针 (22) 实验十指针和结构体 (23) 实验十一链表和共同体 (26) 实验十二文件 (27) 教材和参考书 1、教材: 《谭浩强、张基温,《C/C++程序设计教程》,高等教育出版社。 2、参考书: (1)《(美)H.M.Deitel,P.J.Deitel著,薛万鹏译,《C程序设计教程》,机械工业出版社。 (2)杨路明,《C语言程序设计教程》,北京邮电大学出版社。

实验一C语言概述 一、实验目的 1、了解所用的计算机系统。 2、了解在该系统上如何进行编辑、编译、连接和运行一个C程序。 3、通过运行简单的C程序了解C程序的特点。 二、实验内容 1、熟悉C语言集成环境。 2、利用C语言集成环境进行编辑、编译、连接和运行一个C程序。 3、运行一个自己编写的程序,程序的功能是输出两行文字。 三、实验设备及环境 微机若干台,并安装有C语言软件。 四、实验步骤 1、熟悉所用的系统。了解Windows资源管理器的使用方法:文件的查看、复制、运行等方法,C所在目录,文本文件的建立方法。 2、进入C,并新建一个C源程序文件。 3、熟悉C的集成环境,了解各菜单项有哪些子菜单。 4、输入下面的程序,注意区分大小写。 #include void main() { printf("This is a C program.\n"); } 编译并运行程序。 5、关闭工作区,新建一个程序,然后输入并运行一个需要在运行时输入数据的

C语言实验指导书

《C语言程序设计》实验指导书 每次实验(10分)一共100分,最后折合成50分计入最终成绩。 第一次实验(一星期完成) ●内容一:熟悉编译环境和工具 在VS中键入以下的这段程序 1)关键字变色,自动缩近,智能提醒 2)代码风格和注释 3)编译出错,连接出错。修改错误 4)调试,断点,监控变量,进入函数,跳出函数。监控内存,监控堆栈 在linux中键入以下这段程序 1)熟悉VIM程序,gcc编译程序(开两个终端窗口) 2)熟悉GDB调试程序的基本技巧。(list,backstrac; break, watch,delete; next, continue, run; print,set,help) 其中,help命令是一个非常的参考,如果忘记了某条具体的命令,可以随时去参考help命令来得到相关的细节。 3)介绍《鸟歌的私房菜》这本书 ●内容二:登陆https://www.sodocs.net/doc/0c17834949.html,网站,在线提交。 1)熟悉基本的提交方法和规则 2)现场演示反作弊程序的效果 ●程序: 输入:两个整数,用空格分隔, 输出:两个整数的和,计算两个整数的和的功能,要求用函数实现,同时如果输入有错误,例如(12 abc)程序能够给出“error input”的提示。 参考输入: 12 33 参考输出: 45 参考输入: 12 abc 参考输出:

error input ●思考和扩展(无标准答案) 如果用户输入12 12abc 如何判断并终止程序,输出“error input”的提示 第二次实验(一星期完成) ●内容一:登陆ACM,演示OJ系统 1)介绍这个网站,有兴趣的同学可以去尝试一下() ●内容二:计算工资/小时程序 1)强制类型转换 2)一共有多少位的算法 3)整形数的溢出,以及针对特定问题,如何解决溢出问题 注意:linux编译下应该加上–lm 开关。 ●程序: 输入:工资数,小时数(整数,空格分隔)。 输出:工资/小时数(精确到小数点后2位),并根据四舍五入取整,然后将取整的数平方后计算一共有几位,后三位分别是什么? 参考输入: 2345 2 ←input (separate by space) 参考输出: 1172.50 ←average salary 1173 ← round off to integer 7 ← number of digit 0 2 5 ← the last three digit (separate by space) 第三次实验(两星期完成) ●内容一:介绍linux 下的grep,并给出相应的实例。重点介绍下面要用到的四个符号。 ●内容二:正则表达式 ^ 代表字符串开始 . 代表任意字符 $ 代表字符串末尾

C语言实验指导书

C语言程序设计实验指导书 沈岚岚吕元长编写 桂林电子科技大学信息科技学院 2012.03

前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果; 4 对结果的分析和本次获得的经验和体会。

C语言实验指导书

实验1 C语言初步与编程环境介绍(2学时) 1.目的要求 1)熟悉C语言基本结构, 2)熟悉VC控制台应用程序设计的使用方法。 2.实验内容 (1)创建项目,分别将教材P13和P14程序输入并编译。 (2)下列程序能正确运行吗?如果能,写出运行结果;如果不能,指出错误原因并改正。 Main() { printf("hello\n"); } 附:VC 6.0 环境的使用方法介绍 Microsoft Visual C++ (简称VC)是微软公司生产的基于其Windows系统的软件开发工具。它具有使用灵活,并与32位Windows内核(使用于Windows 95/98/NT/2000)高度兼容的特点,从而被Windows程序员们广泛使用。同时,VC同样可以加工处理C语言程序,与标准的ANSI C语言兼容。VC提供了一种控制台操作方式,本实验课程主要在控制台方式下进行设计运行。 一、什么是控制台程序? Win32控制台程序(Win32 Console Application)是一类Windows程序,它不使用复杂的图形用户界面,程序与用户交互时通过一个标准的文本窗口,通过标准的输入输出流(I/O Streams)进行。 一个最简单的控制台程序如下: #include // 包含使用标准输入输出库的头文件声明 main() { printf(”Hello World!”); //输出一个字符串 } 二、如何使用MSVC编写控制台程序?

控制台程序按照下面几个步骤进行。 1、打开VC集成开发环境。 双击桌面图标“Microsoft Visual C++ 6.0”,或者从系统菜单“开始”/“程序”/“Microsoft Visual Studio 6.0”/“Microsoft Visual C++ 6.0”(如图1),打开VC 开发环境(如图2)。 图 1 从开始菜单中打开VC开发环境 图 2 VC开发环境界面

《C语言》实验指导书

《C语言程序设计》 实 验 指 导 书 华中师范大学信息技术系 二00九年三月

项目一:熟悉C语言的运行环境及简单程序设计 (11) 实验一熟悉C语言的运行环境 实验二c程序初步 (3) 实验三数据类型及输入输出 (5) 实验四运算符与表达式 (8) 项目二:流程控制、指针、数组、模块化程序设计 实验五分支程序设计 (9) 项目六循环程序设计 (11) 项目七函数 (12) 项目八数组 (13) 项目九指针 (15) 项目三:综合程序设计——竞赛编排及优胜排序 (注:每个项目应包含实验学习目标、实验内容、实验原理、实验设备、实验步骤、实验注意事项或实验思考等内容。 基本型实验应有明确的实验学习目标、详细的过程和具体的结果;综合设计型实验应有明确的实验学习目标、可参考的过程和实验结果评价标准)

实验基本要求 1、每次实验前,学生必须预习实验内容,实验程序必须自行编制、自行调试。 2、每次实验,学生都必须提交实验报告,内容包括实验目的、实验内容、实验程序、实验过程(软件的使用、程序的调试)等,见下面的实验报告模版。 3、学生第一次上机时,应在教师机指定文件夹下建立以自己学号+姓名的子文件夹,例如学号为2005683001的学生张三,应在教师机指定文件夹下建立“2005683001张三”的子文件夹,此文件夹就是学生张三存放本课程实验全部文档的文件夹,也是教师评价学生饰演成绩的主要依据。 4、学生每次实验完毕后,都应将实验报告、实验程序等文档上传到教师机自己建立的子文件夹中。 5、学生每次实验,都应该在考勤表上签到。 附 华中师范大学信息技术系c语言程序设计实验报告 实验目的: 实验设备(包括软件): 实验内容: 实验过程: 实验程序及实验结果: 实验体会:

C语言实训指导书

C语言实训指导书 C语言课程组编写 适用专业2010级计算机应用技术专业 2010级计算机网络技术专业 2010级计算机软件技术专业 2010级计算机网络工程专业 2010级计算机信息管理专业 2010级计算机网络安全专业 2010级计算机电子商务专业

软件学院CCUTSOFT 2011年1月 目录 C语言实训安排 (3) 一.实训时间 (3) 二.实训地点 (3) 三.实训对象 (3) 四.开发环境 (3) 五.实训目的 (3) 六.实训内容 (4) 七.实训题目 (4) 八.指导教师 (6) 十.实训方案 (7) 十一.实训要求 (7) 十二.考核方式 (8) 十三.进度计划 (9) 附录 (9)

C语言实训安排 一.实训时间 起始时间:2010.1.4——2008.1.12 上午:8:00——12:30 下午:13:00——17:30 二.实训地点 软件楼204、206、401、402、404、408、412、416、504、606、608、612、614 三.实训对象 10级计算机应用技术专业 10级计算机网络技术专业 10级计算机软件技术专业 10级计算机网络工程专业 10级计算机信息管理专业 10级计算机网络安全专业 10级计算机电子商务专业 四.开发环境 Turbo C 2.0 五.实训目的 本次实训旨在进一步巩固学生本学期在C语言课程上的所学,加强学生对面向过程的理解,加快学生编程思想的形成,培养学生的编程兴趣,从而更快的提高学生的程序设计能力,并为下学期各课程的打下一个坚实的基础。

六.实训内容 本次实训要求学生依据指导教师对实训各题目的讲解和实训指导书中对各实训题目的分析,结合自身学习情况,从四道实训题目中人选一题,独立完成该题目的设计和实现,并完成实训报告的撰写。 七.实训题目 题目一:迷宫游戏 内容:1、使用二维数组形成游戏地图,数组元素0表示墙1表示路2表示出口。 2、用*表示人,E表示出口,并在游戏地图输出完毕后,单独输出。 3、当人物标示与出口标示重合时,输出成功提示,并结束程序。 4、使用共用体变量接收键盘按键信息。 5、使用bios.h函数库中的bisokey函数读取键盘按键信息。 6、使用stdio.h函数库中的gotoxy函数设置输出位置。 7、使用键盘方向键LEFT、RIGHT、UP、DOWN移动人物,键值分 别为75、77、72、80。 8、使用ESC键退出程序运行界面并显示失败提示,键值27。 9、在移动过程中要注意处理重合问题。 题目二:学生成绩管理 内容:1、使用结构体数组定义学生基本信息(学号、姓名、年龄)及成绩(C语言成绩、英语成绩和数据库成绩)。如下: struct student { int id,age,cscore,enscore,dbscore; char name[21]; }students[5]; 2、实现学生基本信息(学号、姓名、年龄)及成绩(C语言成绩、 英语成绩和数据库成绩)的录入。 3、基本信息的查询(根据学号)、删除(根据学号)与修改(根据学 号)。 4、根据每科成绩,求出每个人的总分 5、对学生考试成绩进行排序(根据学号或各科成绩排序)

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

C程序设计实验指导书 桂林电子科技大学职业技术学院 二零一二年十月

实验一C程序的运行环境和程序结构 一、实验目的 1.了解所用计算机系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.学习从开机开始的操作,包括如何建立子目录、使用操作命令 列目录、打印文件内容、删除文件、复制文件等。熟悉VC++6.0集成环境的使用 ①启动VC++6.0集成开发环境 选择“开始”→程序→Microsoft Visual Studio6.0打开后显示如下 ②在VC++6.0主窗口中,选择“文件”→“新建”命令,弹出下图所示“新建”对话框

点击“文件”显示如下图对话框 ③之后在文件编辑窗口开始编写程序

文件编 辑窗口 ④程序编辑完成后开始编译→链接→运行 2.自己编写一个简单的程序,输出以下信息: **************************** C Program **************************** 3.自己编写一个简单的程序,打印出学号、姓名、性别等学生 记录。 4.调用编辑程序,输入教材第一章的程序,并进行编译和运行。 5.完成一个学生信息管理系统登录界面

三、实验要求 在实验之前,要求同学熟悉main函数、变量的定义、注释、分号的 作用、函数的说明、函数体等内容

实验二数据类型、运算符和表达式 一、实验目的 1. 掌握C语言的数据类型,熟悉如何定义一个整型、字符型、实型变量,了解赋值的方法和数据输出的格式。 2. 学会使用C语言的有关算术运算符和表达式,熟练掌握C程序的编辑、编译、连接、运行的过程。 二、实验内容 (1) 输入下列程序: void main() { char c1,c2; c1=97;c2=98; printf(“%c,%c”,c1,c2); } a)将上面的“%c”改为“%d”运行程序,输出运行结果; b)将“char”改为“int”运行程序, 输出运行结果; c) 将“c1=97”改为“c1=’a’”运行程序,输出运行结果 d) 将“c1=97”改为“c1=500”运行程序, 输出运行结果; 根据运行结果说明原因? (2)调试程序: void main() {

C语言程序设计实验指导书(新编)

C语言程序设计实验指导书 桂林电子科技大学信息科技学院

前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果; 4 对结果的分析和本次获得的经验和体会。

实验一 C语言程序初步 数据类型、运算符和表达式 一实验目的 1 熟悉C语言运行环境——Microsoft Visual C++ 6.0中文版。 2 掌握C语言程序的书写格式和C语言程序的结构,初步了解C源程序的特点。 3 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。 4 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。 5 掌握不同的类型数据之间赋值的规律。 二实验内容 1 C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名sy1,在“c:位置”下拉框中输入或选择文件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。 ⑶建立C++源文件:在“工程”菜单中选择“添加到工程”—“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C++ Source File”,在右边的“文件”框中输入文件名sy11后单击“确定”。 ⑷输入源程序:在弹出的文件编辑窗口中输入下面的源程序: #include void main() { printf("Hello,World!\n"); printf("Welcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } ⑸编译:用“编译”菜单的“编译”命令项对源文件sy11.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:

C语言程序设计实验实验指导书及标准答案

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++6.0调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果:

C语言实验指导书16学时

C语言程序设计实验指导书 沈曦吕元长 桂林电子科技大学信息科技学院 2010-3-18

C语言程序设计实验指导书 前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果;

4 对结果的分析和本次获得的经验和体会。 实验一 C语言程序初步 数据类型、运算符和表达式 一实验目的 1 熟悉C语言运行环境——Microsoft Visual C++ 6.0中文版。 2 掌握C语言程序的书写格式和C语言程序的结构,初步了解C源程序的特点。 3 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。 4 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。 5 掌握不同的类型数据之间赋值的规律。 二实验内容 1 C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名sy1,在“c:位置”下拉框中输入或选择文件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。 ⑶建立C++源文件:在“工程”菜单中选择“添加到工程”—“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C++ Source File”,在右边的“文件”框中输入文件名sy11后单击“确定”。 ⑷输入源程序:在弹出的文件编辑窗口中输入下面的源程序: #include void main() { printf("Hello,World!\n"); ( printf("Welcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } ⑸编译:用“编译”菜单的“编译”命令项对源文件sy11.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编

c语言实验指导书作业版3

实验2 数据类型 三、实验内容 1.阅读下面程序,熟悉C语言中各种基本数据类型,写出程序运行结果,并上机验证。 #include "stdio.h" void main() { int x; long y; char c; float d; double e; x=100; y=65486l; c='a'; d=31478.5692; e=314786666666.56785643; printf("x=%d,x=%x,x=%o\n",x,x,x); printf("c=%c,c=%d\n",c,c); printf("y=%ld,y=%d\n",y,y); printf("d=%f\n",d); printf("e=%lf\n",e); } △程序输出结果为:◇上机验证结果: 总结: 根据上机验证结果,float型的有效位数为7 位,double型的有效位数为15 位。3.使用调试方法,发现下面程序的逻辑错误,并修改。 /*本程序功能是计算任意两个实数的和!*/ #include "stdio.h" /*预处理命令*/ int add(int x,int y) {int z;z=x+y; return z;} void main( ) { int a, b,sum; /*定义加数a,b和sum*/ a=1.5; /*给a赋值1*/ b=2.7; /*给b赋值2*/ sum=add(a,b); /*求a,b之和*/ printf("sum=%d\n",sum); /*输出sum*/

} 修改后: #include “stdio.h" /*预处理命令*/ int add(float x,float y) {float z; z=x+y; return z; } void main( ) { float a, b,sum; /*定义加数a,b和sum*/ a=1.5; /*给a赋值1*/ b=2.7; /*给b赋值2*/ sum=add(a,b); /*求a,b之和*/ printf("sum=%d\n",sum); /*输出sum*/ } 4.指针初步使用: (1)阅读程序,回答问题。 #include void main( ) { int i=2,*ip; /* i= 2 ip= *ip= */ ip=&i; /*i= 2 &i= 2 ip= 2 *ip= 2 */ i++; /* i= 3 */ printf("i=%d,*ip=%d\n",i,*ip); /*i= 3 *ip= 2 */ } a.写出程序运行结果并上机验证。 将相应结果填入程序的注释语句中的横线上。 (2) 按照注释语句的要求在横线上填入正确语句。 #include void main() { int i=2,*ip; ip=&i; i=ip+1 /*利用指针变量ip使得实现变量i加1运算*/ printf("i=%d,*ip=%d\n",i,*ip); }

c语言实验指导书

实验一基本类型的程序设计方法(4学时) 一.实验类型 验证性 二.实验目的 1.掌握所用的C语言环境的基本操作方法。 2.掌握编辑、编译、连接和运行C程序。 3.掌握C程序的数据类型、运算符,表达式。 三.实验容和要求 1. C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名sy1,在“c:位置”下拉框中输入或选择文件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。 ⑶建立C++源文件:在“工程”菜单中选择“添加到工程”—“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C++ Source File”,在右边的“文件”框中输入文件名sy11后单击“确定”。 ⑷输入源程序:在弹出的文件编辑窗口中输入下面的源程序: #include void main() { printf("Hello,World!\n"); ( printf("Welcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } ⑸编译:用“编译”菜单的“编译”命令项对源文件sy11.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:

C语言实验指导书

1.假设公民的个人所得税为工资总额的5%,编程输入一个公民的工资总额,计算其应缴纳的个人所得税和其扣除所得税后的实际工资,并输出。 #include void main() { float a,b,c; scanf("%f",&a); b=a*0.05; c=a-b; printf("b=%5.2f\nc=%5.2f",b,c); } 2.利用格式控制符输出以下图形。 * *** *****

******* ********* #include void main() { printf(" *\n ***\n *****\n *******\n*********\n"); } 3.从键盘上输入圆的半径,圆柱的高,求圆的周长,圆球的表面积、圆球的体积、圆柱体积。用scanf输入,用printf输出。输出时有文字说明,取小数点后2位数字。请编程序。 #include void main() { float r,h,c,s,v1,v2; scanf("%f%f",&r,&h); c=2*3.14*r; s=4*3.14*r*r;

v1=4/3*3.14*r*r*r; v2=s*h; printf("圆的周长:%5.2f\n圆球的表面积:%5.2f\n圆球的体积:%5.2f\n圆柱体积:%5.2f\n",c,s,v1,v2); } 4.编制程序,根据输入的x的值,计算y的值并输出。 #include void main() { float x,y; scanf("%f",&x); if(x<=2.5) y=x*x+1; else if(x>2.5) y=x*x-1; printf("y=%5.2f\n",y); } 5.从键盘上输入三个数a,b,c,按照从小到大的顺序排序后输出。(要求,最后数从小到大依次存放在a,b,c中)。如:从键盘上输入:23 12 45,程序处理后应该是a=12 b=23 c=45。然后输出a,b,c即可。 #include void main()

c语言实训指导书

C语言程序设计基础 实 训 指 导 书 二0一三年一月

实训一熟悉VC++实验环境 【实训目的】 1. 熟悉VC++实验环境 2. 掌握C语言程序的基本结构 3. 掌握C语言程序的编辑、调试和运行过程 【实训内容】 1. 编程,在屏幕上显示一个短句“this is my first c program.”。 2. 调试示例,在屏幕上显示一个短句“welcome to you!”。 源程序(有错误的程序) #include void mian() { printf(Welcome to You!\n”) } 运行结果(改正后的运行结果) Welcome to You!

实验二简单程序设计 【实训目的】 1. 掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。 2. 通过编程进一步理解和掌握运算符的确切含义和功能。 3. 理解和掌握运算符与运算对象的关系,优先级和结合方向。 4. 通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。 5. 掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。 6. 掌握简单的C程序的查错方法。 【实训内容】 一、.输入程序,观察输出结果,并对输出结果作出合理的解释。 1./* e1.c */ #include void main() { float x; double y; x=213.82631;y=213.82631; printf("%-4.2f,-6.2e\n",x,y); } 输出结果: 解释: 2./*e2.c */ #include void main() { char ch; int k; ch=’a’; k=10; printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k); printf(“k=%%d\n”,k); } 输出结果: 解释: 3./*e3.c */

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

C 语言程序设计 实 验 指 导 书 电子工程学院 2012-2

实验一 C程序的运行环境和编辑、调试、运行简单C程序 一、实验目的 1.了解 Turbo C 的基本操作方法,学会独立使用该系统。 2.掌握在该系统上如何编辑、编译、运行一个C程序。 二、实验内容及步骤 1.进入C的工作环境 1)在Windouws环境下:“开始”→“程序”→“MS-DOS” 屏幕上进入 MS-DOS窗口 2)在Dos环境下:键入命令c:\> cd c:\tc↙ c:\tc> tc↙ 屏幕上出现Turbo C的工作环境 2.熟悉Turbo C的工作环境 了解Edit窗口与Message窗口 了解主菜单的8个菜单项 File Edit Compile Project Option Debug break/watch 3.输入并运行一个简单的程序 File→New 输入源程序:

main() { printf("This is a C program.\n"); printf("OK\n"); } 按F9进行编译和连接,观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 按Run→Run(或按Ctrl+F9) 编译、连接、运行一起完成。 按Run→User screen(或按Alt+F5) 察看运行结果。 按任一键从用户屏切换回TC窗口。 4.输入并编辑第二个C程序 File→New 输入源程序: main ( ) { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n", sum); }

编辑、运行、调试该程序。 5.编辑、运行、调试自己编写的程序(至少一个程序) 如:输入上底、下底和高,计算梯形面积。 观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 用File→Save (或F2)保存程序(程序名为a1.c) 三、实验报告要求 写明: 1.实验目的 2.实验内容与步骤 3.编写的程序(题目,经调试、运行后正确的程序) 4.编译过程中出现的错误信息。 5.总结讨论本次实验的结果和收获。

华农C语言实验指导书 参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 实验1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个C程序 [题目:The first C Program] 将下列程序输入TC(或VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以Turbo C上的操作为例 (1)Windows进入后,按照第一章中介绍的方法,进入Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。

2. 在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 2 printf("%d", a + b); } (1)在程序编辑窗口中输入程序。 (2)保存程序,取名为a2.c。 (3)按照前二章中介绍的方法,编译、连接和运行程序。 (4)在程序运行过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入JudgeOnline实验系统。 (7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。 (8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序a2.c。 (9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。 3 实验2 基本数据类型、运算和表达式 一、实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运 算符的使用。 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。void main() { int a, b; /*定义整型变量a和b*/ int i, j; /*定义实型变量i和j*/ a=5; b=6; i=3.14; j=i*a*b;

C语言程序设计实验指导书参考答案

C语言程序设计实验指导书参考答案

上级实验参考答案#include "stdio.h" #include"math.h" int main() { int i; double a, b; for(i=0;i<=100000;++i) {a=sqrt(i+100); b=sqrt(i+168); if((int)a==ceil(a)&&(int)b==ceil(b)) printf("%d\n",i);} } 实验2 基本数据类型、运算和表达式 一、实验目的 1)掌握C 语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。2)掌握不同的类型数据之间赋值的规。3)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加++ )和自减--)运

算符的使用。 4 )进一步熟悉C 程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。 void main() { int a, b; /*定义整型变量a 和b*/ int i, j; /*定义实型变量i 和j */ a=5; b=6; i=3.14;j=i*a*b; printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i,j); }

[具体操作步骤] 1)将代码补充完整; 2)在TC 或VC++上运行通过; 3)在JudgeOnline 实验系统上提交; 2. 赋值表达式与赋值语句 [题目1118:赋值表达式与赋值语句,写出程序运行结果] 阅读下面程序,写出运行结果: void main() { float a; int b, c; char d, e; a=3.5; b=a; c=330;

相关主题