必看:C语言高效学习方法(附经典试题详解)

article/2025/10/5 22:53:38

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

在这里插入图片描述

*过程中如果有问题可以关注微信公众号“程序艺术室”,添加我的微信向我咨询
*一健三连哦!


http://chatgpt.dhexx.cn/article/ND2Apyd5.shtml

相关文章

分享下自己学习C语言的方法和心得!

要如何学好C语言&#xff0c;其实最核心的就一点&#xff0c;自己得多去练习写代码&#xff0c;有些东西&#xff0c;练习的多了&#xff0c;自然就懂了。如果只是一味的看书&#xff0c;看视频教程而不是自己动手去实践&#xff0c;去敲代码&#xff0c;调试运行&#xff0c;那…

C语言 学习

其中&#xff0c;#include 预处理器指令 int main(void) main()总是第一个被调用的函数 C语言有6种语句&#xff0c;标号语句&#xff0c;复合语句&#xff0c;表达式语句&#xff0c;选择语句&#xff0c;迭代语句&#xff0c;跳转语句。 圆括号表明main()是一个函…

C语言学习

C语言简要概述 简单来说一个C程序就是由若干头文件和函数组成。 简单示例&#xff1a; #include <stdio.h>//头文件 int main() //主函数 { printf("I love C"); return 0;} 一个C程序&#xff0c;有且只有一个主函数&#xff0c;即main函数,C程序就是执行主…

我是如何自学C语言的(一个菜鸟的学习路)

零基础扫盲课&#xff1a; 计算机科学速成课&#xff08;扫盲课&#xff09;:【计算机科学速成课】[40集全/精校] - Crash Course Computer Science_哔哩哔哩_bilibili 简介&#xff1a;这个视频会以自下而上的方式&#xff0c;给你介绍整体计算机行业的各项知识&…

c语言学习方法论

简介&#xff1a;给大家介绍一下C语言的知识结构&#xff0c;让大家呢在学习C语言之前呢对我们这个 C语言的整体的知识模块有一个整体性的认识&#xff0c;你学的是什么你知道&#xff0c;那么你学的这个进度在你这个了解C语言的这个知识结构的基础上呢也会有一个很好的把握&am…

大一新生应该如何学习C语言,书上代码看不懂理解不了怎么办?

大家好&#xff0c;我是二哥呀&#xff01; 昨天有个读者问我要 C语言的学习路线&#xff0c;他今年刚上大一&#xff0c;书上的代码完全看不懂。 讲真&#xff0c;大一新生&#xff0c;一般都是零基础的纯小白&#xff0c;看不懂书上的代码很正常&#xff0c;除非是小学、初中…

如何学习C语言

目录 写这篇文章是给刚迈入我们c语言的小萌新的一些建议&#xff0c;因为掌握了好的方法&#xff0c;我们学习起来才能事半功倍&#xff01; 一.了解C语言 二.每天看C语言方面的书 三.每天多敲多练 四&#xff0c;找到独属于自己的学习方法 五.培养自己对于编程的学习兴趣…

浅谈WebService技术以及实现相关的REST和SOAP

前言&#xff1a;今天工作用到了REST接口&#xff0c;网上查找发现了许多写REST和SOAP的文章&#xff0c;所以又联想到了前段时间刚用过的WebService技术就是用SOAP实现的&#xff0c;然后就花了些时间搞了一下WebService原理以及REST和SOAP的区别。 WebService实现原理: 一、…

WebService重学(自用)

乱花渐欲迷人眼&#xff0c;浅草才能没马蹄&#xff01; 接触一个新技术的时候&#xff0c;脑海中总是会跳出这句诗。附庸风雅&#xff0c;非我本意。主要还是因为很多网络学习资料&#xff0c;把简单的东西搞得很复杂&#xff1b;该有内涵的时候&#xff0c;又俗不可耐。 前段…

WebService

webService报错总结&#xff01;&#xff01;&#xff01; Unmarshalling Error: null 原因&#xff1a;接收的参数实体类中的字段类型是BigDecimal&#xff0c;参数中传的字段类型是VARCHAR2(300) Unmarshalling Error: Date类型的字段不能传空。 1、标题学习目标 2、webs…

javaWebService技术框架

0.WebService交互方式和浏览器交互方式对比 1.WebService对内的意义&#xff1a;架构 2.WebService对外的意义&#xff1a;提供第三方接口支持 3.Java中的WebService标准 ①JAX-WS标准 数据传输格式&#xff1a;SOAP 服务器端自描述语言&#xff1a;WSD…

Java WebService

1、WebService简介 Web Service技术&#xff0c; 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件&#xff0c; 就可相互交换数据或集成。依据Web Service规范实施的应用之间&#xff0c; 无论它们所使用的语言、 平台或内部协议是什么&#xff0…

Java开发中经常使用到的几种WebService技术实现方案

Java开发中经常使用到的几种WebService技术实现方案 随着异构系统互联需求的不断增加&#xff0c;WebService的重要性也日益彰显出来。凭借webservice&#xff0c;我们可以实现基于不同程序语言的项目的互联互通。更可以将开发好的程序接口以服务的形式发布出去供使用者调用。w…

Java详解WebService技术

一、什么是 webservice WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 二、webservice采用什么技术 WebService平台由XMLXSD,SOAP和WSDL三大技术构成。 1、XMLXSD&#xff08;封装数据&#xff09;&#xff1a; WebService采用HTTP协议传输数据&#xff0c;采用…

WebService总结

目录 WebService简介 WebService架构图 理解&#xff1a; WebService的开发规范 SOAP协议 soap的组成 WSDL UDDI WebService的优缺点 WebService优点 WebService缺点 SOA ApacheCXF框架 CXF分为JAX-WS和JAX-RS两种开发方式 ApacheCXF实现WebService&#xff08…

WebService技术详解CXF

WebService WebService简介 Web Service技术&#xff0c; 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件&#xff0c; 就可相互交换数据或集成。依据Web Service规范实施的应用之间&#xff0c; 无论它们所使用的语言、 平台或内部协议是什么&…

WebService技术入门

一、Webservice简介 1、 WebService是一种跨编程语言和跨操作系统平台的远程调用技术。具有异构平台的互通性,软件的复用性等优点。 2、WebService的三要素&#xff1a; &#xff08;1&#xff09;SOAP(简单对象访问协议)&#xff0c;基于HTTP协议&#xff0c;采用XML格式&…

WebService技术详解 (一)

WebService WebService简介 Web Service技术&#xff0c; 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件&#xff0c; 就可相互交换数据或集成。依据Web Service规范实施的应用之间&#xff0c; 无论它们所使用的语言、 平台或内部协议是什么&…

WebService技术详解

WebService简介 Web Service技术&#xff0c; 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件&#xff0c; 就可相互交换数据或集成。依据Web Service规范实施的应用之间&#xff0c; 无论它们所使用的语言、 平台或内部协议是什么&#xff0c; 都可…

信息系统项目管理师:Web Service技术篇

一、Web Service技术 Web Service是解决应用程序之间相互通信的一种技术。WebService是描述一系列操作的接口。它使用标准的、规范的XML描述接口。 Web Application是面向用户的&#xff0c;而Web Service面向的则是计算机。 Web Service模型&#xff1a;服务提供者、服务请求者…