热门标签 | 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++。



推荐阅读
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • Halcon之图像梯度、图像边缘、USM锐化
    图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像卷积:1.模糊2.梯度3.边缘4.锐化1.视频教程:B站、 ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 深入解析:Synchronized 关键字在 Java 中对 int 和 Integer 对象的作用与影响
    深入探讨了 `Synchronized` 关键字在 Java 中对 `int` 和 `Integer` 对象的影响。尽管初看此题似乎简单,但其实质在于理解对象的概念。根据《Java编程思想》第二章的观点,一切皆为对象。本文详细分析了 `Synchronized` 关键字在不同数据类型上的作用机制,特别是对基本数据类型 `int` 和包装类 `Integer` 的区别处理,帮助读者深入理解 Java 中的同步机制及其在多线程环境中的应用。 ... [详细]
  • 虚函数表指针vptr的功能测试与分析
    类的虚函数调用依赖于虚函数表来实现。虚函数表是由编译器自动生成的一段内存区域,用于存储包含虚函数的类中每个虚函数的入口地址。这些入口地址本质上是指针类型,从而使得动态绑定成为可能。本文对虚函数表指针(vptr)的功能进行了详细的测试与分析,探讨了其在多态性和继承机制中的作用及其性能影响。 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • 在深入探讨进程间通信技术时,本文重点解析了描述符传递的方法。通过详细分析发送和接收描述符的过程,文章首先介绍了发送描述符的具体步骤,并提供了相关函数原型。此外,还讨论了如何高效地在不同进程之间传输文件描述符,以实现资源的共享和同步。这一技术在多进程应用中具有重要意义,能够显著提升系统的性能和可靠性。 ... [详细]
  • Linux基础知识:Vi与Vim编辑器详解
    Linux基础知识:Vi与Vim编辑器详解 ... [详细]
  • 蓝桥竞赛中的回形取数问题是一个经典的算法挑战。本文详细解析了该问题的正确实现代码,重点探讨了 `hasNext()` 和 `next()` 方法的区别与应用。尽管两者在功能上类似,都会等待用户输入下一个字符,但它们的返回值类型不同,`hasNext()` 返回一个布尔值,表示是否还有输入,而 `next()` 则直接返回下一个输入的值。通过具体的代码示例和详细的逻辑分析,本文为参赛者提供了宝贵的参考和指导。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本文详细介绍了在Windows XP系统中安装和配置Unix打印服务的方法,以支持远程行式打印机(LPR)功能。对于同时使用Windows 2000 Server打印服务器和Unix打印服务器的网络环境,该指南提供了实用的步骤和配置建议,确保不同平台之间的兼容性和高效打印。 ... [详细]
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社区 版权所有