2023年下半年全国计算机等级考试二级C语言考前复习资料笔试_第1页
2023年下半年全国计算机等级考试二级C语言考前复习资料笔试_第2页
2023年下半年全国计算机等级考试二级C语言考前复习资料笔试_第3页
2023年下半年全国计算机等级考试二级C语言考前复习资料笔试_第4页
2023年下半年全国计算机等级考试二级C语言考前复习资料笔试_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023年上半年全国计算机等级考试

二级C语言考前复习资料(笔试)

常量胃里运算符

单分支选择L

八士*Kc程序设计基础

多分支选择盈择结构函垄函数定义

嵌套选搽J、/函数调用

while循环语■句./概念&定义

(引用&运算

dc,...whi他循环语句\\]/

forffi环净]、循环机构,指针与数组

_______r

C语言

循环一套,;

/f<k指针与函数

/1\'指向指针的指针

一维独组

二维我蛆」数值数组,\/结构体(&共用体)类型定义

字行串:.数组—/

字符串交;〕尹迪/\1结构体(&共用体)变量

文件&编译系统\[结构体数组

-------------《结构体指针

预处理文件\链表

definetypedefindude打开&关闭定位i矣写

思维导图1:C语言程序设计知识结构

第一课C语言程序设计基础

+««*»

(0■硼成•—不-0)

人造制常效整型

Int(2字节》《bW.Off头)

\

/一型Y3叟(4字节1(+9』皴望繇,0«俄岭.)f

/

float”字节〉.。—

\实型仙叱疗叫M>

\J。2\

字符型/

\_V_.转短在

字符型chard年节》w:一星”/

7钛j-El-

.入&*出国致岸f3

c程庠框架

,—•.Me)♦.CE负)•&家也b的Eo单目运算符任/T佗木'■.K±,./putlu<=P?»i

「,算—运算符,\岸函数,'工上也也史包_

«»>>位移运算符-.1'/\

I;,

££==:!?/[关系预算符双目顶财/\

MrnpffW,翎Mtta

一/位运羯运算符」运算苻一-UEYML钠♦)m

1t¥符串处理雨致

/------------!网——一过■运算轿J/丝

~田丽二),三目运年号/

L=。*=匕F3»=总值♦算将力1

I

L翦德二二•/二31号运算符

用户自定义函数(详见函数率)

、方辿支1.*f«xtS:..-0-----

思维中图2:第一课C语言押序设计基础

A)C语言的可执行程序是由•系列机器指令构成的

本课重要知识点:

B)用C语言编写的源程序不能直接在计算机上运营

1.知识点:C程序基础C)通过编译得到的二进制目的程序需要连接才可以运营

C语言是一种结构化程序设计语言,三种基本结构:顺序、选择、循环。D)在没有安装C语言集成开发环境的机器上不能运营<:源程序生成的.exe文献

例h(2023-09-11)以下关于结构化程序设计的叙述中对的的是(C)【解析】C程序开发过程:踞辑一〉C.c)编译一>(.obj)锥接一,可执行文献(.exe)

.知识点:语言程序的构成

A)•个结为化程序必须同时由顺序、分支、循环三种结构组成2C

B>结构化程序使用goto语句会很便捷•C程序是由函数构成的,一个C程序有且仅有一个main函数.一个函数

在C语言中,程序的模块化是运用函数实现的由两部分组成:函数的首部和函数体。函数体涉及声明郤分和执行部分.一个C

C)由三种珏本结构构成的程序只能解决小规模的问即程序总是从main函数开始执行(即程序的入口),由main函数结束,(即程序的

例2,(2023-03-26)计算机高线语言程序的运营方法有编译执行和解释执行两种,出笛.

以下叙述中对的的是(A)例1:(202343-12)以下叙述对的的是(B)

A)C语言程序仅可以编译执行A)C语言程序是由过程和函数组成的

B£语言程序仅可以解样执行B)C语言的敷可以嵌套调用,例如:fun(fun(x))

C)C悟言程序既可以编译执行乂可以解择执行C)C语言函数不可以单独编译

D)以上说法都不对D)C语言中除「main函数,其他函数不可作为单独文献形式存在

【解析】计尊机不能直接理解高级语言,只能直接埋解机器语言,所以必须要把高例2:(2023-19-11)以下叙述中错误的是(C)

级语在部峰成机器居三.计算机才干执行高级语言编写的程序.解译的方式勺两A.C语言编写的函数源程序,其文献名后缀可以是C

种,一个是编译,一个是解择。C语言程序仅可以编译。B.C语言编写的函数都可以作为一个独立的源程序文献

例3:(2023-03-26)以下叙述中错误的是(D)C.C语言编写的每个函数都可以进行独立的编洋并执行

D.一个Ci普言程序只能仃•个主函数C)若要解决为“人员信息”等具有不同类型的相关数据,应自定义结构体类型

3.知识点:标记符D)若只解决“真”和“假”两种逻辑值,应使用逻辑类型

•命名规则:【解析】结构数据类型是根据已定义的一个或多个数据类型用构造的方法来定义

①标记符中只能包含字母(a-z,A-Z),数字(0-9),下划线的,一个结构类型的值可以分解成若干个“成员"或‘'元素",每个''成都是

②第一个字符必须是字母或下划线。•个基本数抵类型或乂是•个构造类型,C项对的。C语言没有逻辑类型,故D

•分类’类型说明符:int,float,double等项错误。

「①关致字(32个)例2,(2023.fl3.26)定义无符号整数类为Ulnt,下面可以作为类UInt实例化值的是

Y(有固定含义,不可改变)语句定义符:if.for,while等(B)

A)-369B)369C)0.369D)整数集合[1,2.345}

库函数的名字:printf.scant'等

小②预定义标记符1

【解析】无狗号整数类型为只有正整数和0,所有选择B。

写(有特殊含义,可以改变)1

5.知识点:常量

③用户自定义的标记符i格式合法,ii不能使用关键字,道见名知意•整型常盘

例1:(2023-03-13)以下C语言用户标记符中,不合法的是(D)十进制整常盛:没有前缀,其数码为39.例如65535,568

A)_lB)AaBcC)a_bD)a-b八进制整常数:以0开头,其数码为37,例如015

4.知识点:数据类型十六进制整常数:以0X或Ox开头,其数码为39.A-F或a-f.例如0x2A

例I:(2023.03.16)以下关于C语言数据类型使用的叙述中错误的是(D)长整型数:整型常数后缀为L或L例如358000L

A)若要准确无误差的表达自然数,应使用整数类型无符号数:整型常数后缀为U或u。例如158u

B)若要保存带有多位小数的数据,应使用双精度类型•实型常研的形式

小数形式:必须有小数点,小数点前后不能同时没有数字。转义字符:由一对单引号引起来的以'开头的若干字符的组合。如’5'表达回车

指数形式:aEn(其中a表达十进制数,E阶码标志,n阶码)。|前■后必须有数

换行、表达反斜线符、表达单引号符、表达双引号、'Edd'表达八

字,■后必为整数,可以带符号.例妇2,1,3、5E8进制数、,\xhh•表达十六进制数,

例】(2023-09-13)以下选项中关于C语言常量的叙述错误的是:(D)例,(2023R9.15)以下选项中能表达合法常量的是(C)

A.所谓常量,是指在程序运营过程中,其值不能被改变的城A)整数:1.200B)实数:1.5E2.0C)字符斜机:2'D)字符串:

B.常量分为笔型常量、实型常量、字符常量和字符串常量“\007”

C.常量可分为数值型常量和非数值型常量【解析】表达整常及不能用逗号分隔,A项错误:实型常贵的指数形式E后必为

D.经常被使用的变量可定义成常见整数,故B项错谡:因)07,是转义字符,只能用单引号括起来,不能用双引号或其

【解析】根据常量的基本概念,则不难判断A、B、C为对的。他括号,故D项错误。例4:(2023Q3.26)以下选项中不能用作C程序合法常量

例1:(2U2J-04-13)以下选项中,能用作数据常量的是CD)的是(B)

AX)H5BX)HSC)l.5el.5D)1I5LA)1.234B)M23'C)123D)"\x7G"

【解析】八志制整常数以0开头,A项错误:八进制整常数的数码昧0-7,B项错【解析】A中的‘,’在编译时会犯错的,直接写成1234即可,B是一个三位八进

误:实型常盘的指数形式E后必为整数,故C项错误:长整型数后缀为L或I,故制数代表的字符,C是一个数字常量,D是一个字符串,其中\x7是一个一位十六

D项对的。进制数代表的字符,也即D中的字符串是两个字符,假如$izef的话是3,假如stdcn

例2:(2023-03-26)以下选项中可用作C程序合法实数的是(A)的话是2。

A).le0B)3.0e0.2C)E9DJ9.I2E6.知识点:变量

t解析】实皇指数表达方式“E前E后比有数,E后必须是整数”,故选A•整型变量和实型变量

•字符常量:用单引号''括起来的一个字符.涉及普通字符常量和转义字符。以考试标准VusalC++6.0为例,说明各类型变址所占的位数.

普通字符常量:如‘a'、'A'、T・

所占所占所占所占【解析】•个字符变量只能存放•个字符,A项字符变量存放的是普通字符常量:

类型类型

位数字节数位数字节数

B、D项字符变量存放的转义字符:字符常量只能是单个字符,不能是字符串,’aa,

short162unsignedin324

不是单个字符,故C项错误。

int324unsignedlong324

7.知识点:ASCH码

long324float324

unsignedshort162double64S'0'的ASC1码值为48;'A'的ASCH码值为65:3的ASCII码值为97。

例I:<2023-09-38)仃以下程序大写字母与小写字母的ASCII码值相差32。

科include<stdio.h>例I:(2023-09-23)有以下程序

inain(O)include<stdio.h>

(incs.t.A=l(X):doubleB=6:main。

s=sizcot(A);t=sizcot(B);{charcl,c2;

printf(**%d,%d\n,,,8,t);cl='A'+・8',4';

)c2='A'+8-5;

在VC6平台上编译运时.程序运营后的输出结果是(C)printf(**%c,%d\nM,c1,c2);

A)2.4B:4.4C)4,8D)10.6)

【解析】在VC6平台上,ini型占4个字节,double型占8个字节,故答案是C。己知字母A|yJASCH码为65.程序运营后的输出结果是(A)

•字符变量:一个字符变量只能存放一个字符。字符申不能存放在字符变量中,A)E.68B)D.69C)E.DD)检出无定值

只能用字符数组或指针存放字符串。【解析】'A'的ASCII码值为65,8的ASCII码值为56,'4'的ASCII码值为

例1:(2023-09-22)有以卜定义语句,编译时会出现编译错误的是(C)52,65+56-52=69.相应于字符,E,.’5’的ASCII码值为53,65+56-53=68.相应于字

A)chara='a';B)chara=''n':C)chara='aa':D)chara='\x2d';符'D'。字符变量cl以%c格式输出,即‘E'。字符变量C2以%d格式输出,即68。

故答案是A,10.知识点:强制类型转换运算符

8.知识点:进制转换一般形式:(类型说明符)(表达式)

•十进制转换成二进制、八进制、十六进制:将卜边制的数字除以2(8.16),•功能:把表达式的运算结果强制转换成类型说明符所表达的类型

得到的商数携续除以2,直到商为0.然后将各次相除所得的余数从后往前排列。例I:(2023-04-06)表达式(inOHdoubleg⑵+2.5)的值是4。

•二进制、八进制、十六进制转换成十进制:将二(八、十六)进制数的每一位(](intX:double)(5/2)+2.5)-(int)((double)2)+2.5)-(int)(2.000000+2.5)

数从高位到长位乘以2的n-l次第,n为该位所在的位数,-*(int)(4.500000)-4,

•二进制与八进制之间的转换:每个八进制数字转换成3位二进制数字.例2:以下程序运营后的输出结果是()・

•二进制与十六进制之间的转换:每个十六进制数字转换成4位二进制数字。inain()

例1:(202309)以下程序运营后的输出结果是2023。{inta;

/include<stdio.h>a=(in()((double)(3^)+O.5+(itit)I.W*2);

inain()printf("%d\n".a);

(inta=200.b=010;)

printf("%d%d\n”ab);答案:3

)【解析】(3/2)=I,(double)。门)+0,5=1.5,(int)1.99*2=2,所以

【解析】八进制数010转换成十进制数为8,按“%d%d”格式分别输出a、b.即(doub!eX3/2)+().5+(int)1.99*2=3.5.故a=3°

2023o11.知识点:算术运算符:+、一、*、/、%

9.知识点:运算符的优先级%:一,♦♦■■■■为整型

级别由大到小:(逻辑)11:>取术运算符)>关(系运算符)X逻辑)LJ>(逻辑)

或>条(件运算符)>赋(值运算符)/:当除号左右两边都是整数的时候,商也要是整数,假如不

是整数则舍弃小数部分。当参与运算量有一个为实型,则商为•求值过程:自左向右依次求的.最后一个表达式的徨为整个逗号表达式的值。

例1:(2023-J4-14)设有定义:intx=2;以下表达式中,值不为6的是(D)

double型。

A)x*=x+lB)x++,2*xC)x*=(Bx)D)2*x,x*=2

例1:(20234)9-14)若有定义语句:inta=K):doubleb=3.14;,则表达式‘A'+a+b{g

【解析】A«x=x*(x+l)=2*(2+l)=6tB项x++后,x的徨为3,2»x的值为6.整个

得类型是<C)

逗号表达式优值为6:C项x=x*(l+x)=2*3=6;D项x=x+2=2+2=4,整个逗号表达

A.charB.intC.doubleD.float

式的值为4。故答案是D。

【解析】各种类型数据混含运算时,最终结果的类型可依据以下转换规律:

13.知识点:自增自减运算符

char->short->int->long->float->double

Hii自加I后再参与运算

例I:(2023-09-15)如有定义语句:intx=12,y=8,z;.在其后执行语句z=0.9+x/y,则z

i++i参与运算后再自加1

的曲为(B)

】自硬1后再参与运算

A.1.9B.lC.2D.2.4

i-i参与运算后再自减1

【解析】x,yz均为整型变量,因此x/y结果为】,即z=09+l=L9,z最终结果为1

1和--的运算对象只能为变量,不能是常量或表达式。

例1:(202+09-I4)有以下定义:inia:longb:doubkx,y:则以下选项中对的

例1:(2023-39-06)若有定义语句:inta=5;则表达式:a++的值是5。

的表达式是(A)

【解析】表达式a++的值是a未加I之前的值,即工.

A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x

•当++或一与printf语句结合时.若++/--X的形式,则光自增/自减.然后输出:

【解析】参j%运驿的左才」操作数均为整型,故A项对的,C项错误。B项是赋值

若x+小招形式,则先输出x原值,在进行自增/自旗操作。

语句,不是表达式.赚值运算符左边必须是变量,而不是表达式,而D项中x+y=x,

例2:(2023-33-26)有以下程序

错误。

#include

12.知识点:逗号表达式

main()

•一般形式:表达式1,表达式2……茨达式n

intx=011:•笈介赋值运修符和我达式

priitfC%d\n",++x);+=、一=、"=、/=、%=、<<=、>>=、&=、八=、|=

I例2:(202339-16)表达式H+=H-=a=9的值是(D)

程序运苜后的输出结果是(C)A)9B)-9018D)0

A)I2B)llC)10D)9【解析】a=9-a=a-9=0~a=a+0=0+0=0。故答案

【解析】01.是一个八进制的数,转为十进制则为l«8+l=9;++x是x先自增I再是D.

参与其他运算.,所以先x自增I为10再输出即为10,故选C。15.知识点:位运算

14.知识点:赋值表达式•按位与迅算&

•一般形式:变量名=表达式规则:060=00&1=01&0=01&1=1

•赋值运算符左边必须是变量,而不是表达式。•按位或运算1

例1:(2023-03-14)若有定义:doublea=22:inti=0,k=18:则不符合C语言规规则:0|0=00|1=11|0=11|1=1

定的赋值语句是(C)•按位异或运算八

A)a=a++.ii;B)i=(a+k)<=(i+k);C)i=a%ll:D)i=!a:规则:。八0=0OA1=11AO=11A1=O

【解析】a为double型,参叼%运算的操作数均为整型,故C项错误。•求反运算、

例2:(2023-03-26)詈有定义语句:inia=3.b=2.c=l;,以下选项中错误的赋值表达规则:~0=1'1=0

式是(A)•左移运算<<

A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=l+(b=c=4);规则:把《左边的运算数的各二进位所有左移若干位,商位丢弃,低位补0。左移

【解析】啾曲表达式的左边必须是变员不能是表达式.而答案A中,(b=4)是一一位相称于该数乘以2.4:移n位相称于该数乘以21

个赋值表达式。例1:(2023-39-40)有以下程序

#include<stdio.h>【解析】左移2位相称于该数乘以22.5«2相称于5乘以1等于20。2011=2U

mainO

故答案是A。

(shortc=124;•右移运簿》

c=c____D____;把>>左边的运算数的各二进位所有右移若干位。而位补D,低位丢弃.右移•位相

printf("知\n".c);

称于该数除以2,右移n位相称于除以2".

}

例3:(2023-09-39)若有以下程序段

若要使程序的运营结果为248,应在下划线处填入的是

intr=8:

A)»2B)|248O&0248D)«l

4fc

printf(%dW'tr»l):

【解析】左移一位相称于该数乘以2,124»1相称于124乘以2,等于248。故答

输出结果是(C)

东是以

A)16B)8C)4D)2

例2:<2023-04-39)有以下程序

【解析】右移一位相称于该数除以2。8>>1相称于除以2,等于4,故答案是C。

#include<stdio.h>

16.知识点:关系运算符和表达式

mainO

例1:(20234J93)在C语言中,当表达式值为0时表达逻辑值“假”,当表达式

(inta=5.b=l.t:

值为

i=(a«2)|b:

>0时表达逻辑值“真

printf(',%d\n,,t):

例2:(2023-03-06)设x为int型变量,请写出一个关系表达式

I

(x%3==())&&ix%7==()),用以判断x回时为3和7的倍数时,关系表达式的

程序运营后的输出结果是<A)

值为真。

A)2lB)llC)6D)1

17.知识点:逻辑运算符和表达式

逻辑运算符尤先级从高到低:!、&&、例2:(2023-03-17)若a是数值类型,则逻辑表达式(a=l州(a!=l)的值是<A)

•逻辑运克的真值表A)1B)OC)2D)不知道a的值,不能拟定

aba&&ba||b!a【解析】a的值有两种情况:a等于I或a不等于I.故逻辑表达式(a==l)||(a!=l)

真真真真假

的值为1。

真假假真假

18.知识点:格式输入函数printf()

假真.假其其

低暇但取其⑴一般形式:printf(“格式控制字符串”,输出列表);

•进行逻辑运算时,若&&左边的值为0,则不再对右边的运算对(2)碰到控制字符,按照控制字符的规定输出,碰到非格式字符串按原样输出.

象进行运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论