程序设计语言(C) 课程概述 第一章 C语言基础课件_第1页
程序设计语言(C) 课程概述 第一章 C语言基础课件_第2页
程序设计语言(C) 课程概述 第一章 C语言基础课件_第3页
程序设计语言(C) 课程概述 第一章 C语言基础课件_第4页
程序设计语言(C) 课程概述 第一章 C语言基础课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计语言(C)课程概述本课程的目的:掌握基本的语法,掌握基本的编程技术,为后续课程的进一步学习打下良好的基础。C与C++的基本关系:C++完全兼容C。上机环境的选择:TruboC或者VisualC++6.0教材内容的取舍及补充:会有极其少量的内容略过,并且补充部分内容。本课程和计算机等级考试二级C的关系:两者并不等同,学习课程对考试非常有帮助,但是不是以考试为目标。本课程中涉及C语言与C++的不同之处会给大家指出。[本章重点]学会创建一个简单VisualC++6.0控制台程序,掌握C语言的基本数据类型以及常量、变量的含义和用法,各种运算符的运算规则、优先级、结合性,各种表达式的含义和用法。[本章难点]理解C语言基本数据类型、常量、变量、运算符、表达式的概念及在程序中的用法。

计算机语言(ComputerLanguage)是用于人与计算机之间通讯的语言,是人与计算机之间传递信息的媒介。开始使用机器语言来编程,后来为了减小编程的难度,产生了汇编语言。汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过容易识别和记忆,所以汇编语言有时又称为伪机器语言,机器语言和汇编语言被称为“低级语言”。随着程序规的不断扩大,汇编语言越来越不能满足人们需要,20世纪50年代,出现了“高级语言”。

它接近人们习惯使用的自然语言和数学语言。高级语言是目前绝大多数编程者的选择,和汇编语言相比,它将许多相关的机器指令合成为单条指令,大大简化了程序中的指令,同时由于省略了很多细节,编程者也就不需要有太多的专业知识,更易为人编写,而且程序的平台无关性使程序可以方便地被移植到网络上的不同机器、不同平台。从计算机编程语言的发展过程我们可以看出,编程语言的功能越来越强大,程序员的编程工作越来越容易。

在1970年,AT&T贝尔实验室的KenThompson设计出B语言,1972年美国的DennisRitchie在B语言的基础上设计发明了另一种语言,取名为C语言,随着微型计算机的日益普及,出现了许多C语言版本。

C++是从C语言发展演变而来的,首先是一个更好的C引入了类的机制,最初的C++被称为“带类的C”。1983年正式取名为C++,从1989年开始C++语言的标准化工作,于1994年制定了ANSIC++标准草案,于1998年11月被国际标准化组织(ISO)批准为国际标准,成为目前的C++。目前,有多种开发环境供开发人员选择使用。提出以下几点建议:初学者开始一定要调整好自己的心态,不要急于求成,不用怕学不会。不少人在学习之前,可能就听到了不少人说这门课非常难学。的确,这门课是比较难入门并且不容易学,但肯定能学会。刚开始学习时,应顺着教材一步一步的走,先记忆教材上的知识,等到以后学习的内容逐渐增多,再逐渐加深理解,遵循由易入门,逐渐深入的学习方法。勤学多练。不管是初学者还是已经能熟练运用者,在学习新的内容时总会遇到不容易懂的知识点,这时可以采取的方法是多经典书籍推荐C++常见教材C++经典书籍推荐C语言常见教材C语言编程环境的使用集成开发环境(IDE)非常复杂,只需要掌握基本的功能。建立工程时和添加源文件时不要选错。在机房上机应将文件保存到硬盘其它分区,尽量不要保存在C盘。下机前,保存好文件,便于下次上机继续使用。学会基本的调试技术。书写程序时应遵循的规则:

各个单词之间要用空格或其他分界符分开。一条语句占一行,每一条语句都必须以“;”结尾,但预处理命令,函数头和花括号“}”之后不加分号。{}都是成对出现的,相匹配的大括号在同一列,括起来的语句,通常表示程序的某一层次结构,内部再嵌套{}时,应进行缩进排列,以便看起来层次清晰,增加程序的可读性;缩进是指程序在书写时不要将

程序的每一行都由第一列开始,在适当的地方加进一些空行或空格,它同注释一样,也是为了提高程序的可读性。边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性,注释的内容要清楚、明了,含义准确,防止注释二义性,注释行与代码行尽量分行书写。严格区分大小写,两个词只有在包括大小写都完全相同的情况下才代表同一目标(一)基本字符集

字符是组成语言的最基本的元素。C语言字符集由字母、数字、空格、标点和特殊字符组成。在字符常量、字符串常量和注释中还可以使用汉字或其它可表示的图形符号,在其他部分只能使用由字符集中的字符组成的符号。字母:小写字母a~z共26个,大写字母A~Z共26个数字:0~9共10个空白符:空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用,在其它地方出现时,只起间隔作用,编译程序对它们忽略不计。因此在程序中使用空白符与否,对程序的编译不发生影响,但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。标点和特殊字符:!#%^&*_(下划线)+=-~<>/\'",.;()[]{}标识符命名的基本规则

标识符命名尽量做到顾名思义,尽量用英文表达出标识符的功能。变量命名要符合“匈牙利法则”,即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求每个单词的第一个字母应大写,对于变量作注释时可紧跟在变量的后面说明变量的作用,例如用变量cStudentName代表学生的名字,用变量cTeacherName代表教师的名字;函数的命名应该尽量用英文表达出函数完成的功能,遵循动宾结构的命名法则,函数名中动词在前,例如用DrawPicture命名绘图函数的名字。关键字

关键字是由C语言规定的具有特定意义的字符串,程序员只能按系统已定义好的用法去使用,因此通常也称为保留字。C语言的关键字分为以下3类:类型说明符用于定义、说明变量、函数或其它数据结构的类型,常用的类型说明符有autoboolcharclassconstenumexternfloatfriendintlongnamespaceprivateprotectedpublicregistershortsignedstaticstructtemplatetypedeftypenameunionunsignedvirtualvoid

等。

语句定义符用于表示一个语句的功能,常用的语句定义符有breakcasedefaultdo

等。预处理命令字用于表示一个预处理命令,在程序中使用时前面都以“#”来引导,常用的预处理命令字有defineincludeundef等。分隔符

在C语言中采用的分隔符有逗号和空格两种,一定要英文标点状态下输入。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字,标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误,例如把intiStudentNum写成intiStudentNum,编译器会把intiStudentNum当成一个标识符处理,其结果就会出错。注释符C/C++语言的注释符有///**/共三个。注释有两种书写方式:一种是以“//”开始的行,则该行为注释;另一种是以“/*”开始,从该标志起,直到遇到结束注释标志“*/”,在“/*”和“*/”之间的内容全是注释,这个方式常用于注释内容较多的情况。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。在调试程序时,对暂不使用的语句也可用注释符括起来,待调试结束后再去掉注释符。常量和变量在程序运行过程中,其值不能被改变的量称为常量(包括字面常量(直接常量)和符号常量)。其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。在该存储单元中存放变量的值。存储单元在程序中可以根据需要赋予不同的数值,所以变量值是可以变化的,但是变量必须先定义后使用。常量和符号常量

常量区分为不同的类型,如12,0,-3为整型常量,4.6、-1.23为实型常量,‘a’,‘d’为字符常量。常量一般从其字面形式即可判别。这种常量称为字面常量或直接常量。可以用一个标识符代表一个常量,称为符号常量,即标识符形式的常量。请注意符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值。如:#defineprice30数据类型

—整型数据及取值范围类型 说明符 位数 数值范围 短整 short 16 -32768~32767基本 int 32 -231~(231-1)长整 long 32 -231~(231-1)无符号

unsignedshort 16 0~65535

unsignedint 32 0~(232-1)

unsignedlong 32 0~(232-1) 数据类型——实型数据floatv,r,h;r=2.5;h=3.2;v=3.14159*r*r*h数据类型

——字符型数据字符常量单引号括起来的一个字符,如:'a','D','?','$'字符变量用来存放字符常量

例:charc1,c2;

c1='a';

c2='A';字符数据在内存中的存储形式以ASCII码存储,占1字节,用7个二进制位字符数据的使用方法字符数据和整型数据之间可以运算。字符数据与整型数据可以互相赋值。字符串常量例:"CHINA"

"a"

'a'所以:charc;

c="a";CHINA\0a

\0aPage37数据类型

——字符型数据数据类型

——布尔型数据布尔型变量的说明:

例:boolflag;布尔型数据的取值:

只有false和true两个值变量的定义数据类型变量名标识符1,变量名标识符2,……;boolflag;//定义了一个布尔变量flaginta,b,c;//定义了三个整型变量a、b、ccharc5,c6;//定义了两个字符变量c5、c6关于变量定义需要说明的是:1)在同一个程序块中,或者说在一对{}的同一层次内,不能有两个相同的变量名。2)没有字符串变量类型,字符串是用字符类型的数组或指针来定义,在以后学习。3)变量的定义比较自由,可以随时定义,但一般在程序开始位置或函数体语句前面定义。4)在不同位置定义的变量,作用范围不同。使用变量前对变量赋值的过程称为变量初始化,可以在定义变量时同时初始化变量,例如:inta=10,b=20;//定义了二个整型变量a、bcharc5=’d’;//定义了一个字符变量c5,charc6=’\n’;//定义了一个字符变量c6,初值为

//换行符也可以在定义以后对变量进行赋值定义变量以后再赋值,例如:inta,b;//定义了三个整型变量a、bcharc5;//定义了字符变量c5a=10;b=20;//a、b、c初值分别为10、20、30算术运算符与算术表达式基本算术运算符

+-*/(若整数相除,结果取整)%(取余,操作数为整数)优先级与结合性先乘除,后加减,同级自左至右++,--(自增、自减)例:i++;--j;简单的赋值运算符"="举例

n=n+5表达式的类型:等号左边对象的类型表达式的值:等号左边对象被赋值后的值i=m=n=8//变量i、m、n的值都为8,

//表达式的值也为8,

//此表达式等价于i=(m=(n=8))复合的赋值运算符有10种复合运算符:

+=,-=,*=,/=,%=,

<<=,>>=,&=,^=,|=例

a+=3等价于a=a+3

x*=y+8等价于x=x*(y+8)关系运算关系运算是比较简单的一种逻辑运算,优先次序为:

<<=>>===!=

优先级相同(高)

优先级相同(低)关系表达式是一种最简单的逻辑表达式其结果类型为bool,值只能为true(非0)或false(0)。例如:a>b,c<=a+b,x+y==3逻辑运算逻辑运算符

!(非)&&(与)||(或)

优先次序:高→低逻辑表达式

例如:(a>b)&&(x>y)

其结果类型为bool,值只能为true(非0)或false(0)条件运算符一般形式表达式1?表达式2:表达式3表达式1必须是bool类型执行顺序先求解表达式1,若表达式1的值为true,则求解表达式2,表达式2的值为最终结果若表达式1的值为false,则求解表达式3,表达式3的值为最终结果注意:条件运算符优级高于赋值运算符,低于逻辑运算符表达式2、3的类型可以不同,条件表达式的最终类型为2和3中较高的类型。例:x=a>b?a:b;①②逗号运算格式表达式1,表达式2求解顺序及结果先求解1,再求解2,最终结果为表达式2的值例a=3*5,a*4最终结果为60运算符优先级括号++,--,sizeof*,/,%+,-==,!=位运算&&||?:赋值运算逗号运算低高运算时的自动转换

进行算术运算时计算机将数据类型从低类型到高类型进行转换charshortintlongfloatdouble

低高赋值运算要求左值与右值的类型相同,若类型不同,编译系统会自动将右值转换为左值的类型。强制类型转换语法形式:类型说明符(表达式)或(类型说明符)表达式强制类型转换的作用是将表达式的结果类型转换为类型说明符所指定的类型。需要说明的是在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化。表达式的书写

表达式的书写应注意以下几点:表达式要在同一行书写,计算公式要分解为正确的表达式。例如:数学中计算数a的平方在C语言编程时的写法是:a*a或者用计算幂的函数pow(),所需头文件是<math.h>,写法是pow(a,2)。乘号*不能省略,也不能用·

代替。表达式中只能使用圆括号,不能使用其它括号。书写比较复杂的表达式时,要尽量多写括号,把运算的优先级固定住,避免出现表达式二义性。

表达式语句格式:表达式;表达式语句与表达式的区别:表达式可以包含在其它表达式中,而语句不可。例:if((a=b)>0)t=a;不可写为:if((a=b;)>0)t=a;复合语句将多个语句用一对大括号包围,便构成一个复合语句例如{ sum=sum+i; i++;} 数据的输入输出的概念

在编程时,数据的输入输出是相对计算机而言,数据的输入就是把外部的数据传输到计算机中,数据的输出是把计算机中的数据传输到外部,最常见的输入设备是键盘,输出设备是屏幕。在编程时,有多种方法实现数据的输入输出。在有图形界面的程序中数据的输入输出一般是用控件来实现,如标签、文本框、表格、报表控件等来实现的。C++语言的输入输出要使用头文件:#include”iostream.h”向标准输出设备(显示器)输出例:intx,y;cout<<“x=“<<x<<“y=”<<y;从标准输入设备(键盘)输入例:intx,y;cin>>x>>y;或者cin>>x;cin>>y;或者使用头文件:#include”iostream”usingnamespacestd;//使用命名空间C语言的输入输出要包含头文件:#include"stdio.h"stdio.h是standardinput&output的缩写输入使用scanf()函数,输出使用printf()函数

printf函数的一般格式为printf(格式控制,输出表列)

如:printf(“%d,%c\n”,i,c);括弧内包括两部分:(1)“格式控制”是用双引号括起来的字符串,也称“转换控制字符串”,它包括两种信息:①格式说明,由“%”和格式字符组成,如%d,%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。②普通字符,即需要原样输出的字符。例如上面printf函数中双引号内的逗号、空格和换行符。(2)“输出表列”是需要输出的一些数据,可以是表达式。不同类型数据用不同的格式字符。常用的如下:d格式符。用来输出十进制整数。

%d,按整型数据的实际长度输出。(2)c格式符,用来输出一个字符。如:

char

c='a';

printf("%c",c);输出字符‘a’,请注意:“%c”中的c是格式符,逗号右边的c是变量名,不要搞混。(3)s格式符,用来输出一个字符串例如:printf("%s","china")输出“china”字符串(不包括双引号)。输入的一般形式scanf(格式控制,地址表列)“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。用scanf函数输入数据。voidmain(){

int

a,b,c;

scanf("%d%d%d",&a,&b,&c);

printf("%d,%d,%d\n",a,b,c);}&a、&b、&c中的“&”是“地址运算符”,&a指a在内存中的地址。上面scanf函数的作用是:按照a、b、c在内存的地址将a、b、c的值存进去。变量a、b、c的地址是在编译连接阶段分配的。“%d%d%d”表示按十进制整数形式输入数据。输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键、跳格键tab。下面输入均为合法:①3

4

5②3

45③3(按tab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论