热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c语言人工智能程序入门,C语言程序设计——快速入门与提高

课程概况为什么要学习C语言1、C简单好学,上可表达人的思想,下可管理硬件,是顶天(人)立地(机)的语言。2、C和操作系统Unix是孪生兄弟

课程概况

为什么要学习C语言

1、C简单好学,上可表达人的思想,下可管理硬件,是顶天(人)立地(机)的语言。

2、C和操作系统Unix是孪生兄弟,所有操作系统包括Windows,Android,IOS都是C写的。懂C语言,让你更好的理解这些系统。

3、C是几乎所有其他语言的母语言。掌握C,让你对其他语言触类旁通。

4、过去50年中,在众多编程语言中,C的流行度始终稳居前3.

5、不学C语言,你会后悔。

为什么我们叫“快速入门和提高”

关于“快速入门”:

1、方法上,强调学习编程是:即模仿-理解-仿写-创造这样的自然过程,教学设计贯彻这一思路。

2、时间上,我们拚弃了C的一些鸡肋语法点,比如a=i++ + ++i;之类的语法游戏;节约了时间。

关于“提高”:

1、全新的视角来设计C语言课程,从“我学C语言”——》“我用C语言”——》“我玩C语言”。

2、在训练编程思维上,我们设计很多案例,比如用计算机做模拟实验,用计算机去推理,递归函数的设计思路等。

3、我们的目标:在大家学习C语言的同时,理解计算机对人类进步的贡献,憧憬计算机服务人类的未来。

“课程介绍视频”更具体的展现我们的教学方法。

学习计算机程序设计的理论意义:

智能及智能的本质是古今中外许多哲学家、脑科学家一直在努力探索和研究的问题,但至今仍然没有明显进展,以致智能的发生与生命起源、宇宙的来历、物质的本质一起被列为自然界四大奥秘。让我们从信息科学角度去认识智能,思考智能的本质,探索人工智能到底发展到什么程度。 尽管飞机不能扇动翅膀,也能像鸟一样的飞翔;同样,谁又能说没有神经细胞的计算机不会思考?

学习计算机程序设计的现实意义:

机械设备是人手和腿的延伸,计算机是人脑的延伸,我们可以用计算机控制远在火星上的火星车;我们可以用计算机去给百万高考考生去排榜;我们可以让机器从销售记录数据中发现,尿布和啤酒放在一起可以提高超市销售量;我们可以把已知的事实交给计算机,让它来推理谁是犯罪分子;当计划生育政策有新政策发布时,我们可以让计算机去模拟,这个政策对人口数量和结构的影响。 纵观从计算机——》互联网——》可穿戴设备的IT发展史,信息产业在可预见的将来一直是朝阳产业,这个产业中英雄辈出,且不那么依赖拼爹。总之,懂计算机程序设计,利于你创业或找工作。

课程大纲

第一单元——C语言概论

课程目标——促进我们思考智能

课程目标——促进人和机器的交流(举例了火星车)

课程目标——机器为人服务的例子(医院CT的原理)

准备编程——认识编译器、源代码和可执行程序的关系

开始编程——用printf输出文字和回车符

教师答疑——用虚拟机架设编译环境VC6的操作

关于智能的又一个有趣的讨论

小技巧——虚拟机和物理机共享剪贴板

学习思路——教学思路介绍

人工智能——学术文献,感兴趣者可以读读,完全是课外读物

DEVC++的安装和使用

概述测试

编程作业

第二单元——顺序结构:从先到后一步一步执行

输入scanf语句和整型小数形转换练习与作业

模仿案例1——初中物理题求铅球的重量

模仿案例2——给程序输入数据的scanf函数的使用

模仿案例3——一元二次实数求解

模仿案例4——求余数和强制类型转换综合练习

优先级口诀

大家共同总结一个学习笔记——众人拾柴火焰高

顺序结构编程作业

请根据本单元内容设计两道题,选择或判断题

第三单元——循环结构:有条件的周而复始

模仿案例1——从1加到100用while循环完成

模仿案例2——计算PI的值

模仿案例3——斐波那契数列的第n项

模仿案例4——for循环实现阶乘

模仿案例5——for实现斐波那契相邻比之和

大家共同总结一个学习笔记——众人拾柴火焰高

循环训练测试

循环结构编程作业

教学相长——请出一道判断题或选择题

第四单元——分支结构:分而治之

分支案例1——基本的if分支实现分段函数

分支案例2——韩信点兵if和while的结合使用

分支案例3——输入三个数排序输出

分支案例4——判断一个年份是否为闰年

分支案例5——简单的计算器

分支案例6——复数域内求解一元二次方程

大家共同总结一个学习笔记,总结学到了什么

分支结构——逻辑运算测试

分支结构——分而治之编程作业

综合练习和讨论

请设计一道引起同学的兴趣和欲望的编程题

创建一道题目

第五单元——顺序分支循环综合应用:训练编程思维,解决实际问题

计算机模拟实验:计算机模拟实验的基石——随机函数rand()

计算机模拟实验:用实验测量圆周率PI

计算机模拟实验:一孩半计划生育政策会不会影响男女平衡

探索世界难题:奇偶归一猜想的验证

把你的智慧给电脑:设计游戏——抢最后一根

你能想到的可以用计算模拟实验去解决的问题

众人拾柴:大家共同总结一个学习笔记,总结学到了什么

训练编程思维,编程训练

训练编程思维,解决实际问题

你能否设计一个游戏?

综合练习和讨论

第六单元——循环进阶:找规律训练

字符变量dowhile及break测试

找规律

找规律训练——乘法口诀表的实现

找规律训练2——菱形字母阵列的实现

凯撒密码的实现

众人拾柴——大家共同总结一个学习笔记,总结学到了什么

第七单元——分支循环再练:用计算机推理

新郎新娘配对推理

某中学社团的招聘题目

众人拾柴:大家共同总结一个学习笔记,总结学到了什么

逻辑运算测试

推理题作业

第八单元——映射客观世界的新工具——数组:批量数据处理

数组的定义和使用

小时候玩的扑克牌神奇序列游戏

字符数组与字符串

大家共同总结一个学习笔记,总结学到了什么,不要求人人发言

数组:批量数据处理

第九单元——模块设计与代码重用的载体:函数

函数的定义

需要背下来的一个函数代码——素数判断

通用的解方程的方法——二分法解方程

未解之谜——歌德巴赫猜想验证

大家共同总结一个学习笔记,总结学到了什么,不要求人人发言

模块设计与代码重用的载体:函数

第十单元——模块设计与代码重用的载体:变量类型和递归函数

函数与变量类型

递归函数——函数直接或间接自己调用自己

递归函数——奥数题目

递归函数经典例子——汉诺塔

大家共同总结一个学习笔记,总结学到了什么,不要求人人发言

变量类型和递归函数

第十一单元——函数与数组,数组做函数的参数

计算模拟实验——你换不换手

计算机模拟实验——扑克牌序列

计算机模拟实验——投骰子

计算机模拟实验——蒙特卡洛方法——同一天过生日的概率问题

大家共同总结一个学习笔记,总结学到了什么,不要求人人发言

函数与数组,数组做函数的参数

第十二单元——指针:就是地址变量

指针变量——地址变量的定义

函数形参与实参结合——指针的作用之一

数组做函数的参数

函数指针及应用

指针和一维数组

7mallc与free

大家共同总结一个学习笔记,总结学到了什么,不要求人人发言

第十三单元——结构体和文件

结构体和文件

结构体和文件读写1

第十四章——位运算和文件加密

Tea加密算法背景介绍

main参数与程序分析

二进制文件的读与写

位运算符与Tea算法

Tea加密算法

预备知识

无要求,只要能够会用操作系统,懂文件和目录的概念即可

常见问题

关于C语言编译器,大家可以用任何编译器。

我们也提供一个VirtualBox的虚拟盘,其中包含XP操作系统和Visual C++6.0编译器。

也推荐DEV-C++。



推荐阅读
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • Appium + Java 自动化测试中处理页面空白区域点击问题
    在进行移动应用自动化测试时,有时会遇到某些页面没有返回按钮,只能通过点击空白区域返回的情况。本文将探讨如何在Appium + Java环境中有效解决此类问题,并提供详细的解决方案。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 本文介绍如何利用栈数据结构在C++中判断字符串中的括号是否匹配。通过顺序栈和链栈两种方式实现,并详细解释了算法的核心思想和具体实现步骤。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文详细介绍了Grand Central Dispatch (GCD) 的核心概念和使用方法,探讨了任务队列、同步与异步执行以及常见的死锁问题。通过具体示例和代码片段,帮助开发者更好地理解和应用GCD进行多线程开发。 ... [详细]
  • 本文探讨了在构建应用程序时,如何对不同类型的数据进行结构化设计。主要分为三类:全局配置、用户个人设置和用户关系链。每种类型的数据都有其独特的用途和应用场景,合理规划这些数据结构有助于提升用户体验和系统的可维护性。 ... [详细]
  • 气象对比分析
    本文探讨了不同地区和时间段的天气模式,通过详细的图表和数据分析,揭示了气候变化的趋势及其对环境和社会的影响。 ... [详细]
  • 本文详细介绍了C语言中的基本数据类型,包括整型、浮点型、字符型及其各自的子类型,并探讨了这些类型在不同编译环境下的表现。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • KMP算法是一种高效的字符串模式匹配算法,能够在不进行回溯的情况下完成匹配,其时间复杂度为O(m+n),其中m和n分别为文本串和模式串的长度。本文将详细介绍KMP算法的工作原理,并提供C语言实现。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 深入理解动态链接库及其应用
    本文将探讨动态链接库的基本概念,包括Windows下的动态链接库(DLL)和Linux下的共享库(Shared Library),并详细介绍如何在Linux环境中创建和使用这些库。 ... [详细]
  • LCUI 2.1.0 版本现已推出,这是一个用 C 语言编写的图形用户界面开发库,适合创建轻量级的桌面应用程序。此次更新包括多项修复和功能增强,并正式宣布将启动 Android 支持的开发计划。 ... [详细]
author-avatar
mobiledu2502924027
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有