C语言程序设计实验报告

《C语言程序设计》实验报告

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

? 实验目的

(1)了解所用的计算机系统的基本操作方法,学会独立使用该系

统。

(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 ? 实验内容

(1) 调用教材P4例1.1程序,并进行编译和运行。

(2) 输入并运行教材P4例1.2程序。

(3) 编写并运行教材P12习题1.5。

1. main()

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

运行结果: This is a program.

2. main()

{ int a ,b ,sum;

a=123; b=456;

sum=a+b;

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

运行结果:sum is 579

3. main()

{ printf(“* * * * * * * * * * * * * * * * * * * * * * *\n”); printf(“ Very good\n”);

printf(“* * * * * * * * * * * * * * * * * * * * * * *\n”); }

运行结果:* * * * * * * * * * * * * * * * * * * * * * * Very good

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

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

? 实验目的

(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实

型变量,以及它们的赋值方法。

(2)学会使用C语言的算术运算符,以及包含这些运算符的表达

式,特别是自加和自减运算符的使用。

? 实验内容

(1)输入并运行教材例3.6程序,并进行编译和运行。

(2)编写并运行教材习题3.10,并写出运行结果。

(3)编写并运行教材习题3.7,并写出运行结果。

实验三 顺序结构程序设计

? 实验目的

(1)掌握C语言中使用最多的一种语句—赋值语句的使用。

(2)掌握数据的输入输出的方法,能正确使用各种格式的转换符。 ? 实验内容

(1)编写并运行教材习题4.8(作业),并写出运行结果。

(2)编写并运行教材习题4.9,写出当F=100时的结果。

实验四 选择结构程序设计

? 实验目的

(1)了解C语言表示逻辑量的方法。

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

(3)熟练掌握if语句和switch语句。

? 实验内容

(1) 编写并运行教材习题5.5,并写出当输入-1、5、10时

的运行结果。

(2) 编写并运行教材习题5.6,并写出当输入100、90、80

时的运行结果。

实验五 循环控制

? 实验目的

(1)熟悉用while语句,do—while语句和for语句实现循环的

方法。

(2)掌握在程序设计中用循环的方法实现各种算法。 ? 实验内容

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

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

其它字符的个数。

(3)打印出所有的“水仙花数”。

实验六 数组

? 实验目的

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

(2)掌握字符数组和字符串的使用。

? 实验内容

(1)求一个3×3矩阵的主对角线元素之和。

(2)打印杨辉三角(打印10行)。

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

实验七 函 数

? 实验目的

(1)掌握定义函数的方法。

(2)掌握函数的嵌套调用和递归调用的方法。 ? 实验内容

(1)编写并运行教材习题8.3。

(2)编写并运行教材习题8.4。

1. main()

{ int number;

scanf(“%d”,&number);

if (prime(number))

printf(“\n %d is a prime number.”,number); else

printf(“\n %d is not a prime number.”,number); }

int prime(int number)

{ int flag=1,n;

for (n=2;n<number/2 && flag==1;n++)

if (number%n==0) flag=0;

return;

}

运行结果:

9

9 is not a prime number.

2. int array[3][3];

void convert(int array[3][3]) { int i,j,t;

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

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

{ t=array[i][j];

array[i][j]=array[j][i]; array[j][i]=t;

}

}

main()

{ int i,j;

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

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

scanf(“%d”,&array[i][j]); printf(“\n the array is :\n”) for(i=0;i<3;i++)

{ for(j=0;j<3;j++)

printf(“%5d”,array[i][j]); printf(“\n”);

}

convert(array);

printf(“the convert array is:\n”); for(i=0;i<3;i++)

{ for(j=0;j<3;j++)

printf(“%5d”,array[i][j]); printf(“\n”);

}

}

运行结果:

1

2

3

4

5

6

7

8

9

the array is : 1 2 3

4 5 6

7 8 9

the convert array is: 1 4 7

2 5 8

3 6 9

实验八 编译预处理

? 实验目的

(1)掌握宏定义的方法。

(2)掌握文件包含的方法。

(3)掌握条件编译的方法。

? 实验内容

(1)定义一个带参的宏,使两个参数的值互换。在主函数中输入

两个数作为使用宏的实参,输出已交换后的两个值。

(2)输入两个整数,求它们相除的余数,用带参的宏来实现,并

写出输入为80、29时的结果。

1. #define SWAP(a,b) t=b;b=a;a=t

main()

{

int a,b,t;

printf(“please input two numbers:”);

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

SWAP(a,b);

print(“the result is:a=%d, b=%d\n”,a,b);}

运行结果:

please input two numbers:3,4

the result is :a=4,b=3

2. #define SURPLUS(a,b) ((a)%(b))

main()

{ int a,b;

printf(“please input two numbers:”); scanf(“%d,%d”,&a,&b);

printf(“a,b相除的余数为:%d\n”,SURPLUS(a,b)); }

运行结果:

please input two numbers:80,29

a,b相除的余数为:22

实验九 指 针

? 实验目的

(1)掌握指针的概念,会定义和使用指针变量。

(2)学会使用数组的指针和指向数组的指针变量。

(3)学会使用字符串的指针和指向字符串的指针变量。 ? 实验内容

(1)输入三个整数,按由小到大的顺序输出,要求用指针实现。

(2)编写并运行教材习题10.3。

1. main()

{int a,b,c;

int *pointer_1,*pointer_2,*pointer_3;

printf(“please input three numbers:”);

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

pointer_1=&a;

pointer_2=&b;

pointer_3=&c;

if (a>b) swap(pointer_1,pointer_2);

if (a>c) swap(pointer_1,pointer_3);

if (b>c) swap(pointer_2,pointer_3);

printf(“the sorted numbers are :%d,%d,%d\n”,a,b,c); }

Swap(int *p1,int *p2)

{int p;

P=*p1;*p1=*p2;*p2=p;

}

运行结果:

please input three numbers:34,21,25

the sorted numbers are :21,25,34

2. main()

{ int number[10];

Input(number);/*调用输入10个数的函数*/

max_min_value(number);/*调用交换函数*/

output(number);/*调用输出函数*/

}

void input(int number[])

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

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

void max_min_value(int array[]) {int *max,*min;

int *p,*array_end;

array_end=array+10;

max=min=array;

for(p=array+1;p<array_end;p++) if (*p>*max) max=p;

else if (*p<*min) min=p;

*p=array[0];array[0]=*min;*min=*p; *p=array[9];array[9]=*max;*max=*p; return;

}

void output(int array[])

{int *p;

printf(“10 numbers after exchanged:”);

for(p=array;p<array+9;p++)

printf(“%d”,*p);

printf(“%d\n”,array[9]);

}

运行结果:

32,24,56,78,1,98,36,44,29,6

10 number after exchanged:1,24,56,78,32,6,36,44,29,98

 

第二篇:C语言程序设计实验报告6

《程序设计基础》实验报告单

C语言程序设计实验报告6

C语言程序设计实验报告6

C语言程序设计实验报告6

C语言程序设计实验报告6

C语言程序设计实验报告6

C语言程序设计实验报告6

C语言程序设计实验报告6

C语言程序设计实验报告6

C语言程序设计实验报告6

相关推荐