C语言复习纲要 2文档格式.docx
- 文档编号:19544747
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:17
- 大小:64.48KB
C语言复习纲要 2文档格式.docx
《C语言复习纲要 2文档格式.docx》由会员分享,可在线阅读,更多相关《C语言复习纲要 2文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
D.55e2.5
四、变量:
程序运行期间数据的值不确定。
1、变量的声明和定义:
类型名变量标识符名[,变量…,变量];
2、变量的操作:
(1)存数据:
初始化、赋值语句和键盘输入函数
(2)取数据:
用变量参与表达运算
下面的变量说明中正确的是____________。
A.int:
a,b,c;
B.int
a;
floatb;
C.int
a,floatb;
D.int
2;
五、数据类型:
常用基本类型的类型符及占用空间
基本型
所占字节
对应格式符
char
1
%c
int
4
%d
float
%f、%e
double
8
%lf、%le
六、运算符:
告诉编译程序执行特定算术或逻辑操作的符号:
掌握常用的运算符
优先级
运算符
名称或含义
使用形式
结合方向
说明
1
[]
数组下标
数组名[常量表达式]
左到右
()
圆括号
(表达式)/函数名(形参表)
.
成员选择(对象)
对象.成员名
->
成员选择(指针)
对象指针->
成员名
2
-
负号运算符
-表达式
右到左
单目运算符
(类型)
强制类型转换
(数据类型)表达式
++
自增运算符
++变量名/变量名++
--
自减运算符
--变量名/变量名--
*
取值运算符
*指针变量
&
取地址运算符
变量名
!
逻辑非运算符
表达式
~
按位取反运算符
~表达式
sizeof
长度运算符
sizeof(表达式)
3
/
除
表达式/表达式
双目运算符
乘
表达式*表达式
%
余数(取模)
整型表达式/整型表达式
4
+
加
表达式+表达式
减
表达式-表达式
5
<
左移
变量<
>
右移
变量>
6
大于
表达式>
=
大于等于
=表达式
小于
表达式<
小于等于
7
==
等于
表达式==表达式
不等于
表达式!
=表达式
8
按位与
表达式&
9
^
按位异或
表达式^表达式
10
|
按位或
表达式|表达式
11
逻辑与
12
||
逻辑或
表达式||表达式
13
?
:
条件运算符
表达式1?
表达式2:
表达式3
三目运算符
14
赋值运算符
变量=表达式
/=
除后赋值
变量/=表达式
*=
乘后赋值
变量*=表达式
%=
取模后赋值
变量%=表达式
+=
加后赋值
变量+=表达式
-=
减后赋值
变量-=表达式
左移后赋值
右移后赋值
按位与后赋值
变量&
^=
按位异或后赋值
变量^=表达式
|=
按位或后赋值
变量|=表达式
15
逗号运算符
表达式,表达式,…
从左向右顺序算
说明:
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:
!
算术运算符>
关系运算符>
&
>
||>
赋值运算符
七表达式:
是用括号将常量、运算符、函数连接起来的有意义的式子。
表达式的运算顺序:
从左往右依次取出运算数据和运算符,不同运算符按优先级由高到低顺序进行,同级按运算符的结合性决定运算的先后。
例5、计算下列表达式的值:
(1)(a+b)/2+(int)x%(int)ya=4,b=3.x=8.6,y=3.5
(2)a+b>
c&
c-1a=2,b=3,c=4
(3)!
(a<
b)||-aa=2,b=3,c=4
(4)b=a++b=3a=4;
b=?
a=?
(5)a=2a*=a+2的值
(6)sizeof(char)的值
第三、四章顺序、选择、循环结构程序设计
一语句:
它由一个词或句法上有关连的一组词构成,表达计算机执行的一个动作或声明定义一个符号的名称。
语句
格式
功能
变量声明语句
[存储类型]数据类型变量名1,…变量名n;
声明程序中自定义的符号
赋值语句
变量名=表达式;
计算表达式的值并赋给变量
表达式语句
表达式;
实现数据的处理
输入输出语句
printf(“格式字符串”,[变量1,…变量n]);
常用格式符:
%d,%c,%f,%s,%lf
%m.n格式符
scanf(“格式字符串”,[地址1,…地址n]);
%d,%c,%f,%s,%lf
实现往显示器上输出数据
从键盘上输入数据到内存
选择语句
(分支语句)
if(表达式)
语句1;
[else
语句2;
]
嵌套if语句的规定是:
else总是与其之前最近的且尚未配对的if配对
根据表达式的值决定语句是否执行。
switch(表达式)
{
case值1:
语句;
[break];
.
case值n:
语句n;
[default:
语句n+1;
[break];
}
循环语句
while(表达式)
{
[break;
[continue;
重复执行语句;
do
语句;
}while(表达式);
for(表达式1;
表达式2;
表达式3)
赋值语句等号左边为变量
下面不正确的赋值语句是_____________。
A.a=a+1;
B、a+5=b
;
C、a+=b
D、a=1;
下列程序的输出结果是()。
#include<
stdio.h>
voidmain()
inta=3,b=5;
printf("
a=%d,b=%d"
a,b);
(A)a=3,b=5(B)a=%3,b=%5
(C)a%%d,b=%%d(D)a=%d,b=%d
for语句执行过程:
for(表达式1;
表达式2;
表达式3){循环体语句;
}
真
假
表达式1判断表达式2执行循环体语句;
表达式3;
结束循环,执行循环后续语句;
循环语句:
for(i=1;
i<
4;
i++)s=s+i;
循环体执行的次数_________;
多重循环(循环的嵌套),循环体中包含循环
inti,j;
for(i=1;
5;
i++)
printf(“i=%d”,i);
for(j=0;
j<
j++)
printf(“j=%d”,j);
内层循环体外层循环体
printf(“\n”);
}
二、编程
程序结构:
按执行语句的次序:
顺序;
选择;
循环
编排语句的次序:
声明数据和输入数据;
处理数据;
输出数据;
C程序设计时,当求解问题中出现条件判断时应该用选择结构,若出现连续重复时应该用循环结构,若出现功能上重复时可以设计函数来实现程序的模块化设计。
第五章数组
一.数组的概念
由相同数据类型的变量按照一定的次序组织起来,就是数组。
构成数组的变量称为数组元素。
用一个数组名和下标来唯一确定数组中的元素。
数组类型属于构造数据类型。
二.一维数组
1、定义
类型标识符数组名[常量表达式];
例:
inta[5];
2、初始化
⑴对数组的全部元素赋初始值。
如:
intm[5]={1,21,35,4,58};
⑵对数组的部分元素赋初始值。
intnum[5]={1,24,3};
⑶对数组的全部元素赋初始值时,可以将数组定义为一个不确定长度的数组。
intnum[]={19,2,32,4,51};
3、引用:
数组名[下标]a[2]=3;
三.二维数组
数据类型数组名[常量表达式1][常量表达式2];
floata[3][4];
二维数组中元素的排列顺序是按行排列
(1)分行对二级数组初始化。
inta[3][4]={{1,28,3,4},{15,62,7,8},{9,100,111,12}};
(2)按数组排列的顺序对各元素赋初值。
inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
(3)可以对部分元素赋初值。
inta[3][4]={{1},{5},{9}};
(4)如果对全部元素赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。
如:
inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
数组名[行下标][列下标]a[2][3]
四、字符数组:
用来存放和处理字符数据的数组变量。
char数组名[常量表达式];
例charc[10];
⑴用字符逐个给字符数组中的元素赋值
charc[5]={‘H’,’e’,’l’,’l’,’o’};
⑵用字符串常量给字符数组赋值。
charc[6]=“Hello”;
或charc[]=“Hello”
c这个数组总共分配6个字节的存贮空间,在c[5]中存入的是‘\0’。
3、字符串的输入输出
⑴在scanf中利用“%s”实现对字符串的整体输入
charstr[20];
scanf(“%s”,str);
⑵在printf中利用“%s”实现对字符串的整体输出
4、常用字符串处理函数
⑴字符串输入函数gets(字符数组名)
⑵字符串输出函数puts(字符数组名)
⑶字符串连接函数strcat(s1,s2)
⑷字符串比较函数strcmp(s1,s2)
⑸字符串复制函数strcpy(s1,s2)
⑹字符串求长度strlen(字符数组名)
以下一维整型数组array的正确说明是()。
(A)inta(5);
(B)intn=5,a[n];
(C)intn;
(D)#defineSIZE10;
scanf("
%d"
&
n);
intarray[SIZE];
intarray[n];
若有定义:
inta[2][3],则对数组a元素的正确引用是()。
(A)a[2][3](B)a[1,3](C)a
(1)(3)(D)a[1][2]
下面是对s的初始化,其中不正确的是()。
(A)charstr[5]={“you”};
(B)charstr[5]={‘y’,’o’,’u’};
(C)chars[5]=“”;
(D)chars[5]=“abcdef”
定义字符数组charstr[20];
,则不能对字符数组正确输入的语句是( )。
(A)scanf("
%s"
str);
(B)gets(str);
(C)scanf("
%c"
(D)for(i=0;
20;
i++)scanf("
str[i]);
定义字符数组charstr[10]={“string”};
,则不能对字符数组正确输出的语句是( )。
(A)printf("
%s\n"
(B)puts(str);
(C)printf("
10;
i++)printf("
str[i]);
第六章函数
1、函数定义形式:
函数类型函数名(形参表列)
{函数体}
intmax(intx,inty)
{intz;
z=x>
y?
x:
y;
returnz;
2、函数的参数:
形参和实参,作用是实现数据传送
3、函数返回值与return语句
有参函数的返回值,是通过函数中的return语句来获得的。
return语句的一般格式:
return(返回值表达式);
4.函数类型
在定义函数时,对函数类型的说明,应与return语句中、返回值表达式的类型一致。
5、函数的调用
函数调用的一般形式为:
函数名([实际参数表])
(1)函数表达式。
s=area(3,4,5);
(2)函数语句。
printf(“WelcometoChina!
”);
(3)函数实参。
max(max(a,b),c);
在函数调用时,实参在次序、类型、个数上应用相应形参表中形参保持一致。
6、函数原型的一般形式为:
1.函数类型函数名(参数类型1,参数类型2……);
2.函数类型函数名(参数类型1参数名1,参数类型2参数名2……);
7、函数的嵌套调用
函数嵌套调用时执行的顺序:
main()->
a()->
b()->
main()
8、函数的递归调用
一个函数在它的函数体内,直接或间接地调用它自身。
需掌握典型程序:
1、交换两个变量的值
#include<
voidmain()
{inta,b,t;
%d%d"
a,&
b);
t=a;
a=b;
b=t;
printf("
a=%d,b=%d\n"
2、累加(乘)
{inti,sum=0;
=100;
sum+=i;
printf(“sum=%d\n”,sum);
3、判断素数
math.h>
{intm,i,k;
,&
m);
k=sqrt(m);
for(i=2;
=k;
if(m%i==0)break;
if(i>
k)printf("
%disaprimenumber\n"
,m);
elseprintf("
%disnotaprimenumber\n"
4、求两个的最大公约数
{intm,n,a;
printf(“请输入两个正整数:
\n”);
scanf(“%d%d”,&
m,&
a=m%n;
while(a!
=0)
{m=n;
n=a;
a=m%n;
printf(“最大公约数为%d\n”,n);
5、求10数中的最大值、最小值
{inta,i,max,min;
scanf("
a);
min=max=a;
=9;
i++)
if(max<
a)max=a;
if(min>
a)min=a;
Max=%d,Min=%d\n"
max,min);
6、将一组数倒置存放(倒排)
#defineN5
{inti,temp;
inta[N]={1,2,3,4,5};
for(i=0;
N/2;
{temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
N;
%d"
a[i]);
7、选择法排序
{inta[11],i,j,k,temp;
Input10numbers:
\n"
);
11;
a[i]);
{k=i;
for(j=i+1;
j++)
if(a[j]<
a[k])k=j;
if(i!
=k)
{temp=a[i];
a[i]=a[k];
a[k]=temp;
Thesortednumbers:
8、冒泡法排序
{inta[11],i,j,t;
for(j=1;
=10-i;
if(a[j]>
a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言复习纲要 语言 复习 纲要