首页 > 编程语言 >2022-2023-1 20221301 《计算机基础与程序设计》第十三周学习总结

2022-2023-1 20221301 《计算机基础与程序设计》第十三周学习总结

时间:2022-11-27 09:57:16浏览次数:72  
标签:https 15 读入 int blog 2022 数组 2023 20221301

2022-2023-1 20221301 《计算机基础与程序设计》第十三周学习总结

作业信息

这个作业属于哪个课程 <班级的链接>https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
这个作业要求在哪里 <作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13
这个作业的目标 《C语言程序设计》第12章

教材学习内容总结

结构体与数据结构基础:

  • 基本结构类型到抽象数据类型
  • 结构体的定义
  • 结构体数组的定义和初始化
  • 结构体指针的定义和初始化
  • 像函数传递结构体
  • 共用体
  • 美剧数据类型
  • 动态数据结构——单向链表

代码调试中的问题和解决过程

  • 问题1:一开始没有太搞明白%s,%t等都是什么意思,
  • 问题1解决方法:通过上网查找,并阅读教材,得到解决。
    %a,%A 读入一个浮点值(仅C99有效)   
    %c 读入一个字符   
    %d 读入十进制整数   
    %i 读入十进制,八进制,十六进制整数   
    %o 读入八进制整数   
    %x,%X 读入十六进制整数   
    %s 读入一个字符串,遇空格、制表符或换行符结束。   
    %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。   
    %p 读入一个指针   
    %u 读入一个无符号十进制整数   
    %n 至此已读入值的等价字符数   
    %[] 扫描字符集合   
    %% 读%符号

参考:https://blog.csdn.net/peng_wong/article/details/17840955

  • 问题2:没有搞明白字符串的一些基本操作,对于其逻辑虽然清楚,但是代码却不熟悉。
  • 问题2解决办法:多看老师的ppt,并自己找相关练习加以巩固。
  • 问题3:没搞清楚二维数组应该怎么和指针结合使用。
  • 问题3解决方法:

include <stdio.h>

int main()
{
int (p)[3];
/
定义了一个数组指针,指向了一个数组长度为3的一维数组,注意是指向一个数组,所以赋值给他的地址要是数组类型的地址
可以这样理解:一维数组名就是一个指针这里只是用指针的形
式代替了数组名 ,注意这里的3要和指向的数组长度相同
*/

int a[3] = {1,2,3};
p = &a;
/*
将数组a地址赋值给p,此时(*p)[i]相当于a[i],注意不能写成p=a,或者p=&a[0]
因为指针p是指向一个数组,p=a表示p指向首个元素的地址,虽然&a,&a[0],a
的结果是一样的(这是因为数组一般用其首元素地址表示) 
*/

printf("数组指针指向一维数组的遍历:\n"); 
for(int i=0; i<3; i++)
{
	printf("%d\n",(*p)[i]);
}

/*这里要用指针遍历输出a不能用*(p+i)方式输出,
  因为p表示数组a的地址(一般用数组中首个元素地址表示), 
  p++表示p要增加3*4个字节长度(3为数组指针指定的长度,4为int所占空间大小)  
*/ 

printf("--------------------------\n");
printf("&a=%d\n",&a);//输出a的地址 
printf("p=%d\n",p);//p指向了数组a,所以输出为a的地址(一般用数组中首个元素地址表示)
printf("*p=%d\n",*p);//既然p指向了数组a,那么*p则为数组a本身(一般用数组中首个元素地址表示)
printf("p+1=%d\n",p+1);
printf("*(p+1)=%d\n",*(p+1));//,运用公式*(p+1) == p[1],可以想象成刚好超过a长度的那个地址,p+1表示p要增加3*4个字节长度(3为数组指针指定的长度,4为int所占空间大小)==*(p+1)
printf("**p=%d\n",**p);//p指向a,*p表示a本身(一般用数组中首个元素地址表示),那么**p表示*a,表示数组首元素。
printf("p[0]=%d\n",p[0]);//p[0] == *p ,*p又是a本身,所以输出a首元素地址
printf("*p[0]=%d\n",*p[0]);//既然p[0]为数组首元素地址,那加上个*就为a的首元素 
return 0;

}
参考:https://blog.csdn.net/qq_43428547/article/details/88956911

  • 问题4:%x是什么意思,相关的表达都有什么区别
  • 问题4的解决方法:

include <stdio.h>

include <stdlib.h>

int length(char a[]); //因为函数位于main()函数之后,所以当引用这个函数时应该首先进行声明便于之后的引用

int main(void)
{
char a[] = {'a', 'b', 'c', 'd', 'f'};
int i;
int j = 47;
printf("%x\n", j); //输出结果为: 2f
printf("%X\n", j); //输出结果为: 2F
printf("%#x\n", j); //输出结果为: 0x2f
printf("%#X\n", j); //输出结果为: 0X2F %#X推荐使用
for (i = 0; i < length(a); i++)
{
printf("%d\n", a[i]);
}
return 0;
}

int length(char a[])
{
int value;
value = sizeof(a) / sizeof(a[0]);
return value;
}

其他(感悟、思考等,可选)

最近学习了结构体共用体,发现虽然能理解,但是不太会用,包括之前学到的函数的调用等,还是要多通过做题尽可能熟练度掌握,不能落下!!对于一些不同的表达,还有使用的规范还是需要多加注意,可以通过抄书上的代码先有大体印象,注意哪里应该用“:”,哪里应该用“{}”等,加强自己的规范性后,多练题提高熟悉度。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 0/0 3/3
第二周 200/200 6/6 18/21
第三周 200/400 10/10 10/31
第四周 300/700 2/12 19/50
第五周 300/1000 3/15 20/70
第六周 300/1300 5/20 15/85
第七周 900/2200 1/21 15/100
第八周 1400/3600 5/25 15/115
第九周 1500/5100 3/27 15/130
第十周 1400/6500 1/28 15/145
第十一周 1500/8000 1/29 15/160
第十二周 1500/9500 1/30 15/175
第十三周 1500/11000 1/31 15/190

参考资料

标签:https,15,读入,int,blog,2022,数组,2023,20221301
From: https://www.cnblogs.com/bky20221301/p/16909568.html

相关文章

  • 游记 NOIP2022 E 类
    day0GDFZ模拟赛爆成20QWQ怎么办我还有救吗/kk我们要调整心态,整心态调,心态调整,态调整心,调整心态,如此我们便调整了心态。RP++!23:15分,睡觉了。day1整个学校的考......
  • 周六1900C++班级-2022-11-26-多重循环练习
    比赛链接1001:C语言实验题――素数#include<bits/stdc++.h>usingnamespacestd;intmain(){intans=0;//记录100-200之间素数的个数for(intn=100......
  • 周六900C++班级-2022-11-26-完全背包
    完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且......
  • NOIP 2022 游记
    Day1上午早上只睡了6h,感觉很不好。有点紧张,早餐只吃了一点点面。七点四十左右到门口,见到了赣州中学的同学们和本校的同学们。大概八点二十的样子进了考场,但是没有发......
  • UNCTF2022考后学习记录(萌新)
    写在前面博主本人萌新,只入门了Re,这次比赛只会签到题。所以本篇博客也不叫WP,只是算是我赛后复盘的学习记录。真正的WP可以看官方WP或者看看Re大佬的WP。因为现在还没有学......
  • 2022最新解决Windows安装graphviz软件不被信任;迈克菲阻止;Windows安全中心阻止;path路径
    2022最新解决Windows安装graphviz软件不被信任;迈克菲阻止;Windows安全中心阻止;path路径问题1.graphviz官网地址下载最新的zip文件(exe文件会被认为有风险)解压,记住解压后的......
  • 百度之星 2022 & CTT2022 游记
    百度之星Day0入住酒店,杭州不愧是支付宝大本营,微信扫码一败涂地,只能使用支付宝。酒店电梯向上运行到6楼左右掉了半楼,非常恐怖,赶紧下了电梯。看了看知乎去年的Astar......
  • golang_learn note_2022年11月26日
    D:\code_gitee\go_example\main.gopackagemainimport( "fmt")funcmain(){ //显示声明类型 constastring="hello" //隐式声明类型 constb="hello"......
  • 在vs2022中对于QT5的简单使用
    目录背景问题背景vs2022配置了QT5.14.2,然后尝试手写了一下qt程序,问题遇到的问题如下1.新建程序的时候,如果选择了类型为widget程序vs就默认启用qtcreator的接口,生成u......
  • 2022 Fudan Programming Contest Review
    2022FudanProgrammingContestReview一则短小的回顾,涉及比赛之外的东西比比赛本身可能要多。赛前干了什么呢?不妨把“赛前”这两个字拖得再长一些,首先得延长到网络预......