一、学习内容总结

1.指针是一种数据类型,同样占有空间,其存储的是内存地址;

2.定义指针变量要在变量名之前加“*”字符表示;

3.“&”是取地址运算符,“*”是间接运算符;

(注:声名和使用指针时*的意义不同)

4.指针的数据类型是指它所指向的内存空间的数据类型;

5.指针可以与整数进行加减运算,但只能与指针进行减法运算;

6.可以把指针声明成为指向函数的指针,从而通过函数指针调用函数;

7.数组的数组名(二维数组的列)可以看作一个指针;

8.为了防止野指针,一般将指针定义在其他变量之后或者指向NULL。

二、在课堂或课后编程学习遇到的问题及解决过程

问题1:

课后作业“删除字符串中指定字符”的编程中,自定义函数的函数体内没有与调用时定义的变量保持一致导致编译程错误,即调用的地址变量虽然没有“*”标识,但是函数体内要用地址变量定义。(下为delchar的代码,我认为删除字符不应该是简单的过滤)

1 #include

2 #include

3 #include

4 void delchar(char *s,charc);5 intmain()6 {7 char s[100],c;8 gets(s);9 getchar();10 c=getchar();11 delchar(s,c);12 puts(s);13 system("pause");14 return 0;15 }16 void delchar(char *s,charc)17 {18 char *ss=NULL;19 while(*s)20 {21 if(*s==c)22 {23 ss=s;24 while(*s)25 {26 *s=*(s+1);27 s++;28 }29 s=ss-1;30 }31 s++;32 }33 }

解决方案:如上代码,定义函数“void delchar(char *s,char c)”即可。

问题2:

课后作业“从指定位置复制字符串”的编程中,开始没有考虑到题目输入中的位置其实对应字符串下标减一而导致答案错误。(下为正确代码)

1 #include

2 #include

3 #include

4 void strmcpy(char *s,char *t,intm);5 intmain()6 {7 char t[100],s[100];8 intm;9 gets(t);10 scanf("%d",&m);11 strmcpy(s,t,m);12 puts(s);13 system("pause");14 return 0;15 }16 void strmcpy(char *s,char *t,intm)17 {18 while(m--)19 {20 t++;21 }22 strcpy(s,t-1); //本条自定义函数实质为strcpy(s,t+m-1);

23 }

解决方案:如上代码,在调用strcpy函数时在t后减一即可。

问题3:

课后作业“二维数组冒泡排序”的编程中,直接照搬了从前一维数组冒泡排序的思路,从而忽视了二维数组多出来的一层边界的越界问题而导致一些情况下出现答案错误(如下图)。

解决方案:重新考虑了第二层边界的越界问题并修改了for循环的条件。

三、作业

1.PTA(指针字符串查找字符程序)

1 #include

2 #include

3 intmain()4 {5 int i,n=0,count=0;6 char a[80],x;7 while((a[n]=getchar())!='\n')8 n++;9 x=getchar();10 while(n--)11 if(x==a[n])12 count++;13 printf("%d",count);14 return 0;15 }

(输出截图)

2.二维数组冒泡排序

1 #include

2 #include

3 #include

4 intmain()5 {6 char a[5][80];7 char temp[80];8 inti,j;9 for(i=0;i<5;i++)10 {11 gets(a[i]);12 }13 printf("二维数组冒泡排序:\n");14 for(j=0;j<4;j++)15 {16 for(i=0;i<4-j;i++)17 {18 if(strcmp(a[i],a[i+1])>0)19 {20 strcpy(temp,a[i]);21 strcpy(a[i],a[i+1]);22 strcpy(a[i+1],temp);23 }24 }25 }26 for(i=0;i<5;i++)27 {28 puts(a[i]);29 }30 system("pause");31 return 0;32 }

(输出截图)

四、中国大学MOOC

c语言在s之后可以直接跟条件,2018C语言第二次作业相关推荐

  1. C语言里if语句变量作为判断条件,C语言教学(九-上)if else判断语句

    原标题:C语言教学(九-上)if else判断语句 今天讲if else判断语句,简单理解就是进行条件判断,如果条件达到则执行if 里或else里的语句.先来看if. if的写法和for差不多,就是不 ...

  2. c语言中平均值用什么表示_学C语言有什么用?

    这个也是我刚学C语言的疑问,当时总是写一些比较大小,排序之类的函数,很是枯燥,也学的不怎么样.学东西是要有用它的地方才有动力继续学习, C语言的应用很广的,比如 我以前学习的单片机,现在学习的嵌入式, ...

  3. c语言 左补1,转专业后对于C语言补修的一些体会(1)

    在转入软件工程后,原来的C语言程序设计只有三学分,而信息学院的C语言程序设计有四学分.迫于无奈的我只能再补修一遍C语言,自我认为大一对于C语言的学习已经基本足够,但我发现信息学院用的是不一样的书后,对 ...

  4. R语言dplyr包filter函数通过逻辑条件过滤数据实战

    R语言dplyr包filter函数通过逻辑条件过滤数据实战 目录 R语言dplyr包filter函数通过逻辑条件过滤数据实战 #导入dplyr包 #仿真数据

  5. c语言数组中的字母可以相等吗,C语言数组比较

    C语言数组比较教程 在 要比较两个 C 语言的数组是否相等,我们只有使用 案例 比较两个数组是否相等 通过循环遍历数组来比较数组 #include int main(){ printf("嗨 ...

  6. 每个c语言程序写完后 都要按照,c语言基础学习小结(习题总结)(5页)-原创力文档...

    书山有路勤为径 学海无涯苦作舟 一.思考题. 1.你如何向别人解释清楚什么是编程.什么是计算机语言? 2.什么是C语言? 二.解答题. 1.用C语言编写程序:求任意两个整数的和.如果是小数的话,要求输 ...

  7. python是一种语言还是一个软件-自动化专业想学一门语言 是学Python 还是Java ?...

    1.java语言排行榜 TIOBE发布了2019年5月份编程语言排行榜,以下是网站译文,(翻译的可能有点鬼畜,凑活看吧)5月标题:统计语言R不属于TIOBE指数前20名 在进入前20名大约3年后,统计 ...

  8. python与c语言在语法上的区别-python和c语言的区别是什么

    Python可以说是目前最火的语言之一了,人工智能的兴起让Python一夜之间变得家喻户晓,Python号称目前最最简单易学的语言,现在有不少高校开始将Python作为大一新生的入门语言.本萌新也刚开 ...

  9. python与c语言在语法上的区别-Python与C语言基础对比(Python快速入门)

    代码较长,建议使用电脑阅读本文. 10分钟入门Python 本文中使用的是Python3 如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的.下面将开始介绍它们的异同 ...

  10. 简单比较python语言和c语言的异同-Python快速入门之与C语言异同

    原标题:Python快速入门之与C语言异同 代码较长,建议使用电脑阅读本文. 10分钟入门Python 本文中使用的是Python3如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达 ...

最新文章

  1. ⑨ 设计模式的艺术-22.中介者(Mediator)模式
  2. 挑出IIS日志里某一文件的请求次数
  3. sonar-checkstyle plugin源码
  4. html文本设置float,css怎么float(浮动)?
  5. 【渝粤题库】陕西师范大学600007 化工基础 作业(专升本)
  6. js delete删除对象属性,delete删除不了变量及原型链中的变量
  7. 如何从Mac OS X连接 ×××
  8. 1074. Reversing Linked List (25)-PAT甲级真题
  9. 算法面试_怎么简单高效的理解递归?//TODO
  10. 理解VMware资源池
  11. 【Unity3D】人体模型及动画
  12. php生成二维码文字图片海报
  13. 知识点:matplotlib绘图的线条设置以及颜色设置
  14. Error:1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL
  15. ARM-Linux开机自启动设置-mini2440开发板
  16. 网吧无盘服务器2021,云更新无盘客户端
  17. 考toeic心得。。。。
  18. python通过网络发送图片_python 打开网络图片
  19. MATLAB中控制运算精度
  20. 神经网络与深度学习 Class 13:卷积神经网络

热门文章

  1. django的admin
  2. 如何去掉word中的回车符??
  3. 运维之我的docker-不要在给你的docker安装ssh server
  4. 推荐使用maven生成mybatis代码
  5. iOS / OXS LeanCloud云存储方案简单测试记录
  6. TDD 测试驱动开发
  7. mysqludf_json将关系数据以JSON编码
  8. 分享一个自己写的table表格排序js插件(高效简洁)
  9. 云管理之虚拟化——虚拟化的分类
  10. 以前收集到的PHP总结笔记