《C语言程序开发》实验报告及参考答案.docx
- 文档编号:30453410
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:20
- 大小:343.27KB
《C语言程序开发》实验报告及参考答案.docx
《《C语言程序开发》实验报告及参考答案.docx》由会员分享,可在线阅读,更多相关《《C语言程序开发》实验报告及参考答案.docx(20页珍藏版)》请在冰豆网上搜索。
《C语言程序开发》实验报告及参考答案
实验报告
课程名称:
C语言程序开发
学生姓名:
学生学号:
专业班级:
指导教师:
实验日期:
实验一循环结构程序设计
(一)求1+2+3+.......+100,
(二)输出100~200之间的不能被3整除的数。
实验二数组及其应用
(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验三函数及其应用
(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
问第4个学生岁数,他说比第3个学生大2岁。
问第3个学生,又说比第2个学生大2岁。
问第2个学生,说比第1个学生大2岁。
最后问第1个学生,他说是10岁。
请问第5个学生多大。
(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。
实验四指针及其应用
(一)将若干字符串按字母顺序(由小到大)输出。
(二)有a个学生,每个学生有b门课程的成绩。
要求在用户输入学生序号以后,能输出该学生的全部成绩。
用指针函数来实现。
实验一循环结构程序设计
实验题目:
(一)求1+2+3+.......+100,
(二)输出100~200之间的不能被3整除的数。
实验目的
1.掌握循环语句的执行过程及用法
2.初步掌握循环程序设计的基本技巧
3.掌握用while语句,do-while语句和for语句实现循环的方法
4.掌握多重循环的使用
(一)实验步骤
1.题目分析
2.源程序代码
3.运行结果
(二)实验步骤:
1.题目分析
源程序代码
3.运行结果
实验二数组及其应用
实验题目:
(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验目的
1.掌握一维数组的定义及其元素的引用方法
2.掌握利用一维数组实现一些常用算法的基本技巧
3.掌握二维数组的定义及其应用
4.掌握字符数组和字符串函数的使用
5.掌握有关二维数组的基本编程技巧
(一)实验步骤:
1.题目分析
2.源程序代码:
3.运行结果
(二)实验步骤:
1.题目分析
2.源程序代码
3.运行结果
实验三函数及其应用
实验题目:
(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
问第4个学生岁数,他说比第3个学生大2岁。
问第3个学生,又说比第2个学生大2岁。
问第2个学生,说比第1个学生大2岁。
最后问第1个学生,他说是10岁。
请问第5个学生多大。
(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。
实验目的
1.掌握函数的定义及其调用方法
2.掌握函数实参与形参的对应关系,了解“值传递”与“地址传递”的概念
3.掌握函数的嵌套调用和递归调用的方法
4.初步学会使用函数进行程序设计的基本方法
(一)实验步骤:
1.题目分析
2.源程序代码:
3.运行结果
(二)实验步骤
1.题目分析
2.源程序代码
3.运行结果
实验四指针及其应用
实验题目:
(一)将若干字符串按字母顺序(由小到大)输出。
(二)有a个学生,每个学生有b门课程的成绩。
要求在用户输入学生序号以后,能输出该学生的全部成绩。
用指针函数来实现。
实验目的
1.掌握指针的概念,会定义和使用指针变量
2.掌握数组的指针及其基本用法
3.掌握指针变量函数作参数时,参数的传递过程及其用法
4.掌握字符串的指针及其用法
5.掌握函数的指针及其用法
(一)实验步骤:
1.题目分析
2.源程序代码:
3.运行结果
(二)实验步骤:
1.题目分析
3.源程序代码:
3.运行结果
实验报告
课程名称:
C语言程序开发
学生姓名:
学生学号:
专业班级:
指导教师:
实验日期:
实验一循环结构程序设计
(一)求1+2+3+.......+100,
(二)输出100~200之间的不能被3整除的数。
实验二数组及其应用
(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验三函数及其应用
(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
问第4个学生岁数,他说比第3个学生大2岁。
问第3个学生,又说比第2个学生大2岁。
问第2个学生,说比第1个学生大2岁。
最后问第1个学生,他说是10岁。
请问第5个学生多大。
(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。
实验四指针及其应用
(一)将若干字符串按字母顺序(由小到大)输出。
(二)有a个学生,每个学生有b门课程的成绩。
要求在用户输入学生序号以后,能输出该学生的全部成绩。
用指针函数来实现。
实验一循环结构程序设计
实验题目:
(一)求1+2+3+.......+100,
(二)输出100~200之间的不能被3整除的数。
实验目的
1.掌握循环语句的执行过程及用法
2.初步掌握循环程序设计的基本技巧
3.掌握用while语句,do-while语句和for语句实现循环的方法。
4.掌握多重循环的使用
(一)实验步骤
1.题目分析
3.源程序代码
#include
intmain()
{
inti=1,sum=0;//定义变量i的初值为1,sum的初值为0
while(i<=100)//当i>100,条件表达式i<=100的值为假,不执行循环体
{//循环体开始
sum=sum+i;//第1次累加后,sum的值为1
i++;//加完后,i的值加1,为下次累加做准备
}//循环体结束
printf("sum=%d\n",sum);//输出1+2+3…+100的累加和
return0;
}
3.运行结果
(二)实验步骤:
1.题目分析
2.源程序代码
#include
intmain()
{intn;
for(n=100;n<=200;n++)
{if(n%3==0)
continue;
printf("%d",n);
}
printf("\n");
return0;
}
3.运行结果
实验二数组及其应用
实验题目:
(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验目的
1.掌握一维数组的定义及其元素的引用方法
2.掌握利用一维数组实现一些常用算法的基本技巧
3.掌握二维数组的定义及其应用
4.掌握字符数组和字符串函数的使用
5.掌握有关二维数组的基本编程技巧
(一)实验步骤:
1.题目分析
先思考一下在打擂台时怎样确定最后的优胜者。
先找出任一人站在台上,第2人上去与之比武,胜者留在台上。
再上去第3人,与台上的人(即刚才的得胜者)比武,胜者留台上,败者下台。
以后每一个人都是与当时留在台上的人比武。
直到所有人都上台比过为止,最后留在台上的就是冠军。
3.源程序代码:
#include
intmain()
{inti,j,row=0,colum=0,max;
inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};//定义数组并赋初值
max=a[0][0];//先认为a[0][0]最大
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)//如果某元素大于max,就取代max的原值
{max=a[i][j];
row=i;//记下此元素的行号
colum=j;//记下此元素的列号
}
printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);
return0;
}
3.运行结果
(二)实验步骤:
1.题目分析
string:
用于存放字符串。
i:
计数器,用于遍历字符串中的每个字符。
word:
用于判断是否开始了一个新单词的标志。
若word=0表示未出现新单词,如出现了新单词,就把word置成1。
num:
用于统计单词数。
2.源程序代码
#include
intmain()
{
charstring[81];
inti,num=0,word=0;
charc;
gets(string);//输入一个字符串给字符数组string
for(i=0;(c=string[i])!
='\0';i++)//只要字符不是'\0'就循环
if(c=='')word=0;//若是空格字符,使word置0
elseif(word==0)//如果不是空格字符且word原值为0
{word=1;//使word置1
num++;//num累加1,表示增加一个单词
}
printf("Thereare%dwordsinthisline.\n",num);//输出单词数
return0;
}
3.运行结果
实验三函数及其应用
实验题目:
(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
问第4个学生岁数,他说比第3个学生大2岁。
问第3个学生,又说比第2个学生大2岁。
问第2个学生,说比第1个学生大2岁。
最后问第1个学生,他说是10岁。
请问第5个学生多大。
(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。
实验目的
1.掌握函数的定义及其调用方法
2.掌握函数实参与形参的对应关系,了解“值传递”与“地址传递”的概念
3.掌握函数的嵌套调用和递归调用的方法
4.初步学会使用函数进行程序设计的基本方法
(一)实验步骤:
1.题目分析
3.源程序代码:
#include
intmain()
{intage(intn);//对age函数的声明
printf("NO.5,age:
%d\n",age(5));//输出第5个学生的年龄
return0;
}
intage(intn)//定义递归函数
{intc;//c用作存放函数的返回值的变量
if(n==1)//如果n等于1
c=10;//年龄为10
else//如果n不等于1
c=age(n-1)+2;//年龄是前一个学生的年龄加2(如第4个学生年龄是第3个学生年龄加2)
return(c);//返回年龄
}
3.运行结果
(二)实验步骤
3.题目分析
4.源程序代码
#include
intmain()
{voidsort(intarray[],intn);
inta[10],i;
printf("enterarray:
\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);//调用sort函数,a为数组名,大小为10
printf("Thesortedarray:
\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
return0;
}
voidsort(intarray[],intn)
{inti,j,k,t;
for(i=0;i {k=i; for(j=i+1;j if(array[j] k=j; t=array[k];array[k]=array[i];array[i]=t; } } 3.运行结果 实验四指针及其应用 实验题目: (一)将若干字符串按字母顺序(由小到大)输出。 (二)有a个学生,每个学生有b门课程的成绩。 要求在用户输入学生序号以后,能输出该学生的全部成绩。 用指针函数来实现。 实验目的 6.掌握指针的概念,会定义和使用指针变量 7.掌握数组的指针及其基本用法。 8.掌握指针变量函数作参数时,参数的传递过程及其用法 9.掌握字符串的指针及其用法 10.掌握函数的指针及其用法 (一)实验步骤: 1.题目分析 4.源程序代码: #include #include intmain() {voidsort(char*name[],intn);//函数声明 voidprint(char*name[],intn);//函数声明 char*name[]={"Followme","BASIC", "GreatWall","FORTRAN","Computerdesign"}; //定义指针数组,它的元素分别指向5个字符串 intn=5; sort(name,n);//调用sort函数,对字符串排序 print(name,n);//调用print函数,输出字符串 return0; } voidsort(char*name[],intn)//定义sort函数 {char*temp; inti,j,k; for(i=0;i {k=i; for(j=i+1;j if(strcmp(name[k],name[j])>0)k=j; if(k! =i) {temp=name[i];name[i]=name[k];name[k]=temp;} } } voidprint(char*name[],intn)//定义print函数 {inti; for(i=0;i printf("%s\n",name[i]); //按指针数组元素的顺序输出它们所指向的字符串 } 3.运行结果 (二)实验步骤: 1.题目分析 pointer score数组 pointer+1 60 70 80 90 56 89 67 88 34 78 90 66 5.源程序代码: #include intmain() {floatscore[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}}; //定义数组,存放成绩 float*search(float(*pointer)[4],intn);//函数声明 float*p; inti,k; printf("enterthenumberofstudent: "); scanf("%d",&k);//输入要找的学生的序号 printf("ThescoresofNo.%dare: \n",k); p=search(score,k);//调用search函数,返回score[k][0]的地址 for(i=0;i<4;i++) printf("%5.2f\t",*(p+i));//输出score[k][0]~score[k][3]的值 printf("\n"); return0; } float*search(float(*pointer)[4],intn) //形参pointer是指向一维数组的指针变量 {float*pt; pt=*(pointer+n);//pt的值是&score[k][0] return(pt); } 3.运行结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序开发 语言 程序 开发 实验 报告 参考答案