全国计算机二级考题题型总结及答案终极复习1Word下载.docx

上传人:b****5 文档编号:8393880 上传时间:2023-05-11 格式:DOCX 页数:69 大小:47.40KB
下载 相关 举报
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第1页
第1页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第2页
第2页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第3页
第3页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第4页
第4页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第5页
第5页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第6页
第6页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第7页
第7页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第8页
第8页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第9页
第9页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第10页
第10页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第11页
第11页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第12页
第12页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第13页
第13页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第14页
第14页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第15页
第15页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第16页
第16页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第17页
第17页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第18页
第18页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第19页
第19页 / 共69页
全国计算机二级考题题型总结及答案终极复习1Word下载.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

全国计算机二级考题题型总结及答案终极复习1Word下载.docx

《全国计算机二级考题题型总结及答案终极复习1Word下载.docx》由会员分享,可在线阅读,更多相关《全国计算机二级考题题型总结及答案终极复习1Word下载.docx(69页珍藏版)》请在冰点文库上搜索。

全国计算机二级考题题型总结及答案终极复习1Word下载.docx

(7)数据统计24

(8)其他(素数判断,回文数判断,回文判断,约瑟夫问题)24

(9)生成矩阵(杨辉三角形,…)24

(10)模拟十进制长整数算术运算24

(11)字符串处理(子串替换,加密,¡

)24

江苏省计算机等级考试

二级C语言

笔试辅导

笔试概况

*考试时间:

2小时

*合格、优秀成绩要求

*内容题型及分值

*信息技术

选择题(20分)C语言

选择题(10分)

填空题(30分):

简单填空(5分)阅读程序(13分)完善程序(12分)

*答题策略

语法考试要求及考题解析

(2007秋~2010春)

1.C语言基本概念

【考题解析】

[填空题]在一个C语言源程序中,必不可少的是。

答案:

main函数定义

[单选题].以下叙述中正确的是。

A.在编译时可以发现注释中的拼写错误

B.C语言程序的每一行只能写一条语句

C.main(){}必须位于程序的开始

D.C语言程序可以由一个或多个函数组成

答案:

D

[单选题]在一个源程序中main函数的位置。

A.必须在最开始

B.必须在最后

C.必须在预处理命令的后面

D.可以在其他函数之前或之后

[单选题]下列叙述中正确的是。

A.main函数必须出现在其他函数之前

B.main函数中至少必须有一条语句

C.C程序总是从main函数的第一条语句开始执行

D.C程序总是在执行完main函数的最后一条语句后结束

C

[单选题]以下叙述中正确的是。

A.C语言系统以函数为单位编译源程序

B.main函数必须放在程序开始

C.用户定义的函数可以被一个或多个函数调用任意多次

D.在一个函数体内可以定义另外一个函数

C

[全国选择题]以下叙述中正确的是()。

A)C语言程序将从源程序中第一个函数开始执行

B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

D)main可作为用户标识符,用以命名任意一个函数作为主函数

C

[全国选择题]以下叙述中正确的是()。

A)C程序中的注释只能出现在程序的开始位置和语句的后面。

B)C程序书写格式严格,要求一行内只能写一个语句

C)C程序书写格式自由,一个语句可以写在多行上

D)用C语言编写的程序只能放在一个程序文件中

[全国选择题]以下叙述中正确的是()。

A)C程序的基本组成单位是语句

B)C程序中的每一行只能写一条语句

C)简单C语句必须以分号结束

D)C语句必须在一行内写完

⑵基本类型数据的表示及使用

①系统预定义类型标识符、类型修饰符的使用

②基本类型常量的表示及使用

③字符串常量形式

④关键字。

标识符。

⑤符号常量的定义与使用

⑥基本类型变量的声明、初始化,直接引用变量

[单选题]在C语言源程序中,不带任何修饰符的浮点数直接量(例如:

3.14)都是按类型数据存储的。

double

[单选题]已知sizeof(int)的值为2,为将10!

的值存储到变量f中(10!

=3628800),变量f的类型应声明为。

A.longintB.int

C.shortintD.unsignedint

A

[单选题]以下常量表示中正确的是(22)。

A.\xffB.5LC.aEbD.3.14U

B

[单选题]以下语句中有语法错误的是。

printf("

%d"

0e);

B.printf("

%f"

0e2);

C.printf("

0x2);

D.printf("

%s"

"

0x2"

);

A

[单选题]以下选项中不能用作变量名的是。

A._floatB.switchC.sumD._123

B

[填空题]在C语言系统中,如果一个变量能正确存储的数据范围为整数-3276832767,则该变量在内存中占(3)个字节。

2

[单选题]以下选项中,不能用作标识符的是。

printB.FORC.&

aD._00

[单选题]以下选项中,是C语言关键字。

A.printfB.include

C.funD.default

[学校单选题]执行语句“printf(”bye\bye101\101“);

”时输出到屏幕的结果为(22)。

byye101A

[学校单选题]表达式“1e-8/2+1.0f”值的数据类型是(3)。

intB.longC.floatD.double

[学校单选题]以下局部变量声明中正确的是

(2)。

intchar=2;

B.voida=0;

C.inta=b=0;

D.inta,b=a=0;

⑶运算符和表达式的表示及使用

①赋值表达式,赋值运算符的左值要求

②算术表达式。

++、--运算符左值要求。

溢出。

③关系表达式与逻辑表达式,逻辑表达式优化处理

④逗号表达式

⑤条件表达式

⑥表达式运算中操作数类型自动转换与强制转换

【考题解析】

[单选题]若有声明“doublex=3,c,*a=&

x,*b=&

c;

”,则下列语句中错误的是。

A.a=b=0;

B.a=&

c,b=a;

C.&

a=&

b;

D.*b=*a;

[单选题]若有声明“charss[8]=”Red“;

”,则sizeof(ss)的值是。

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

答案:

A

[单选题]设有定义和声明如下:

#defined2

intx=5;

floaty=3.83;

charc='

d'

;

以下表达式中有语法错误的是。

x++B.y++C.c++D.d++

D

[单选题]数学式在C程序中正确的表示形式为。

A.sqrt(a)/2*bB.sqrt(a)/2/b

C.sqrt(a)/2bD.sqrta/(2*b)

[单选题]已知有声明“longx,y;

”且x中整数的十进制表示有n位数字(4<n<10),若要求去掉整数x十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中,则以下表达式中能正确实现这一功能的是。

A.y=x/(10*(n-1))B.y=x%(10*(n-1))

C.y=x%(long)pow(10,n-1)D.y=x%(10(n-1))

[填空题]若有声明“doublex=10,y=5;

”,则计算xy的库函数调用形式是。

pow(x,y)或pow(10,5)

[填空题]若有声明“intx;

”且sizeof(x)的值为2,则当x值为

时“x+1>

x”为假。

32767

[填空题]若有声明“floaty=3.14619;

intx;

”,则计算表达式“x=y*100+0.5,y=x/100.0”后y的值是。

3.15

[单选题]已知有声明“inta=3,b=4,c;

”,则执行语句“c=1/2*(a+b);

”后,c的值为。

A.0B.3C.3.5D.4

[填空题]若有声明“inta=5,b=2;

”,则表达式“b+=(float)(a+b)/2”运算后b的值为。

5

[填空题]已知有声明“charch=‘g’;

”,则表达式ch=ch-‘a’+‘A’的值为字符的编码。

G

[单选题]已有声明“inta=3,b=3,c=2;

”,以下选项中值为0的表达式是。

!

a&

&

b&

cB.!

a||!

b||c

C.a==b&

b>

=cD.a>

=b&

c

[单选题]已知有声明“inta=3,b=4,c=5;

”,以下表达式中值为0的是。

bB.a<

=bC.a||b&

cD.!

(!

c||1)

[填空题]C语言中有!

、&

、||三个逻辑运算符,其中优先级高于算术运算符的是。

[单选题]若有声明“intx=2,y=1,z=0;

”,则下列关系表达式中有语法错误的是。

A.x>

y=2B.z>

y>

xC.x>

y==1D.x==(x=0,y=1,z=2)

[填空题]数学式对应的C语言表达式为。

sqrt(fabs(x))!

=4*a/(b*c)或

sqrt(fabs(x))!

=4*a/b/c

[单选题]已知有声明“inta=12,b=15,c;

”,则执行表达式“c=(a||(b-=a))”后,变量b和c的值分别为。

A.3.1B.15,12C.15,1D.3,12

C

[填空题]数学式所对应的C语言表达式为pow(x,)。

1.0/3

[填空题]若有声明“inta=15,b=20,c=25,e;

”,则执行语句“e=a>

b?

--c:

++c;

”后变量e的值是。

26

[单选题]以下选项中,不能表示函数功能的表达式是。

A.s=(x>

0)?

1:

(x<

-1:

0

B.s=x<

0?

(x>

0)

C.s=x<

=0?

(x==0?

0:

1)

D.s=x>

x==0?

-1

C

[单选题]若有程序段“charc=256;

inta=c;

”,则执行该程序段后a的值是。

256B.65536C.0D.-1

[填空题]设有声明“inta=3,b=4;

floatx=4.5,y=3.5;

”,则表达式“(float)(a+b)/2+(int)x%(int)y”的值是。

4.5

[填空题].若有声明“intr=2;

”,则执行语句“printf(”%d“,sizeof(2*3.14*r));

”时输出。

8

[单选题]已知有声明“intn;

floatx,y;

”,则执行语句“y=n=x=3.89;

”后,y的值为。

3B.3.0C.3.89D.4.0

[单选题]已知有声明“inta=3,b=4;

”,下列表达式中合法的是。

A.a+b=7B.a=|b|C.a=b=0D.(a++)++

[学校单选题]已知有声明“inta=1,b=2;

”,执行语句

“while(--a>

0&

--b>

0)a=b;

”后变量a、b的值是。

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

2.语句

⑴实现顺序结构的语句

①表达式语句,空语句,复合语句,函数调用语句

②标准输入输出库函数printf(),scanf(),getchar(),putchar(),gets(),puts()

【考题解析】

[单选题]已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是。

32768);

B.printf("

%ld"

D.printf("

%c"

[学校单选题]已知某编译系统中sizeof(int)的值为2,在该编译系统中执行以下(10)语句时输出结果不是39999。

A.printf("

%u"

39999);

%lu"

[单选题]若有声明“floatf=123.45678;

”,则执行语句“printf(”%.3f“,f);

”后,输出结果是。

A.1.23e+02B.123.457C.123.456780D.1.234e+02

[单选题]已知有声明“chars[80];

”,若需要将键盘输入的一个不含空格的字符串保存到s数组中,则下列语句中正确的是。

scanf("

s);

B.scanf("

s[0]);

C.s=gets();

D.s=getchar();

[填空题]已知有声明和语句“inta;

scanf(”a=%d“,&

a);

”,欲从键盘上输入数据使a中的值为3,则正确的输入应是。

a=3

[单选题]若有声明“longa,b;

”且变量a和b都需要通过键盘输入获得初值,则下列语句中正确的是。

%ld%ld,&

a,&

b"

B.scanf("

%d%d"

a,b);

C.scanf("

&

b);

D.scanf("

%ld%ld"

D

if-else,switch

[单选题]若在一个C语言源程序中“e1”和“e3”是表达式,“s;

”是语句,则下列选项中与语句“for(e1;

;

e3)s;

”功能等同的语句是。

A.e1;

while(10)s;

e3;

B.e1;

while(10){s;

}

C.e1;

while(10){e3;

s;

}D.while(10){e1;

B

[单选题]已知有声明“intx,y;

”,若要求编写一段程序实现“当x大于等于0时y取值1,否则y取值-1”,则以下程序段中错误的是。

A.if(x>

=0)y=1;

elsey=-1;

B.y=x>

-1;

C.switch()D.switch(x-abs(x))

{casex>

=0:

y=1;

break;

{case0:

default:

y=-1;

}}

[学校单选题]已知有声明“inta=1,b=2,c=0;

”,执行语句“if(a>

b)c=a;

a=b;

b=c;

”后变量a、b的值是(21)。

2,0

[阅读程序]下列程序运行后的输出结果第一行是

(1);

第二行是

(2)。

#include<

stdio.h>

main()

{inti,a=0,c=2;

for(i=0;

i<

2;

i++)

switch(++a,a*c)

{case1:

printf("

1"

case2:

2"

case3:

3\n"

break;

other\n"

}

(1)23

(2)other

[阅读程序]以下程序运行时输出结果为(6)

#include<

voidmain()

{inti,sum=0;

for(i=0;

5;

{switch(i)

case1:

sum++;

case4:

sum--;

%d\n"

sum);

1

while,do-while,for,goto

[单选题]若有声明“inti,k=1;

unsignedj;

”,则下列语句执行时会出现无限循环的语句是。

A.for(j=15;

j>

0;

j-=2)k++;

B.for(j=0;

j<

15;

j+=2)k++;

C.for(i=0;

i+=2)k++;

D.for(i=15;

i>

i-=2)k++;

A

[学校单选题]以下语句中有语法错误的是。

for(;

B.do;

while

(1);

C.while();

D.p:

gotop;

[阅读程序]以下程序运行时输出结果最后一行是。

#include<

{inta=1,b=1,i;

for(i=1;

=2;

{a=a+b;

%d/%d,"

b,a);

b=a+b;

%d/%d\n"

\n"

3/5,5/8

[阅读程序]以下程序运行时输出结果是。

main()

{ints=1,n=235;

do

{s*=n%10;

n/=10;

}while(n);

30

break,continue,return

[全国选择题]有以下程序

main()

{intx=8;

for(;

x>

x--)

{if(x%3){printf("

%d,"

x--);

continue;

--x);

程序的运行结果是()。

A)7,4,2,B)8,7,5,2,C)9,7,6,4,D)8,5,4,2,

3.构造类型数据

⑴基本类型数组(一维,二维)

①数组声明及初始化

②数组存储结构

③使用数组名引用数组元素

[单选题]以下声明中错误的是。

A.inta[2];

B.inta[]={0,1};

C.inta[3]=0;

D.inta[3][4]={0};

[全国单选题]下列选项中,能正确定义数组的语句是()。

 

A)int 

num[0..2008] 

B)int 

num[];

C)int 

N=2008;

 

D) 

#define 

N2008

int 

num[N];

[单选题]设有声明“intp[10]={1,2},i=0;

”,以下语句中与“p[i]=p[i+1],i++;

”等价的是。

A.p[i]=p[i++];

B.p[++i]=p[i];

C.p[++i]=p[i+1];

D.i++,p[i-1]=p[i];

[全国单选题]已知有声明“intm[]={5,4,3,2,1},i=0;

”,下列对m数组元素的引用中,正确的是。

m[--i]B)m[2*2]C)m[m[0]]D)m[m[i]]

[填空题]若有声明“chars1[10]=″ABCDE″,s2[10]=″A\\0″;

”,则语句

“printf(″%d″,strlen(strcpy(s1,s2)));

”的输出结果是。

3

#include<

{inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;

for(i=0;

i++)s=s+a[b[i]];

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

A)6 

B)10 

C)11 

D) 

15

[单选题]已知有声明“chars[20]=”Hello“;

”,在程序运行过程中,若要想使数组s中的内容修改为“Good”,则以下语句中能够实现此功能的是。

A.s="

Good"

B.s[20]="

C.strcat(s,"

D.strcpy(s,"

[单选题]已知有声明“inta[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};

”,若需要引用值为12的数组元素,则下列选项中错误的是。

A.*(a+2)+3B.*(*(a+2)+3)C.*(a[2]+3)D.a[2][3]

[阅读程序]以下程序运行时输出结果中第一行是

(1),第三行是

(2)。

#defineN5

{staticchara[N][N];

in

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2