C语言程序设计.docx
- 文档编号:13547104
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:51
- 大小:38.94KB
C语言程序设计.docx
《C语言程序设计.docx》由会员分享,可在线阅读,更多相关《C语言程序设计.docx(51页珍藏版)》请在冰点文库上搜索。
C语言程序设计
C语言程序设计
程序是计算机指令的有序集合。
C语言就是一种高级语言;汇编语言是用助记符形式表示的一种语言;机器语言是用二进制位串表示的一种语言。
C语言的特点
1c语言是一种结构化程序设计语言。
结构化语言具有层次清晰,易于调试和维护等特点。
2c语言的语句简练,书写灵活具有关键字少,类型说明符书写简单等特点。
3c语言处理能力强,具有二进制位用算和寄存器存取功能。
4c语言具有很好的移植性。
所谓移植性很好,是指对编写的代码做少量的修改就可以转移到不同类型的机器上运行。
C语言程序的组成
#include
main()
{
Printf(“Hello,world!
\n”);
}
C语言程序主要由函数和变量组成,一个是有说明一种运算的语句和变量组成的,语句以分号结束,变量用来存储运算过程中所需要的值以及运算过程中产生的中间值。
一般来说,可以用合法形式任意命名一个函数,但main函数是一个特殊的函数,是程序运行的开始点,这就意味着一个程序有且仅有一个main函数。
Main函数常常要调用其它函数来协助完成它的工作,这些函数既可以自己编写,也可以从函数库中得到。
“helloworld”程序中的第一行:
#include
标准输入|输出库函数是以库的形式提供的,二这些库函数的声明放在一个叫stdio.h的头文件中,在生成目标程序是自动将该函数的代码链接到你的程序中。
调用函数和被调用函数之间通过参数来交换数据,把参数放在函数名之后的括号()中,如果多个参数,用逗号分隔成一个参数列表。
在我们的例子中,main函数中调用了printf函数,main是调用函数,printf是被调用函数,main向printf传递了一个参数,这是一个字符串参数“Hello,world!
\n”.
用花括号括起来的部分是函数的语句,称为函数体。
我们例子中的main函数只有一条语句:
Printf(Hello,world!
\n”);
这条语句是调用标准输出函数printf,输出字符串“Hello,world!
\n”.
C语言程序执行过程
1用文本编辑器编辑c语言源程序
例如;在c盘上建立一个文件夹并命名为exmaple,在该文件夹下建立一个头文件夹example.h和一个c语言源文件exmaple.c
Example.h文件的内容如下;
floatmanium(flotaa,fiotab)
{
returna>b?
a:
b;
}
Example.c文件的内容如下:
#include
#include“example.h”
intmain()
{
floatx,y;
printf(“pleaseinputx,y:
”);
scanf(“%f,%f,&x,&y);
printf(“\nmaxium(%f,%f)=%f\n”,x,y,maxium(x,y);
return0;
}
2编译源程序
在c++6.0中建立一个空工程,命名example,然后把example.c文件加入到该工程中,之后用c++6.0的建立菜单中的编辑命令对文件进行编译。
3运行程序
上一步无错误,选择建立菜单中的执行命令,执行该操作,观察运行结果是否正确。
第2章数据类型运算符与表达式
数据时程序处理的对象,程序的主要任务就是对数据进行加工,处理,而计算机中的数据包括数值型数据和非数值型数据。
运算时对数据进行加工的过程,用来表示各种不同运算的符号称为运算符。
表达式就是用运算符将运算量连接起来的,符合c语言语法规则的式子。
字符集是高级语言的编辑系统所能识别的字母,数字和特殊符号。
每种高级语言都有自己特定的字符集。
标识符是用来标识c语言程序中的变量,常量,函数,标号及用户定义对象的名称的。
标识符的首字符必须是字母或下划线,后跟字母,数字或下划线,其有效长度为1-32个字符。
标识符可分为系统定义标识符和用户定义标识符
系统定义标识符是指具有固定名字和特定含义的标识符,分为关键字和预定义标识符两种类型。
一关键字
<1数据类型说符int,long,short,char,float,double,singed,unsigned,struct
Union,enum,void,volatile,const,typedef.
<2存储类别说明符aut,static,register,extern.
<3语句命令字gotoreturnbreakcontinueifeleswhiledoforswitchcasedefault
<4运算符sizeof
二预定义标识符
<1标准库函数输入输出函数:
scanfprintfgetcharputchargetsputs等。
数学函数:
sqrtfabssincospow.
<2编译预处理命令defineendifincludeindefifdefline
常量和变量
常量是指在程序执行的过程中其值不变的量。
常量分为直接常量和符号常量,符号常量是为了增加程序的可读性和易修改性而经常使用的另外一种形式的常量。
1直接常量
<1数值常量分为整型常量和实型常量八进制整数以0开头十六进制整数以0x开头。
<2字符常量是有一对单引号括起来的一个字符,‘a’‘3’
<3字符串常量是有一对双引号括起来的一个字符序列“hello”
2符号常量一般形式
#defint符号常量标识符直接常量
#defintMAX100
变量是指在程序执行过程中其值可以变化的量。
<1定义变量一般形式
类型标识符变量名1,变量名2,。
。
。
。
。
。
。
。
。
变量名n;
Longx,y;
<2变量赋值通过赋值运算符“=”进行的。
<3变量初始化就是在定义变量时给变量赋以初始值。
数据类型
C语言中的数据类型分为四类:
基本类型构造类型指针类型空类型
其中基本类型分为四类:
整型实型字符型枚举类型
整型数据
分类
关键字
存储位数
字节
普通整型
int
16
2
短整型
short[int]
16
2
长整型
Long[int]
32
4
无符号普通整型
Unsigned[int]
16
2
无符号短整型
Unsignedshort
16
2
无符号长整型
Unsignedlong
32
4
1整型变量一般格式
【类型修饰符】int变量名1[,变量名2,];
Intm,n;
2整型常量如果是长整型常量在数字后面加字母L或l即可。
实型数据
分类
关键字
存储位数
字节
单精度
Float
32
4
双精度
Double
64
8
长双精度
Longdouble
80
10
1实型变量一般定义float变量名1,[变量名2,变量名3,变量名n];
Double变量名1,[变量名2,];
2实型常量小数表示法和科学技术表示法
小数表示法;有数字和小数点组成,小数点的左右两边至少一边要有数字。
.2521.5-2.3
科学技术表示法;有尾数e和指数三部分组成。
E两边至少有一位数。
尾数为小数表示的实数,指数是1-3位的整数。
.4E-5
字符型数据一个字符型数据的值只能是一个单个字符,在内存中占有一个字节(8位)。
字符型数据和整型数据可以通用,二者的区别仅在于;字符型数据占一个字节,整型数据占有两个字节。
1字符型变量一般表示
char变量名1【,变量名2,变量名3,变量名n】;
2字符型常量是将单个字符用单引号括起来表示。
运算符与表达式
运算时对数据进行加工的过程,用来表示各种不同运算符的符号称为运算符。
算术运算符:
+-*/%++--
关系运算:
>>=<<===!
=
逻辑运算符:
&&\\!
赋值运算符:
=及其扩展运算符
条件运算符:
?
:
逗号运算符:
位运算符:
&|^~<<>>
指针运算符:
*&
长度运算符:
sizeof
强制类型转换:
类型名
分量运算符:
.逗号->
下表运算符【】
其他运算符:
()
表达式的分类:
算术表达式关系逻辑赋值条件逗号位其他
算术运算符和算术表达式
运算符
名称
列子
功能
+
加
x+y
和
-
减
x-y
差
*
乘
X*y
积
/
除
x/y
商
%
求余
X%y
求余
除法:
除法运算包括整数除法和实数除法。
整数除法要求除法运算符两边必须是整数,运算结果也是整数。
实数除法的除法运算符两边只要有一个是实数,运算结果就是实数(双精度)3.0/4.0=0.75
模除:
模除运算也叫求余运算,模除两边都是整数,运算结果也是整数,9%4=1-3%5=-3
自增,自减运算符
运算符
名称
列子
功能
++
加1
X++
将x值增加1等价于x=x+1
——
减1
x--
求x值减1等价于x=x-1
<1自增,自减运算的前置运算是使变量的值先增1或减1,然后再以该变量变化后的值参加其他运算;
<2自增,自减运算的后置运算是先以该变量的值参加其他运算,然后在使其变量的值增1或减1;
正负运算符+x-x
算术表达式(-b+sqrt(b*b-4a*c))/(2*a)
赋值运算符与赋值表达式
赋值运算符是=,是一个双目运算符,形式变量名=表达式
复合赋值运算符+=-=*=/=%=<<=>>=&=^=|=
I+=1i=i+1x*=y+3x=x*(y+3)
关系表达式与关系运算符
关系运算就是比较两个数的大小,如果符合条件为真,否则为假。
运算符
名称
列子
功能
>
大于
x>y
比较大小
>=
大于等于
x>=y
<
小于
X <= 小于等于 X<=y == 等于 X==y ! = 不等于 X! =y 关系表达式a+b>b+c优先级a==b>c先大于再等于 逻辑运算符与逻辑表达式 1逻辑运算符有3个,分别是&&与||或! 非 2逻辑表达式a&&b(a 结合性与优先级算术运算符、关系运算符、逻辑运算符、赋值运算符之间的优先级顺序从高到低为: 逻辑非! 、算术运算符、关系运算符、逻辑与&&、逻辑||、赋值运算符=。 条件运算符与条件表达式 条件运算符由“? ”和“: ”组成是c语言中唯一的一个三目运算符,结合性从右到左,一般表达式为: 表达式1? 表达式2: 表达式3 条件表达式的计算过程: 先计算表达式1的值,如果表达式1的值为非0,则计算表达式2的值,并将表达式2的值作为整个条件表达式的值,否则计算表达式3的值,并将表达式3的值作为整个条件表达式的值。 (x>0)? 1: ((x<0)? -1: 0)若x值大于0,则表达式为1;若x值为0,则表达式为0;若x值小于0,则表达式为-1 逗号表达式与逗号运算符 一般形式: 表达式1,表达式2先计算表达式1的值,在计算表达式2的值,最终整个表达式的值为表达式2的值。 数据类型转换 数据类型的自动转换在一个表达式中出现各种数据类型时,c语言会自动将不同类型的数据转换成同一类型,然后进行计算。 Char->shortint->unsigned->long->unsignedlong->float->double 数据类型的强制转换在c语言中,可以在任何表达式中使用一个叫做类型转换的形式来对数据进行强制转换。 数据类型强制转换一般形式(类型名)表达式 3顺序结构程序设计 顺序结构是结构化程序设计的三种基本结构之一,是最简单、最常见的一种程序结构。 在顺序结构中,程序的执行时按照语句的先后顺序进行的,并且每个语句都会执行到。 顺序结构程序通常是由三部分组成: 数据的输入、数据的处理、数据的输出。 C语言语句概述c语言语句分类4类: 简单语句、复合语句、流程控制语句、空语句。 <1简单语句包括: 变量定义语句;外部变量声明语句;函数声明语句;表达式语句。 1变量定义语句用来定义变量,也就是为变量分配存储空间,使其能够存放相应的值,以便变量能在相应的程序中使用。 一般定义形式: 类型名变量名1【,变量名2,……..变量名n】; 2外部变量声明语句一般式: extern类型名变量名1【,变量名2,…变量名n】; 3函数声明语句用来向编译系统声明将要调用此函数,并将此函数的相关信息(函数名、函数类型、参数个数、参数类型)通知编译系统。 一般形式: 类型名函数名(参数类型1,参数类型2,….参数类型n);或类型名函数名(参数类型1参数名1,……参数类型n参数名n); 4表达式语句表达式语句是有表达式加分号组成。 可分为运算符表达式语句和函数调用表达式语句。 在c语言中,最常见的表达式语句是赋值表达式语句、自增表达式语句、自减表达式语句、 函数调用语句在c语言中,函数是能够实现一定功能的子程序,而函数调用只通过调用函数来实现这些功能。 函数调用表达式语句是有函数名、实际参数、最后的分号组成。 <2复合语句打多个单语句用花括号括起来组成一个复合语句。 在语法上相当于一个语句。 复合语句一般形式: { 语句1; 语句2; ….. 语句n; }(没有分号) <3流程控制语句流程控制语句用来控制程序流程,以实现程序的各种控制结构,有特定的语句定义符组成。 条件判断语句: if语句、switch语句 循环控制语句: while语句、do….while语句、for语句 流程转向语句: break语句、continue语句、return语句、goto语句 <4空语句只有分号;它是什么也不执行的语句,在c语言程序中,空语句用来作转向点和空循环体。 数据的输入和输出 1格式输入函数scanf()格式输入函数的作用是在终端设备或系统隐含制定的输入设备上的格式输入一个或多个数据。 1)格式输入函数scanf()一般格式 格式输入函数调用语句的格式scanf(“格式控制串”,输入地址列表); (1)格式控制串。 是用双引号括起来的字符串,也称转换控制字符串,有格式说明符和普通字符组成。 /格式说明符是有“%”和格式字符组成,如d%、%f、%c,起作用是以制定的格式输入数据。 /普通字符指格式说明符以外的字符,这些字符可以有也可以没有,如果有,则输入数据时必须在对应的位置上原样输入这些字符。 (2)地址列表是有若干个地址组成的列表,可以说变量地址,也可以是字符串或数据的首地址。 列入: 若有intn;floatx;则scanf(“%d%f,&n&x); 的含义就是输入一个整数和一个实数,分别存储到整型变量n和实型变量x的地址中。 其中“&”实地址运算符,&n和&x分别指变量n和x在内存中的地址。 我们在输入数据时按如下形式输入: 12356.78两个数之间用空格分隔,以上格式如果写成这样: scanf(“d=%d,x=%f”,&n&x);我们再输入数据就应该按如下形式d=123,x=56.78只是应为格式说明中有普通字符“d”“,”“x”,必须原样输入这些字符,否则,变量n和x无法获取相应的数值。 格式 功能 %d,%i 输入有符号十进制 %u 输入无符号十进制 %o 无符号八进制 %x 无符号十六进制 %c 输入单个字符 %s 输入一个字符串 %f 输入实数 %e或%E,%G或%g 与%f功能-样 使用scanf()函数应注意的事项 (1用scanf()函数输入数据时,输入的数据只能是常量,而不能是表达式。 (2如果实际输入的数据宽度大于格式说明中规定的数据宽度则系统自动从左到右按规定的数据宽度截取数据,多余的数据被丢掉。 (3在%后面加一个“*”修饰符,则表示要跳过此项,既不把此项输入送给任何变量。 (4在格式控制串中,如果格式说明符的类型和输入项的类型不匹配,系统不会给出错误的信息,但可能的不到正确的答案。 (5当调用scanf()函数输入数据时,最后一定要按回车键,否则scanf()函数接收不到输入数据。 2格式输出函数printf() Printf()输出函数一般格式: printf(“格式控制串”,输出项列表); 使用printf()函数应注意的事项 (1在格式控制串中,格式说明符要与输出项从左到右在个数和类型上相互匹配。 (2若要输出%,则应该在格式控制串中使用两个%即“%%”。 (3printf()函数输出数据后并不换行,要换行必须在格式控制串中使用转义字符“\n”。 字符输入与输出getchar()和putchar() (1字符输入函数getchar()一般表示形式;gerchar(); 使用时应注意的事项: 1getchar()的调用不需要参数,它的返回值为输入当字符。 2getchar()函数输入字符正常时,其返回值为输入字符的ASCII值,出错时为-1。 3getchar()函数每次只输入一个字符,若要输出多个字符必须多次调用。 (2字符输出函数putchar()一般表示形式: putchar(表达式); 使用时应注意的事项: 1putchar()函数的参数可以是字符常量,字符变量,也可以是别的表达式。 2putchar()函数输入字符正常是,其返回值为输入字符的ASCII值,错时为-1。 3putchar()函数每次只输出一个字符,若要输出多个字符必须多次调用。 【列1】编写程序输入摄氏温度数,然后转换为华氏温度数,摄氏温度与华氏温度的转换公式为F=9/5C+32. #include main() { floatc,f; printf(“Inputc”); scanf(“%f”,&c); f=9.0*c/5.0+32; printf(“C: %5.1f->F: %5.1f\n”,c,f); } 第4章选择结构程序设计 C语言提供了可以进行逻辑判断的选择语句,尤其构成的选择结构根据逻辑判断的结果决定程序的不同流向。 If语句也称二路选择语句。 二路选择语句是最简单的一种选择结构,它是根据条件的表达式值来选择执行给出的两个分之程序段之一。 If语句的基本形式有两种: if…..else和if. 1if…else形式是if语句的标准形式,期一般语法格式为: if(表达式) 分支语句1 else 分支语句2 这种if语句的执行过程为: 如果表达式的值非0,则执行分支语句1,否则执行分支语句2。 2if形式是if语句最简单形式,一般表达式为: if(表达式) 分支语句 这种if语句的执行过程为i: 如果表达式的值为非0。 则执行分支语句,否则不执行分支语句。 <1if语句表达式可以是c语言中任意合法表达式,一般情况下位关系表达式和逻辑表达式。 <2if….else形式中的“分支语句1”、“分支语句2”和if形式中的分支语句在语法上只能是一条语句。 因此,如果需要多条语句完成任务的话,就必须将这多条语句用花括号括起来从而形成复合语句,是指在语法上是一条语句。 <3无论是那种形式的if语句,也无论if语句中的分支语句是何种语句,整个if语句在语法上只能算是一条语句。 If语句的嵌套指的是if语句中的分支语句又是if语句的情形。 If语句嵌套的目的是解决多路选择问题。 1if语句的嵌套的基本形式: if(表达式) if语句1 else if语句2 或者if(表达式) If语句 说明: 《1if语句的嵌套结构无论嵌套多少层,在语法上只算一条语句。 《2缩进格式的书写只是为了阅读方便,及这种格式表示了程序设计的意图但整个if语句的嵌套结构的含义与此无关,它的含义完全有c语言编译系统来解释。 《3if语句的嵌套结构中的else要与if配对出现,原则是else与其最近的未配对的if配对。 2一种特殊的if语句的嵌套形式if…..elseif 既然if语句的嵌套结构可以使if….else形式的if语句和if形式的if语句的任意组合,被嵌套的if语句任然可以使if语句的嵌套结构,那么完全可以有这样一种if语句的嵌套结构 if(表达式1) 分支语句1 else if(表达式2) 分时语句2 else if(表达式3) 分支语句3 else …….. 分支语句n+1 它的含义: 按表达式顺序进行计算,第一个为非0表达式i将引起执行分支语句i,并且不再计算后面的表达式。 如果所有表达式的值为0,则执行分支语句n+1. Switch语句与break语句 Switch语句是c语言提供的一种专门进行多路选择问题程序设计的语句。 Switch语句的一般语法格式: Switch(表达式){ Case常量表达式1: 分支语句1 Case常量表达式2: 分支语句2 Case常量表达式3: 分支语句3 ……….. Case常量表达式N: 分支语句n Default: 分支语句n+1 } 执行过程: 手先计算表达式的值,并逐个与case后的常量表达上得知相比较,当表达式的值与某个常量表达式值相等时,执行其后的分支语句,然后继续执行后面所有的分支语句;如果表达上得值与所有case后的常量表达上得值不相等,则执行default后的分支语句组。 《1switch后的表达式类型可以是任意类型,但一般为整形、字符型、枚举类型。 《2case后的常量表达式的类型必须与switch后的表达式类型一致。 《3case后的常量表达式的值必须互不相同。 《4case后的分支语句组可以是一条语句,也可以是多条语句。 《5多个case可以共用一个分支语句组,继连续的k个case语句,前k-1个后面可以没有分支语句,只有第k个case后面有分支语句组。 《6Default及其分支语句组可以省略。 《7各个case和default的前后次序并不影响switch语句执行结果。 《8Switch语句可以嵌套,及case后的分支语句也可以是switch语句。 《9无论switch语句内部结构如何,整个switch语句在语法上只能算一个语句。 Break语句也称间断语句,通常在switch语句和循环语句中使用。 当break语句用于switch语句时,可是程序跳出当前switch结构,转而执行当前switch后的语句。 编写程序,输入一个实数,输出它的绝对值。 #include main() { floatx,y; printf(“inputx: ”); scanf(“%f”,&x); if(x>=0) y=x; else y=-x; printf(“|%f|=%f\n”,x,y); 编写程序,输入三个整数a,b,c将他们俺从小到大的顺序输出。 #include main() { Inta,b,c; Pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)
文档标签
- C语言程序的设计语言程序设计
- C语言程序设计PAT语言程序设计题目
- C语言程序设计学院语言程序设计
- C语言程序设计语言程序设计教案清华
- C语言程序设计语言程序设计药房管理
- C语言程序设计17语言程序设计在线
- C语言程序设计1253语言程序设计电大
- C语言程序设计语言程序设计考试期末
- C语言程序设计大学语言程序设计试题
- C++语言程序设计C++语言程序设计机械设计
- 语言程序设计
- C语言程序设计0008语言程序设计000821
- C语言程序设计计算机程序语言程序设计
- C语言程序设计电大语言程序设计形成
- c语言程序设计五子棋语言程序设计
- C++语言程序设计《C++语言程序设计》课程设计推箱子C++
- C语言程序设计语言程序设计平时在线
- 语言程序设计讲稿
- 语言源程序
- 语言程序
- Python语言程序设计3语言程序设计
- 程序设计