C语言程序设计复习doc.docx
《C语言程序设计复习doc.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习doc.docx(13页珍藏版)》请在冰豆网上搜索。
C语言程序设计复习doc
C语言程序设计复习
C语言程序
C程序是由函数构成的:
一个C程序至少包含一个main()函数,也可以由main()函数和若干个其它函数结合而成的。
一个C程序总是从main函数开始执行的。
结构化程序设计的三种基本控制结构是:
顺序、选择、循环。
1、数据类型
类型
符识标
丹数
字符
rah
8
1
rIlsaullh
1
5
5
2
-o
整型
nt•1
32
4
•SI
TLrL
R
2
1
■
6
-oBD
torsh
16
2
\)/
5a
5
-21npuu
ng
10
32
4
singus
B
4
实型
atno
32
4
\>z
38
o
1
X
4
038~
•
+-
64
8
度精位
6
1
8
30
e
XI
J
/(X+-
•若有定义:
charc^olO1;则变量C中包含的字符个数为。
•若有定义:
charc^XxlO1;则变量C中的字符是。
•己知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch二匕'+‘9’
-'6'的值为。
•7.若变量a是int类型,并执行了语句:
a二A+16,则a的值是。
•字符型(char)数据在机内存中的存储形式是。
2、常量
在程序运行过程中,其值不能被改变的量称为常量。
直接常量
如:
12、0、-3整型常量
4.6、-1.23实型常量
9a\'d,、’A,丄一字符常量(只能是单引号括住的一个字符)12L、•引一一长整型常量
#definePRICE30
字符串常量
例如,“Howdoyoudo."、"Goodmorning."、"A"等。
•下面四个选项中,均是合法浮点数的选项是
A.+le+l5e-9.403e2B.-.6012e-4・8e5
C.123e1.2e-.4+2e-lD.-e3.8e-45.e-0
3、标识符
标识符是对变量名、函数名、标号和其他各种用户定义的对象命名。
标识符的第一个字符必须是字母或下划线,随后的字符可以是字母、数字或下划线。
标识符不能和C语言的关键字相同,不能C语言库函数同名。
4、变量
在C语言屮,要求对所有用到的变量,必须先定义(声明)、后使用;且称在定义变量的同时进行赋初值的操作为变量初始化。
例如I,floatradius=2.5,length=2,area;
5、运算符与表达式
(1)算术运算
(一)双元算术运算符
+、・、*、/、%(求余数)
(二)自反算术赋值运算符
格式为:
变量双目运算符二表达式。
如:
a+二b/*等价丁•:
a=a+b*/
y*=x+6/*等价于y=y*(x+6)
(三)自加(++)各自减(・・)运算
(1)前置运算——运算符放在变量Z前:
++变量、一一变量
先使变量的值加(或减)1,然后再以变化后的值参与其它运算,即先加减、后运算。
(2)后置运算——运算符放在变量之后:
变量++、变量一一
变量先参与其它运算,然后再使变量的值加(或减)1,即先运算、后加减。
(四)逗号运算符
1.一般形式:
表达式1,表达式2表达式n
2.求解过程:
自左至右,依次计算各表达式的值,“表达式亍的值为整个逗号表达式的值。
例如,a=3*5,a*4的值=60
(2)关系运算、逻辑运算、条件运算
1.关系运算符
V(小于),<=(小于或等于),>(大于),>=(大于或等于),==(等
于),!
=(不等于)
3.关系表达式
例如:
a>b,a+b>c・d,(a=3)<=(b=5),'a'>=b,(a>b)==(b>c)
(2)关系表达式的值——逻辑值(非“真”即“假”)。
用整数“1'‘表示“逻辑真二用整数“0”表示“逻辑假雹
例如,假设nl=l,n2=2,n3=3,贝!
I:
(1)nl>n2的值=0。
(2)(nl>n2)!
=n3的值=1。
(二)逻辑运算
&&逻辑与(相当于“同时”)
II逻辑或(相当于“或者")
!
逻辑非(相当于“否定T
例如:
(x>=0)&&(x<10),(x5)
(year%4==0)&&(yeai*%100!
=0)||(year%400==0)
(三)条件运算符
1.一般格式:
表达式1?
表达式2:
表达式3如:
x=b>0?
a+b,a~b;/*计算a+|b|的值*/
max=a>b?
a:
b;/*取且,b屮的最大值*/
a>0?
1:
(a<0?
-1:
0)/*求a的符号*/
•若a二-14,b二3,贝9条件表达式a
a:
b+l的值为
•C语言中运算对象必须是整数的运算符是()0
A)/B)!
C)**D)%
•表达式1,3,5,7的值为()0
•若有定义:
inta=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为()。
•有intx,y,z;且x=3,y=-4,z=5,则表达式!
(x>y)+(y!
=z)||(x+y)&&(y-z)的值为
•假设所有变量均为整型,贝9表达式(沪2,b=5,a++,b卄,a+b)的值为。
数据的输入和输出
格式化输出——printfO函数printf()函数的作用:
输出一个或多个任意类型的数据。
格式:
printf(“格式字符串匕输出项1,输出项2,……)
格式字符串:
“格式字符串'‘也称“格式控制参数二可以包含三种字符:
1.格式说明
由%和格式字符组成,如%(1,%彳等,其完整格式为:
格式字
符
输出形式
举例
输出结果
d
十进制整数
Inta=123;printf(u%d,\a);
123
x(或X)
十六进制整数
Inta=l23;printfC<%x,,,a);
7B
0
八进制整数
Inta=123;printf(“%o",a);
173
U
不带符号十进制整数
Inta=80;printf(u%u,,,a);
80
C
单一字符
Chara=69;printf(u%c,?
a);
E
S
字符串
Staticchar
a[]=',CHINA";printf(“%s”,a);
CHINA
e(或E)
指数形式的浮点小数
Floata=123・456;printf(“%e",a);
1.234560e+002
f
小数形式的浮点数
Floata=123.456;printf(u%F\a);
123.456000
g(或G)
e和f中较短的一种,不输出无效0
Floata=123.456;printf("%g",a);
123.456
%
百分号本身
Printf(“%%“);
%
(1)长度修正符1
1:
对整型指long型,如%ld;对实型指double型,如%厅
(3)m.n
m:
指输出域宽;n:
指输出的小数位数(n的缺省值为6)。
2.转义字符
printf(“radius=%WT,radius);函数中的W就是转义字符,输出时产生一个“换行T桑作。
3.普通字符——除格式说明和转义字符之外的其它字符。
普通字符原样输出。
如Uprintf(nradius=%f\nn,radius);59中的“radius』。
•以下程序的输出结果是
voidmain()
{chars[]二"abcdef";
s⑶二P;
printf("%s\n",s);
}
•以下程序输出的结果是
inta=5,b=4,c=3,d=2;
d=(a>b>c);
printf(”%d\n”,d);
2.5.2格式化输入——scanfO函数
1、scanf()函数的一般格式
scanf(H格式字符串”,地址1,地址2,……);
(1)格式字符串。
格式字符串与printf()函数的相似(注意没有n)。
(2)地址表列
由若干变量地址(&变量名)组成,和邻2个变量地址之间,用逗号分开。
(3)scanf()函数的功能:
从键盘上接收格式化输入。
•若有说明语句:
inta,b,c,*d二&c:
则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()o
A)scanf(“%d%d%d”,&a,&b,d);B)scanf(”%d%d%d”,&a,&b,&d);
C)scanf("%d%d%d'\a,b,d);D)scanf("%d%d%d,',a,b,*d);
•已有定义:
intm;floatn,k;charchl,ch2;为使m=3,n=6.5,k=12.6,chi-a',ch2='A\输入数据的格式为:
36.512.6aA
贝§对应的seanf语句是o
第三章c程序的流程设计
选择型程序设计
if(表达式)语句1
[else语句2];
3.3.2elseif结构的应用
讦(条件1)语句1
elseif(条件2)语句2
•••
elseif(条件n)语句n
else语句n+l
3.3.3switch结构的应用
switch(表达式)
{case
常址表达式1
:
语句1
case
常量表达式2
:
语句2
case
•••
常量表达式n
:
语句n
default:
语句n+1
循环型程序设计
循环语句概述
用for语句。
for(表达式1;表达式2;表达式3)
{循环体语句组;}
(2)用do-while语句。
do
循环体语句组;
while(表达式);
(3)用while语句。
wh订e(条件表达式)
{循环体语句组;}
限定转向语句
break语句
无条件地结束switch语句,或循环语句,转向执行语句块的后续语句
continue语句
用于循环体中,终止当前一次循环
模块化程序设计
4.1函数
c语言是通过函数来实现模块化程序设讣的。
所以较大的c语言应用程序,往往是由多个函数组成的,每个函数分别对应各自的功能模块
4.1.1C程序结构
函数定义与函数声明
任何函数(包括主函数main())都是由函数说明和函数体两部分组成。
函数类型函数名(数据类型参数[,数据类型参数2……])
{说明语句部分;可执行语句部分;
}
函数的调用
在程序屮,是通过对函数的调用来执行函数体的。
函数调用的一般形式为:
函数名([实际参数表])
函数的参数分为形参和实参两种,作用是实现数据传送。
函数的返回
(1)语句格式:
return(返回值表达式);
4.1.4函数的嵌套调用
函数的定义不可以嵌套,但函数的调用可以嵌套。
函数的嵌套调用是指,在执行被调用函数时,被调用函数又调用了其它函数,其关系如下图所示。
函数的递归调用
函数的递归调用是指,•个函数直接或I'可接地调用它自身。
循环
•以下程序段的循坏次数是
X二1;
do
while(!
x);
数组
•若有说明:
inta[10];则对a数组元素的正确引用。
A.aflO]B.a[3.5]C.a[5・3]D.a[-l]
•以下能对一维数组