最新c语言基础复习提纲资料文档格式.docx

上传人:b****6 文档编号:19091554 上传时间:2023-01-03 格式:DOCX 页数:23 大小:28.07KB
下载 相关 举报
最新c语言基础复习提纲资料文档格式.docx_第1页
第1页 / 共23页
最新c语言基础复习提纲资料文档格式.docx_第2页
第2页 / 共23页
最新c语言基础复习提纲资料文档格式.docx_第3页
第3页 / 共23页
最新c语言基础复习提纲资料文档格式.docx_第4页
第4页 / 共23页
最新c语言基础复习提纲资料文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

最新c语言基础复习提纲资料文档格式.docx

《最新c语言基础复习提纲资料文档格式.docx》由会员分享,可在线阅读,更多相关《最新c语言基础复习提纲资料文档格式.docx(23页珍藏版)》请在冰豆网上搜索。

最新c语言基础复习提纲资料文档格式.docx

b=20;

给b赋值*/

printf("

a+b=%d\n"

a+b);

/*输出计算结果*/

}程序运行后的结果是(B)

A)a+b=30 

B)a+b=10 

C)30 

D)程序出错

四、输出函数

总共有两个,分别为printf和putchar函数。

1.printf函数

(1)printf函数的一般格式:

printf(格式输出控制,输出列表)

1)格式输出控制:

需用一对双引号括起来,双引号内包含“格式说明”和“普通字符”两部分。

2)输出列表:

需要输出的数据,多个数据之间用逗号隔开。

(2)格式说明(详见教材197面,把上面输出格式要求全部掌握)

注:

在printf函数中,若格式说明的个数少于输出项的个数,多余的输出项则忽略不输出,这是二级C考试中经常出现的题目。

(3)普通字符会原样输出,转义字符需要输出对应的字符。

printf函数输出数据时,做题时很容易忽略普通字符(除了格式控制符之外的字符)的输出。

在考试中,这类题目常出现。

例:

{inta,b;

a=10;

b=15;

a+b=%d"

}程序运行结果为:

(4)数据输出实例(已知inta=66;

floatb=123.56;

通过以下各输出语句,掌握输出函数的各种格式。

(1)printf("

%d"

a);

66

(2)printf("

%3d"

□66

(3)printf("

%-3d"

66□

(4)printf("

%f"

b);

123.560000

(5)printf("

%7.2f"

□123.56

(6)printf("

%-7.2f"

123.56□

%c"

B

(7)printf("

%x"

42

1)输出控制是由双引号括起来的格式转换控制信息.它分为两种信息:

用于说明的信息,计算机会按照原样输出;

以上例子中的“a=”它可以是任意的常量,变量,表达式汉字,字符等。

2)带有"

%"

的格式转换说明,用于指定输出数据的格式。

例如”%d”。

3)输出数据列表包括需要输出的一些数据。

各个数据之间用逗号分隔开。

输出数据的个数与输出控制中的格式转换说明的个数相等,并且在顺序上要一一对应且类型匹配。

输出数据列表中的数据可以是任意合法的常量、变量或表达式。

4)在输出控制中,格式说明的个数应与输出项的个数相同。

如果格式说明的个数少于输出项的个数,多余的输出项则不予输出;

如果格式说明的个数多于输出项的个数,则对多余的格式说明将输出不定值。

输出语句printf("

%d,%d"

,2,3,4);

的输出结果为2,3。

a=%d,b=%d"

,2.3,4.0);

的输出结果为a=2,b=3。

1)可以在%和格式字符之间加入一个整数来控制输出数据所占的宽度,强调如果整数指定的宽度大于实际输出数据的宽度,数据的输出采用右对齐的方式,左边自动补空格;

反之,则以输出数据的实际宽度输出。

2)当在%和格式字符f之间加入“整数1.整数2”来控制输出数据的格式时,强调“整数1”用于指定输出数据占的总宽度,“整数2”用于指定输出实数的小数部分的个数。

当输出数据的小数个数多于“整数2”指定的个数时,截去多余的数据,并对截去的第1位小数作四舍五入处理。

当输出数据的小数个数少于“整数2”指定的个数时,在小数的右边添0补足。

3)如果需要在输出的八进制数前添加0,或在输出的十六进制数前添加0x,可在%号和格式字符o和x之间插入一个#号(注意:

#号对其他格式字符通常不起作用)

4)如果要输出"

时,则应该在格式控制中用两个连续的"

,即"

%%"

来表示,也就是在格式控制中出现两个连续的"

,则此时"

不再用来代表格式说明。

下面是关于以上几种特殊情况下数据的输出格式以及输出结果:

各种特殊情况时数据输出结果对比

输出语句输出结果输出语句输出结果

254);

254printf("

%2d"

%4d"

254

1.25);

1.250000printf("

%10f"

1.250000

%4.4f"

1.2500printf("

%7.4f"

1.2500

%2.0f"

1printf("

%o"

376

%#o"

0376printf("

%#x"

0xfe

printf(“%%”);

%printf(“%%d”,254);

%d

2.putchar函数

此函数只能输出字符型的数据。

表示将括号里面的字符型数据以字符的形式输出到屏幕上。

(1)输出格式为:

putchar(字符型变量或常量);

(2)举例:

putchar(c);

其中“c”为变量。

putchar(‘C’);

其中“C”为字符型常量。

【注意事项】putchar函数的参数只有一个,可以是字符型的变量或者常量。

如果是常量必须用单引号括起来。

五、输入函数

数据的输入函数,总共有两个,分别为printf和putchar函数。

1.scanf函数

(1)输入格式:

scanf(输入控制,输入数据列表)

【说明】

1)“输入控制”的含义与printf函数的“输出控制”相同,它的作用是指定输入时的数据转

换格式。

例子中的“%d”。

2)输入数据列表是一个或者多个合法的地址表达式。

例子中的“&

a”。

其中“&

”为取地址的符号,后面必须跟变量或者变量表达式。

我们要从键盘上将不同的数据输入计算机中时,也要限制以什么格式输入,可以接受那些数据,这就是格式化的输入函数。

【历年考题】

若有定义:

inta,b;

,通过语句scanf("

%d;

%d"

&

a,&

b);

,能把整数3赋给变量a,5赋给变量b的输入数据是( 

)。

A)35 

B)3,5C)3;

D)35

若变量已正确定义为int型,要通过语句scanf(〞%d,%d,%d〞,&

a,&

b,&

c);

给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(u代表一个空格符)()

A)uuu1,2,3<

回车>

B)1u2u3<

C)1,uuu2,uuu3<

D)1,2,3<

在scanf函数中的格式控制部分中,说明部分按照原样输入,而输入项必须是表示地址的地址变量。

(2)scanf函数中的格式说明:

(详见教材195面,记熟表格内容)

(1)当从键盘输入多个数值数据时,输入数值数据之间用分隔符(包括空格符、制表符和回车符,但是不包括逗号)隔开。

(2)在输入控制中,格式说明的类型与输入项的类型应该一一对应匹配。

如果类型不匹配,系统并不给出出错信息,但不能得到正确的输入数据。

当输入长整型数据(long)时,必须使用%ld格式;

输入double数据时,必须使用%lf或%le,否则不能得到正确数据。

(3)与printf相似,在scanf函数中的格式字符前可以用一个整数指定输入数据所占的宽度,但对实数不能指定小数的位数。

(4)在输入控制中,格式说明的个数与输入项的个数应该相同。

如果格式说明的个数少于输入项的个数,系统自动结束输入,多余的数据没有被读入,可作为下一个输入操作的输入数据;

如果格式说明的个数多于输入项的个数,系统同样自动结束输入。

(5)跳过输入数据的方法。

可以在格式字符与%之间加入一个“*”使输入过程跳过输入的数据。

(6)若在scanf函数的输入控制串中含有其他的字符,则在输入时要求按一一对应的位置原样输入这些字符。

2.getchar函数:

从终端输入一个字符。

(1)输入格式:

getchar()

第三章:

If结构

一、关系运算

1.C语言中的逻辑值:

(1)真:

非零即真,包括:

整数、负数、小数

(2)假:

零即假

2.关系运算符和表达式:

(1)关系运算符:

>

、>

=、<

、<

=、==、!

=

(2)优先级:

算术运算符>

关系运算符>

赋值运算符>

逗号运算符

(3)关系表达式:

由关系运算符组成的表达式叫做关系表达式。

例如:

a>

a!

=10

(4)关系运算的结果:

1表示真,0表示假

(5)结合方向:

从左向右,即先算左边再算右边

二、逻辑运算

(1)逻辑运算符:

&

、||、!

(2)逻辑表达式:

由逻辑运算符组成的表达式

a&

a真b真为真,否则为假(一假则假)

a||b 

a假b假为假,否则为真(一真则真)

a为真时!

a为假,a为假时!

a为真(非真则假,非假则真)

(3)优先级:

||>

(4)例一:

判断下列表达式是真还是假?

10&

20 

10>

20||20<

30 

a=10>

20 

!

5

(5)例二:

计算变量a,b,c,d的值

int 

a=0,b=0,c=0,d=0;

a++;

b=a+10>

10;

c=a>

b&

b>

=c;

d=(++b<

=0)||(d++);

三、if语句

1.if语句结构形式:

if(表达式)语句

(1)表达式可以为任何合法的表达式。

包括:

常量表达式、算术表达式、关系表达式、逻辑表达式和赋值表达式。

(2)语句:

只能是一条或是一个复合语句

2.if语句的执行过程:

(1)首先判断表达式的真假

(2)如果表达式结果为真,则执行语句;

否则不执行语句。

3.例一:

判断学生的成绩是否优秀?

a;

/*用来表示某个学生的成绩*/

scanf("

a);

/*通过键盘将成绩输入给变量a*/

if(a>

=90)

成绩优秀!

"

);

通过输入不同的值来判断输出的内容,如果输入的数据不小于90,则输出。

4.此题必须要求完全掌握。

inta=4,b=3,c=5,t=0;

if(a<

b)t=a;

a=b;

b=t;

a,b,c,t的值是:

c)t=a;

a=c;

c=t;

b){t=a;

}a,b,c,t的值是:

c){t=a;

}a,b,c,t的值是:

5.例:

判断一个数是否能被2整除?

/*用来表示某个数*/

/*通过键盘输入一个数给变量a*/

if(a%2==0)

a=%d能2整除"

6.例:

判断一个数是否能被3和7同时整除?

if(a%3==0&

a%7==0)

a=%d能被3和7同时整除"

7.例:

判断输入的一个字符是否是数字字符?

charch;

scanf(“%c”,&

ch);

if(ch>

=’0’&

ch<

=’9’)

printf("

ch=%c是一个数字字符"

ch);

8.例:

判断输入的一个字符是否是大写字母?

=’A’&

=’Z’)

ch=%c是一个大写字母"

四、if-else语句

if-else语句结构的一般形式:

if(表达式)

语句1

else

语句2

1.if-else语句的执行过程:

(2)如果表达式结果为真,则执行语句1,否则执行语句2

2.例一:

判断变量a是不是一个偶数,

如果a是一个偶数则输出a是一个偶数,

否则输出a是一个奇数

a=%d是一个偶数"

,a);

else

a=%d是一个奇数"

3.陷阱题:

inta=1,b=2,c=3;

if(c=a)printf(“%d\n”,c);

else 

printf(“%d\n”,c);

if(c==a) 

重点比较上面两个例子中c=a和c==a的区别,赋值和比较是不同的概念。

if表达式中如果是赋值语句,只要赋的值不为0,条件就永远为真。

if表达式中如果是关系语句,只要判断逻辑值为真或假。

五、 

嵌套的if语句

1.嵌套的if语句即多个if或者if-else语句嵌套在一起,

记住一句话:

else总是与它前面没有配对的if配对

2.例:

判断表达式的真假是重点

inta=5,b=4,c=3,d=2;

c)

printf(“%d\n”,d);

elseif((c-1>

=d)==1)

prinft(“%d\n”,d+1);

printf(“%d\n”,d+2);

注意两点:

一是学会配对if-else,采用从后往前配对;

二是必须掌握判断a>

c的真假,(c-1>

=d)==1的真假。

六、 

条件表达式

1.条件表达式的形式如下:

表达式1?

表达式2:

表达式3

2.条件表达式求职规则:

(1)首先判断表达式1的值是否为真

(2)如果表达式1的值为真则表达式2的值为整个表达的值,

否则表达式3的值为整个表达式的值

3.多个条件表达式的结合方向:

自右向左

4.例:

求两个数中的最大值:

max=a>

b?

a:

b;

5.例题

intk=0,b=2,c=3;

k=a<

b:

a;

 

k=k>

c?

c:

k;

mian()

inta=5,b=4,c=6,d;

printf(“%d\n”,d=a>

(a>

c):

(c));

七、 

switch语句

1.switch语句的一般格式:

switch(表达式)

case常量表达式1:

语句块1;

break;

case常量表达式n:

语句块n;

default:

语句块n+1;

}

(1)switch、case、default、break都是关键字

(2)圆括号中的表达式:

必须是整型或字符型,不能为实型。

case后面的表达式可以是求得整型量和字符型量的常量表达式,但是常量表达式后面不能含有变量。

(3)执行switch语句的步骤:

① 

首先计算switch后圆括号内表达式的值;

② 

如果计算结果与case后面某个常量表达式相等,则执行该case后面的语句块;

③ 

如果没有任何一个常量表达式与之相等,则执行default后的语句块。

(4)执行switch语句的执行策略:

执行过程中如果遇到break语句,则跳出switch语句

如果执行完一个case或是default没有遇到break,则继续顺序往下执行,直到遇到break语句或是switch语句体被执行完毕。

(5)default最多只能有一个,通常出现在switch的最后部分,但也可以出现在case之间或所有case之前。

例二:

a=1;

switch(a)

case1:

case2:

case3:

default:

a=%d\n"

请问输出的结果为多少?

2.区别下列两个例子

例一:

注:

switch语句中,注意在case的语句块后加break语句和不加break语句的区别,在考试中,经常考查该类题。

另外,考查default语句的执行(只有所有case后的常量表达式都不成立时,才执行default后的语句)。

第四章循环结构

一、 

本章学习要点

明白并熟练掌握循环的过程,特别for循环是考试的重点,请必须注意以下细节:

(1)什么是循环?

重复做同样的事情就称为循环。

循环有四要素,请同学们谨记:

循环的起点,就是循环从什么时候开始

循环的终点,就是循环到什么时候结束,同学们千万要记住一般的循环

是要结束的,但是有种循环永远也结束不了,这样的循环称为死循环

循环的步长,指的是循环每次变化的值,如果循环每次都没有变化,

很容易变为死循环

④ 

循环体,循环体是每次重复做的事情

(2)for循环的基本结构,表达式1,表达式2和表达式3分别代表什么

(3)必须掌握循环的执行步骤

2. 

掌握几种常见的使用循环解决的问题,考试中涉及很多和循环相关的考点,

因此在学习循环的过程中一定要慢慢训练使用循环解决问题的思路。

二、 

while循环

while循环和for循环的循环执行过程差不多一致,

只是表达式1,2,3的位置不同而已

2.while的一般形式

while(表达式)

循环体语句}

(1while是C语言的关键字,必须小写

(2表达式是任意合法的表达式(包括:

常量、算术、关系、逻辑、赋值表达式)

(3循环体语句只能是一条语句或是一个复合语句

(4表达式不能省略,循环体语句省略时表示不做任何的操作

while的执行过程

(1)判断表达式的真假

(2)如果表达式为真则执行循环体语句,否则结束循环

4. 

int 

k=5;

while(--k)

printf(“%d”,k-=3);

printf(“\n”);

执行过程如下:

(1)初值k=5,判断表达式:

--k的真假,--k为4故为真,

执行循环体:

输出k=k-3,输出1

(2)初值k=1,判断表达式:

--k的真假,--k为0故为假,

循环执行完毕

(3)执行循环以后的语句printf(“\n”);

输出一个回车,

所以结果为:

1<

5. 

例,特别注意循环体为空,还有执行过程中y--的变化

inty=10;

while(y--);

printf(“y=%d\n”,y) 

;

}程序运行后y的值是:

三、 

do-while循环

do-while语句的一般形式

do

循环体语句

}while(表达式);

(1)do是C语言的关键字,需要和while搭配使用

(2)表达式可以是任意合法的表达式

(3)循环体语句只能是一条语句或是一个复合语句

(4)表达式不能省略,循环体语句省略时表示不做任何的操作

(5)while后面的分号不能省略

do-while语句的执行过程:

(1)首先执行循环体语句

(2)判断表达式的真假

(3)如果表达式为真,则继续执行循环体语句,否则结束循环

执行步骤如下:

(1)初值:

i=0,n=0 

执行循环体语句:

i++;

++i->

i=2,

判断:

n!

=0为假,则结束循环;

(2)执行完循环后继续执行循环后面的语句:

i);

输出结果为:

2

知识点举例:

Inti,n=0;

i=0;

{i++;

++i;

}while(n!

=0);

i=0,执行循环体:

printf(“%d”,i);

输出i的值为0,

判断表达式i++的真假,因为i的初值为0,则i++的值为0,

i的值为1,表大事i++值为0为假,结束循环

(2)执行循环体后面的语句:

printf(”%d\n”,i);

输出的值为1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1