C语言复习文档Word格式文档下载.docx
- 文档编号:19672958
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:9
- 大小:43.53KB
C语言复习文档Word格式文档下载.docx
《C语言复习文档Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言复习文档Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
%d%f”,a,b);
不加:
&
13.scanf("
格式控制符"
地址列表),地址列表可为数组名及指针变量名,普通变量名前加:
&
14.printf("
%6.2f"
32.6789)
15.scanf的格式控制符中,除了逗号,一般不加其他字符;
一定要记住,有逗号时输入要加逗号,否则:
数据用空格隔开,字符连着输入;
没有"
%m.nf"
的写法,只有"
%mf"
的写法,float型用"
%f"
double型用"
%lf"
,longdouble用"
%Lf"
16.转义符\:
'
\n'
'
\0'
\101'
\xdd'
17.运算符:
/,%,||,&
运算符的有先序:
p42-p43
例如.以下程序的运行结果是
structst
{intn;
floatx;
}*p;
voidmain()
{structstarr[3]={{10,5.6},{12,7.1},{14,6.7}};
p=arr;
printf(“%d\n”,++p->
n);
p++;
printf(“%d,%.2f\n”,p->
n,p->
x);
}
A)12B)11C)11D)12
12,7.1010,5.6012,7.1014,6.70
不同类型的数值型数据进行混合运算时,先要把低数据类型向高数据类型转换,成为同一类型后才进行运算。
横向箭头表示必须进行的转换。
逗号运算符是最低的运算符
常量不能++、--;
后++,--:
仅高于逗号运算符,
低于赋值运算符
例:
b=(a=1,a++,a++),又例:
b=(a=2)+(a=3),
又例:
a=1;
b=(++a)+(++a)
=与==的区别
|,^,~,>
>
<
<
a?
b:
c
18.在C语言中,对于逻辑运算,非零的数(不管实数还是整数)都认为是真的,真的就是1,假的就是0;
19.关系运算的结果是逻辑值。
20.C程序调试:
普通错误用回车即可修改,函数错误按F6后可修改;
第四章
1.C程序一般采用自顶向下的编写格式,模块化(函数)
2.C程序结构有三种:
顺序,选择(分支),循环
3.流程图是用来描述算法的一种工具。
程序开始用:
程序执行路线:
输入输出框:
判断框用:
处理框用:
4.{}:
用在函数,或复合语句
5.单分支:
if(表达式)语句;
if(表达式){语句组}
6.双分支:
if(表达式)语句1;
else语句2;
7.多分支if:
if(表达式1)语句1;
elseif(表达式2)语句2;
...
elseif(表达式n-1)语句n-1;
else语句n;
8.多分支switch:
switch(x)
{casex1:
语句1;
[break;
]
casexn:
语句n;
[break;
default:
语句;
}
main()
{intc;
while((c=getchar())!
='
)
{switch(c-'
2'
{case0:
case1:
putchar(c+4);
case2:
break;
case3:
putchar(c+3);
putchar(c+2);
printf("
\n"
);
当输入:
247<
回车>
,程序的输出结果是()。
(A)689(B)6689(C)66778(D)66887
9.循环语句:
(1)for(表达式1;
表达式2;
表达式3)
循环体语句;
for(表达式1;
{循环体语句组;
[continue;
(2)while(表达式)
while(表达式)
(3)do
}while(表达式);
for(i=1;
i<
=10;
i++)
{
if(i%2==0)break;
printf(“%d”,i);
}
for(i=1;
if(i%2==0)continue;
printf(“%d”,i);
}
i=1;
while(i<
=10)
{if(i%2==0)continue;
printf(“%d”,i);
i++;
10.循环嵌套:
从外循环进来,内循环结束后,再到外循环,如此反复,直到外循环结束)
x=0;
for(i=1;
=2;
for(j=1;
j<
=i;
j++)
x+=i*j;
或
{j=1;
while(j<
=i)
{x+=i*j;
j++;
11.break可用于switch和循环语句,一个break只退出一层;
而continue只对循环有效
12.记住:
质数的判断,二分法,斐波那契数列,辗转相除法,求数列的和(有正符号如何处理)
第五、六章
1.数组的定义:
inta[整型常量或字符常量或枚举值或符号常量表达式]
2.分清是值还是地址
3.intx,a[10],b[2][3],*p1=&
x,*p2=a,*p3=b,(*p4)[3]=a,*p5[2]={b[0],b[1]};
4.冒泡排序、直接排序
5.一维数组倒序存放,矩阵转置只要循环一半就可以
6.不能对字符数组整体赋值,而字符指针允许整体赋值
7.指针p可以p++(后移)或p--(前移)或p+i,而数组名a只能用,a+i(注意一维数组和二维数组的区别)
8.两个地址(指针)可以比较大小,后面大前面小;
可以相减表示差几个元素
9.对字符数组或字符串的操作一般用:
while(*s)
{…;
s++}
或
while(s[i])
{…;
i++}
for(p=a;
p<
a+n;
p++)
注意:
新生成的字符串是否有结束符’\0’
10.字符串打印:
chars1[10],s2[6][10],*s3;
(1)一维数组:
printf(“%s”,……);
(2)二维数组:
第七章
2.系统函数:
数学类函数,字符类函数,输入输出函数,字符串类函数
3.自定义函数:
格式
类型名函数名(形式参数列表)
{
函数体
}
4.不写函数类型名默认为整型
5.如果函数类型名为void表示无返回值函数(不写return)
6.如果main()函数写在被调函数之前,且被调函数类型名不是整型,则在main()中或main()之前应该先声明,如何声明?
7.全局变量:
在函数外定义的变量,如果定义时没给值,默认为0
8.局部变量:
在函数内定义的变量、形式参数、复合语句中定义的变量,如果没给具体的值,该值不确定
9.对于全局变量和局部变量主要观察在函数中是否被重新定义
10.实参向形参传递:
(1)按值传递:
传过去后,观察返回的情况;
(2)按地址传递:
地址中的内容被改,则两边同时被改,无须返回。
(3)数组传递,通常就把数组名传过去
11.如果一个函数名为:
fun(x),严禁出现:
fun(x)=…,不管递归与否
12.returny;
不要写成returny1,y2;
13.静态变量:
staticintx;
(1)没给值,默认为0;
(2)始终占用内存,其值会保留下来
14.宏定义:
#definePI3.14159
PI是常量,碰到PI时用3.14159替换
宏一定要先替换后计算
第八章
1.记住数组也属于自定义类型
2.结构类型
问题:
1.类型名,成员名,变量名
2.sizeof(structstaff)的值?
3.用变量表示worker的年份
4.用指针p表示worker的年份
5.用变量打印第6个员工的姓名
6.用指针q打印第6个员工的姓名
7.打印所有员工的姓名及工资
structstaff
{charno[5];
charname[10];
charsex;
struct
{intyear;
intmonth;
intday;
}birthday;
floatwages[2];
}worker,workers[100],*p=&
worker,*q=workers;
3.联合类型(union)
(1)表示法同结构类型
(2)首地址起共用
(3)字节数取最大的
(4)允许对第一个成员赋值
4.枚举类型
enumcolor{red,green=5,bule}backcolor;
(1)枚举元素(成员)是常量
(2)枚举值
(3)枚举变量只能取所有元素之一
5.定义别名
typedefintX,Y[10],*Z;
Xa;
Yb;
Zc;
其中a,b,c各代表什么?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习 文档