期末知识点C语言.docx
- 文档编号:633849
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:14
- 大小:131.77KB
期末知识点C语言.docx
《期末知识点C语言.docx》由会员分享,可在线阅读,更多相关《期末知识点C语言.docx(14页珍藏版)》请在冰豆网上搜索。
期末知识点C语言
2012-2013【2】c语言期末复习知识要点
一、基本概念的基础知识(p5)
∙构成c的基本单位是函数
∙main函数是c语言中的一个函数,c语言写的程序,可以有多个函数构成,c程序中有且只有一个main函数,c程序的执行总是从main函数开始,在main函数中结束。
∙c程序中注释可以出现在任何空格可以出现的地方
o注释的作用:
帮助理解和备忘程序的功能
o注释方法两种:
///**/
o注释书写位置:
可以写在任何空格可以出现的地方,原则上,写在代码后面,不影响程序的可读性
∙c语句都要用分号;结束
∙函数由函数的首部和函数体构成
∙函数可以嵌套调用,但是不可以嵌套定义
∙函数之间的书写位置没有固定的要求
∙其他函数,只有被调用的时候,main调用了它,它才会被执行。
二、变量和常量(p22)
(一)常量是不可以改变的量
✓常量分为整型、实型、字符型
✓整型常量分为:
十进制:
125;八进制:
0125;十六进制:
0x12(后面加l的是长整型常量)
✓实型常量分为:
3.14(小数),1.23e+3(科学计数)
o3.14,可以省略小数点前的整数:
.13可以省略小数点后的小数:
5.
omEn,科学计数法,e前必须有数字,e后必须是整数
✓字符型常量分为:
字符常量‘a’,字符串常量“abcd”,转义字符(p29)
o字符型:
'a'字符常量,它可以存在一个字符变量中,它存储的是该字符的ascii码值,其实是一个整数,一个ascii码在内存中占用一个字节
o"afjdslkgjfk":
字符串常量,它不可以存入一个字符变量中。
那如果要表示或者存储一个字符串,怎么办?
字符数组来办
o转义字符:
▪\ddd:
代表1-3位八进制数为ascii码值的那个字符。
如\7表示ascii码值为7的字符;\25表示ascii码值为21(十进制)的字符;\101表示ascii码值为65(十进制)的字符。
▪\xhh:
代表1-2位十六进制数为ascii码值的那个字符。
如\x41表示ascii码值为65(十进制,4*16+1)的字符;
▪\\输出一个\,\双引号输出双引号。
o字符串长度判定:
“abc\\d\n\123”长度为7;“abcd\n\183”长度为8
✓算法的5个特性
(二)变量是在程序执行过程中其值可以改变的量
✓变量要先定义,后使用
✓变量要分类型:
类型决定变量存储在哪个区,占几个字节,可以参加什么运算
✓变量有地址:
&x
✓变量的值的获得(赋值,从键盘接收)
(三)符号常量:
宏
(四)标识符命名规则:
✓变量命名,函数命名等都是标识符:
数字,字母,下划线构成,其中数字不能开头。
关键字不可以用来作为用户的标识符。
✓下面标识符中完全合法的标识符是:
▪a)max_234m44x
▪b)32ak-uintgfk
▪c)minprintfk3hj(printf是函数名不是关键字,语法上,可以用来作标识符,但是强烈建议不要使用库函数名作为标识符,容易使代码混乱)
三、运算符(p31)
(一)算术运算符:
+、-*、/、%(除法运算:
两个数都是整数,结果取整5/9;求余运算:
参加运算的两个数必须都是整数)
(二)++,--:
变量的值自增1或者自减1
✓++运算符:
是使得变量的值+1
✓--运算符:
使得变量的值-1
✓++,--:
只能用于变量的运算,不可以用于常量,5++,x++
✓++,--:
参加运算的操作数是几个?
1个,单目运算符
✓c=a++;里面有两个运算符,=和++:
如果++在变量的后面,先取变量的值付给c,在将变量a+1;
✓c=++a;先将变量a+1,再将计算后,a的值给变量c
✓while(y--){}for(;x--<4;)
(三)赋值运算符:
=,左边必须是变量,右边可以是变量、常量、表达式。
复合的赋值运算(+=、-=、*=、/=、%=、&=、|=、^=、《=、》=)特例:
赋值运算左右类型不匹配时,如何执行?
✓整给实:
直接在整数后面加小数点和若干0;
✓实给整:
舍弃小数,不执行四舍五入
✓字符型给整型:
原样赋值,数据由原来的一个字节变成了4个字节
✓整给字符:
取地址最小的一个字节给字符型变量
(四)关系运算符:
>,<,>=,<=,==,!
=
✓y=0;if(y=12)printf();elseprintf();
(五)逻辑运算符:
&&,||,!
✓逻辑与运算:
如果左边的表达式,值为假,则运算结果必然是假,右边表达式将不被判断和执行;
✓逻辑或运算:
如果左边的表达式,值为真,则运算结果必然是真,右边表达式将不被判断和执行;
(六)条件运算符:
?
:
(七)自动类型转换:
intx=1;floaty=3.5;x+y-2.0结果是double型:
当不同数据类型做混合运算时,字节少的类型要自动转换成字节多的类型参加运算,结果为字节多的类型
(八)强制类型转换:
(类型)intx=1;floaty=3.5;x+(int)y-2.0
(九)运算符的优先级别(p31)要会比较
(一十)sizeof(x):
测量某量在内存中占用的字节数。
x可以是变量,常量,数据类型
(一十一)输出函数:
printf(p37)能处理任何类型的数据。
printf函数的两种使用形式:
✓一、原样输出字符串
▪printf("djhskhgf");
✓二、按照某种格式来输出一个数据
▪intc=30;
▪printf("%d",c);
▪printf("c=%d",c);
▪%d十进制整数
▪%o八进制整数
▪%x十六进制整数
✓printf输出的时候,可以人为的控制小数的位数,和数据输出所占的屏幕宽度%10d
▪>实际数据的宽度,补空格
▪<实际数据宽度,原样输出
▪=原样输出
(一十二)输入函数:
scanf(p39)能处理任何类型的数据
(一十三)字符输出函数:
putchar,只能处理字符类型的数据,并且处理的是单个字符(p41)
✓1.作用:
输出一个字符
✓2.它的参数c,可以是:
字符型变量,字符型常量,整形变量,整形常量,表达式
▪intx=108;
▪charc='k';
▪putchar(c);//字符型变量
▪putchar('\n');//字符型常量
▪putchar(x);//整形的变量
▪putchar(100);//整形的常量
▪putchar(x+1);//表达式
(一十四)字符输入函数:
getchar,只能处理字符类型的数据,并且处理的是单个字符
✓1.从键盘接收一个字符型的数据
✓2.函数的参数为空
✓3.函数的返回值通常需要存储给另外一个变量
▪例如:
c=getchar();
四、程序设计的基本结构
(一)顺序结构
✓定义:
有几个变量?
都是什么类型?
✓输入:
已知条件是什么?
有几个?
如何输入
✓计算:
程序要计算的量是什么?
如何计算?
✓输出:
输出什么?
(二)选择结构(p58)
✓单个分支的选择结构
✓两个分支的选择结构:
绝对值问题
✓三个分支的选择结构:
一元二次方程求根问题
✓多个分支的选择结构:
分数等级问题
✓if的嵌套:
出租车计费问题
✓switch语句
▪switch后面括号中的表达式必须是整型或字符型数据
▪case后面的常量不能重复
▪case后面的常量:
可以是整型、字符常量如:
case8或case‘a’
▪一个case分支,可以有多条语句,要括起来构成复合语句
▪case和default语句的顺序没有要求,但要注意break的使用
▪default是可以省略不写
▪break是用来结束switch语句的
✓if-else配对原则:
else总是和离它最近的、未配对的if配成一对
(三)循环结构,三种循环结构的比较
while
do…while
for
①循环变量赋初值;
while(②循环条件)
{
④循环体语句
③循环变量增值
}
①循环变量赋初值;
do
{
④循环体语句
③循环变量增值
}while(②循环条件);
for(①循环变量赋初值;②循环条件;③循环变量增值)
④循环体语句
n=1;
while(n<=100)
{s+=n;
n++;
}
n=1;
do
{s+=n;
n++;
}while(n<=100);
for(n=1;n<=100;n++)
s+=n;
初始条件为假,循环一次也不做
初始条件为假,循环体执行一次
初始条件为假,循环一次也不做
“循环条件”为0,即是假;非0,即是真。
因此若有语句:
for(n=1;1;n++)s+=n;循环为死循环。
(四)break和continue:
结束循环,提速循环
五、数组
(一)一维数组:
存储一组数据类型相同的数。
✓1.使用这些数据的话,就要引用数组元素,a[i]
✓2.数组名除了作为一个名字存在,还是数组的首地址,也就是第一个元素的地址,a等价于&a[0],输出地址,使用的格式控制符号是:
%x,%p(十六进制表示)
✓3.数组中所有的元素地址是连续的
(二)定义
✓数据类型数组名[元素的个数]
✓inta[10];
✓[]中,不可以是变量,必须是常量或常量表达式,可以是符号常量:
#defineM10
voidmain()
{
inta[M];可以
intx=5;intb[x];不可以
}
✓元素就有a[0],a[1]......a[9],但是在这个数组中,没有a[10]这个元素
(三)初始化
✓1.全部元素初始化:
inta[10]={1,2,3,4,5,6,7,8,9,10};
✓2.当你定义一个数组,对全部元素都初始化的时候,可以在定义的时候省略数组的长度:
inta[]={1,2,3,4,5};
✓3.部分初始化:
inta[10]={1,2,3};
✓4.完全不进行初始化(数组元素的值是不确定):
inta[10];(static,全局的:
0)
(四)接收
✓for(i=0;i<10;i++)
✓scanf("%d",&a[i]);
(五)冒泡排序算法分析:
✓k表示趟数i表示数组元素的下标
✓if(a[i]>a[i+1]){jiaohuan}
✓k=1i=0,.....8n-1-k
✓k=2i=0,.....7
✓k=3i=0-6
✓k=4i=0-5
✓k=5
✓for(k=1;k<10;k++)
✓for(i=0;i<=n-1-k;i++)
✓if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}
✓#include
✓voidmain()
✓{
✓inti,j,t;
✓inta[10];
✓for(i=0;i<10;i++)
✓scanf("%d",&a[i]);
✓for(j=1;j<10;j++)
✓for(i=0;i<10-j;i++)
✓if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}
✓for(i=0;i<10;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 期末 知识点 语言