2011C语言实验报告5次

更新时间:2024-06-30 04:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言实验报告5次

实验/预习 报告 (计算机类) 课程名称: C语言程序设计 实验项目: 如:实验一 C语言开发环境与输入输出 计算机号: 实验教室 - 学号后两位(如403-01) 系别专业: XX系XX专业 班级学号: XXXXXXX 学生姓名: XXX

实验一:C语言开发环境与输入输出 日期: 一、 实验目的

1. 掌握C语言的语法 2. 熟悉C语言开发环境 3. 掌握C语言的输入与输出 二、 实验内容:

1.设计一个C语言程序,输出以下信息: ***************

Hello!

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

2.设计一个程序,从键盘输入一个圆的半径,求其周长和面积。 三、 实验环境:

1 硬件要求:计算机(CPU: Pentium III 600MHz以上;RAM:256M以上;

硬盘空间:4G以上)

2 操作系统: WindowsXP 3 软件要求:Turbo C2.0

四、实验步骤及程序编写: 1打开Turbo C2.0 2 新建C程序文件 3 编写代码: (1) main() {

1

printf(\printf(\ Hello! \\n\printf(\getch(); }

(2) main() {

float r,area,s; printf(\scanf(\s=2*r*3.14;

printf(\area=3.14*r*r;

printf(\getch(); }

4 调试、运行

五、程序调试及实验总结

通过本次实验掌握了C语言基本语法及输入输出的应用(可自行发挥)

六、教师评语

实验二:程序流程控制应用 日期:

一、实验目的

1. 熟悉if 与switch语句的格式、执行过程、使用方法;

2.掌握循环结构while、do-while、for等语句格式、执行过程和使用方法; 3.掌握循环结构的嵌套使用。 二、实验内容

1.由键盘输入三个数,判断能否构成三角形。 2. 有下列分段函数:

编一程序,输入x,输出y的值。

3. 求出100~200之间的所有素数,输出时一行打印五个素数。 三、 实验环境:

1 硬件要求:计算机(CPU: Pentium III 600MHz以上;RAM:256M以上;

硬盘空间:4G以上)

2

2 操作系统: WindowsXP 3 软件要求:Turbo C2.0

四、实验步骤及程序编写: 1打开Turbo C2.0 2 新建C程序文件 3 编写代码: (1) main() {

double a,b,c;

scanf(\if(a+b>c&&a+c>b&&c+b>a)

printf(\else

printf(\getch(); }

(2) main() {

double x,y; printf(\scanf(\if(x<0) y=x+1;

else if(x>=0 && x<10) y=x*x-5; else

y=x*x*x;

printf(\getch(); }

(3)

#include main() {

int i,j,k,n=0;

3

for(i=100;i<=200;i++) { k=(int)sqrt(i); for(j=2;j<=k;j++)

if(i%j==0)break; if(j==k+1) {

printf(\ n++;

if(n%5==0)printf(\ } }

printf(\ getch(); }

4 调试、运行

五、程序调试及实验总结

通过本次实验掌握了C语言的分支语句与循环语句的应用(可自行发挥)

六、教师评语

实验三:函数与宏定义的应用 一、实验目的

了解函数的定义方法,实参与形参的传递,理解函数的调用; 二、实验内容

1.编写一个函数,用递归的方法求1+2+3+4+?+n的值。在主函数中进行输入输出。

2.编写程序,用函数fc(int m,int n)实现

mc数fc,输出n的值。

已知:

mcn?cmn,在主函数中输入m和n(n>m),调用函

n!m!(n?m)!

三、 实验环境:

1 硬件要求:计算机(CPU: Pentium III 600MHz以上;RAM:256M以上;

硬盘空间:4G以上)

2 操作系统: WindowsXP 3 软件要求:Visual C++6.0

4

四、实验步骤及程序编写: 1打开Turbo C2.0 2 新建C程序文件 3 编写代码: (1) main() {

int n;

int sum(int);

printf(\ scanf(\

printf(\ getch(); }

int sum(int n) {

if(n==1)

return 1; else

return n+sum(n-1); } (2) main() {

int m,n;

long factorial(int); /*函数声明 */

long combination(int ,int); /*函数声明*/ printf(\scanf(\printf(\scanf(\

printf(\getch(); }

long factorial(int n) /*求阶乘函数 */

5

{

long f=1; int i;

for(i=1;i<=n;i++) f*=i; return f; }

long combination(int m,int n ) /*求组合函数 C(n,m) */ {

return factorial(n)/(factorial(m)*factorial(n-m)); }

4 调试、运行

五、程序调试及实验总结

通过本次实验掌握了C语言函数的应用(可自行发挥) 六、教师评语

实验四:数组的应用

一、实验目的

掌握一维数组、二维数组、字符数组的定义、初始化赋值、数组元素的引用方法

二、实验内容

1.设有一维数组a[10]={2,32,6,74,-14,68,0,-9,41,32},用C语言程序输出此数组中最大值及此数组的平均值,并输出由小到大排序后的数组。

2. 应用二维数组打印如下图所示杨辉三角形。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

??

杨辉三角形

三、 实验环境:

1 硬件要求:计算机(CPU: Pentium III 600MHz以上;RAM:256M以上;

6

硬盘空间:4G以上)

2 操作系统: WindowsXP 3 软件要求:Turbo C2.0

四、实验步骤及程序编写: 1打开Turbo C2.0 2新建C程序文件 3 编写代码: (1)

main() {

int a[10]={2,32,6,74,-14,68,0,-9,41,32}; int i,j,t,max=a[0]; double ave=0,s=0; for (i=0;i<10;i++) {

s+=a[i];

if (max

ave=s/10;

printf(\ printf(\ for(i=0;i<9;i++) for(j=0;j<9-i;j++) {

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

t=a[j];

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

printf(\ for(i=0;i<10;i++) printf(\ \ getch(); }

(2)

main( ) {

int y[6][6]; int i,j,n=6;

7

for(i=0;i

y[i][i]=1; y[i][0]=1; }

for(i=2;i

for(j=1;j

y[i][j]=y[i-1][j-1]+y[i-1][j]; }

printf(\ triangle:\\n\ for(i=0;i

printf(\ \ for(j=0;j<=i;j++)

printf(\ printf(\ }

getch(); }

4 调试、运行

五、程序调试及实验总结

通过本次实验掌握了C语言的数组的应用(可自行发挥) 六、教师评语

实验五:指针的应用

一、实验目的

1. 理解指针的基本概念和运算 2. 掌握指针与数组、指针与函数、指向字符串的指针的应用 3. 掌握多重指针的概念和基本应用 二、实验内容

1.输入3个数a,b,c,按小到大顺序输出。要求利用指针方法实现。

2.用返回指针类型函数实现字符串连接函数strcat(),通过1)输入字符串s1和s2进行测试,2)将字符串“string”作为参数与s1和s2的连接后的结果调用函数strcat()实现连接。

3.写一个函数,该函数从主程序接受一个字符串,将字符串中的数字和其它字符分开,形成两个字符串输出。 三、 实验环境:

8

1 硬件要求:计算机(CPU: Pentium III 600MHz以上;RAM:256M以上;

硬盘空间:4G以上)

2 操作系统: WindowsXP 3 软件要求:Turbo C2.0

四、实验步骤及程序编写: 1打开Turbo C2.0 2新建C程序文件 3 编写代码: (1)

main() {

int n1,n2,n3; int *p1,*p2,*p3;

printf(\scanf(\p1=&n1; p2=&n2; p3=&n3;

if(n1>n2) swap(p1,p2); if(n1>n3) swap(p1,p3); if(n2>n3) swap(p2,p3);

printf(\getch(); }

swap(int *p,int *q) { int t;

t=*p;*p=*q;*q=t; } (2)

char * strcat(char *p1, char *p2); void main() {

char s1[20]; char s2[20];

printf(\ scanf(\

printf(\ scanf(\ strcat(s1,s2);

9

printf(\ strcat(s1,\

printf(\ getch(); }

char * strcat(char *p1, char *p2) {

char * head=p1; while(*p1!='\\0') p1++;

while(*p2!='\\0') {

*p1=*p2; p1++; p2++; }

*p1='\\0'; return head; } 3)

void main() {

char str[20];

printf(\scanf(\strsplit(str); getch(); }

strsplit(char *str) {

char *p=str; char p11[20]; char p22[20]; char *p1=p11;

10

char *p2=p22; while(*p) {

if(*p>='0'&& *p<='9') {*p1=*p; p1++;} else

{*p2=*p; p2++;} p++; }

*p1=*p2='\\0' ;

printf(\printf(\}

4 调试、运行

五、程序调试及实验总结

通过本次实验掌握了C语言指针的应用(可自行发挥) 六、教师评语

11

char *p2=p22; while(*p) {

if(*p>='0'&& *p<='9') {*p1=*p; p1++;} else

{*p2=*p; p2++;} p++; }

*p1=*p2='\\0' ;

printf(\printf(\}

4 调试、运行

五、程序调试及实验总结

通过本次实验掌握了C语言指针的应用(可自行发挥) 六、教师评语

11

本文来源:https://www.bwwdw.com/article/cv33.html

Top