版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计西安邮电学院朱晓龙C程序设计1注意事项上课方式:讲课、答疑和上机学习方法:听讲与自学相结合要预习多作练习尤其是上机练习上课纪律:按时上课、认真听讲点名作业:应写在作业本上成绩:
1考试70%近两年有期中考试2作业15%3上机15%请班长提交本班花名册(电子版)及联系电话注意事项上课方式:讲课、答疑和上机2第一章C语言概述本章是C语言程序设计的入门部分,从整体上介绍C语言的起源和发展,讲述C语言的特点、结构和基础语法要点。
第一章C语言概述本章是C语言程序设计的入门部分,31.1C语言发展
C语言是界上广泛流行的的程序设计语言之一,它适合于作系统描述语言,即用来写系统软件,也可以用来写应用软件。早期的操作系统等系统软件主要是用汇编语言编写的。可读性和可移植性都比较差。人们希望能找到一种既具有一般高级语言特性,又具有低级语言底层操作能力的语言(可以直接对硬件进行操作,例如对内存地址的操作、位操作等)。
C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THECPROGRAMMINGLANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。
1.1C语言发展C语言是界上广泛流行的的程4但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准协会(AmericanNationalStandardsInstitute)在此基础上制定了一个C语言标准,于一九八三年发表。通常称之为ANSIC。1987年ANSI又公布了新标准——87ANSIC。目前广泛流行的各种C编译系统都是以它为基础的。
早期的C语言主要是用于UNIX系统,到了八十年代,C语言开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。在C的基础上,1983年又由贝尔实验室的BjarneStrou-strup推出了C++。C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。
但是,在《K&R》中并没有定义一个完整5目前最流行的C语言有以下几种:MicrosoftC或称MSCBorlandTurboC或称TurboCAT&TC这些C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。这些不同版本C语言之间有一定的差别,但对初学者来说,不必过多理会他们的差别,重在理解C语言的特点和编程方法。本书的叙述以TURBOC为准。目前最流行的C语言有以下几种:61.2C语言的特点1.语言简洁、紧凑,使用方便、灵活。2.运算符丰富。3.数据结构丰富,具有现代语言的各种数据结构。4.具有结构化的控制语句。5.语法限制不太严格,程序设计自由度大。6.C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。7.生成目标代码质量高,程序执行效率高。8.用C语言写的程序可移植性好(与汇编语言比)。1.2C语言的特点1.语言简洁、紧凑,使用方便、灵活。71.3简单的C程序介绍例1.2main(){inta,b,sum;/*这是定义变量*/a=234;b=456;/*给变量赋值*/sum=a+b/*求两个数之和*/printf(“sumis%d\n”,sum);}例1.1main(){printf(“Thisisaprogram.\n”);}1.3简单的C程序介绍例1.2例1.18例1.3:
/*ExampleforFunctionprogram*/
#include<stdio.h>
main()/*主函数*/
{inta,b,sum;/*定义变量*/
scanf(“%d,%d”,&a,&b);/*输入变量a和b的值*/
sum=add(a,b);/*调用add函数,将得到的值赋给c*/
printf(“sum=%d”,c;)/*输出c的值*/
}intadd(intx,inty)/*子函数说明,并对形参x、y作类型定义*/
{
intz;/*add函用到的变量z,也要加以定义*/
z=x+y;
return(z);/*将z的值返回,通过max带回调用处*/
}例1.3:/*ExampleforFunction9
#include<stdio.h>/*stdio.h中有scanf()、printf()的原型说明*/main()/*main()函数的定义*/{••••••
scanf(……);/*调用函数scanf()*/sum=add(……);/*调用函数max()*/printf(……);/*调用函数printf()*/••••••
}intadd(intx,inty)/*函数max()的定义*/{
••••••}
实际上,至少还应该有两个函数定义!#include<stdio.h>10
scanf(……)/*scanf()函数的定义*/{••••••
}printf(……)/*printf()函数的定义*/{
••••••}
只不过这两个函数是由C语言系统给我们定义好了的,即库函数。C程序设计第一章课件11程序框架#include<stdio.h>main(){••••••/*主函数main()的具体内容放在此处*/}intadd(intx,inty){
••••••/*函数add()的具体内容放在此处*/}
scanf(……){••••••
/*函数scanf()的具体内容放在此处*/}printf(……){••••••
/*函数printf()的具体内容放在此处*/}程序框架#include<stdio.h>12
关于C程序:
一个C程序是由一系列函数所组成的;组成一个C程序的所有函数的地位是平等的(每个函数的定义是并列的);如:求两个整数的和程序(定义一个函数add()求任意两个整数的最大值,然后用main()函数调用):
13头文件 /*是C系统中特有的文件*/main()/*主函数说明*/{…… }/*主函数体*/子函数名1(参数)
/*子函数说明*/{…… } /*子函数体*/子函数名2(参数)
/*子函数说明*/{…… } /*子函数体*/
……子函数名n(参数)
/*子函数说明*/{…… } /*子函数体*/其中,子函数名1至子函数名n是用户自定义的函数。头文件 /*是C系统中特14
关于函数体的结构:
一个函数中,规定该做什么、怎么做的部分称为函数体;函数体大致分为两个部分:一部分是非执行部分(定义变量、函数说明等),另一部分是执行部分(产生具体动作的语句部分)。非执行部分和执行部分要严格分开!
15#include<stdio.h>/*stdio.h中有scanf()、printf()的原型说明*/main(){inta,b,c; /*变量定义--非执行部分*/
intadd(int,int);/*函数原型说明--非执行部分*/
/*以下是执行语句部分*/scanf(“%d%d”,&a,&b);c=add(a,b);printf(“sum=”,c);}intadd(intx,inty)/*函数add()的定义*/{intz;z=x+y;return(z);}
#include<stdio.h>16C源程序的结构特点
1.一个C语言源程序可以由一个或多个源文件组成,每个源文件以“.c”作为扩展名。2.每个源文件可由一个或多个函数组成。3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数,整个程序的运行从主函数开始。4.源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。C源程序的结构特点1.一个C语言源程序可以由一个或多个源文17书写程序时应遵循的规则
1.一个说明或一个语句占一行。2.用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
书写程序时应遵循的规则1.一个说明或一个语句占一行。18编辑链接编译执行1.3C程序的上机步骤C程序开发步骤file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe编辑链接编译执行1.3C程序的上机步骤file.exe程19可能发生的错误类型:filec.exefilec.objfilec.c各阶段产生的文件:开发步骤编辑编译链接试运行语法错误链接错误运行时错误可能发生的filec.exefilec.objfilec.c20基本语法成分
C语言的字符集、关键字、标识符、运算符、分隔符和注释符等基本语法成分。
C语言的字符集
字符是组成语言的最基本的元素。
1.字母小写字母a~z共26个,大写字母A~Z共26个。2.数字0~9共10个3.空白符空格符、制表符、换行符等统称为空白符。4.标点和特殊字符
主要有!#%^&+-*/=~<>\|.,:;?’”(){}[]等等。
基本语法成分C语言的字符集、关键字、标识符、运算符、分隔符21标识符
在程序中使用的变量名、函数名、标号等统称为标识符,用来标识各种程序成分。标识符只能是由字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。以下标识符是合法的:a,x,x3,BOOK1,sum5,num_1以下标识符是非法的:3s以数字开头s*T出现非法字符*-3x以减号开头x+y-1出现非法字符+(加号)π
出现非法字符a.1出现非法字符标识符22C语言的标识符分为以下三类。关键字
C语言中用来表示特殊含义的标识符,由系统提供。
C语言的关键字有32个,它们是:auto breakcase char constcontinuedefaultdo double elseenum externfloat forgotoifintlong registerreturnshortsigned sizeofstaticstructswitchtypedef unionunsignedvoidvolatilewhile
C语言的标识符分为以下三类。232.预定义标识符
C语言预先定义了一些标识符,它们有特定的含义,通常用作固定的库函数名或预编译处理中的专门命令使用。
C语言语法允许用户标识符取名与预定义标识符同名,但这将使这些标识符失去系统规定的原意。3.用户标识符
用户标识符是由用户自己定义的标识符,例如定义一个变量名或一个函数名。用户标识符一般用来给变量、函数、数组或文件等命名,命名时应遵守标识符的命名原则。
2.预定义标识符24在使用标识符时还必须注意以下几点:
在标识符中,大小写是有区别的。例如BOOK和book是两个不同的标识符。习惯上符号常量用大写字母表示,而变量名等用小写字母表示。
标识符虽然可由程序员随意定义,但不能与关键字同名,也不能与系统预先定义的标准标识符(如标准函数)同名。标识符是用于标识某个量的符号,因此,命名应尽量有相应的意义,以便阅读理解,做到“见名知义”。在使用标识符时还必须注意以下几点:在标识符中,大小写是有区25运算符
C语言中含有相当丰富的运算符。运算符与变量、函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。根据参加运算对象的个数,运算符可分为单目运算符、双目运算符和三目运算符。运算符26分隔符
C语言中的分隔符有逗号和空格两种,逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字、标识符之间必须要有一个以上的空格符作间隔,
否则将会出现语法错误。例如把“inta;”,写成“inta;”,C编译器会把“inta”当成一个标识符处理,其结果必然出错。
分隔符27注释符
注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序时对暂不使用的语句也可用注释符括起来,使编译跳过不作处理,待调试结束后再去掉注释符。注释符28C程序设计西安邮电学院朱晓龙C程序设计29注意事项上课方式:讲课、答疑和上机学习方法:听讲与自学相结合要预习多作练习尤其是上机练习上课纪律:按时上课、认真听讲点名作业:应写在作业本上成绩:
1考试70%近两年有期中考试2作业15%3上机15%请班长提交本班花名册(电子版)及联系电话注意事项上课方式:讲课、答疑和上机30第一章C语言概述本章是C语言程序设计的入门部分,从整体上介绍C语言的起源和发展,讲述C语言的特点、结构和基础语法要点。
第一章C语言概述本章是C语言程序设计的入门部分,311.1C语言发展
C语言是界上广泛流行的的程序设计语言之一,它适合于作系统描述语言,即用来写系统软件,也可以用来写应用软件。早期的操作系统等系统软件主要是用汇编语言编写的。可读性和可移植性都比较差。人们希望能找到一种既具有一般高级语言特性,又具有低级语言底层操作能力的语言(可以直接对硬件进行操作,例如对内存地址的操作、位操作等)。
C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THECPROGRAMMINGLANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。
1.1C语言发展C语言是界上广泛流行的的程32但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准协会(AmericanNationalStandardsInstitute)在此基础上制定了一个C语言标准,于一九八三年发表。通常称之为ANSIC。1987年ANSI又公布了新标准——87ANSIC。目前广泛流行的各种C编译系统都是以它为基础的。
早期的C语言主要是用于UNIX系统,到了八十年代,C语言开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。在C的基础上,1983年又由贝尔实验室的BjarneStrou-strup推出了C++。C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。
但是,在《K&R》中并没有定义一个完整33目前最流行的C语言有以下几种:MicrosoftC或称MSCBorlandTurboC或称TurboCAT&TC这些C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。这些不同版本C语言之间有一定的差别,但对初学者来说,不必过多理会他们的差别,重在理解C语言的特点和编程方法。本书的叙述以TURBOC为准。目前最流行的C语言有以下几种:341.2C语言的特点1.语言简洁、紧凑,使用方便、灵活。2.运算符丰富。3.数据结构丰富,具有现代语言的各种数据结构。4.具有结构化的控制语句。5.语法限制不太严格,程序设计自由度大。6.C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。7.生成目标代码质量高,程序执行效率高。8.用C语言写的程序可移植性好(与汇编语言比)。1.2C语言的特点1.语言简洁、紧凑,使用方便、灵活。351.3简单的C程序介绍例1.2main(){inta,b,sum;/*这是定义变量*/a=234;b=456;/*给变量赋值*/sum=a+b/*求两个数之和*/printf(“sumis%d\n”,sum);}例1.1main(){printf(“Thisisaprogram.\n”);}1.3简单的C程序介绍例1.2例1.136例1.3:
/*ExampleforFunctionprogram*/
#include<stdio.h>
main()/*主函数*/
{inta,b,sum;/*定义变量*/
scanf(“%d,%d”,&a,&b);/*输入变量a和b的值*/
sum=add(a,b);/*调用add函数,将得到的值赋给c*/
printf(“sum=%d”,c;)/*输出c的值*/
}intadd(intx,inty)/*子函数说明,并对形参x、y作类型定义*/
{
intz;/*add函用到的变量z,也要加以定义*/
z=x+y;
return(z);/*将z的值返回,通过max带回调用处*/
}例1.3:/*ExampleforFunction37
#include<stdio.h>/*stdio.h中有scanf()、printf()的原型说明*/main()/*main()函数的定义*/{••••••
scanf(……);/*调用函数scanf()*/sum=add(……);/*调用函数max()*/printf(……);/*调用函数printf()*/••••••
}intadd(intx,inty)/*函数max()的定义*/{
••••••}
实际上,至少还应该有两个函数定义!#include<stdio.h>38
scanf(……)/*scanf()函数的定义*/{••••••
}printf(……)/*printf()函数的定义*/{
••••••}
只不过这两个函数是由C语言系统给我们定义好了的,即库函数。C程序设计第一章课件39程序框架#include<stdio.h>main(){••••••/*主函数main()的具体内容放在此处*/}intadd(intx,inty){
••••••/*函数add()的具体内容放在此处*/}
scanf(……){••••••
/*函数scanf()的具体内容放在此处*/}printf(……){••••••
/*函数printf()的具体内容放在此处*/}程序框架#include<stdio.h>40
关于C程序:
一个C程序是由一系列函数所组成的;组成一个C程序的所有函数的地位是平等的(每个函数的定义是并列的);如:求两个整数的和程序(定义一个函数add()求任意两个整数的最大值,然后用main()函数调用):
41头文件 /*是C系统中特有的文件*/main()/*主函数说明*/{…… }/*主函数体*/子函数名1(参数)
/*子函数说明*/{…… } /*子函数体*/子函数名2(参数)
/*子函数说明*/{…… } /*子函数体*/
……子函数名n(参数)
/*子函数说明*/{…… } /*子函数体*/其中,子函数名1至子函数名n是用户自定义的函数。头文件 /*是C系统中特42
关于函数体的结构:
一个函数中,规定该做什么、怎么做的部分称为函数体;函数体大致分为两个部分:一部分是非执行部分(定义变量、函数说明等),另一部分是执行部分(产生具体动作的语句部分)。非执行部分和执行部分要严格分开!
43#include<stdio.h>/*stdio.h中有scanf()、printf()的原型说明*/main(){inta,b,c; /*变量定义--非执行部分*/
intadd(int,int);/*函数原型说明--非执行部分*/
/*以下是执行语句部分*/scanf(“%d%d”,&a,&b);c=add(a,b);printf(“sum=”,c);}intadd(intx,inty)/*函数add()的定义*/{intz;z=x+y;return(z);}
#include<stdio.h>44C源程序的结构特点
1.一个C语言源程序可以由一个或多个源文件组成,每个源文件以“.c”作为扩展名。2.每个源文件可由一个或多个函数组成。3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数,整个程序的运行从主函数开始。4.源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。C源程序的结构特点1.一个C语言源程序可以由一个或多个源文45书写程序时应遵循的规则
1.一个说明或一个语句占一行。2.用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
书写程序时应遵循的规则1.一个说明或一个语句占一行。46编辑链接编译执行1.3C程序的上机步骤C程序开发步骤file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe编辑链接编译执行1.3C程序的上机步骤file.exe程47可能发生的错误类型:filec.exefilec.objfilec.c各阶段产生的文件:开发步骤编辑编译链接试运行语法错误链接错误运行时错误可能发生的filec.exefilec.objfilec.c48基本语法成分
C语言的字符集、关键字、标识符、运算符、分隔符和注释符等基本语法成分。
C语言的字符集
字符是组成语言的最基本的元素。
1.字母小写字母a~z共26个,大写字母A~Z共26个。2.数字0~9共10个3.空白符空格符、制表符、换行符等统称为空白符。4.标点和特殊字符
主要有!#%^&+-*/=~<>\|.,:;?’”(){}[]等等。
基本语法成分C语言的字符集、关键字、标识符、运算符、分隔符49标识符
在程序中使用的变量名、函数名、标号等统称为标识符,用来标识各种程序成分。标识符只能是由字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。以下标识符是合法的:a,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西工商职业学院《文化管理学》2024-2025学年第二学期期末试卷
- 火锅店内部合伙制度规定
- 煤矿内部加油站管理制度
- 煤矿掘进队内部考核管理制度
- 理发店内部规章制度大全
- 监理内部工作会议制度
- 监理项目部内部例会制度
- 科室内部例会制度
- 空气开关内部管理制度
- 篮球队内部管理制度
- 公安部大数据中心招聘考试试题及答案
- 2025重庆市生态环境保护综合行政执法总队招聘3人笔试历年备考题库附带答案详解
- 拾金不昧培训
- 丽思卡尔顿员工培训课件
- 重症患者气道扩清技术
- 《儿科儿童便秘规范化诊疗临床实践指南》
- 2026国网二批招聘(附25年招聘岗位表)笔试参考题库及答案解析
- 2026年生物科技服务公司技术服务项目实施管理制度
- 上海铁路局社会招聘笔试题
- 神经内科患者的心理护理与沟通技巧
- 尹定邦《设计学概论》笔记
评论
0/150
提交评论