江苏省计算机二级试题汇总doc 35页Word下载.docx
- 文档编号:18556208
- 上传时间:2022-12-27
- 格式:DOCX
- 页数:45
- 大小:106.83KB
江苏省计算机二级试题汇总doc 35页Word下载.docx
《江苏省计算机二级试题汇总doc 35页Word下载.docx》由会员分享,可在线阅读,更多相关《江苏省计算机二级试题汇总doc 35页Word下载.docx(45页珍藏版)》请在冰豆网上搜索。
A.c=tolower(c)
B.c=c+32
C.c=c-‘A’+’a’
D.c=(c+’A’)%26-‘a’
以下选项中,()是C语言的关键字(10年春22)
A.printfB.includeC.funD.default
已知有声明“inta=3,b=4,c;
”,则执行语句“c=1/2*(a+b);
”后,c的值为()(10年春23)
A.0B.3C.3.5D.4
已知有声明“inta=3,b=4;
”,下列表达式中合法的是()((10年春25)
A.a+b=7B.a=∣b∣C.a=b=0D.(a++)++
已知有声明“intn;
floatx,y;
”,则执行语句“y=n=x=3.89;
”后,y的值为()(10年春28)
A.3B.3.0C.3.89D.4.0
以下选项中,不能用作C语言标识符的是()(09年秋22)
A.printB.FORC.&
aD._00
已知有声明”longx,y;
”且x中整数的十进制表示有n位数字(4<
n<
10),若要求去掉整数x十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中,则以下表达式中能正确实现这一功能的是()(09年秋25)
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))
●顺序结构
以下语句中有语法错误的是(23)。
B(10年秋23)
A.printf("
%d"
0xAB);
B.printf("
%f"
3.45E2.5);
C.printf("
037);
D.printf("
%5c"
'
\\'
);
已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是()(09年秋23)
A.printf(“%d”,32768);
B.printf(“%ld”,32768);
C.printf(“%f”,32768);
D.printf(“%c”,32768);
以下语句中有语法错误的是__________。
(09年24)
A.printf("
0e);
B.printf("
0e2);
C.printf("
0x2);
D.printf("
%s"
"
0x2"
●选择结构
一元二次方程ax2+bx+c=0有两个相异实根的条件是a≠0且b2-4ac>
0,以下选项中能正确表示该条件的C语言表达式(26)。
C(10年秋26)
A.a!
=0,b*b-4*a*c>
B.a!
=0||b*b-4*a*c>
C.a&
&
b*b-4*a*c>
D.!
a&
已知有声明”inta=3,b=4,c=5;
”,以下表达式中值为0的是()(09年秋24)
A.a&
bB.a<
=bC.a||b&
cD.!
(!
c||1)
已知有声明“inta=12,b=15,c;
”,则执行表达式“c=(a||(b-=a))”后,变量b和c的值分别为()(10年春29)
B.A.3,1B.15,12C.15,1D.3,12
”,若要求编写一段程序实现“当x大于等于0时y取值1,否则y取值-1”,则以下程序段中错误的是()(09年秋26)
A.if(x>
=0)y=1;
elsey=-1;
B.y=x>
=0?
1:
-1;
C.switch()D.switch(x-abs(x))
{casex>
=0:
y=1;
break;
{case0:
default:
y=-1;
default:
}}
1x>
0
以下选项中,不能表示函数sign(x)=0x=0功能的表达式是__________。
(09年春23)
-1x<
A.s=(x>
0)?
1:
(x<
-1:
0B.s=x<
0?
-1:
(x>
0)
C.s=x<
(x==0?
0:
1)D.s=x>
x==0?
-1
●循环结构
以下关于break和continue语句的叙述中正确的是(27)。
B(10年秋27)
A.break和continue语句都可以出现在switch语句中
B.break和continue语句都可以出现在循环语句的循环体中
C.在循环语句和switch语句之外允许出现break和continue语句
D.执行循环语句中的break和continue语句都将立即终止循环
●数组
已知有声明“chars[20]=”hello”;
”,在程序运行过程中,若要想使数组s中的内容修改为”Good”,则以下语句中能够实现此功能的是()(10年春26)
A.s=”Good’;
B.s[20]=”Good”;
C.strcat(s,”Good”);
D.strcpy(s,”Good”);
已知有声明”intm[]={5,4,3,2,1},i=0;
”,下列对m数组元素的引用中,错误的是()(09年秋27)
A.m[++i]B.m[5]C.m[2*2]D.m[m[4]]
已知有声明”chars[80];
”,若需要将键盘输入的一个不含空格的字符串保存到s数组中,则下列语句中正确的是()(09年秋28)
A.scanf(“%s”,s);
B.scanf(“%s”,s[0]);
C.s=gets();
D.s=getchar();
设有声明“intp[10]={1,2},i=0;
”,以下语句中与“p[i]=p[i+1],i++;
”等价的是__________。
(09年春27)
A.p[i]=p[i++];
B.p[++i]=p[i];
C.p[++i]=p[i+1];
D.i++,p[i-1]=p[i];
●函数
C语言规定,在一个源程序中main函数的位置()(10年春21)
A.必须在最开始B.必须在在最后
C.必须在预处理命令的后面D.可以在其他函数之前或之后
以下叙述中正确的是()(09年秋21)
A.C语言系统以函数为单位编译源程序
B.main函数必须放在程序开始
C.用户定义的函数可以被一个或多个函数调用任意多次
D.在一个函数体内可以定义另外一个函数
若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是()(09年秋29)
A.实参和其对应的形参占用同一个存储单元
B.形参不占用存储单元
C.同名的实参和形参占用同一存储单元
D.形参和实参占用不同的存储单元
以下函数定义中正确的是__________。
(09年春25)
A.doublefun(doublex,doubley){}
B.doublefun(doublex;
doubley){}
C.doublefun(doublex,doubley);
{}
D.doublefun(doublex,y){}
若需要通过调用f函数得到一个数的平方值,以下f函数定义中不能实现该功能的是__________。
(09年春26)
A.voidf(double*a){*a=(*a)*(*a);
}
B.voidf(doublea,double*b){*b=a*a;
}
C.voidf(doublea,doubleb){b=a*a;
D.doublef(doublea){returna*a;
●递归
●预处理
C源程序中的命令#include与#define是在(22)阶段被处理的。
A(10年秋22)
A.预处理
B.编译
C.连接
D.执行
设有定义和声明如下:
(09年春22)
#defined2
intx=5;
floaty=3.83;
charc='
d'
;
以下表达式中有语法错误的是__________。
A.x++B.y++C.c++D.d++
●指针
设指针变量占2个字节的内存空间,若有声明“char*p=”123”;
intc;
”,则执行语句“c=sizeof(p);
”后,c的值为()(10年春24)
A.1B.2C.3D.4
●指针数组
已知有声明“chara[]=”program”,*p=a+1;
”则执行以下语句不会输出字符a的是(29)。
A(10年秋29)
A.putchar(*p+4)
B.putchar(*(p+4));
C.putchar(a[sizeof(a)-3]);
D.putchar(*(a+5));
已知有声明“inta[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
”,若需要引用值为12的数组元素,则下列选项中错误的是()(10年春27)
A.*(a+2)+3B.*(*(a+2)+3)C.*(a[2]+3)D.a[2][3]
已知有声明”inti,a[10],*p=a;
”,现需要将1~10保存到a[0]~a[9]中,以下程序段中不能实现这一功能的是()(09年秋30)
A.for(i=0;
i<
10;
i++)a[i]=i+1;
B.for(i=0;
i++)p[i]=i+1;
C.i=1;
while(p<
a+10)*p++=i++;
D.i=1;
a+10)*a++=i++;
已知有声明“chara[]="
Itismine"
*p="
”,下列叙述中错误的是__________。
(09年春28)
A.strcpy(a,"
yes"
)和strcpy(p,"
)都是正确的
B.a="
和p="
都是正确的
C.*a等于*p
D.sizeof(a)不等于sizeof(p)
已知有声明“inta[3][3]={0},*p1=a[1],(*p2)[3]=a;
”,以下表达式中与“a[1][1]=1”不等价的表达式是__________。
(09年春29)
A.*(p1+1)=1B.p1[1][1]=1
C.*(*(p2+1)+1)=1D.p2[1][1]=1
●指针函数
若有一函数定义为“intf(intx,int*y){returnx/*y}”,声明该函数的正确形式是(28)。
D
(10年秋28)
A.voidf(int,int);
B.int*f(int,int*);
C.intf(int*,int*);
D.intf(int,int*);
●结构体
已有定义和声明:
structstudent
{intno;
charname[20];
struct{intyear,month,day;
}birth;
}s;
若要求将日期“1989年11月12日”保存到变量s的birth成员中,则能实现这一功能的程序段是(30)。
D(10年秋30)
A.year=1989;
month=11;
day=12;
B.s.year=1989;
s.month=11;
s.day=12;
C.birth.year=1989;
birth.month=11;
birth.day=12;
D.s.birth.year=1989;
s.birth.month=11;
s.birth.day=12;
设有结构定义及变量声明如下:
(09年春30)
structproduct
{charcode[5];
floatprice;
}y[4]={"
100"
100};
以下表达式中错误的是__________。
A.(*y).code[0]='
2'
B.y[0].code[0]='
;
C.y->
price=10;
D.(*y)->
●位运算
●文件
下列叙述中,正确的是()(10年春30)
A.C语言中的文件是流式文件,因此只能顺序存取文件中的数据。
B.调用fopen函数时若用“r”或“r+”模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在。
C.当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据。
D.无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖。
填空题
若有声明“doublen;
”则数学公式“n(4n2-1)”对应的C语言表达式正确形式是
(1)。
(10年秋1)1.0/3*n*(4*n*n-1)
数学式所对应的C语言表达式为pow(x,
(1))。
1.0/3(10年春1)
已知有声明“charch=’g’;
”,则表达式ch=ch-‘a’+’A’的值为字符
(2)的编码。
G(10年春2)
在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占(3)个字节。
2(10年春3)
数学表达式所对应的C语言表达式为。
(09年秋3)sqrt(abs(x))!
=(4*a)/(b*c)
若有声明“intx;
”且sizeof(x)的值为2,则当x值为__________时“x+1>
x”为假。
32767(09年春2)
若有声明“floaty=3.14619;
intx;
”,则计算表达式“x=y*100+0.5,y=x/100.0”后y的值是__________。
3.15(09年春3)
●顺序结构
已知有声明“charch;
inta;
”,执行语句“scanf(“%c%d”,&
ch,&
a);
”时如果从键盘输入的数据是“123”,则变量a得到的值是
(2)。
(10年秋2)23
已知有声明和语句“inta;
scanf(“a=%d”,&
”,欲从键盘上输入数据使a中的值为3,则正确的输入应是(5)。
a=2(10年春5)
以下程序运行时输出到屏幕的结果是(7)。
2,1(10年春7)
#include<
stdio.h>
voidmain()
{inta=1,b=2;
a+=b;
b=a-b;
a-=b;
printf(“%d,%d\n”,a,b);
若有声明”intr=2;
”,则执行语句”printf(“%d”,sizeof(2*3.14*r));
”时输出。
8(09年秋2)
若有声明“inta=0,b=1,c=2;
”,执行语句“if(a>
0&
++b>
0)c++;
elsec--;
”,变量a、b、c的值分别是(3)。
011(10年秋3)
C语言中有!
、&
、||三个逻辑运算符,其中优先级高于算术运算符的是。
!
(09年秋1)
以下程序运算时输出到屏幕的结果是。
2(09年秋7)
#include<
voidmain()
{inti=1,m=0;
switch(i)
{case1:
case2:
m++;
case3:
}
printf(“%d”,m);
解析:
本题switch中没有break,所以当i=1,case1,2,3依次执行,m初值为0,自增两次,值为2
以下程序运行时输出结果是__________。
2356(09年春6)
{intk=5,n=0;
while(k>
{switch(k)
{case1:
n+=1;
k--;
break;
n=0;
case4:
n+=2;
printf("
%3d"
n);
以下程序运算时输出到屏幕的结果中第一行是,第二行是。
(09年秋12)
{inta[3][3]={{3,8,12},{4,7,10},{2,5,11}},i,j,k,t;
for(j=0;
j<
3;
j++)
for(k=0;
k<
2;
k++)
for(i=0;
2-k;
i++)
if(a[i][j]>
a[i+1][j])
t=a[i][j],a[i][j]=a[i+1][j],a[i+1][j]=t;
{for(j=0;
printf(“%3d”,a[i][j]);
printf(“\n”);
2510
4812
以下程序运行时输出到屏幕的结果为(6)。
our(10年秋6)
enum{A,B,C,D}x;
{chars[]="
your"
for(x=B;
x<
=D;
x++)
putchar(s[x]);
以下程序运行时输出到屏幕的结果为(7)。
4332(10年秋7)
{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i,j;
12;
{j=s[i];
c[j]++;
for(i=1;
5;
c[i]);
以下程序运行时输出到屏幕的结果第二行是(13)11,第四行是(14)1331。
(10年春11)
#defineN6
{inti,j,a[N+1][N+1];
for(i=1;
=N;
{a[i][i]=1;
a[i][1]=1;
for(i=3;
for(j=2;
i;
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;
{for(j=1;
=i;
printf(“%4d”,a[i][j]);
以下程序运行时输出到屏幕的结果中第一行是(14),第二行是(15),第三行是(16)。
算法提示:
将Fibonacci数列(1,1,2,3,5,8,13,….)前6个数填入a数组。
(10年秋12)
#defineN3
{inti,j,a[N][N]={1},f1=0,f2=1,temp;
N;
{if(j<
=i)
{a[i][j]=f1+f2;
temp=f1;
f1=f2;
f2=f1+temp;
for(i=0;
{for(j=0;
%5d"
a[i][j]);
\n"
100
120
358
以下程序运行时输出结果中第一行是__________,第三行是__________。
(09年春9)
第一行33333
第三行33
#defineN5
{staticchara[N][N];
inti,j,t,start=0,end=N-1;
charstr[]="
123"
ch;
for(t=0;
t<
=N/2;
t++)
{ch=str[t];
for(i=j=start;
end;
i++)a[i][j]=ch;
for(j=start;
j++)a[i][j]=ch;
for(i=end;
i>
start;
i--)a[i][j]=ch;
for(j=end;
j>
j--)a[i][j]=ch;
if(start==end)a[start][end]=ch;
{for(j=0;
%c"
以下程序中函数floatfun(intm)的功能是计算s=s1+s2+s3+s4的值,其中s1、s2、s3、s4用下列公式计算。
请完善程序以达到要求的功能。
(10年秋14)
S1=1++++...+
S2=1++++...
S3=1++++...+
S4=1++++...+
S=1+1+1+1++++++++++...+++
floatfun(intm)
{inti,n;
floats=0,t;
for(n=1;
=m;
n++)
{t=(19);
1.0
{t=(20);
t/n
s+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏省计算机二级试题汇总doc 35页 江苏省 计算机 二级 试题 汇总 doc 35