当前位置: 首页 > news >正文

2019春第六周学习编辑总结

这个作业属于哪个课程C语言程序设计二
这个作业要求在哪里2019春季学期第六周作业
我的课程目标理解变量、内存单元和地址之间的关系;掌握如何定义指针变量,怎样使用指针变量,怎样进行指针变量的初始化;掌握指针变量的基本运算;理解指针作为函数参数的作用;掌握如何使用指针实现函数调用返回多个值
这个作业在哪个具体方面帮助我实现目标题目让我学会如何操作运用指针
参考文献c语言程序设计第3版

基础

6-1 求两数平方根之和 (10 分)

函数fun的功能是:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y = 7.936238。

函数接口定义:

double fun (double *a, double *b); 

其中 a和 b是用户传入的参数。函数求 a指针和b 指针所指的两个数的平方根之和,并返回和。

裁判测试程序样例:

#include<stdio.h>
#include <math.h> 
double fun (double *a, double *b); 
int main ( )
{ double a, b, y;
scanf ("%lf%lf", &a, &b );
 y=fun(&a, &b); printf ("y=%.2f\n", y );
return 0;
}


/* 请在这里填写答案 */

输入样例:

12 20

输出样例:

y=7.94

实验代码:

double fun (double *a,double *b)
{
  double y;
  y=sqrt(*a)+sqrt(*b);
  return y;
}

设计思路:

1580752-20190405112935132-1535028170.png

遇到的问题与解决方法:

没有遇到问题

实验截图:

1580752-20190405111825967-872802070.png

7-1 利用指针返回多个函数值 (30 分)

读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。

输入格式:

输入有两行: 第一行是n值; 第二行是n个数。

输出格式:

输出最大值和最小值。

输入样例:

在这里给出一组输入
5
8 9 12 0 3

输出样例:

在这里给出相应的输出
max = 12
min = 0

实验代码:

#include<stdio.h>
void max_min(int a[],int n,int*pmax,int*pmin);
int main(void)
{
 int n,i,max,min;
 int *pmax,*pmin;
 int a[9999];
 scanf("%d",&n);
 for(i=0;i<n;i++)
{
  scanf("%d",&a[i]);
 }
 max_min(a,n,&max,&min);
 printf("max = %d\nmin = %d",max,min);
 return 0;
}
void max_min(int a[],int n,int*pmax,int*pmin)
{
  int i;
  *pmax=a[0];
  *pmin=a[0];
 for(i=1;i<n;i++)
{
   if(*pmax<a[i])
    *pmax=a[i];
   if(*pmin>a[i])
    *pmin=a[i];
  }
}

设计思路:

1580752-20190405143052126-1490496436.png

遇到的问题与解决方法:

答案错误,看题发现等号两边空格。

实验截图:

1580752-20190405120622024-879894752.png

学习感悟:

开始学指针时真的觉得指针能干嘛,有什么用,而且还麻烦,为什么要用指针。觉得用指针不是比不用多了一个没必要的操作吗?没有很明显感觉到它的优点。感觉指针一下不能好好理解。

学习进度条:

周/日期这周所花时间代码行学到的知识点简介目前比较疑惑的问题
3/23-3/29两天200冒泡排序法、二维数组处理字符串不是很懂冒泡排序的代码
4/2-4/5一天120指针的含义。地址、指针变量的关系。指针变量的初始化。指针的基本运算。指针的应用操作不太理解

1580752-20190405152508590-1267172805.png

1580752-20190405153952611-945591570.png

结对编程的感想:

队友重新换了一下,我和他认识,但是我们两个能力都不强,这周就是自己搞的。不过相信以后能越来越好。

思考题:

1.为什么要使用指针?它有什么用?

我觉得指针计算速度会更加快,就比如一本书里目录的标题就像栈,页码就像指针,如果要找书里的内容,是一页一页的翻快点呢还是根据目录找到页码然后在找到内容快呢。显然是后者快。

2.指针变量在内存中暂用多大的空间?它的大小由什么决定?

指针变量本身所占用的内存大小跟所指向的类型 没有任何关系。
它只跟当前CPU的寻址位数 和编译器的 位数有关。跟多少位的处理器无关
例如:
         -32位处理器上32位操作系统的32位编译器,指针大小4字节。
         -32位处理器上32位操作系统的16位编译器,指针大小2字节。  
         -32位处理器上16位操作系统的16位编译器,指针大小2字节。
         -16位处理器上16位操作系统的16位编译器,指针大小2字节。
参考资料指针变量本身所占用的内存大小

转载于:https://www.cnblogs.com/Gzh001007/p/10658227.html

相关文章:

  • 【感悟】一次不太好的寻找bug的体验,RecyclerView
  • mysql 命令启动
  • [题解]区间dp_luogu_P3147 262144
  • Permission denied: .gvfs
  • day2
  • JSP语法入门
  • 学习备忘英语单词转载
  • 存储的一些基本概念(HBA,LUN)
  • Kubenetes---Service--实践
  • HDU - 4352 XHXJ's LIS (数位dp)
  • 【*】深入理解redis主从复制原理
  • 冒泡排序,选择排序,快速排序,归并排序
  • 使用tensorflow搭建自己的验证码识别系统
  • 结对项目之需求分析与原型设计
  • 网络编程之Socket
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • #Java异常处理
  • 0x05 Python数据分析,Anaconda八斩刀
  • cookie和session
  • laravel 用artisan创建自己的模板
  • Less 日常用法
  • opencv python Meanshift 和 Camshift
  • PhantomJS 安装
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Redis中的lru算法实现
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 检测对象或数组
  • 如何解决微信端直接跳WAP端
  • 微信小程序--------语音识别(前端自己也能玩)
  • 责任链模式的两种实现
  • 自动记录MySQL慢查询快照脚本
  • elasticsearch-head插件安装
  • hi-nginx-1.3.4编译安装
  • ​Spring Boot 分片上传文件
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • (145)光线追踪距离场柔和阴影
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET开发人员必知的八个网站
  • @Autowired @Resource @Qualifier的区别
  • @GlobalLock注解作用与原理解析
  • @javax.ws.rs Webservice注解
  • []T 还是 []*T, 这是一个问题
  • [100天算法】-不同路径 III(day 73)
  • [2]十道算法题【Java实现】
  • [BZOJ4566][HAOI2016]找相同字符(SAM)
  • [C++]命名空间等——喵喵要吃C嘎嘎
  • [EFI]MSI GF63 Thin 9SCXR电脑 Hackintosh 黑苹果efi引导文件