第十二周学习总结
作业信息
- 这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
- 这个作业的要求在哪里:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK12
- 这个作业的目标:总结本周学习内容
- 作业正文:https://www.cnblogs.com/liudi20221408/p/16894818.html
教材学习内容总结
C语言程序设计
- 输入一组数组定义为a[ i ],在程序中p[ i ]等价于*(p+i)
- 在循环开始之前需保证指针p指向数组首地址
- p=(int * )malloc(n * sizeof(int)) 向系统申请内存
- free(p) 释放向系统申请的内存
- 内存分配后一定要初始化后再使用
- 不要忘记释放内存
- 输入字符串的几种方法
- 用gets()输入字符串
-
-
-
#include <stdio.h> int main() { char s[100]="\0"; //初始化 gets(s); //获取输入 for(int i=0;i<100;i++) //打印输入 { printf("%c",s[i]); } }
-
-
通过%s输入字符串
-
#include <stdio.h> int main() { char s[100]="\0";//数组初始化 scanf("%s",s); for(int i=0;i<100;i++)//打印输入的一串字符 { printf("%c",s[i]); } }
-
-
通过for循环输入
-
#include <stdio.h> int main() { char s[100]="\0";//初始化 for(int j=0;j<10;j++)//定义输入10个字符 { scanf("%c",&s[j]);//逐个获取输入字符(包括空格和换行符) } for(int i=0;i<100;i++)//打印输入 { printf("%c",s[i]); } }
-
-
教材学习过程中遇到的问题及解决方法
- 问题1:字符数组前不需要加取地址符?
- 问题1解决方法:查询百度得出答案
C语言的字符串实际上是 字符数组.既然是数组, 那么数组头自然是一个指针.char str[] = {“abc”};这个str实际上是一个不可变的字符指针.scanf的参数要求传入指针. 之后按照格式化字符串对指针指向的地址赋值…str本身就是一个指针了, 所以不需要&str,如果&str, 那么得到是就是指针的指针,scanf并不只是对字符串不加 取地址运算符.例如 int arr[] = {1, 2, 3};scanf("%d", arr);这里对arr照样不需要取地址运算符, 因为arr是数组头, 本身就是一个指针.上面的语句是对arr数组的第一个元素赋值, 就是arr[0];当然也可以这么写.scanf("%d", &arr[0]);arr[0]是一个值, 并非指针, 于是对其取地址.对于字符串也可以这么写.
char str[3] ;scanf("%c", &str[0]);这是对str的第一个元素赋值也就是 str[0];https://zhidao.baidu.com/question/493101733.html
http://www.360doc.com/content/16/0515/11/19455598_559288667.shtml
(5条消息) 为什么C语言Scanf函数对字符串不要加 取地址运算符&_Java3L的博客-CSDN博客_scanf什么时候不加地址符
代码运行中遇到的问题及解决方法
- 问题1:变量名不能和函数名相等
- 问题1解决过程:更换变量名
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | |
第一周 | 150/150 | 2/2 | 17/17 |
第二周 | 100/250 | 1/3 | 15/32 |
第三周 | 200/450 | 2/5 | 16/48 |
第四周 | 230/680 | 2/7 | 17/65 |
第五周 | 200/880 | 2/9 | 20/85 |
第六周 | 350/1230 | 5/14 | 14/99 |
第七周 | 470/1700 | 1/15 | 15/114 |
第八周 | 530/2230 | 2/17 | 14/128 |
第九周 | 480/2710 | 1/18 | 14/142 |
第十周 | 570/3280 | 1/19 | 13/155 |
第十一周 | 670/3950 | 1/20 | 15/170 |
第十二周 | 580/4530 | 1/21 | 16/186 |