技能高考c语言复习资料.docx

上传人:b****7 文档编号:8878320 上传时间:2023-02-02 格式:DOCX 页数:46 大小:33.07KB
下载 相关 举报
技能高考c语言复习资料.docx_第1页
第1页 / 共46页
技能高考c语言复习资料.docx_第2页
第2页 / 共46页
技能高考c语言复习资料.docx_第3页
第3页 / 共46页
技能高考c语言复习资料.docx_第4页
第4页 / 共46页
技能高考c语言复习资料.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

技能高考c语言复习资料.docx

《技能高考c语言复习资料.docx》由会员分享,可在线阅读,更多相关《技能高考c语言复习资料.docx(46页珍藏版)》请在冰豆网上搜索。

技能高考c语言复习资料.docx

技能高考c语言复习资料

C语言二级考试资料

编著:

黄雨晨

一、C语言基础知识

1.标实符,常量,变量

(1)标识符

定义:

由字母、数字、下划线组成,并且第一个字母必须为字母或下划线的。

这样的组成就是标识符。

注意:

在C中大写字母与小写字母被认为是两个不同的字符。

分类:

1)关键字:

在C中已经定义好了的。

不能用作它的。

(ifdoubleint)。

2)预定义标识符:

如printfscanf.

3)用户标识符:

用户根据自己的需要来定义的。

(2)常量:

定义:

是指在程序的执行过程中,其指不会被改变的量、

分类:

1)整型常量:

没有小数的常量

39123

2)实型常量:

有小数点的常量

3.93.0

3)字符常量:

由单个字符组成的量

'a''b''5'(内存中占1个存储单元)

4)字符串常量:

至少有一个字符组成的量

"a""abc""fgbrhbg"(内存中以-0结束,占两个存储单元)

5)符号常量:

符号常量的值到底是多少,这是由在来定义符号常量时来决定的。

#definepi3.14(宏定义)

以下选项中,能用作数据常量的是:

A)o115B)0118C)1.5e1.5D)115l

以下选项中不能作为c语言合法常量的是:

A

A)'cd'B)0.1e+6C)"\a"D)'\011'

以下选项中不属于字符常量的是:

B

A)'C'B)"C"C)'\xCC0'D)'\072'

(3)整型常量与实型常量

整型常量的表示方法

***十进制数:

0-9

***八进制数:

以0开头的数字,由0-7组成。

下列合法的八进制数是:

A)0B)028C)-077D)01.0

***十六进制数:

以OX开头,由0-9和A-F组成。

A)oxffB)OxabcC)Ox11D)Ox19

实型常量的表示方法:

134.2

小数形式:

134.2

指数形式:

1.342e2

***字母e和E之前必须要偷

***字母e和E之后的数字必须是整数

***字母e和E之间不能有空格

2.90E-10.425E3-444.5424E-20.1e+61.23E1.3

2.变量的定义

1)定义:

在程序的运行过程中其值可以被改变的量,就叫变量。

2)原则:

变量必须先定义后再使用。

(变量定义的过程就是给变量开品存储单元的过程。

3)分类:

***整型变量:

用关键字int来表示

shortint短整型

longint长整型(在内存中占4个单元,如123l)

unsigned无符号如有-200u这就是错的。

(全部是正数)

变量的定义:

inta这是定义了一个整型变量a。

***float单精度在内存中占4个字节。

***double双精度在内存中占8个字节。

3.算术表达式

(1)基本的算术运算符

+、-、*、/、%这些都是双目运算符(有两个操作对象)

注意:

除%外,其他的运算符的运算对象可以是整型也可以是实型。

%操作对象只能是整型。

如:

10%3=110.7%554.64%643.3

说明:

1)如果双目运算符两边云算数的类型一致,则所得的结果的类型与运算数的类型一致。

如1.0/2.0=0.51/2=0

2)双目运算符两边运算数的类型不一致,则系统会自动进行类型转换,使两边的类型一致后,再进行运算。

1.0/2=0.5

3)所有的单精度数据,在运算过程中都以双精度进行计算。

(一般定义变量为实型类型的时候,可以直接定义为double型)

(2)优先级

()+-*/%+-

由高─────低

如:

5+1/2=5

4.强制类型转换

格式:

(类型名)(表达式)

***类型名后面的括号内表达式为单个表达式时,可省略括号,当后面的为多个表达式时,括号不可省略。

例如:

(int)3.525=3

(double)10%3=?

例如:

表达式:

(int)((double)9/2)-(9)%2的值是:

A)0B)3C)4D)5

设变量已正确定义并赋值,以下正确的表达式是:

A)X=Y*5=X+Z

B)int(15.8%5)

C)x=y+z+5,++y

D)x=25%5.0

5.赋值表达式

格式:

变量名=表达式

注:

1.不可以颠倒(左边必须是变量名,右边必须是C语言中合法的表达式)

2.功能是先求出右边变大事的值,然后把次赋值给赋值号左边的变量。

确切的说是把数据存入以该变量为标识的存储单元中去。

a=4a=b+7

3.结合性的优先级仅高于逗号表达式。

顺序是自右向左的。

如a=2+7/3

4."="是一个赋值号,不是一个等号。

5.x=y,变量的值也是可以传递和赋值的。

它的意思是将变量y中的赋值到x中去。

同样N=N+1也成立。

6.赋值运算符左侧只能是变量,不能是常量或表达式a+b=c是违法的。

7.赋值号的右边也可以是一个赋值表达式。

如a=b=7+1.

补充:

表达式和语句的区别:

表达式后面加一个分好就是语句。

6.复合赋值表达式

如:

1)a+=3-----a=a+3

同理可得

a*=3/=-=

a+=a=a+aa的初值为9

a+=a-=18

a+=(a=a-18)

a+=(a=-9)

a+=a

-18

2)若有定义语句:

intx=10;则表达式x-=x+x的值为:

A)-20B)-10C)0D)10

3)设有定义:

int=2;以下表达式中,值不为6的是:

A)X*=X+1X=X*(X+1)

B)X++.2*X

C)X*=(1+X)

D)2*X,X+=2

4)若变量均已正确定义并赋值,以下合法的C语言赋值语句是:

A)x=y==5;

B)X=n%2.5;

C)x+n=I

D)x=5=4+1;

7.++--运算符

++自身加1

--自身减1

如:

i=3i++_______I=i+1i=4

***单目运算

***i++++i

1)#include

intmain()

{

inti=3;

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

}

结果为:

3

2)#include

intmain()

{

inti=3;

printf("%d\n",++i);

}

结果为:

4

***当++在前,先自身加1,然后再干别人干的事

3)#include

intmain()

{

inti=3;

printf("%d\n",i++);

}

结果为:

3

***当++在后,先干别人干的事然后再自身加1

 

4)inta,i=3;

a=i++;a=3;

a=++1;a=4

8.逗号表达式

(1)定义:

用逗号将表达式连接起来的式子称为逗号表达式

(2)格式:

表达式1,表达式2,表达式3……,表达式N

(3)说明:

1)逗号运算符的结合性为从左到右进行计算,逗号表达式的值是最后一个表达式的值。

2)在所有运算符中,逗号表达式的优先级最低。

例题:

inti=5;

inta,b,c;

a=(i+8,6,i+7);a=12,i=5

b=(i++,++i);a=7,i=7

c=(i+7,i++);a=5,i=6

9.课后习题;

(1)选择题:

1)以下选项中正确的整型常量是:

A.12.B.-20C.1,000D.256

2)以下选项中正确的实型常量是:

A.0B.3.4344C.0.345*122D..875

3)以下选项中不正确的实型常量是:

A.2.50E-1B.0.78646e2C.-55.55D.566E-2

4)以下选项中不正确的用户标识符是:

A.ABC.CB.fileC)MainD.PRINTF

5)以下选项中不正确的用户标识符是:

A._123B.printfC)A$D.Dim

6)C语言中运算对象必须是整型的运算符是:

A.%B./C.!

D.**

7)可在C语言中用作用户标识符的一组标识符是:

A.voiddefineWORD

B.as_b3_123IF

C.For-abccase

D.2cDOSIG

8)若变量已正确定义并赋值,复合C语言语法的表达式是:

A.a=a+7;B.a=7+b+c,a++C.int(12.3%3)D.a=a+7=c+b

9)以下叙述中正确的是:

A.a是实型变量,c允许进行赋值a=10,但不可以这样说:

实型变量中允许存放整型值。

B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。

C.执行表达式a=b后,在内存中a和b的存储单元中原有值将被改变,a的值已由原来的值变为改变后的值,b的值有原来的改变为0.

D.已有a=3,b=5,当执行了表达式a=b,b=a之后。

使a中的值变为5,b中的值变为3.

10)以下叙述正确的是:

A.在C语言中无论是整数还是实数,只要在允许的范围内都能无误的表示。

B.C程序由主函数组成

C.C程序由若干函数组成

D.C程序中只允许包含一个函数

11)VC6.0中int类型变量所占字节数是:

A.1B.2C.3D.4

12)合法的八进制数是:

A.0B.028C.-033D.01.0

13)不合法的十六进制数是:

A.oxffB.0XabcC.0x11D.0x19

(2)填空题:

1)若K为INT型变量。

请写出运算K++后表达式的值()和变量K的值()

2)若X为DOUBLE型变量,请写出运算X=3.2,++X后表达式的值()和变量X的值()

3)函数体由({)开始,由(})结束。

函数体内的前面是(定义说明)部分,后面是(语句)部分。

4)C语言中的标识符可以分为(关键字)、(用户标识符)和预定义标识符。

5)在C语言中,用关键字()定义基本整型变量,用关键字()定义单精度实型变量。

用()定义双精度实型变量

6)把a1,a2定义成双精度实型变量,并赋初值1的定义语句是()

7)C语言程序中定义的变量,代表内存中的一个()

8)表达式3.5+1/2的计算结果是()

二、基本输入、输出语句

1.printf函数的一般调用形式

格式:

printf(格式控制,输出项1,输出项2,输出项3……);

在printf函数的最后面加上;号就是输出语句。

1)给输出项白提供输出格式说明

格式说明符:

作用:

就是使数据按格式说明符的要求进行输出。

组成:

由%号和紧跟在其后的格式描述符组成。

***int————%d

***float或double————%f或%e(科学计数法)

***char————%c

2)提供原样输出的文字或字符

***在“”中除了格式说明符之外的内容要全部原样输出。

***各个输出项之间要用逗号隔开。

***输出项可以使任意合法的常量,变量或表达式。

2.printf中常用的格式说明:

在格式说明符中,每一个格式说明符都必须以%号开头由相应的类型标识字母结束。

但在他们之间可以有其他的一个内容:

(1)%c:

输出一个字符

(2)%d:

输出一个十进制的数据

(3)%o:

以八进制格式输出

(4)%x:

以十六进制输出

(5)%u:

无符号十进制输出

(6)%f:

以带小数点的数字输出

(7)%e:

以指数形式输出

(8)%s:

输出一个字符串

(9)%%:

输出一个%

(10)%4d:

输出的数据长度是4个长度,当原来的长度大于4时会自动突破。

小于4时会自动填充空格。

(11)%x.yf:

x代表数制的宽度(包括小数点);y代表小数点后面的小数位数。

3.注意事项

1)输出比较自由一些,输出有的各个数之到底是什么,取决于格式说明符之间的内容。

2)格式说明符要与输出项一一对应。

3)输出语句中还可以有\n\r\t\a

4)尽量不要在输出语句中改变输出变量的值。

***inta=2;

printf("%d%d",a++,a);

结果:

2,2

5)输出的数据中如果存在变量,一定要是定义过的。

4.输出语句例题:

1)#include

main()

{

inta=1,b=0;

printf("%d,",b=a+b);

printf("%d\n",a=2*b);

}

程序运行后的输出结果是:

A.0,0B.1,0C.3,2D.1,2

2)doubley=3.141593;printf("%d%8.6f",x,y);输出结果是:

A.123.141593

B.12

3.141593

C.12,3.141593

D.123.141593

3)#include

main()

{

doublea=123.456;

printf("%6.2f",a);

}

输出结果为:

5.输入语句:

格式:

scanf(格式控制,输入项1.输入项2,……);

例如:

想通过键盘输入三个是分别给变量a,b,c。

并且他们分别为整型,浮点型,双精度型。

输入语句为scanf("%d%f%lf",&k,&a,&y);

说明:

(1)格式说明符与输出语句一样。

(2)在格式串中,必须含有与输入项——对应的格式转换说明符。

(3)在VC6.0的环境下,要收输入的double型数据的格式说明符一定要用%lf,否则数据不能正确的输入。

(4)由于输入时一个字符流,所以当输入的数据少于输入项时,程序会等待用户输入,直到满足要求。

当输入得分数据多余输入项时,多余的数据会自动作废。

(5)%*d:

跳过输入

6.练习题与复合语句、空语句:

(1)复合语句:

多个语句被{}括起来,当成一条语句来执行。

(2)空语句:

最后的表示只有一个“;”(用于计数)

练习题:

(1)选择题

1)intx;

x=11/3;

inty=5;

printf("%%d,%%%d\n",x,y);

输出结果为:

%d,%3

2)若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的语句是:

A.read(a,b,c);B.scanf("%d%d%d",a,b,c);

C.scanf("%D%D%D",&a,&b,&c);D.scanf("%d%d%d",&a,&b,&c);

3)若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是:

B

A.10B.10.0,22.0,33.0C.10.0D.1022

2222.0,33.033

33

scanf("%f%f%f",&a,&b,&c);

(2)编程题

4)编写一个程序,从键盘上输入两个数字,然后让他们互换一下。

#include

intmain()

{

inta,b,c;

printf("请输入两个数:

\n");

scanf("%d%d",&a,&b);

a=b;b=c;c=a;

printf("两数交换后的结果为:

%d%d",a,b);

}

5)编写一个程序,从键盘上输入一个数字,进行四舍五入计算,要求保留两位小数。

#include

intmain()

{

doublea;

printf("请输入一个要进行四舍五入的数:

\n");

scanf("%lf",&a);

a=a*100+0.5;

a=(int)(a);

a=a/100;

printf("四舍五入的结果为:

%lf",a);

}

6)编写程序,使从键盘上输入的三个数倒着输出:

#include

intmain()

{

inta,b,c,d;

scanf("%d",&a);

if(a>=1000)

{

printf("输入有误,请重新输入:

\n");

scanf("%d",&a);

}

b=a/100;

c=(a%100)/10;

d=a%10;

a=d*100+c*10+b;

printf("%d\n",a);

}

三:

c语言的程序结构

1.关系运算与逻辑运算:

(1)简介:

关系表达式与逻辑表达式的运算结果都会得到一个逻辑值。

就是“真”,“假”

在c语言钟0表示“假”,非0(无论是负数还是正数都是真。

更多时候用1来代替)表示“真”。

(2)几个简单的关系运算符:

<<=>>===!

=

注意:

1)由两个字符组成的运算符,中间不能有空格。

2)它们都是双目运算符,具有自左向右的结合型。

3)上面的6个运算符中,前4个的优先级要比后面2个的优先级要高。

4)先计算,后判断,然后进行赋值计算。

(3)几个简单的逻辑运算符

&&与一假则假

||或一真则真

非非假则真,非真则假

例:

1)1&&0=1,0&&6=0

2)inta=4,b=7;

a&&b=1;

3)intx=0,y=7;

x++&&y++=?

x=?

y=?

++x&&y++=?

x=?

y=?

2.if语句:

(1)定义:

只有两种结果。

要么执行这条语句,要么执行那条语句。

if(条件表达式)

上述条件成立执行(花括号【符合语句】、离ifz最近的一条句子、空语句)的句子

else

上述条件不成立执行的句子

(2)分类:

1)不含有else的语句

if(条件)

{

语句

}

2)含有else的语句

if(条件)

语句1;

else

语句2;

语句3;(语句3不受控制)

例:

#include

intmain()

{

inta,b,c,t;

printf("input3numbers:

\n");

scanf("a=%db=%dc=%d",&a,&b,&c);

if(a>b)

{t=a;a=b;b=t};

if(a>c)

{t=c;c=a;a=t};

if(b>c)

{a=b;b=c;c=t};

printf("%d%d%d\n",a,b,c);

}

3.if的嵌套:

(1)讲解

#include

intmain()

{

inta;

scanf("%d",&a);

if(a>60)

{

if(a>90)

printf("you");

else

printf("liang");

}

else

printf("cha");

}

输入一个学生的成绩,评定他的成绩。

每十分一个等级

#include

main()

{

inta;

printf("inputanumber:

\n");

scanf("a=%d",&a);

if(a>=90)printf("A");

elseif(a>=80)printf("B");

elseif(a>=70)printf("C");

elseif(a>=60)printf("D")

elseprintf("E");

}

(3)例题:

1)

设有定义:

inta=1,b=2,c=3;以下语句中执行效果与其他三个不同德是:

A.if(a>b)c=a,a=b,b=c;

B.if(a>b){c=a;a=b;b=c;}

C.if(a>b)c=a;a=b;b=c;

D.if(a>b){c=a,a=b,b=c;}

2)

有以下程序,程序运行时,输入的值在哪个范围内会有输出结果:

#include

main()

{

intx;

scanf("%d",&x);

if(x<=3);else

if(x!

=10)

printf("%d\n",x);

}

A.不等于10的整数

B.大于3且不等于10的整数

C.大于3或等于10的整数

D.小于3的整数

3)有以下程序,程序的输出结果为:

#include

main()

{

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

if(a==1&&b++==2)(b++一次,b=3)

if(b!

=2||c--!

=3)(由于b!

=2成立,后面的c--不会执行,因此c的结果不变)

printf("%d,%d,%d\n",a,b,c);

elseprintf("%d,%d,%d\n",a,b,c);

elseprintf("%d,%d,%d\n",a,b,c);

}

A.1,2,3B.1,3,2C.1,3,3D.3,2,1

4.条件表达式

1)是c语言中唯一的一个三目运算

2)格式:

表达式1?

表达式2:

表达式3

当表达式1成立(非零时),表达式的值是表达式2的值,否则就是3的值。

如:

1)1<2?

4:

5

2)printf("%d",x<0?

(-1)*++x:

x++);(假定X的值为-3)

3)x++>3?

(x<3?

a,b):

b

5.switch语句:

switch(表达式)

case常量表达式1:

语句1;break;

case常量表达式2:

语句2;break;

case常量表达式3:

语句3;break;

case常量表达式4:

语句4;break;

case常量表达式5:

语句5;break;

case常量表达式6:

语句6;

……

default:

语句n;

(1)switch后面无分号

(2)通常常量表达式为整型类型

(3)default用于最后系统自动判断的剩余值

(4)break用于返回,退出循环(最后一条语句不用加break,因为执行完后只有最后一个返回值了)

(5)case后面有一定要加一个空格,关键字后面不能与其他字符连在一起。

6.习题

(1)选择题

1)下列运算符中优先级最高的运算符是:

A.!

B.%C.-=D.&&

2)下列运算符中优先级最低的运算符是:

A.||B.!

=C.<=D.+

3)设a、b、c都是int型变量,且a=3,b=4,c=5;则以下表达式中,值为0的表达式为:

A.a&&bB.a<=bC.a||b+c&&b-cD!

((a

c||1)

4)以下程序的输出结果为:

A.0B.1C.2D.3

main()

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

if(a

if(b<0)c=0;

elsec+=1;

printf("%d\n",c);

(else与最近的if配对,若第一个if不成立,则继续执行下一条语句。

5)以下程序的输出结果为:

A.1B.2C.3D.4

main()

{

intw=4,x=3,y=2,z=1;

printf("%d\n",(w

w:

z

z:

x));

}

6)若执行以下程序时从键盘山输入3和4,则输出结果为:

A.14B.16C.18D.20

main()

{

inta,b,s;

scanf("%d%d",&a,&b);

s=a;

if(a

s*=s;

printf("%d\n",s);

}

7)以下是if语句的基本形式:

D

if(表达式)

语句;

其中“表达式”

A.必须是逻辑表达式

B.必须的关系表达式

C.必须是逻辑表达式或关系表达

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

当前位置:首页 > 高等教育 > 农学

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

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