必看:C语言高效学习方法(附经典试题详解)
C试题100例详解
- 写在前面
- C语言高效学习方法
- 正片开始:
- 问题描述
- 课题分析
- 算法描述
- 自然语言方式描述
- 流程图方式描述
- 源代码
- 试验结果分析与讨论
写在前面
本专栏提供多于100道C试题解答,并且会一直不定期更新,使用的过程中如果有看不懂的地方,可以通过扫描文章末尾的公众号免费向我寻求解答。如果在做题的过程中有遇到专栏中没有的题目,也欢迎向我寻求解答,我将尽力为你解答!
C语言高效学习方法
- 首先:选一款好用的编译器,千万不要再用VC++6.0了,可以下载一个DEVC,不说有多么厉害,但是起码没VC++这么多故障,你想一下,如果编译器老是出故障,那直接影响的是学C语言的热情。
如何使用DEVC搭建工程可以点击这个链接:使用DEVC创建C语言工程
- 其次:你可以自学C语言,这个其实不用看视频的,C那么多语法,不可能全部记住,你可以跟着下面我推荐的网站走,踏踏实实敲代码。因为学习编程最有效的方式就是多敲。
菜鸟编程-C语言学习,这个网站可以很全面的介绍C语言语法,初期可以在菜鸟编程里查资料去学习。
另外,我还发现CSDN有一个技能树功能,这个怎么使用呢,可以搭配菜鸟编程一起看,技能树面向初中期吧,更多的是中期,我看了几节讲指针的,内容确实不错。
- 最重要的来了,那就是实战(刷题)了,咱们都是高中过来的,题海战术有多重要就不用多说了,跟着C试题专栏里的试题,先熟知题目,自己敲代码,多敲多思考。
如果运行成功了,可以再简单看一下我的代码,想一下我的思路,因为一道题会有很多不同的解法,相信我的代码思想会对你思想上有所帮助,如果实在敲不出来也没关系,可以跟着我的代码去敲。
前期一定要坚持去敲代码,先连续做个30道题,找找手感。当然了,不一定非得使用专栏里的试题,网上代码也很多,也能搜到答案,按照我说的学习方法也能学习C语言。
我的专栏更多是为了节省大家的时间,因为专栏里的试题都是一些经典试题、二级C常考试题、也是大家私信问的比较多比较经典的试题。可以让大家在短期内提升C语言学习
这个短期怎么定义呢?一天如果能空出6个小时,那两周就能搞定C语言,那么就有人问了,怎么算搞定呢?我可以这样讲,最基本的二级C能让你过了,课设你也可以自己做了。
- 记录(错题本): 要养成随做随记录的习惯,因为C语言很多,不可能所有的知识点都可以记住,但你可以记住常用的一些C语言语法,比如Math、String等,比如什么是ASCII码、函数如何传参等,这样遇到类似的问题,可以回头翻翻看。
另外,一道题会涉及一些语法或者经典思想,把这些可以记下来,方便后面套用。以我以我专栏中的记录方式举例,可以给你做个参考:
- 答疑: 做题有疑惑自己去研究肯定是对的,但是有些问题不能一直往里钻,这样学习会适得其反,违背了本专栏的高效学习原则。
因此在学习的过程中可以免费找我答疑,只希望你能少走弯路!
添加公众号《程序艺术室》或者扫描下方二维码添加我的微信
正片开始:
问题描述
请编写一个函数,函数功能是删除字符串中的所有空格,例如,主函数中输入”asd af aa z67”,则输出为”asdafaaz67”.
课题分析
思路: 首先遍历整个字符串,当遇见字符为空格时,则内层循环从左往右依次往前覆盖;
主函数: 输入字符串,调用算法接口并返回结果,打印输出;
子函数: 外层循环遍历整个字符串,遍历的过程中判断字符时候为空格,如果为空格,则触发内层循环,内存循环从左往右依次往前覆盖。
算法描述
自然语言方式描述
(1)主函数
I.输入字符串
II.输出原字符串
III.调用实现接口
IV.打印输出结果
(2)调用fun函数
I.求字符串长度
II.从下标0开始遍历字符串
I)当字符为空格时
II)从空格所在字符的下标+1开始遍历字符,从后往前覆盖字符
III.字符串中出现空值,则必定往前换一次,那么结束符也要往前摞一次,因此长度-1, 并且将结束字符’\0’往前覆盖
IV.为了防止连续出现两个及两个以上的空格的情况,因此下标需要减1
V.返回新的字符串
流程图方式描述
源代码
#include<stdio.h>
#include<string.h>
char *fun(char *s){int i,j;for(i=0;s[i]!='\0';i++){if(s[i]==' '){//也可以使用ASCII码,空格的ASCII码为32 for(j=i;s[j]!='\0';j++){s[j]=s[j+1];}
// printf("删除空格后的字符串:%s\n",s);i--;//因为有可能下一个字符也是空格,因此第二层for循环结束后,需要当前下标回退一下也即当前下标i--}}return s;
}
int main() {char s[20];printf("请输入字符串:");gets(s);printf("删掉空格的字符串为:%s\n",fun(s));return 0;
}
试验结果分析与讨论
(1)实验结果实例展示
示例一:当输入的字符串无空格时:
示例二:当输入的字符串空格间隔最大为1时:
示例三:当输入的字符串空格间隔大于1时:
(2)代码优缺点
优点:逻辑上无缺陷,示例的运行结果均符合预期
缺点:代码时间复杂度较高,效率偏低
(3)扩展思路
可进一步考虑在内层循环调用时,不仅仅只消除掉一个空格
思路:再往前覆盖时,加一层判断,如果是空格,则跳过空格往前覆盖
end
*过程中如果有问题可以关注微信公众号“程序艺术室”,添加我的微信向我咨询
*一健三连哦!
必看:C语言高效学习方法(附经典试题详解)相关推荐
- 全站仪与计算机之间的数据传输,必看!全站仪数据传输的三种方式详解,都安排得明明白白(上)...
原标题:必看!全站仪数据传输的三种方式详解,都安排得明明白白(上) 科力达全站仪数据传输 一般而言,全站仪的数据传输方式有三种,分别是通过串口.USB.SD卡三种方式,因为电脑配置等因素的不同,一些数 ...
- 新手必看:访问url到加载全过程详解(看完不会我吃shi)
新手必看:访问url到加载全过程详解(看完不会我吃shi) 1.放在前面:新手必须知道的那些概念 1.1 什么是IP.域名.主机名.url.服务器 1.2 http & https 1.3 O ...
- Java零基础必看学习教程,Java开发环境配置详解
很多Java新手小白在学习Java编程的时候,碰到的第一难题就是不知道如何安装和配置java开发环境. 今天整理了史上最详细的安装及Java开发环境配置教程,通过图文并茂的方式详细讲解每一步骤,手把手 ...
- python释放变量内存_看完2019年阿里巴巴Python面试题详解,月薪3万不是梦
很多人想自学Python找工作,下面给大家分享一部分阿里巴巴的Python开发工程师的面试题目: 概念理解类题目: 1.请说一下你对迭代器和生成器的区别? 答:(1)迭代器是一个更抽象的概念,任何对象 ...
- c语言d打开文件夹,BAT批处理之文件与文件夹操作代码(附xcopy命令详解)
批处理中的文件.文件夹操作,xcopy命令的用法. 一,建bat文件自动执行复制,删除命令. 例1:复制cd.dll文件至windows\system32的bat文件内容: copy cd.dll % ...
- UNIX经典命令详解
UNIX经典命令详解 第一章 目录及文件操作命令 1.1 ls [语法]: ls [-RadCxmlnogrtucpFbqisf1] [目录或文件......] [说明]: ls 命令列出指定目录下 ...
- c语言 read 文件字节没超过数组大小时会怎样_剑指信奥 | C 语言之信奥试题详解(四)...
趣乐博思剑指信奥系列 ❝ 趣乐博思剑指信奥系列,专门针对全国青少年信息学奥林匹克联赛 NOIP 而开展的专业教育方案.开设的课程有 C 语言基础,C++ 语言基础,算法设计入门与进阶,经典试题分析与详 ...
- c语言指针用法及实际应用详解,通俗易懂超详细
c语言指针用法及实际应用详解,通俗易懂超详细! \\\插播一条:文章末尾有惊喜哟~/// 今天给大家来讲解一下指针. 我会由浅到深,最后联合实际应用讲解,让大家学会指针的同时,知道大佬们都用指针来干嘛 ...
- C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)
内容预览 3.5.搬迁类型 --- 函数功能详细说明 :将内存空间中内容移动.复制到另一内存空间 3.6.搬迁类型 --- 函数功能测试与手动实现 3.6.1.memcpy.memccpy 3.6.2 ...
最新文章
- OpenCV中的立体图像创建深度图
- Vivo手机调试 logcat 信息一堆星号问题
- Spring.NET学习笔记1——控制反转(基础篇) Level 200
- MHA masterha_check_ssh 报错
- maven 解决冲突
- python sqlserver 列名_报表自动化,三流用Excel,二流用Python,一流用它
- Linux之强大的selinux
- python大数据论文_大数据环境下基于python的网络爬虫技术
- potplayer如何设置以一帧一帧的逐帧播放播放?
- 输出教学日历表c语言程序,C语言程序设计教学日历2011版.doc
- Less颜色混合函数(14)
- FYI | NIH Virtual Meeting
- Matlab中fprintf函数使用
- js图片轮播指示器箭头淡入淡出
- 【开源工程】VirtualDub
- 【播放器】媒体播放器三大架构
- 斐讯音箱控制扫地机器人_斐讯大能X3扫地机器人首批测试,这回真没花一分钱!...
- 汉光助力:科技「智宅」智慧人居-Hi-Bus智能照明监控系统
- 图解WordPress怎么安装主题(三种方式)
- 工具类-随即获取姓名-ZH