帮助读者掌握C语言编程基础知识的书籍

news2024/11/26 8:46:31

帮助读者掌握C语言编程的基础知识,了解如何将人工智能技术应用于自己的编程项目。

人工智能编程(赋能C语言)

作者: 黄箐、廖云燕、曾锦山、邢振昌

ISBN号: 9787302648796

出版日期: 2023-11-01

本书以C语言为基础介绍人工智能赋能编程,帮助读者循序渐进地掌握人工智能赋能编程的方法,深入理解人工智能的原理。本书特色在于将C语言和人工智能赋能编程的原理相结合,通过C语言实现人工智能赋能编程的应用,帮助读者把人工智能赋能编程从理论落地到实践。 本书内容主要包括数据类型、运算符与表达式、程序基本控制结构、函数及其应用、数组及其应用、指针及其应用、结构体及其应用、文件与数据存储、人工智能辅助编程入门实战、人工智能辅助编程高阶实战,以及各类大赛和竞赛题的自动解答。 本书面向高校在校学生、机器学习爱好者、人工智能研究者和开发者,也可作为开发者实现人工智能赋能编程的有力工具。

人工智能作为当前热门的技术领域,为编程带来了许多新的思路和方法。C语言是一种广泛应用于系统开发、嵌入式设备、游戏开发等领域的高级编程语言,掌握C语言编程对于计算机和非计算机专业的学生而言都是至关重要的。本书从C语言的基础知识开始讲解,包括变量、数据类型、运算符等;然后介绍如何使用C语言进行条件控制、循环结构和函数编写;最后讲解C语言的高级特性。本书结合人工智能的理论和实践,通过具体的示例和练习引导读者学习将人工智能技术应用于C语言编程的方法。

【例3.10】 兔子的繁殖问题。

引导Copilot生成代码的自然语言如下: 
//假设兔子在出生两个月后就有繁殖能力,一对兔子每个月能生出一对小兔子。如果所有兔子都
//不死,那么一年以后可以繁殖出多少对兔子? 请编程计算
Copilot生成的代码如下: 
#include <stdio.h> 
#include <stdlib.h> 
int main() 
{ 
int n; 
scanf("%d", &n); 
int a[1000] = {1, 1}; 
for (int i = 2; i < n; i++) { 
a[i] = a[i-1] + a[i-2]; 
} 
printf("%d\n", a[n-1]); 
return 0; 
} 

第1章引论1
1.1C语言环境简介1
1.1.1C语言编译器及其原理1
1.1.2C语言文本编辑器2
1.1.3C语言环境的搭建3
1.2搭建C语言的开发环境3
1.2.1安装VS Code3
1.2.2安装VS Code扩展3
1.2.3配置C语言编译器5
1.2.4创建编译和调试配置6
1.3AI工具的安装7
1.3.1注册GitHub账号7
1.3.2GitHub学生认证7
1.3.3在VS Code中安装Copilot教程9
1.4AI工具入门方法10
1.4.1Copilot基本使用方法10
1.4.2ChatGPT基本使用方法11
1.5AI工具的功能介绍13
1.5.1Copilot功能介绍14
1.5.2ChatGPT功能介绍15
本章小结18
课后习题18
第2章数据类型、运算符与表达式19
2.1C语言程序的基本结构19
2.2C语言程序中的常用符号23
2.3C语言程序的基本数据类型23
2.4常量24
2.4.1整型常量24
2.4.2实型常量242.4.3字符常量25
2.4.4字符串常量26
2.4.5宏常量26
2.4.6const常量27
2.5变量27
2.5.1变量的声明27
2.5.2变量初始化28
2.5.3变量的访问与使用28
2.6运算符与表达式29
2.6.1算术运算符29
2.6.2运算符的优先级与结合性30
2.6.3关系运算符30
2.6.4复合赋值运算符31
2.6.5 和--运算符31
2.7表达式的类型转换32
2.7.1赋值表达式的类型转换32
2.7.2强制类型转换32
本章小结33
课后习题33
〖3〗人工智能编程(赋能C语言)目录〖3〗第3章程序基本控制结构35
3.1逻辑运算符和逻辑表达式35
3.2选择控制结构36
3.2.1if单分支语句36
3.2.2if双分支语句37
3.3条件表达式37
3.4switch多分支语句38
3.5循环控制语句40
3.5.1while循环语句40
3.5.2for循环语句41
3.5.3dowhile循环语句42
3.6程序跳转语句42
3.6.1break语句42
3.6.2continue语句43
3.6.3goto语句44
3.7多重循环及其利用45
3.8循环程序设计方法46
3.8.1迭代法46
3.8.2穷举法47
本章小结48
课后习题49
第4章函数及其应用51
4.1函数的定义与分类51
4.1.1函数的定义51
4.1.2return语句52
4.1.3函数分类54
4.2函数的参数55
4.2.1形式参数和实际参数的概念55
4.2.2函数参数的传递方式56
4.3函数的调用57
4.3.1函数的调用过程57
4.3.2函数的返回值59
4.4函数的声明59
4.4.1函数声明的目的和作用59
4.4.2函数声明与函数定义的关系62
4.5变量的作用域63
4.5.1变量的作用域和生命周期63
4.5.2局部变量的定义和使用64
4.5.3全局变量的定义和使用65
4.5.4局部变量与全局变量的区别和注意事项66
4.6函数嵌套调用66
4.6.1函数之间的调用关系66
4.6.2函数的嵌套调用过程67
4.7递归函数69
4.7.1递归的概念和原理69
4.7.2递归函数的定义和调用69
4.7.3递归函数的应用和注意事项71
本章小结71
课后习题72
第5章数组及其应用74
5.1概述74
5.2一维数组74
5.2.1数组的组成74
5.2.2一维数组75
5.2.3定义数组简单举例76
5.3一维数组的简单应用77
5.4向函数中传递一维数组79
5.5二维数组81
5.6二维数组的简单应用83
5.7向函数中传递二维数组85
5.8字符串与字符数组87
本章小结90
课后习题91
第6章指针及其运用92
6.1指针的本质92
6.2指针变量的定义与初始化94
6.2.1指针变量的定义94
6.2.2指针初始化95
6.3指针与函数97
6.3.1传值调用和传地址调用97
6.3.2指针作为函数参数的应用实例98
6.4指针和一维数组100
6.5指针和二维数组102
6.5.1二维数组的指针表示和访问102
6.5.2指针数组103
6.5.3数组指针103
6.5.4指针数组与数组指针的区别104
6.6实际应用示例104
本章小结109
课后习题109
第7章结构体及其应用111
7.1概述111
7.2结构体的定义和声明111
7.3结构体的初始化113
7.4结构体成员的访问114
7.5指向结构体的指针115
7.6结构体数组116
7.7结构体和函数118
7.7.1结构体作为函数参数118
7.7.2结构体作为函数返回值119
7.8结构体的应用121
7.8.1存储和操作一组相关数据121
7.8.2创建复杂的数据结构122
7.9结构体扩展123
7.9.1联合123
7.9.2位域123
本章小结124
课后习题126
第8章文件与数据存储130
8.1核心文件操作130
8.1.1文件的打开与关闭130
8.1.2文件的读取131
8.1.3文件的写入132
8.2应用实例讲解132
8.2.1字符串读写应用实例132
8.2.2学生信息读写实例137
本章小结142
课后习题142
第9章AI辅助竞赛题解答143
9.1蓝桥杯竞赛题自动答题143
9.1.1蓝桥杯竞赛特点143
9.1.2基本解题方法概述144
9.1.3贪心法145
9.1.4动态规划146
9.1.5图的染色算法149
9.1.6深度优先算法151
9.1.7二分法153
9.2ICPC竞赛题自动答题155
9.2.1ICPC概述155
9.2.2算法设计方法与应用156
9.2.3枚举法156
9.2.4贪心法158
9.2.5递归法160
9.2.6分治法161
9.2.7递推法164
9.2.8模拟法166
本章小结168
课后习题169
第10章AI辅助系统设计172
10.1系统设计过程概述172
10.1.1软件工程方法学172
10.1.2软件生命周期180
10.2基于大语言模型的编程学习与辅助系统的案例分析181
10.2.1问题描述与需求分析182
10.2.2总体设计与详细设计183
10.2.3编码185
10.2.4测试与运行效果185
本章小结186
课后习题187
第11章AI链无代码生产平台Prompt Sapper188
11.1Prompt Sapper功能介绍188
11.1.1提示中心功能188
11.1.2引擎管理功能189
11.1.3项目管理功能190
11.2Prompt Sapper视图介绍191
11.2.1探索视图191
11.2.2设计视图192
11.2.3构建视图194

参见:

水木书荟

清华大学出版社-图书详情-《人工智能编程(赋能C语言)》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【linux】环境变量(进程二)

这里写目录标题 命令行参数&#xff1a;环境变量&#xff1a; 命令行参数&#xff1a; 不谈命令行参数就谈环境变量就是耍流氓。 相信我们在C语言阶段都在main函数里见过参数。 例如int main(int argc, char* argv[]) 这是什么东西呢&#xff1f; 话不多说我们直接打印一下看…

Vue2(八):脚手架结构、render函数、ref属性、props配置项、mixin(混入)、插件、scoped样式

一、脚手架结构分析 crlc终止刚刚搭建的vue。 ├── node_modules ├── public │ ├── favicon.ico: 页签图标 │ └── index.html: 主页面 ├── src │ ├── assets: 存放静态资源 │ │ └── logo.png │ │── component: 存放组件 │ │ …

利用WebGL绘制简单几何

利用WebGL绘制最简单的几何图形 一、WebGL简介 WebGL是一种用于在网页上渲染交互式3D和2D图形的JavaScript API。它基于OpenGL ES 2.0&#xff0c;提供了一种在浏览器中使用硬件加速图形的方式。 二、图形系统绘图流程 图形系统的通用绘图流程会包括六个部分&#xff1a; …

python_django网红基地孵化园场地管理系统flask

作为一个管理孵化园的网络系统&#xff0c;数据流量是非常大的&#xff0c;所以系统的设计必须满足使用方便&#xff0c;操作灵活的要求。所以在设计孵化园管理系统管理系统应达到以下目标&#xff1a; &#xff08;1&#xff09;界面要美观友好&#xff0c;检索要快捷简易&…

python问题:vscode切换环境,pip安装库网络错误,不使用anaconda安装库

python问题&#xff1a;vscode切换环境&#xff0c;pip安装库网络错误 vscode切换环境pip安装库网络错误 不使用anaconda安装库 记录一下遇见的python问题。 vscode切换环境 在vscode上面的搜索框输入 > select interpreter然后选择需要的环境。 pip安装库网络错误 用…

数据丢失怎么办?不可不知道的3个恢复方法分享!

“作为一名电脑小白&#xff0c;刚买了电脑后我就把所有学习资料都保存在电脑上了&#xff0c;刚刚发现有部分比较重要的数据找不到了&#xff0c;我应该怎么操作才能恢复这些文件呢&#xff1f;” 数据丢失&#xff0c;对于任何个人或企业来说&#xff0c;都是一件令人头疼的事…

Python学习从0到1 day17 Python异常、模块、包

不走心的努力&#xff0c;都是在敷衍自己 ——24.3.19 万字长文&#xff0c;讲解异常、模块、包&#xff0c;看这一篇就足够啦 什么是异常? 当检测到一个错误时&#xff0c;python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的异常&am…

「滚雪球学Java」:安全(章节汇总)

&#x1f3c6;本文收录于「滚雪球学Java」专栏&#xff0c;专业攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎大家关注&&收藏&#xff01;持续更新中&#xff0c;up&#xff01;up&#xff01;up&#xff01;&#xf…

代码随想录day26(1)二叉树:二叉搜索树的最小绝对差(leetcode530)

题目要求&#xff1a;给你一棵所有节点为非负值的二叉搜索树&#xff0c;请你计算树中任意两节点的差的绝对值的最小值。 思路&#xff1a;最简单的想法就是新建数组&#xff0c;通过中序遍历将节点值全都存入数组中&#xff08;有序&#xff09;&#xff0c;然后计算相邻两节…

【堡垒机】企业购买堡垒机的七大需求你知道吗?

目前想了解堡垒机的企业越来越多了&#xff0c;采购堡垒机的企业也越来越多了。那企业购买堡垒机的七大需求你知道吗&#xff1f;今天我们小编就跟大家一起来探讨一下&#xff0c;仅供参考哦&#xff01; 企业购买堡垒机的七大需求 需求1、简化运维流程&#xff0c;提高运维工…

【Docker】-- 如何安装docker

一、安装docker 首先要安装一个yum工具 yum install -y yum-utils 安装成功后&#xff0c;执行命令&#xff0c;配置Docker的yum源&#xff1a; yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 最后&#xff0c;执行命令&#x…

MySQL中replace into详解、批量更新、不存在插入存在则更新、replace into的坑

文章目录 一、replace into原理二、replace into的三种形式三、replace into 使用案例3.1、replace into values3.1.1、只有主键且主键冲突3.1.2、有主键有唯一索引且主键冲突3.1.3、有主键有唯一索引且唯一索引冲突(有坑)3.1.4、有主键有唯一索引且与一条主键冲突与另一条唯一…

centos7磁盘管理,lvm挂载、扩容

一、centos7 磁盘挂载 默认盘符格式 centos7 默认文件格式xfscentos6 默认文件格式ext4centos5 默认文件格式ext3 1、/dev/vdb和/dev/mapper/lvm-data对比 1&#xff09;/dev/vdb /dev/vdb通常表示一个裸的块存储设备&#xff0c;比如一个硬盘或者虚拟机中的一个虚拟硬盘。…

c语言综合练习题

1.编写程序实现键盘输入一个学生的学分绩点 score&#xff08;合法的范围为:1.0—5.0&#xff09;&#xff0c;根据学生的学分绩点判定该学 生的奖学金的等级&#xff0c;判定规则如下表所示。 #include <stdio.h>int main() {float score;printf("请输入学生的学分…

在Arm 虚拟硬件(AVH)部署深度学习OCR算法

AI算法的嵌入式部署 AI算法在独立的设备上运行其实就是行业内的嵌入式AI的概念, 大致过程如下: 开发AI模型, 2.对数据集进行处理, 3.训练AI模型并验证效果, 4.转成ONNX格式(ONNX:万金油中间格式,给模型优化和部署带来了更多可能性)或者借助libtorch或者TensorFlow来部署C++版…

FreeRTOS时间片调度

1. 时间片调度简介 同等优先级任务轮流地享有相同的 CPU 时间(可设置)&#xff0c; 叫时间片。在FreeRTOS中&#xff0c;一个时间片就等于SysTick 中断周期。 像我们的源码&#xff0c;滴答定时器是 1ms 中断一次&#xff0c;那么一个时间片的时间就是 1ms。可设置&#xff1a…

如何选择一款靠谱的短网址工具,避坑指南

选择一款靠谱的短网址服务是非常重要的。这不仅关乎到你的个人体验&#xff0c;更直接影响到你的业务发展和流量转化。想象一下&#xff0c;你精心策划了一场营销活动&#xff0c;通过短网址分享给了众多用户&#xff0c;然而因为短网址服务的不稳定&#xff0c;用户无法打开链…

多个线程交替打印ABC

多个线程交替打印ABC package 多个线程交替打印ABC;import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier;/*** Created with IntelliJ IDEA.** Author: AlenXu* Date: 2024/03/20/10:10* Description:*/ public class ThreadLoopP…

Hack The Box-Devvortex

目录 信息收集 nmap whatweb WEB web信息收集 wfuzz 漏洞探索 漏洞发现 反弹shell 提权 get user hashcat get root 信息收集 nmap 端口信息收集┌──(root?ru)-[~/kali/hackthebox] └─# nmap -p- 10.10.11.242 --min-rate 10000 Starting Nmap 7…

javase Set集合

Collection子接口2&#xff1a;Set 5.1 Set接口概述 Set接口是Collection的子接口&#xff0c;Set接口相较于Collection接口没有提供额外的方法 Set 集合不允许包含相同的元素&#xff0c;如果试把两个相同的元素加入同一个 Set 集合中&#xff0c;则添加操作失败。 Set集合…