全国计算机二级考题题型总结及答案终极复习1Word格式.docx
- 文档编号:18176730
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:69
- 大小:47.40KB
全国计算机二级考题题型总结及答案终极复习1Word格式.docx
《全国计算机二级考题题型总结及答案终极复习1Word格式.docx》由会员分享,可在线阅读,更多相关《全国计算机二级考题题型总结及答案终极复习1Word格式.docx(69页珍藏版)》请在冰豆网上搜索。
(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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 考题 题型 总结 答案 终极 复习