最新计算机二级考试c语言试题及答案Word文档格式.docx
- 文档编号:4414780
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:16
- 大小:51.49KB
最新计算机二级考试c语言试题及答案Word文档格式.docx
《最新计算机二级考试c语言试题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《最新计算机二级考试c语言试题及答案Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。
C〕所有C程序都需要编译链接无误后才能运行
D〕C程序中整型变量只能存放整数,实型变量只能存放浮点数
〔14〕有以下定义:
int
a;
long
b;
double
x,y;
那么以下选项中正确的表达式是
A〕a%〔int〕〔x-y〕
B〕a=x!
=y;
C〕〔a*y〕%b
D〕y=x+y=x
〔15〕以下选项中能表示合法常量的是
A〕整数:
1,200
B〕实数:
1.5E2.0
C〕字符斜杠:
‘\’
D〕字符串:
"
\007"
〔16〕表达式a+=a-=a=9的值是
A〕9
B〕_9
C〕18
D〕0
〔17〕假设变量已正确定义,在if〔W〕printf〔“%d\n,k〞〕;
中,以下不可替代W的是
A〕a<>b+c
B〕ch=getchar〔〕
C〕a==b+c
D〕a++
〔18〕有以下程序
#include<
stdio.h>
main〔〕
{int
a=1,b=0;
if〔!
a〕b++;
else
if〔a==0〕if〔a〕b+=2;
b+=3;
printf〔〞%d\n〞,b〕;
}
程序运行后的输出结果是
A〕0
B〕1
C〕2
D〕3
〔19〕假设有定义语句inta,b;
doublex;
那么以下选项中没有错误的选项是
A〕switch〔x%2〕
B〕switch〔〔int〕x/2.0
{case0:
a++;
break;
{case0:
case1:
b++;
case1:
default:
default:
}
}
C〕switch〔〔int〕x%2〕
D〕switch〔〔int〕〔x〕%2〕
{case0.0:
case1.0:
〔20〕有以下程序
#include<
{inta=1,b=2;
while〔a<
6〕{b+=a;
a+=2;
b%二10;
}
printf〔〞%d,%d\n〞,a,b〕;
A〕5,11
B〕7,1
C〕7,11
D〕6,1
〔21〕有以下程序
#include<stdio.h>
{inty=10;
while〔y--〕;
printf〔〞Y=%d\n〞,Y〕;
程序执行后的输出结果是
A〕y=0
B〕y=-1
C〕y=1
D〕while构成无限循环
〔22〕有以下程序
#include<stdio.h>
{chars[」=〞rstuv"
;
printf〔〞%c\n〞,*s+2〕;
A〕tuv
B〕字符t的ASCII码值
C〕t
D〕出错
〔23〕有以下程序
#include<stdio.h>
#include<string.h>
{charx[]=〞STRING〞;
x[0」=0;
x[1]=’\0’;
x[2」=’0’;
printf〔〞%d
%d\n〞,sizeof〔x〕,strlen〔x〕〕;
A〕6
1
B〕7
0
C〕6
3
D〕7
〔24〕有以下程序
Int
f〔int
x〕;
n=1,m;
m=f〔f〔f〔n〕〕〕;
printf〔〞%d\n〞,m〕;
int
x〕
{return
x*2;
A〕1
B〕2
C〕4
D〕8
〔25〕以下程序段完全正确的选项是
A〕int*p;
scanf〔"
%d"
&p〕;
B〕int*p;
scanf〔“%d〞,p〕;
C〕intk,*p=&
k;
p〕;
D〕intk,*p:
;
*p=&
〔26〕有定义语句:
int*p[4];
以下选项中与此语句等价的是
A〕int
p[4];
B〕int
**p;
C〕int
*〔p「4」〕;
D〕int〔*p〕「4」;
〔27〕以下定义数组的语句中,正确的选项是
N=10;
B〕#defineN10
x[N];
intx[N];
x[0..10];
D〕intx[];
〔28〕假设要定义一个具有5个元素的整型数组,以下错误的定义语句是
a[5]=﹛0﹜;
b[]={0,0,0,0,0};
c[2+3];
D〕int
i=5,d[i];
〔29〕有以下程序
void
f〔int*p〕;
a[5]={1,2,3,4,5},*r=a;
f〔r〕;
printf〔〞%d\n〞;
*r〕;
voidf〔int*p〕
{p=p+3;
printf〔〞%d,〞,*p〕;
A〕1,4
B〕4,4
C〕3,1
D〕4,1
〔30〕有以下程序〔函数fun只对下标为偶数的元素进行操作〕
#include<stdio.h>
voidfun〔int*a;
intn〕
{inti、j、k、t;
for〔i=0;
i<n一1;
1+=2〕
{k=i;
‘
for〔j=i;
j<
n;
j+=2〕if〔a[j]>
a〔k]〕k=j;
t=a〔i];
a〔i]=a[k];
a〔k]=t;
{intaa「10」={1、2、3、4、5、6、7},i;
fun〔aa、7〕;
for〔i=0,i<
7;
i++〕printf〔〞%d,〞,aa[i]〕〕;
printf〔〞\n〞〕;
A〕7,2,5,4,3,6,1
B〕1,6,3,4,5,2,7
C〕7,6,5,4,3,2,1
D〕1,7,3,5,6;
2,1
〔31〕以下选项中,能够满足“假设字符串s1等于字符串s2,那么执行ST"
要求的是
A〕if〔strcmp〔s2,s1〕==0〕ST;
B〕if〔sl==s2〕ST;
C〕if〔strcpy〔sl,s2〕==1〕ST;
D〕if〔sl-s2==0〕ST;
〔32〕以下不能将s所指字符串正确复制到t所指存储空间的是
A〕while〔*t=*s〕{t++;
s++;
B〕for〔i=0;
t[i]=s[i];
i++〕;
C〕do{*t++=*s++;
}while〔*s〕;
D〕for〔i=0,j=0;
t[i++]=s[j++];
〕;
〔33〕有以下程序〔strcat函数用以连接两个字符串〕
#include<string.h>
{chara[20]=〞ABCD\OEFG\0”,b[]=〞IJK〞;
strcat〔a,b〕;
printf〔〞%s\n〞,a〕;
A〕ABCDE\OFG\OIJK
B〕ABCDIJK
C〕IJK
D〕EFGIJK
〔34〕有以下程序,程序中库函数islower〔ch〕用以判断ch中的字母是否为小写字母
#include<ctype.h>
fun〔char*p〕
i=0;
while〔p[i]〕
{if〔p[i]==’’&&islower〔p「i-1」〕〕p[i-1]=p[i-1]-‘a’+‘A’;
i++;
{chars1[100]=〞abcdEFG!
〞;
fun〔s1〕;
printf〔〞%s\n〞,s1〕;
A〕ab
cd
EFG!
B〕Ab
Cd
EFg!
C〕aB
cD
D〕ab
〔35〕有以下程序
fun〔intx〕
{if〔x/2>1〕fun〔x/2〕;
printf〔〞%d〞,x〕;
{fun〔7〕;
printf〔〞\n〞〕;
A〕137
B〕731
C〕73
D〕37
〔36〕有以下程序
#include<stdio.h>
intfun〔〕
{staticintx=1;
x+=1;
returnx;
{inti;
s=1;
for〔i=1;
i<
=5;
i++〕s+=fun〔〕;
printf〔〞%d\n〞,s〕;
A〕11
B〕21
C〕6
D〕120
〔37〕有以下程序
#inctude<stdio.h>
#include<stdlib.h>
Main〔〕
{int*a,*b,*c;
a=b=c=〔int*〕malloc〔sizeof〔int〕〕;
*a=1;
*b=2,*c=3;
a=b;
printf〔“%d,%d,%d\n〞,*a,*b,*c〕;
A〕3,3,3
B〕2,2,3
C〕1,2,3
D〕1,1,3
〔38〕有以下程序
{ints,t,A=10;
doubleB=6;
s=sizeof〔A〕;
t=sizeof〔B〕;
printf〔“%d,%d\n〞,s,t〕;
在VC6平台上编译运行,程序运行后的输出结果是
A〕2,4
B〕4,4
C〕4,8
D〕10,6
〔39〕假设有以下语句
TypedefstructS
{intg;
charh;
}T;
以下表达中正确的选项是
A〕可用S定义结构体变量
B〕可用T定义结构体变量
C〕S是struct类型的变量
D〕T是structS类型的变量
〔40〕有以下程序
{shortc=124;
c=c_______;
printf〔“%d\n〞、C〕;
假设要使程序的运行结果为248,应在下划线处填入的是
A〕>
>
2
B〕|248
C〕&0248
D〕<
<
I
二、填空题〔每空2分,共30分〕
请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
〔1〕一个栈的初始状态为空。
首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,那么所有元素退栈〔包括中间退栈的元素〕的顺序为【1】
〔2〕在长度为n的线性表中,寻找最大项至少需要比拟【2】次。
〔3〕一棵二叉树有10个度为1的结点,7个度为2的结点,那么该二叉树共有【3】个结点。
〔4〕仅由顺序、选择〔分支〕和重复〔循环〕结构构成的程序是【4】程序。
〔5〕数据库设计的四个阶段是:
需求分析,概念设计,逻辑设计【5】。
〔6〕以下程序运行后的输出结果是【6】。
{inta=200,b=010;
printf〔〞%d%d\n〞,a,b〕;
〔7〕有以下程序
x,Y;
scanf〔〞%2d%ld〞,&x,&y〕;
printf〔〞%d\n〞,x+y〕;
程序运行时输入:
1234567程序的运行结果是【7】。
〔8〕在C语言中,当表达式值为0时表示逻辑值“假〞,当表达式值为【8】时表示逻辑值“真〞。
〔9〕有以下程序
{inti,n[]={0,0,0,0,0};
for〔i=1;
=4;
i++〕
{n[i]=n[i-1]*3+1;
printf〔〞%d"
n[i]〕;
}
程序运行后的输出结果是【9】。
〔10〕以下fun函数的功能是:
找出具有N个元素的一维数组中的最小值,并作为函数值返回。
请填空。
〔设N已定义〕
intfun〔intx[N]〕
{inti,k=0;
for〔i=0;
N;
I++〕
if〔x[i]
returnx[k];
〔11〕有以下程序
#include<stdio.h>
int*f〔int*p,int*q〕;
{intm=1,n=2,*r=&
m;
r=f〔r,&n〕;
printf〔〞%d\n〞,*r〕;
int*f〔int*p,int*q〕
{return〔*p>
*q〕?
p:
q;
程序运行后的输出结果是【11】
〔12〕以下fun函数的功能是在N行M列的整形二维数组中,选出一个最大值作为函数值返回,请填空。
〔设M,.N已定义〕
intfun〔inta[N][M〕〕
{inti,j,row=0,col=0;
for〔j=0;
j
if〔a[i][j]>a[row][col]〕{row=i;
col=j;
return〔【12】〕:
〔13〕有以下程序
n[2],i,j;
2;
i++〕n[i]=0;
i<2;
j++〕n[j]=n[i]A+1;
printf〔〞%d\n〞,n[1]〕;
程序运行后的输出结果是【13】
〔14〕以下程序的功能是:
借助指针变量找出数组元素中最大值所在的位置并输出该最大值。
请在输出语句中填写代表最大值的输出项。
{inta〔10],*p,*s;
for〔p=a;
p-a<
10;
p++〕scanf〔〞%d〞,p〕;
for〔p=a,s=a;
p++〕if〔*p>
*s〕S=P;
printf〔"
max=%d\n〞,【14】〕;
〔15〕以下程序翻开新文件f.txt,并调用字符输出函数将a数组中的字符写入其中,请填空。
{【15】*fp;
chara[5]={’1’,’2’,’3’,’4’,’5’},i;
fp=fopen〔〞f.txt〞,〞w〞〕;
5;
i++〕fputc〔a[i],fp〕;
fclose〔fp〕;
答案:
一、选择题
(1)
B
(2)
C
(3)
D
(4)
A
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
二、填空题
1:
1DCAB2345
2:
n-1
3:
25
4:
结构化
5:
物理设计
6:
2022
7:
15
8:
非0
9:
141340
10:
i
11:
2
12:
a[row][col]
13:
14:
*s
15:
FILE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 计算机 二级 考试 语言 试题 答案