《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语言程序设计》课程设计题目:图书信息管理系统院系:电子工程学院专业:电子信息工程年级:20##班别:2班指导教师:…
C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体…
河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名…
C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的…
C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录…
《C语言程序设计》实验报告实验七、结构体和联合体程序设计学号姓名一、实验目的1.掌握结构体类型变量和数组、共用体类型变量和数组以及…
C语言程序设计实验实验报告指导老师专业班级学号姓名日期20xx0529重庆邮电大学计算机科学与技术学院实验一实验名称一维数组程序设…
C语言程序设计实验报告专业班级日期11月26日成绩实验组别第327次实验指导教师李开学生姓名学号同组人姓名实验名称数组实验一实验目…
C语言程序设计实验报告学号姓名1设计一个函数fc统计数组中偶数和奇数的个数数组元素个数不多于10个编写main函数正确调用fc函数…
C语言程序设计实验报告数组1实验目的1熟练掌握一维数组二维数组的定义初始化和输入输出方法2熟练掌握字符数组和字符串函数的使用3掌握…
C语言实验内容及说明20xx级13班实验报告填写说明实验课程C语言程序设计设课形式非独立课程学分4实验室名实验楼A309实验目的和…