教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 高等教育> 理学> C语言概述1

C语言概述1

上传者:戴艳梅
|
上传时间:2015-05-12
|
次下载

C语言概述1

主要介绍C语言的特点和算法,根据C语言中文网整理出的一些资料

C语言程序的几个特点: 1. 一个C语言源程序可以由一个或多个源文件组成。

2. 每个源文件可由一个或多个函数组成。

3. 一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。

4. 源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。

5. 每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。

6. 标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:

1. 一个说明或一个语句占一行。

2. 用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

3. 低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。

在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的知识,前面的问题也就迎刃而解了。

初学者一定要记住这一点,开始不明白很正常,初学编程有很多知识要补充,一定要学下去,学到后面,你会豁然开朗,自然就解开了前面的疑问。

还要记住“千金难买回头看”,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是非常重要的。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。

算法

做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。

算法是一个基本的概念,但也是一门深奥的学问,小到如何输出九九乘法表,如何对一组数据进行排序,大到如何控制飞行器的姿态,如何让无人机壁障。

这里主要是向大家阐述一下算法的概念,对于初学者,涉及到的算法都很简单,一般不会成为学习的障碍,我们会在后面的实例中逐渐向大家渗透具体的算法。

请大家思考一个问题:如何求1×2×3×4×5的值。

最原始方法:

步骤1:先求1×2,得到结果2。

步骤2:将步骤1得到的乘积2乘以3,得到结果6。

步骤3:将6再乘以4,得24。

步骤4:将24再乘以5,得120。

这样的算法虽然正确,但太繁。

改进的算法:

S1:使t=1

S2:使i=2

主要介绍C语言的特点和算法,根据C语言中文网整理出的一些资料

S3:使 t×i,乘积仍然放在在变量t中,可表示为 t×i -> t

S4:使i的值+1,即 i+1 -> i

S5:如果i≤5,返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。

如果计算100!只需将“S5:若i≤5”改成“i≤100”即可。

如果改成求1×3×5×7×9×11,算法也只需做很少的改动:

S1:1 -> t

S2:3 -> i

S3:t×i -> t

S4:i+2 -> i

S5:若i≤11,返回S3;否则,结束。

该算法不仅正确,而且是计算机较好的算法,因为计算机是高速运算的自动机器,实现循环轻而易举。 三种基本程序结构

几乎所有编程语言,包括C语言,都会有三种基本的程序结构:顺序结构、选择结构和循环结构。

顺序结构

顺序结构就是一条一条地从上到下执行语句,所有的语句都会被执行到,执行过的语句不会再次执行。

例如,求1+2+3+4+5的和,就可以一个数一个数地依次累加。

选择结构

选择结构就是根据条件来判断执行哪些语句,如果给定的条件成立,就执行相应的语句,如果不成立,就执行另外一些语句。

例如,根据用户输入的年龄来输出不同的内容:

内容需要下载文档才能查看

用户输入年龄,程序会做出判断,根据不同的年龄输出不同的内容。这四个输出语句,只有一个被执行,其他三个被跳过,没有执行。

循环结构

循环结构就是在达到指定条件前,重复执行某些语句。

例如,上面说到的计算 100! 的值,就会重复执行 S3、S4。

最后,我们用双重循环结构来输出九九乘法表:

主要介绍C语言的特点和算法,根据C语言中文网整理出的一些资料

1. #include <stdio.h>

2. int main(){

3. int i, j;

4. for(i=1; i<=9; i++){

5. for(j=1; j<=i; j++){

6. printf("%-3d ", i*j); // -3d 表示输出整数,宽度为3(占3个字符),左对齐

7. }

8. printf("\n");

9. }

10. return 0;

11.}

内容需要下载文档才能查看

运行结果:

内容需要下载文档才能查看

标识符

在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能是字母(A~Z, a~z)、数字(0~9)和下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。

以下标识符是合法的:

a, x, x3, BOOK_1, sum5

以下标识符是非法的:

3s 以数字开头

s*T 出现非法字符*

-3x 以减号(-)开头

bowy-1 出现非法字符减号(-)

在使用标识符时还必须注意以下几点:

?

?

? 标准C语言不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。例如在某版本C语言中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。 在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。 标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义”。

? 关键字

? 关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。

主要介绍C语言的特点和算法,根据C语言中文网整理出的一些资料

内容需要下载文档才能查看

全部关键字请参考这里:C语言关键字及其解释[共32个]

运算符 ? C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一

个或多个字符组成,如加号(+)、减号(-)、乘号(*)等。

分隔符

? 在C语言中采用的分隔符有逗号(,)和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。

空格多用于语句各单词之间,作间隔符。在关键字,标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误,例如把 int a; 写成 inta; C语言编译器会把 inta 当成一个标识符处理,其结果必然出错。 常量

常量是值不能被改变的量。C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在后面章节中将专门给予介绍。

变量

变量由用户自己命名,用来保存特定类型的数据,数据可以被改变。数据类型有整数、浮点数、字符等,将在后面章节进行介绍。

注释

? 标准C语言的注释是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作

任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。

另外,各种编译器都支持以“//”开头的注释,虽然它不是标准C的规定,但是早已成为事实标准,在程序中广泛使用。“//”仅支持单行注释,也就是说,注释中不能出现换行符;而“/* */”支持多行注释,注释中可以出现换行符。scanf和 printf这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数都由以下两部分组成:

1) 格式控制串:格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。

在printf函数中可以在格式控制串内出现非格式控制字符,这时在显示屏幕上会显示源字符串。各种类型的格式表示方式请参考:C语言格式输出函数printf()详解。

在scanf函数中也可以在格式控制串内出现非格式控制符,这时会将输入的数据以该字符为分隔。各种类型的格式表示方式请参考:

?

?

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注

装饰风景写生 说课
《大白鲨》开头拉片笔记
湖北工业大学校歌(五线谱版)
985和211名牌大学
电影《卧虎藏龙》赏析
体育学院
欧阳询三十六法及释文
上海大学翻译硕士考研参考书是什么
江苏师范大学在职人员攻读教育硕士专业学位研究生招生简章、招生人数,参考书目,内部讲义,押题
陕西师范大学在职人员攻读教育硕士专业学位研究生招生简章、招生人数,参考书目,内部讲义,押题
香港理工大学
2014年秋季普通高校招生填报志愿100问
装饰风景写生教学大纲二
青海师范大学在职人员攻读教育硕士专业学位研究生招生简章、招生人数,参考书目,内部讲义,押题
小题大做
北京交通大学-工程管理-本科
细数奥斯卡之最
上海大学翻译硕士各细分专业介绍
2015年各高校自主招生简章
观《回忆三部曲》之后感
曲阜师范大学在职人员攻读教育硕士专业学位研究生招生简章、招生人数,参考书目,内部讲义,押题
华中师范大学在职人员攻读教育硕士专业学位研究生招生简章、招生人数,参考书目,内部讲义,押题
上海大学翻译硕士如何调节考研的心态
上海大学翻译硕士就业怎么样?
抗日战争大事记
习主席重要讲话知识点
15.湖北工业大学在职研究生《互联网程序设计试题及部分答案》
鲁东大学在职人员攻读教育硕士专业学位研究生招生简章、招生人数,参考书目,内部讲义,押题
03.湖北工业大学在职研究生《网络工程-试题及答案》
中国高校中外合作办学情况一览

网友关注视频

沪教版牛津小学英语(深圳用) 四年级下册 Unit 3
七年级英语下册 上海牛津版 Unit3
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
沪教版牛津小学英语(深圳用) 四年级下册 Unit 8
六年级英语下册上海牛津版教材讲解 U1单词
冀教版英语三年级下册第二课
冀教版小学数学二年级下册1
青岛版教材五年级下册第四单元(走进军营——方向与位置)用数对确定位置(一等奖)
沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
人教版二年级下册数学
沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
北师大版数学四年级下册3.4包装
二年级下册数学第二课
每天日常投篮练习第一天森哥打卡上脚 Nike PG 2 如何调整运球跳投手感?
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,天津市
冀教版英语五年级下册第二课课程解读
冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
《空中课堂》二年级下册 数学第一单元第1课时
外研版八年级英语下学期 Module3
冀教版小学数学二年级下册第二单元《租船问题》
北师大版小学数学四年级下册第15课小数乘小数一
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
北师大版八年级物理下册 第六章 常见的光学仪器(二)探究凸透镜成像的规律
沪教版八年级下册数学练习册21.4(1)无理方程P18
苏科版八年级数学下册7.2《统计图的选用》
外研版英语三起5年级下册(14版)Module3 Unit2
苏科版数学 八年级下册 第八章第二节 可能性的大小
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,辽宁省
8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594