C语言源程序.docx
- 文档编号:7148162
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:20
- 大小:39.50KB
C语言源程序.docx
《C语言源程序.docx》由会员分享,可在线阅读,更多相关《C语言源程序.docx(20页珍藏版)》请在冰豆网上搜索。
C语言源程序
C语言程序设计
<一>
1、程序运行从main()函数开始,也从main()函数结束。
2、函数是C程序的基本单位,由函数头和函数体组成。
3、C语言源程序是由函数组成,它们的数目可以有多个。
4、在C语言源程序中,是必须有一个函数名为main的函数。
main()后的小括号()没有任何内容,它不可以省略。
5、C程序中的语句用分号结束,在一个程序行上可以有多个语句,一个C语句能写在多个程序行上。
6、函数体是由一对大括号围起来语句序列组成。
小括号是函数的标志。
二、C语言的组成元素
1、命令、函数和变量等是组成程序的基本对象,每一个程序对象都需要一个名字来标识,程序对象的名称就是标识符。
2、在C语言中,标识符分为用户标识符和系统标识符。
3、用户标识符是指在程序中由程序员为变量、函数、数组等程序对象自行命名的标识符。
4、系统标识符是指C语言编译系统内部预定义的用于表示命令数据内型的标识符,又称保留字符。
5、基本字符集
英文字母:
a~z和A~Z。
阿拉伯数字:
0~9。
其他字符:
()、[]、+、-、*、/、%、<、>、<=、>=、==、!
=、!
、&&、‖、++、--、+=、-=、*=、/=、%=。
它们是由1~2个字符组成。
用作C语言的运算符;还包括:
空格、换行符,回车符,单双引号,大括号,逗号,分号,反斜线,它们在程序中起到分隔和定界作用。
6、标识符:
是用于标识命令;变量、函数,数组,数据类型等程序对象名称的字符序列。
7、组成标识符的合法字符有:
字母,数字,下划线,三种,数字不能作首字符。
三、执行C语言程序
1、单击“开始”——“程序”——“附件”——“命令提示符”。
2、按功能键<10>激活菜单,执行“File”——“NEW”(ALT+回车)全屏。
3、
4、
有输入:
等待输入→回车
通过
无输入:
返回到编辑
未通过:
回车→F6→修改
F3(打开)
<二>
一、对数据进行分类
基本整型
int(长度)2
(范围)-32768~32767
长整形
long(长度)4
(范围)-648~647
无符号整型
unsigned(长度)2
(范围)0~65535
实型单精度
float(长度)4
(范围)~+38
双精度
double(长度)8
(范围)~+308
字符型
char(长度)1
二、正确书写C语言中常量
1、表示形式:
小数形式:
只有一个小数点,两边至少一边有数字。
2、指数形式:
(科学计数法)e(E)的前后都有数字,e后的数字必须为整数。
3、转义字符:
以反斜线(”\”)开头的字符序列人表示一个字符。
4、字符常量:
是用单引号(``)括起的一个字符列外,它仍表示一个字符。
5、字符串常量:
是双引号(””)括起的字符序列(可以是转义字符)。
6、定义符号常量:
一般格式:
#define标识符常量
三、在程序中使用变量
1、概念:
变量是在程序运行过程中其值可发生变化的数据对象。
2、组成:
变量包括:
变量名,数据类型、变量值。
3、变量名是一个合法的用户自定义标识符,是对对应内存单元的符号化地址,通过”&变量名”的形式可获得该变量所对应内存单元中存储的数据值(物理地址)。
4、在程序中使用变量必须先定义后使用,使用前置初值。
5、定义变量要指出类型和名称,其一般格式为:
类型标识符、变量名列表。
6、符号”=”的作用是给变量賦初值,称赋值号。
赋值号把它右边的值赋值给它左边的变量。
7、未赋值变量其值不确定,不能参加运算,所以参加运算前要设置它的初始值。
8、类型标识符:
类型名称,如int,float,char等,变量名列表是用逗号”,”分隔。
9、为变量预置初始值有:
初始化和赋初值两种,变量初始化是在定义变量后,在使用之前的赋值操作。
初始化:
intx=1,y=2,z=3;(再同一语句行上)
赋初值:
intx,y,z;
x=1;y=2;z=3;(不再同一语句行上)
<三>
一、计算算术表达式的值
1、运算符:
用来特定的符号来表示具体操作。
2、“/”名称除号,操作数2个,任意类型,运算规则:
如果两个操作数为整数,商为整数(舍弃小数部分,不进行四舍五入;只要其一为实数,商为实型,6位小数)。
3、取模运算(“%”)必须为整数;模的符号和被除数符号相同;被除数小于除数,模等于被除数。
4、表示:
用运算符将操作数连接起来组成的句子。
5、优先级:
是指在表达式中运算符执行的先后。
6、结合性:
是操作数于运算符结合的方向,左结合、右结合。
做结合是:
指从左向右结合执行运算;右结合是:
指从右向左结合执行运算。
7、强制转换:
通过类型转换运算符来将表达式值的类型转换为所需的数据类型,一般格式(类型标识符)表达式如:
(int)fv的值为int型,(float)x/y是把x的转换成实型后再除以y。
二、给变量赋值
1、赋值操作的本质是:
向变量对应内存单元写入数据既改变变量的。
变化遵守“新来旧去”的原则,未重新赋值的变量保持它原来的。
三、计算自增自减表达式的
1、确定自增自减运算表达式的简单方法是:
观察表达式中变量和运算的位置关系,凡变量在前,则表达式值为变量自增(或自减)之前的值;凡变量在后,则表达式的值为变量自增(或自减)之后的值。
2、自增自减运算操作中包含有赋值操作,因此,不能对常量和表达式进行自增自减运算。
3、不论是前缀形式还是后缀形式的自增自减表达式执行后,对变量的影响都是相同,区别仅在表达式不同。
四、比较两个数的大小
1、任何C语言表达式结果都可以视为逻辑值。
非“0”值为真,“0”值为假。
2、字符串不能直接用关系运算符进行大小关系比较运算。
3、数值数据(整型和实型)按数值大小进行比较,字符以它的ASCLL码大小进行比较。
4、高优先级组:
>、>=、<、<=。
低优先级组:
==、!
=。
5、关系运算符的结合性为左结合。
五、表达复杂的条件
1、形如A&&B&&C用&&连接成的串联表达式,如果表达式A为假,则不再计算表达式B和C,以此类推。
2、形如A‖B‖C用‖连接成的串联表达式,如果表达式A为真,则不再计算表达式B和C,以此类推。
3、逻辑运算符的优先级由高到低的顺序是:
!
→&&→‖
4、逻辑表达式结果为真,sh值为1;结果为假其值为0。
六、计算逗号表达式
1、从左向右依次计算各子表达式的值,然后取最右边表达式的。
2、常量和变量也可成为表达式,它们是表达式的特例。
3、逗号表达式的一般格式为:
表达式1,表达式2,表达式3;...
<四>
一、为程序输入数据
1、在输入数据时,数据都是以字符的形式输入的,经过格式转换说明符转换成对应数据类型了类型;分隔非字符型数据的字符有:
空格、水平制表符、换行符,它们统称为空白字符。
2、多个字符变量输入数据时格式控制串中没有使用任何普通字符,则输入字符时不使用任何分隔符。
3、scanf(格式控制串,变量地址列表);参数用逗号分隔;格式控制串由一个%和一个字母组成,被称为格式转换说明符:
%d(整型)int、%f(实型)float,double、%c(字符型)char。
4、scanf()函数工作过程:
扫描格式控制串,遇到格式转换说明符时,把键盘输入转换相对应类型数据存入对应地址所指的变量中,遇到普通字符则要原样输。
二、输出程序中的数据
1、在printf()函数的格式控制串中出现的普通字符将原样输出到显示器屏幕上。
2、%s格式转换符用于输出字符串。
3、实数在输出时,printf()函数自动保留6位小数,不足补0,超过四十五入。
4、输出函数printf()的一般格式:
printf(格式控制串,数据项列表);格式串由格式转换说明符和普通字符组。
5、printf()函数工作扫描格式串,遇到格式转换说明符时,把对应的数据项按指定的格式输出;遇到普通字符则原样输出。
6、在格式字符d前加L用于输出long型数据。
<五>算法的表示
一、C语言语句类别于作用
1、说明语句:
用于定义变量或声明函数。
(在函数体最前面,集中说明)
2、表达式语句:
在表达式后加上分号,它的功能是完成运算,有用的表达式语句能够在执行后改变变量的值。
3、空语句:
单独的一个分号。
4、函数调用语句:
用于实现对函数的调用。
变量名=函数名(实参表);ch=getchar();
5、块语句:
用花括号括起的多条语句。
6、控制语句:
由控制命令和被控制的语句组成,实现流程控制。
常用的有if、switch、while、for、break、retrun、continue等。
二、流程图符号表示的操作
开始→输入x→x<0→y_→x=-x→输出x的绝对值→结束
三、结构化程序的基本结构
1、顺序结构:
按语句先后顺序依次执行,没有执行不到的语句,每天语句只执行一次。
2、分支结构(选择):
if或switch(根据条件真假来选择执行语句)。
3、特点:
只有一个入口;只有一个出口;结构的每部分都有机会被执行;不存在死循环。
4、模块化程序设计要在软件设计开始时把待开发的系统划分成若干相互独立的,简单容易实现的子系统。
这种方法被称为“自顶而下逐步细化”的程序设计分析方法。
5、程序设计的一般步骤:
分析问题——确定算法→编写程序→→调试程序
<六>、程序流程控制
一、顺序结构程序的执行特点
1、顺序结构程序的执行特点是:
按照语句在程序中排列的先后顺序依次执行。
2、顺序结构程序中的每一条语句必须执行且只能执行一次,没有执行不到或重复执行的语句。
3、过程:
①认真读题;②预编命令;③确定变量类型;④有无数据输入(赋值);⑤核心语句:
①输入;②赋初值;③运算;⑥输出。
二、设计顺序结构
1、交换a、b两个变量的关键代码是:
t=a;a=b;a=t;也可以不使用中间变量来完成,关键代码是:
a=a+b;b=a-b;a=a-b;
3、字母大小写转换:
大写字母=小写字母-32;反之,小写字母=大写字母+32。
4、分离一个3位的整数x的个十百位上的数字的关键代码:
d0=x%10;d1=x/10%10;d2=x/100;
算法:
把每一位上的数字当做个位去求:
y=x%10(求个位)改变被除数(缩小10倍);x=x/10(求被除数)
<七>分支结构
一、分支流程控制语句if语句
1、分之结构程序中有两个或两个以上的执行路径,每个执行路径称为一个分支。
在执行时,根据分支条件选择执行一条,其它分支忽略。
2、C语言使用if命令和switch命令来实现程序的分支流程控制。
3、执行过程:
如果表达式的值为真(不为0),执行语句;if下只能控制一条语句。
否则跳过语句。
如:
输x绝对值。
#include“”
main()
{intx;
scanf(“%d”,&x);
if(x<0)
x=-x;
else
x=x;
printf(“%d\n”,x);}
4、if...else语句一般格式:
if(表达式)
语句1
else
语句2
5、执行过程:
先计算if后“表达式”判断值为真假,如为真执行“语句1”,否则执行“语句2”。
然后执行else后面的语句。
6、else不可单用,必须与if配对使用。
if、else只能控制一条语句。
7、if与else之间有多条语句时,这几条语句也必须用花括号围成块语句。
如果之间只有一条语句,不要漏掉语句的结束标志分号(;)。
例子
(1)
如:
判断输入年份是否为闰年(被4整除,不能被100整除或400整除)。
#include“”
main()
{inty;
scanf(“%d”,&y);
if(y%4==0&&y%100!
=0)
printf(“%d是闰年”,y);
else
if(y%400==0)
printf(“%d是闰年”,y);
else
printf(“%d是闰年”,y);}
或
{inty;
for(y=1500;y<=2500;y++)
if(y%4==0&&y%100!
=0‖y%400==0)
printf(“%d,”,y);}
1、包含if语句的使用情况称为if语句嵌套。
2、规定:
else总是与它上面的最近的,未配对的if配对。
使用花括号可以改变else与if默认配对关系。
二、switch语句
1、switch一般格式:
switch(表达式)
{case常量表达式1;
语句1
}
2、case后常量表达式称为标号,标志一组语句。
3、计算过程:
①switch括号中的表达式;
②从上至下查找与表达式的值匹配(相等比较)的标号。
4、switch后表达式是一个整型或字符型表达式,case后则必须是一个整型或字符型常量表达式。
5、switch语句中不能出现重复标号。
三、设计分之结构
1、由小到大
#include“”
main()
{floata,b,c,m;
printf(“输入3个实数:
”);
scanf(“%f%f%f”,&a,&b,&c);
if(a>c)
{m=b;a=b;b=m;}
if(a>c)
{m=a;a=c;c=m;}
if(b>c)
{m=b;b=c;c=m;}
printf(“%f%f%f\n”,a,b,c);}
2、输入x,y两个数,输出较大者。
#include“”
main()
{intx,y;
scanf(“%d%d”,&x,&y);
if(x>y)
printf(“%d\n”,x);
else
printf(“%d”,y);}
<八>
一、认识while语句
1、循环条件:
while命令后面括号中的表达式称为循环条件。
2、循环体:
在每次循环周期均要执行一次语句,称为循环体。
可以是简单语句,块语句,空语句。
3、循环控制变量:
在循环条件中控制条件真假的变量。
称为循环控制变量,通常决定循环体的执行次数。
4、对循环控制变量做了3个工作:
①循环控制变量赋初值,
②写出正确循环条件,
③循环控制变量的更新。
5、执行过程:
第一步:
计算表达式的值,如果表达式的值为真,则执行第二步开始一次循环周期;否则转入第三步,结束循环。
第二步:
执行语句。
语句执行完后结束本次循环周期,重返第一步。
第三步:
结束循环,执行循环后面语句。
二、认识do...while语句
1、语句部分可以是一条语句,也可以是块语句。
整个do...while循环在语法上被看成一条语句。
while后面必须以分号结束。
2、不论循环条件真假,do...while语句的循环体总要执行一次。
3、执行过程:
①执行do下面的语句(循环体),开始一个循环周期,
②计算while括号中的表达式(循环体条件),如果表达式为真,结束本次循环,重返回①步,开启下一个循环周期,否则转入第③步。
③结束do…while循环,流程转到循环结构外第一条语句。
如:
#include””
main()
{intn=10;(赋初值)
do
{printf(“%d”,n);
n=n-2;}循环体
while(n>0);(条件)
}
三、认识for语句
1、for语句一般格式:
for(表达式1;表达式2;表达式3;)
语句
2、for语句后面3个表达式作用是:
循环变量赋初值,循环测试条件,循环变量更新。
3、执行步骤:
①计算表达式1
②计算表达式2,如果结果为真,转第三步,如果结果为假转第五步。
③执行for下面的语句部分(循环体),执行完后转第四步。
④计算表达式3,结束本次循环周期,转回第二步,开始下一次循环。
⑤结束循环,执行for语句后续语句。
4、用for语句实现1*3*...15之积。
#include””
main()
{longs=0;intx;
for(x=1;x<=15;x=x+2)
S=s*x
printf(“s=%d”,s)
}
四、认识循环嵌套
1、一个循环语句的循环体中包含另外一个循环,称为循环嵌套或嵌套或嵌套循环。
内嵌的循环还可以再嵌套循环,从而构成多重循环。
2、在嵌套循环中,外层循环中,外层循环体执行的每一个周期中,内层循环语句都完整地执行一遍。
只有当外层循环条件为假时,才结束整个嵌套循环。
3、执行:
外循环开始,外循环被执行一次,内循环执行一遍。
4、执行过程:
①当m值为1时,,进入外层循环的第一个周期,进入循环体后执行的第一条语句就是for语句。
②内层循环重复25次周期,每次周期都输出m*n的值。
当m为1时,n从1变到5,并输出结果为第一行的内容。
③内层循环结束后,执行外层循环体的下一条输出语句,输出换行符。
④外层循环体执行完后,m更新为2,进入外层循环第2个周期。
⑤重复上述操作,当m的值为6时,使得外层循环条件为假
终止整个循环程序结束。
五、认识循环辅助语句
1、break语句在循环结构中的作用是提前结束包含它的循环语句的执行,使程序流程转向到该循环语句后面的语句。
2、continue语句是提前结束本次循环周期的执行而开始下一个循环周期。
3、break语句能于循环语句或switch语句中,而continue语句能用于循环语句中。
4、break语句和continue语句只能控制直包含它的循环语句的执行流程,一般于if语句配合使用,不单独使用。
结束本次循环周期后,对于while语句和do...while语句,它的下一步操作是计算while中的循环条件表达式;对于for语句,则执行表达式3。
#include””
main()
{intnum;
for(num=10;num<=19;num++)
{if(num%2==0)
comtinue;
printf(“%d\n”,num);
}
}
九、数组
<一>考察数组
1、数组:
是一组有序的连续的类型相同的变量集合。
2、数组元素:
构成数组的数据。
如a[0]、a[1]、a[5]。
3、数组长度:
数组元素的个数。
(中括号中的值)
4、下标:
数组元素在数组中的位置序号,是从0开始的数字。
5、下标变量:
数组名(用户标识符)[下标]。
(个数)
6、数组的维:
在数组中确定数组元素所需下标个数。
7、数组长度、下标用方括号括起,下标必须为整型表达式。
8、下标变量和基本数据类型的变量具有相同的特征,可执行基本变量的各种操作。
9、一维数组定义格式:
类型标识符数组名[整型常量表达式];
如:
intarray[10];
10、数组的三个特性:
数组元素类型相同,数组长度固定,数组存储时占用连续的内存单元。
如:
{inta[10],i;
for(i=0;i<10;i+1)
a[i]=i;
for(i=0;i<10;i++)
printf(“a[%d]=%d”,i,a[i]);
}
11、初始化:
在定义数组的同时指定数组元素的初始值。
12、一维数组初始化一般格式:
类型标识符数组名[整型常量表达式]={初始值列表};
13、访问数组一般格式:
数组名[下标表达式]
14、部分元素初始化,系统自动为没有初始值的元素初始化为0,初始值表中数据的个数不能超过数组长度。
定义数组时,不能省略数组长度。
<二>在程序中合理地使用数组
1、在求一个数组中最大值和最小值过程,将第0号元素的值假定为最大和最小的初值。
2、求最大最小值:
{inta[30],imax,minsum=0;
floatave;
for(i=0;i<=30,i++)
{scanf(“%d”,&a[i]);
sum=sum+a[i]
max=min=a[0];}
for(i=1;i<30;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 源程序