数组和函数练习题
更新时间:2024-04-16 03:36:01 阅读量: 综合文库 文档下载
- 数组函数的使用方法推荐度:
- 相关推荐
实验1 指针
1.1 实验目的
1. 2. 3. 4.
学习指针的使用
理解指针与数组的关系
了解指针数组与数组指针的区别 学习使用动态内存分配及释放
1.2 实验内容
1. 比较下面两个程序有何不同,并运行输出
//程序1
#include
printf(\ t=*p;*p=*q;*q=t; printf(\ }
输出:______________________ //程序2
#include
printf(\ t=p;p=q;q=t; printf(\ }
输出:______________________ 2. 上机调试下面程序,写出程序的输出
#include
3.
4.
5.
6.
输出:_________________________________
下面程序完成输入两个整数,输出较大的一个,请填空完成此程序,然后上机调试通过
#include
下面程序中读入的字符串在80个字符内,指出下面程序的错误,说明错误原因。上机运行,观察现象,并写出正确的程序 #include \int main(){ char *p; scanf(\ printf(\}
指出下列程序的错误之处 #include
int a[3]={1,2,3}; printf(\ ++a;
printf(\}
错误原因:_________________________ 写出程序运行结果
#include
double a[5],*p1,*p2; int b[5],*q1,*q2; char c[5],*r1,*r2; p1=a; p2=&a[4]; q1=b; q2=&b[4]; r1=c; r2=&c[4];
printf(\}
输出:______________________________
7. 写出下面程序的输出结果,然后再上机验证
#include
char a[5][5],b='A'; int i,j,p=0; for(i=0;i<5;i++)
for(j=0;j<5;j++)a[i][j]=b++; while(p<5)printf(\}
输出:_________________________________ 8. 写出下面程序的输出结果,然后再上机验证
#include
int a[5][5]={0}, i,j, (*p)[5]=a;
for(i=0,j=0;i<5;i++,j=(j+2)%5) *(*(p+i)+j)=1; for(i=0;i<5;i++){
for(j=0;j<5;j++) printf(\ printf(\ } }
输出:_________________________________ 9. 指出下面程序中的错误,说明原因:
//程序1
#include
for(i=0;i<25;++i) printf(\}
错误原因:____________________________ //程序2
#include
错误原因:____________________________ 10. 写出程序运行结果
#include
for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=i*10+j; p=&a[0][0]; printf(\}
输出:________________________________ 11. 填空完成下列程序使得输出结果为:
January、February、March、April、June、July、August、September、October、November、December
#include \int main(){ char *month[12]={\ \ \ for(int i=0;i<12;++i)puts(___________); }
12. 理解下面程序,并比较两个指针有何不同(本题选做)
#include
输出: ___________________________
1.3 注意事项
1. 在指针没有指向合法分配单元前,对指针所指单元操作是很危险的,严重的甚至能导
致系统崩溃。
2. 动态分配的内存块,生命周期是用户控制的,不用的时候,要主动释放,在释放前,
不能改变指向指针。
实验2 函数(一)
2.1 实验目的
1. 学习函数的定义和使用
2. 学习参数的不同传递方式及对实参的影响
2.2 实验预习
1. 预先了解函数的定义结构及返回函数值语句
2. 了解把被调用的函数定义放置在调用者之后要作的预声明 3. 预先完成实验内容部分填空及程序编写
2.3 实验内容
1. 写出下面程序的输出结果,并运行验证
#include
int main(){ int a=1,b=1; inc(a,&b); printf(\}
输出:_________________________ 2. 写出下面程序输出并运行验证
#include
int f2(){ printf(\ f3(); printf(\}
int f3(){ printf(\}
int main(){
f1(); f2(); printf(\}
输出:____________________________
3. 下面程序的功能是调用max()函数,求两个数中较大者,请填空
#include
int main(){
int a=8,b=12,c;
c=__________________; printf(\}
4. 下面程序的函数找出数组中的最大值,最小值,并用参数返回,请填空完成程序,并
运行验证
#include
int find(int b[],int len,int _______,int *minp){ int i; *maxp=*minp=b[0]; for(i=1;i
int main(){ int a[10]={23,45,6,7,87,78,34,56,33,22},max,min; find(a,10,&max,________); printf(\}
5. 以下程序完成数组排序功能,请填空。
#include
int main(){ int a[10]={23,56,2,54,6,7,34,46,27,8},i,j;
for(i=0;i<9;i++) for(j=i+1;j<10;j++) if(a[i]>a[j])swap(______,______); for(i=0;i<10;i++)printf(\}
6. 下面程序自己定义double pow(double m , int n),用来计算mn;并进一步使用此函数计
算 1112+2224+3336+4448+55510 #include
double pow(double m,int n){ int i;
double s=1; for(i=0;i 7. 下面程序使用自己定义的int strlen(char *p)函数返回字符串长度,在主函数中输入字符 串输出字符串长度 #__________________ int strlen(char *p){ int i=0; while(p[i]!='\\0')i++; __________________; } int main(){ char a[80]; gets(a); printf(\} 8. 编写一个函数,返回数组元素中最大值的地址,并在主函数中输出该元素 #include int * maxp(int a[],int len){ //此处写函数代码 } int main(){ int a[10]={23,43,45,232,45,456,33,22,55,77},*p; p=maxp(a,10); printf(“%d\\n”,*p); } 9. 已知三角形的三边,求三角形面积,将其编写成一个函数,在主函数中调用验证。 #include int main(){ float a,b,c; printf(\输入三条边长度\\n\ scanf(\ printf(\} 10. 设计一个函数判断一个三位整数是否为水仙花数,如是则函数返回1,否则返回0, 并利用此函数找出所有水仙花数。 11. 编写一个子函数完成把传递来的字符串颠倒次序的功能,并在主函数中输入字符串, 调用函数后,输出颠倒后的字符串,运行验证 实验3 函数(二) 3.1 实验目的 1. 2. 3. 4. 理解变量的作用范围 理解动态变量和静态变量的区别 理解递归的概念及使用 理解函数指针 3.2 实验预习 1. 2. 3. 4. 了解变量定义的位置与作用范围的关系 了解动态变量和静态变量的区别 理解递归的执行过程及参数变化 预先完成下面填空及程序编写 3.3 实验内容 1. 写出下面程序的输出,并运行验证 #include int main(){ int b=6; printf(\} 输出:_____________________________ 2. 写出下列程序的运行结果。 #include int * fun (int x){ n-=x; return &n; } int main(){ *fun(100)+=10; printf(\} 输出:_____________________________ 3. 写出下面程序的输出结果,并上机证实 #include int f(){ static int i=1; int j=1; i++;j++; printf(\} int main(){ f(); f(); f(); } 输出: __________ __________ __________ 4. 写出下面程序的输出结果,并上机证实 #include int dblA(){ A*=2;} int dblB(){ int B=5; B*=2;} int main(){ dblA();dblB(); printf(\} 输出: _______________________________ 5. 写出下面程序的输出结果,并运行验证 #include int main(){ int a=7,b=5; x=a+b; y=a-b; num(); printf(\} 输出: _________________________________ 6. 先改错,然后写出下面程序的输出结果,上机证实 #include
正在阅读:
数组和函数练习题04-16
关于3月12日植树节的作文(共三篇)06-14
管培生工作、学习心得体会05-18
外文期刊级别认定-东财05-29
X射线复习和思考题05-07
实验一windows xp实验03-21
描写花的好词好句02-21
新学期开学学生的自我介绍范文4篇05-06
长株潭城市群区域规划(2008-2022)(调整)04-13
毕业班25周年聚会活动方案07-11
- 天大砼方案 - 图文
- 农业科技网络书屋能力提升_玉米错题选
- DNS习题
- 浅议检察官对罪犯谈话的技巧与效果
- 高考语文文言文翻译专题训练
- AB类学科竞赛目录(2015)
- 建筑面积计算新规定(2015最新)
- Revit2012初级工程师题集一
- 十三五项目米线可行性报告
- 2013体育学院党组织建设工作总结
- 2014Revit工程师题库
- 高中数学如何实施研究性学习
- 茶艺表演 中英互译
- 小学音乐湘文艺版 四年级下册 第十一课《(歌表演)脚印》优质课公
- 山西省农村合作经济承包合同管理条例
- 2015年镇江市中考化学一模试题参考答案及评分标准(定稿)
- 统计 题集
- 批评意见清单
- 8潞安集团蒲县黑龙关煤矿矿业公司2
- 鄂教版四年级语文上册复习精要(光谷四小)
- 练习题
- 数组
- 函数
- 口幼上一教案第十三次课学期末家长会
- XingLiDa方料成型机电路图
- 《数值分析》总复习题-2013年-附部分答案 - 图文
- 如何做好管道现场工作
- 四年级科学上册诊断自测题
- 《个人理财规划》作业 期末考试答案
- 俗 话
- 吉林大学导师
- 牛津译林版英语八上Unit 1《Friends》(Comic strip)word导学案
- 临时用电专项施工方案
- A5#施工组织设计方案
- 广西高考听力口语测试听力部分原文文本和试题(加模拟考试视频地
- 宝洁公司(天津地区)人力资源经理 人才素质测评方案设计与实施
- 2018年会计继续教育题
- 科目二场内考试计划单定州(34)
- 收款流程2 - 图文
- 总经理在中层干部会议上的讲话提纲
- 2019年高考生物提分秘籍:专题21-基因突变和基因重组(教学案,
- 小学六年级散文阅读
- 2015铜陵教师招聘考试必看考点:幼儿园教师考试大范围、高精度命