1.本章学习总结

1.1 思维导图

1.2本章学习体会及代码量学习体会

1.2.1学习体会

没想到都已经学习完C语言的灵魂—指针的内容了(当然也是C里面最难学习的内容了)。虽然在之前就有听学习进度比较快的同学大概介绍过指针,不过那时候是仅限于知道这个是一个特好用的东西,不过开始学习就懵逼了,上课听老师讲课只知道这个指针指向那个地址又对应哪一个内容,emmmm(自闭了)在经过一段时间学习指针后,。

在指针的调用还有它指向什么内容还是不是很掌握。数组和字符串和指针之间的联系,比如各元素的地址与数组名及数组名与首地址的对应关系,以及指针在数组、字符串中的储存方式,还有就是发现指针可以处理动态内存的分配问题,并且指针传递的是地址,这样可以大大节省计算机的储存空间和运行成本,反正感觉好处多多,不过要学好必须要下大功夫就是了。

1.2.2代码累计

2.PTA总分

2.1截图PTA中函数得分及排名

  • 函数总分: 100分

3.PTA实验作业

3.1PTA题目1

3.1.1算法分析

  1. - 定义循环变量i,数组长度替代量n
  2. - char *a=s,n=s数组长度-1
  3. - fori=0n)同时数组首尾分别往后往前推进
  4. - 在循环内,if(*(s+i)!=*(a+n)),break
  5. - 循环外,ifi>n) return true
  6. - else return false

3.1.2 代码截图

3.1.3 PTA提交列表及说明



Q1:一开始看到题目马上就想到之前在数组也做过类似的的会问题,所以一开始就按照首尾递进比较的方法来解决

A1:但是发现用并不能像数组那样直观,在devc++上面调,结果输出都是对的,可是改来改去还是有两个点卡着

A2:一是删减了定义的多余指针变量,二是对循环条件进行了调整

4.大作业

在函数那章,我们已经实现小学四则运算这份作业,现在要求大家把之前设计函数升级改造,原来的函数大家都是用全局变量实现不同函数参数传递,这次作业要求改地址传递,减少全局变量的使用。

4.1改造函数介绍

1.函数1

  • 伪代码介绍函数思路
  1. - int 计数替代量num,int 循环变量i,int 运算符选择变量op
  2. - 定义字符数组str
  3. - if(level==1),i=3,
  4. while(i--)
  5. if(i%2==1) op取随机数代表四种运算符
  6. switch(op)
  7. case(03)将运算符在exp运算式子后连接起来
  8. else num=rand()%9+1
  9. 将整型变量num转化为字符型变量存入数组str
  10. str数组中的字符串在exp运算式子后连接起来
  11. - else if(level=23 i=5
  12. while(i--)
  13. if(i%2)
  14. switch(level)
  15. case(23num=rand()%90+10||rand()%900+100;break;
  16. 将整型变量num转化为字符型变量存入数组str
  17. str数组中的字符串在exp运算式子后连接起来
  18. else op=rand()%2
  19. switch(op)
  20. case(01)将运算符在exp运算式子后连接起来
  21. 将‘=’exp运算式子后连接起来
  • 截图函数代码



2.函数2

3.函数3

  • 伪代码介绍函数思路
  1. - int m=0,sum=0,i=0;char c,char old='+'
  2. - do
  3. {
  4. c = exp从第一个开始
  5. if(c<='9'&&c>='0')
  6. m 将字符型数字转化为整型数字
  7. else
  8. {
  9. if(oldc=='+'||'-'||‘*’||‘/’)
  10. sum '+'||'-'||‘*’||‘/’= m;
  11. m=0
  12. oldc=c
  13. }
  14. i++;
  15. } while(c不等于'='的时候)end
  16. 返回 sum的结果;
  • 截图函数代码

4.2 与原有函数代码比较











Q: 改造前函数和改造后的函数的不同及区别,优缺点。

A:原先我式把三个等级分开来卸,各自独自取随机数,独自运算,每次num循环,调用一次就可以得到一个随机计算式子,每一次独立输出就好了,这一次不能用全局变量,改用指针传参。没改全,实际上改完后我的程序运行结果问题多多,还没改好,不过也就把这个贴上来了,至于说选做的那个IsExp函数没有能实现

4.4 改进大作业总结

两次作业编写过程,总结碰到问题及后续程序编写注意事项

  • 说实话这次要求用指针加函数的写法改进大作业我是懵逼的,因为指针用法不熟悉,所以有一种无从下手无从下手的感觉,改了许多天,没有进展,参照林丽老师的博客5的computerExp函数的写法,依葫芦画瓢倒是写出来了第三个函数,可是第一个函数怎么弄还是梦梦的,于是请教了同学,也从老师推荐的曾俊韦同学那里学到了itoa(num,str,10)函数可以直接实现遗传整形转化为字符串,头文件#include<string.h> 的知识

C语言--第五次作业--指针的更多相关文章

  1. c语言第五次作业-指针-总结博客

    本次作业亮点 1.1整体情况 本次作业主要是对上次的大作业利用指针进行改进,但是大部分同学并没有很好按照老师的要求对大作业进行改进,函数的分装性也做得不够好,由于是初步学习指针,大家在本次的作业改造中 ...

  2. C语言第五次作业——循环结构

    C语言程序设计第五次作业--循环结构(1) (一)改错题 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增 ...

  3. C语言第五次作业函数

    一.PTA实验作业 题目1: 6-6 使用函数输出水仙花数 1.本题PTA提交列表 2.设计思路 1.narcissistic函数 1.由于number的值后面会变化,所以定义d,e用于储存numbe ...

  4. c语言第五次作业--函数

    一.PTA实验作业 题目1.使用函数输出一个整数的逆序数 1.本题PTA提交列表 2.设计思路 1.int mod,rever:分别表示余数和返回的数 2.while(number%10 || num ...

  5. C语言第五次作业--数据类型

    7-2 区位码输入法: 1. 本题PTA提交列表: 2.设计思路: 1.simple定义输入数,character1和character2分别定义低字节和高字节区位码,digit存储取余后的数,sum ...

  6. C语言第五次作业

    #include<stdio.h> int main() { int a,b,c; printf("请输入3个整数:"); scanf("%d %d %d&q ...

  7. c语言第五次作业0

    ---恢复内容开始--- (一)改错题 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如 ...

  8. 第五周作业 关于C语言的问卷调查

    你对自己的未来有什么规划?做了哪些准备? 目前还不是很了解,我希望自己再毕业后可以在一家IT公司上班.  目前效果还不是很明显,只是对于专业的学习更加勤奋而已. 2.你认为什么是学习?学习有什么用?现 ...

  9. C 语言学习 第五次作业总结

    第五次作业,主要学习和复习的是几种循环结构的使用. 在前一次的课堂上,同学们已经学习了分支语句的使用.分支语句和循环语句配合使用,就可以写出更多的,逻辑功能丰富的代码了. 逻辑功能的丰富,也意味着学习 ...

随机推荐

  1. 第六周java学习总结

    学号 20175206 <Java程序设计>第六周学习总结 教材学习内容总结 第七章: 主要内容 内部类 匿名类 异常类 断言 重点和难点 重点:内部类和异常类的理解 难点:异常类的使用 ...

  2. js+jquery创建元素

    例:创建如下标签: <a id="baidu" class="link" name="baidu">这是一个链接</a&g ...

  3. 分类器的评价指标-ROC&AUC

    ROC 曲线:接收者操作特征曲线(receiver operating characteristic curve),是反映敏感性和特异性连续变量的综合指标,roc 曲线上每个点反映着对同一信号刺激的感 ...

  4. 在DOS命令中输入ipconfig /all,出现“该命令不是系统内部命令......”

    第一种情况:1.先去C:\Windows\System32下查找有没有 ipconfig.exe的执行文件,有的话说明系统文件没有丢失,否则要去网上下载一个 ipconfig.exe文件,并放到C:\ ...

  5. 老男孩Python全栈学习 S9 日常作业 010

    1.写函数,接收n个数字,求这些参数数字的和. def func1(*Num): num = 0 for i in Num: num += i return num 2.读代码,回答:代码中,打印出来 ...

  6. [面试]StringBuilder StringBuffer源码粘贴(并非源码分析, 请绕道)

    StringBuilder StringBuffer 源码 这里只是我个人笔记, 并没有在这篇文章里做任何技术分享, 请同学们绕道- -.如果需要我会后期补上的..... 本来是想分析源码来着, 但是 ...

  7. HDU - 3035 War(对偶图求最小割+最短路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3035 题意 给个图,求把s和t分开的最小割. 分析 实际顶点和边非常多,不能用最大流来求解.这道题要用 ...

  8. 1. Ansible 简介

    目录 1. Ansible 是什么? 2. Ansible 特性 3. 控制主机需求 4. 被管理节点需求 1. Ansible 是什么? Ansible 是一个配置管理系统(configuratio ...

  9. sql连接查询中的分类

    sql连接查询中的分类 1.内连接(结果不保留表中未对应的数据) 1.1等值连接:关联条件的运算符是用等号来连接的. 1.2不等值连接:连接条件是出等号之外的操作符 1.3自然连接:特殊的等值连接,在 ...

  10. Linux之防火墙管理篇[Ubuntu:ufw]

    前言 由于近期,腾讯云服务器就要到期了,学生优惠即将失效了,所以准备将数据库和项目迁移到vultr上.然而,在使用nivicat连接mysql数据库的过程中,却屡次出现:Can't connect t ...