C 001-初识C
C 作者以及贝尔实验室
C 语言的发明者Bjarne Stroustrup斯特朗斯特鲁普 1950年12月30日斯特朗斯特鲁普(Bjarne Stroustrup),英国剑桥大学计算机科学博士,C 语言的设计者和最初的实现者,也是《C 程序设计原理与实践》和《C 语言的设计和演化》的作者。他现在是德州农工大学计算机科学首席教授,同时AT&T贝尔实验室特别成员。
AT&T创立于1,877年,创始人是大名鼎鼎的电话之父亚历山大贝尔,正是电话的发明和AT&T公司的创建,人类历史上第一次实现了远程实时交互通信(电报不是实时的)
不过当时打电话可比现在贵多了,一分钟收费3美元,其购买力相当于今天的50美元,这还是美国联邦通信委员会(FCC)跟AT&T进行了多次谈判后的结果,没办法,当年可没有什么市场经济一说
所以,靠着垄断美国和欧洲的电话和电报业务,AT&T赚翻了!赚到钱的贝尔又开始发愁了:该怎么花呢?思来想去,贝尔决定成立一个实验室,这就是后来赫赫有名的“贝尔实验室”,贝尔给实验室定了一个规定:不用担心钱,给我可劲儿的研发!
不过当时打电话可比现在贵多了,一分钟收费3美元,其购买力相当于今天的50美元,这还是美国联邦通信委员会(FCC)跟AT&T进行了多次谈判后的结果,没办法,当年可没有什么市场经济一说所以,靠着垄断美国和欧洲的电话和电报业务,AT&T赚翻了!赚到钱的贝尔又开始发愁了:该怎么花呢?思来想去,贝尔决定成立一个实验室,这就是后来赫赫有名的“贝尔实验室”,贝尔给实验室定了一个规定:不用担心钱,给我可劲儿的研发!
射电天文望远镜、晶体管、电子交换机、计算机的Unix 操作系统和C 语言等等,此外,贝尔实验室还发射了第一颗通信卫星,铺设了第一条商用光纤
据统计,贝尔实验室总共出过十一位诺贝尔奖获得者。此外,实验室里有位叫香农的年轻人在1948年10月的《贝尔系统技术学报》上发布了一篇名为《A Mathematical Theory of Communication》(通信的数学理论)的论文,是人类第一次从数学上证明了信息如何度量
后来,香农以概率论、随机过程为工具,不断完善,提出了更为完整的现代信息理论,人们以该理论为基础研发出了移动通信技术,这才有了后来的1G-5G,直到今天,无论是爱立信、诺基亚,还是华为、中兴,所有厂商的通信技术仍然是以香农信息论为基础
C 发展路线
C 竞赛路线
小初高组
蓝桥杯 C 创意编程组
蓝桥杯是由工业和信息化部人才交流中心主办的赛事,比赛组别很多,信息学学子可以重点关注 C 创意编程组(初级组、中级组、高级组)。
信息学竞赛NOI系列赛事
NOI 系列活动包括了:CCF 非专业级软件能力认证(简称 CSP-J/S)、全国青少年信息学奥林匹克联赛(简称 NOIP)、NOI 省选、全国青少年信息学奥林匹克竞赛(简称 NOI)、亚洲与太平洋地区信息学奥赛(简称 APIO)、冬令营(简称 WC)、选拔赛(简称 CTSC)和国际信息学奥林匹克竞赛(简称 IOI)。
CSP-J/S
CSP-J/S 是由 CCF 主办的计算机非专业级别的软件能力认证。认证包括 CSP-J(Junior,入门级)和 CSP-S(Senior,提高级)两个级别,认证内容均包括算法设计能力和编程能力。
CSP-J/S 分第一轮和第二轮两个阶段。第一轮考察通用和实用的计算机科学知识,以笔试为主,部分省市以机试方式认证。第二轮为程序设计,须在计算机上调试完成。
大学组
一、ACM国际大学生程序设计竞赛
国际大学生程序设计竞赛(英文全称:International Collegiate Programming Contest,简称ICPC)由美国计算机协会(ACM)主办,旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。 经过近40年的发展,ACM国际大学生程序设计竞赛已经发展成为全球最具影响力的大学生程序设计竞赛。
赛事由各大洲区域预赛和全球总决赛两个阶段组成:
区域预赛一般安排在上一年的9-12月举行,决赛安排在来年的3-5月举行。
竞赛规定每支参赛队伍最多由三名参赛队员组成。比赛期间,每队使用1台电脑,需在5个小时内解决7到13个复杂实际编程问题。竞赛可以使用的语言:Java, C, C , Kotlin 和 Python。
区域赛一般分别按10%,20%,30%的比例颁发金,银,铜奖,其余为优胜奖。总决赛前十名的队伍将得到1500-12000美元的高额奖学金。除此之外还将承认北美冠军、欧洲冠军、南太平洋冠军及亚洲冠军。
含金量:ACM是目前计算机竞赛中含金量最高的竞赛,也是个人计算机水平及团队合作能力等综合素质的极佳证明。获奖选手可以享受绿色通道进入名企,如2010年阿里巴巴公司赞助了亚洲区域赛中国大陆5大赛区,获得金牌的选手可以直接进入阿里巴巴实习或参加工作。
二、蓝桥杯
蓝桥杯全国软件和信息技术专业人才大赛是由中华人民共和国工业和信息化部人才交流中心主办的计算机类学科竞赛。
比赛每年举办一次,报名时间一般在每年的9-12月份,省赛的举办时间一般在次年的3月份,决赛在6月份。
具有正式全日制学籍且符合相关科目报名要求的研究生、本科生、高职高专、中职中专学生可报名参加蓝桥杯除青少年创意编程组外的其他各类比赛。
蓝桥杯参赛项目有:Java软件开发;C/C 程序设计;Python程序设计;Web应用开发;嵌入式设计与开发;单片机设计与开发;物联网设计与开发;EDA设计与开发;青少年创意编程组。
所有获奖选手均可获得由工业和信息化部人才交流中心及大赛组委会联合颁发的获奖证书,设立一、二、三等奖及优秀奖。
蓝桥杯相比较 ACM 而言更加亲民,对大学生来说,参加蓝桥杯对奖金评定、保研和找工作都很有用。
三、中国大学生计算机设计大赛
中国大学生计算机设计大赛由教育部计算机相关教指委、中国教育电视台、中国高教学会、中国青少年新媒体协会等主办,2019年开始被列入全国普通高校学科竞赛排行榜名单。
大赛内容目前分设软件应用与开发类、微课与课件类、数字媒体设计类普通组、数字媒体设计类专业组、计算机音乐创作类、数字媒体设计类中华民族文化组、软件服务外包类等类组。以后将根据需要适当增设竞赛领域,使各大系列的学生都有充分展示其计算机应用与创作才智的平台。
大赛一般在5-6月进行报名, 7 月中下旬进行初赛,8月中上旬进行复赛。
C 研发发展路线
运行在Windows系统中的应用软件主要是用C 、C#等语言开发的,其中的大部分都是用C 实现的。比如大家平时常用的Google Chrome浏览器、腾讯会议、PC版微信和QQ、企业微信、阿里钉钉、字节飞书、华为WeLink、百度网盘客户端、有道云笔记、PC版QQ音乐、PC版腾讯视频、酷狗音乐等软件都是用C 开发实现的
MySQL架构
boost:这个版本是自带Boost的库相关文件的,放在此处,如果是其它的版本就没有这个文件夹 client:客户端相关的软件和工具代码 cmake:CMAKE相关的脚本命令文件 components:组件工具 Docs:文档文件夹 doxyen_resources:doxyen工具相关资源 extra:引入的一些其它包,如网络消息谁的SSL包以及一些小工具。 include:源码用的相关的头文件放置的文件夹,但不包括存储引擎的头文件。 libbinlogevents:解析Binlog的lib服务,5.7后提供。 libbinlogstandalone:脱机配置CMAKE libmysql:可嵌入式的客户端API libservices:动态服务插件管理 man:帮助文档 mysql-test:服务端mysqlid的测试工具。 mysys:MySql自己实现的数据结构和一些基本算法。如数组和链表等。 packaging:打包相关 plugin:插件管理文件夹,包括一些动态加入的插件。 router:集群路由 scripts:系统工具运行的脚本。 share:共享信息,err和字符集 source_downloads: sql:服务端的主要代码,包括main函数。 sql-common:服务端和客户端通用的一些代码。 storage:存储引擎相关文件。 strings:字符串库 support-files:.conf的示例文件和相关工具。 testclients:客户框架测试。 unittest:单元测试,这个搞程序的都知道。 utilities:公用的一些文件,有ZLIB等 vio:虚拟网络IO处理系统,不同平台或不同协议的网络通信API的二次封装。
C codeblocks-20.03下载与安装
C 教程系列之-02-win10系统下codeblocks-20.03下载与安装
C 教程系列之-01-C 概述与NOIP案例
C 输出语句
基本输出语句
代码语言:javascript复制#include <iostream>
using namespace std;
int main()
{
cout<<"输出数字:"<<666<<endl;//输出数字
cout<<"输出字符:"<<'W'<<endl;//输出字符
cout<<"输出表达式5*2:"<<5*2<<endl;//输出表达式5*2
cout<<"输出字符串:"<<"Hello World"<<endl;//输出字符串
return 0;
}
输出数字:666 输出字符:W 输出表达式5*2:10 输出字符串:Hello World
课堂练习
题目描述:运用输出语句,计算并输出如下表达式,每一个结果占据一行。
1、(1 3*3 4)
2、3 2-4
3、4/3
4、4/3*3.14*4*4*4
输入:无
输出:
表达式的结果是:结果(换行)
样例输出:
(1 3*3 4)的结果是:14
…
总结
本系列为C 学习系列,会介绍C 基础语法,基础算法与数据结构的相关内容。本文为C 发展与基本的输出语句案例。