数组和函数练习题
更新时间:2024-01-25 21:59: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
正在阅读:
数组和函数练习题01-25
卡罗拉使用手册(1-30)05-12
施工组织设计正文01-27
数字温度传感器DS18B20中文资料(含读写程序)06-07
2012年上海高考数学(理科)试卷(Word版有答案) zgh10-12
电子信息工程专业概论心得08-31
002洗润岗位标准操作规程08-19
水浒传第二组金银币蕴含的故事03-08
监控解决方案施工组织售后服务05-21
生病记作文500字07-11
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 练习题
- 数组
- 函数
- 《个人理财规划》作业 期末考试答案
- 四缸真空舱压机项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案
- 湖南省建设工程芙蓉奖评审办法
- 2015年高考语文考点总动员考向15 成语辨析之不合语境(解析版)
- 商丘中学病媒生物孽生地调查报告
- XingLiDa方料成型机电路图
- 学习评价问题诊断与解决
- 人口增长数学模型
- 俗 话
- 新教双语教学质量评估自查自评报告
- 西工大16秋《行政法》在线作业
- 《数值分析》总复习题-2013年-附部分答案 - 图文
- 诗歌鉴赏讲评课教案
- 掘进队每日一题题库
- 实变函数习题与答案试卷一
- 中美软实力比较及其对中国的启示
- A5#施工组织设计方案
- 质量信誉考核申请
- 建设工程成本规划与控制课程设计任务书
- 娃哈哈锌AD钙奶市场营销策划方案