全国计算机等级考试二级C语言笔试试题及答案Word文件下载.docx
- 文档编号:22452032
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:13
- 大小:22.15KB
全国计算机等级考试二级C语言笔试试题及答案Word文件下载.docx
《全国计算机等级考试二级C语言笔试试题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言笔试试题及答案Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环
D.主程序、子程序、函数
(11)要把高级语言编写的源程序转换为目标程序,需要使用
A.编辑程序
B.驱动程序
C.诊断程序
D.编译程序
(12)英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为
A.50
B.66
C.52
D.68
(13)Windows环境下,PrintScreen键的作用是
A.复制当前窗口到剪贴板
B.打印当前窗口的内容
C.复制屏幕到剪贴板
D.打印屏幕内容
(14)在Windows环境下,为了终止应用程序的运行,应
A.关闭该应用程序窗口
B.最小化该应用程序窗口
C.双击该应用程序窗口的标题栏
D.将该应用程序窗口移出屏幕
(15)下列各带有通配符的文件名中,能代表文件XYZ.TXT的是
A.*Z.?
B.X*.*
C.?
Z,TXT
D.?
.?
(16)若有定义:
inta=8,b=5,C;
,执行语句C=a/b+0.4;
后,c的值为
A.1.4
B.1
C.2.0
D.2
(17)若变量a是int类型,并执行了语句:
a=‘A'
+1.6;
,则正确的叙述是
A.a的值是字符C
B.a的值是浮点型
C.不允许字符型和浮点型相加
D.a的值是字符‘A’的ASCII值加上1。
(18)以下程序段的输出结果是
inta=1234;
printf("
-\n"
a);
A.12
B.34
C.1234
D.提示出错、无结果
(19)以下选项中不属于C语言的类型的是
A.signedshortimt
B.unsignedlongint
C.unsignedint
D.longshort
(20)若有说明语句:
inta,b,c,*d=&
c;
,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是
A.scanf("
%d%d%d"
&
a,&
b,&
d;
B.scanf("
C.scanf("
a,b,d;
D.scanf("
a,b,*d;
(21)在16位C编译系统上,若定义longa;
,则能给a赋40000的正确语句是
A.a=20000+20000;
B.a=4000*10;
C.a=30000+10000;
D.a=4000L*10L;
转贴于:
计算机二级考试_考试大
(22)以下叙述正确的是
A.可以把define和if定义为用户标识符
B.可以把define定义为用户标识符,但不能把if定义为用户标识符
C.可以把if定义为用户标识符,但不能把define定义为用户标识符
D.define和if都不能定义为用户标识符
(23)若定义:
inta=511,*b=&
a;
则printf("
%d\n"
*b);
的输出结果为
A.无确定值
B.a的地址
C.512
D.511
(24)以下程序的输出结果是
main()
{inta=5,b=4,c=6,d;
d=a>
b?
(a>
c?
a:
c):
(b));
}
A.5
B.4
C.6
D.不确定
(25)以下程序中,while循环的循环次数是
{inti=0;
while(i<
10)
{if(i<
1)continue;
if(I==5)break;
i++;
......
A.1
B.10
D.死循环,不能确定次数
(26)以下程序的输出结果是
{inta=0,i;
for(i=;
i<
5;
i++)
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
A.31
B.13
C.10
D.20
(27)以下程序的输出结果是
{inta=4,b=5,c=0,d;
d=!
a&
&
!
b||!
c;
d);
B.0
C.非0的数
D.-1
(28)以下程序的输出结果是
#include
{inti=0,a=0;
20)
{for(;
;
)
{if((i)==0)break;
elsei--;
i+=11;
a+=i;
printh("
A.21
B.32
C.33
D.11
(29)以下程序的输出结果是
charcchar(charch)
{
if(ch>
=‘A’&
ch<
=‘Z'
)ch=ch-‘A'
+‘a'
returnch;
{chars[]="
ABC+abc=defDEF"
*p=s;
while(*p)
{*p=cchar(*p);
p++;
%s\n"
s);
A.abc+ABC=DEFdef
B.abc+abc=defdef
C.abcaABCDEFdef
D.abcabcdefdef转贴于:
(30)以下程序的输出结果是
intf()
{staticinti=0;
ints=1;
s+=i;
i++;
returns;
main()
{inti,a=0;
for(i=0;
i++)a+=f();
A.20
B.24
C.25
D.15
(31)以下程序段的输出结果是
chars[]="
\\141\141abc\t"
printf("
strlen(s));
A.9
B.12
C.13
D.14
(32)若有以下程序
voidf(intn);
{voidf(intn);
f(5);
voidf(intn)
{printf("
n);
}
则以下叙述中不正确的是
A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B.若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C.对于以上程序,编译时系统会提示出错信息:
提示对对f函数重复说明
D.函数f无返回值,所以可用void将其类型定义为无值型
(33)以下程序调用findmax函数返回数组中的最大值
findmax(int*a,intn)
{int*p,*s;
for(p=a,s=a;
p-a
if()s=p;
return(*s);
{intx[5]={12,21,13,6,18};
findmax(x,5));
在下划线处应填入的是
A.p>
s
B.*p>
*s
C.a[p]>
a[s]
D.p-a>
p-s
(34)以下程序的输出结果是
{charcf[3][5]={"
AAAA"
"
BBB"
CC"
};
\"
%s\"
\n"
ch[1]);
A."
B."
C."
BBBCC"
D."
(35)在C语言中,形参的缺省存储类是
A.auto
B.register
C.static
D.extern
(36)若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是
A.p=2*(int*)malloc(sizeof(int));
B.p=(int*)malloc(2*sizeof(int));
C.p=(int*)malloc(2*2);
D.p=(int*)calloc(2,sizeof(int));
(37)以下程序的输出结果是
{charx=040;
printf("
%0\n"
x<
<
1);
A.100
B.80
C.64
D.32
(38)若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是
A.fopen("
A:
\user\abc.txt"
r"
)
B.fopen("
\\user\\abc.txt"
r+"
C.fopen("
rb"
D.fopen("
w"
(39)以下不能正确进行字符串赋初值的语句是
A.charstr[5]="
good!
"
B.charstr[]="
C.char*str="
D.charstr[5]={‘g'
‘o'
‘d'
(40)若有下面的说明和定义:
structtest
{intml;
charm2;
floatm3;
unionuu{charul[5];
intu2[2];
}ua;
}myaa;
则sizeof(structtest)的值是
C.14
D.9
(41)若有定义:
intaa[8];
。
则以下表达式中不能代表数组元aa[1]的地址的是
A.&
aa[0]+1
B.&
aa[1]
C.&
aa[0]++
D.aa+1转贴于:
(42)以下程序的输出结果是
f(intb[],intm,intn)
{inti,s=0;
for(i=m;
i returns;
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
x);
A.10
B.18
C.8
(43)若有以下定义和语句:
ints[4][5],(*ps)[5];
ps=s;
则对s数组元素的正确引用形式是
A.ps+1
B.*(ps+3)
C.ps[0][2]
D.*(ps+1)+3
(44)以下程序的输出结果是
{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;
3;
for(j=i;
j<
=i;
j++)t=t+b[i][b[j][j]];
t);
A.3
C.1
(45)以下程序的输出结果是
{charb1[8]="
abcdefg"
b2[8],*pb=b1+3;
while(--pb>
=b1)strcpy(b2,pb);
strlen(b2));
B.3
D.7
(46)在说明语句:
int*f();
中,标识符f代表的是
A.一个用于指向整型数据的指针变量
B.一个用于指向一维数组的行指针
C.一个用于指向函数的指针变量
D.一个返回值为指针型的函数名
(47)不合法的main函数命令行参数表示形式是
A)main(inta,char*c[])B)main(intarc,char**arv)
C)main(intargc,char*argv)D)main(intargv,char*argc[])
(48)以下程序的输出的结果是
intx=3;
{inti;
for(i=1;
i
ncre()
{staicintx=1;
x*=x+1;
%d"
A.33
B.22
C.26
D.25
(49)若以下定义:
structlink
{intdata;
strucklink*next;
}a,b,c,*p,*q;
且变量a和b之间已有如下图所示的链表结构:
ab
datanextdatanext
┌──┬──┐┌──┬──┐
│5│┼──→│9│\0│
└──┴──┘└──┴──┘
↑p
c
datanext
┌──┬──┐
│7││
└──┴──┘
↑q
指针p指向变量a,q指向变量c。
则能够把c插入到a和b之间并形成新的链表的语句组是:
A.a.next=c;
c.next=b;
B.p.next=q;
q.next=p.next;
C.p->
next=&
q->
next=p->
next;
D.(*p).next=q;
(*q).next=&
b;
(50)设有以下说明语句
typedefstruct
{intn;
charch[8];
}PER;
则下面叙述中正确的是
A.PER是结构体变量名
B.PER是结构体类型名
C.typedefstruct是结构体类型
D.struct是结构体类型名转贴于:
二、填空题(每空2分,共40分)
请将每一个空的正确答案写在答案卡上,答在试卷上不得分。
(1)为了要将当前盘目录中的可执行程序ABC.EXE的输出结果存放到当前盘当前目录中的文件OUT.TXT中,则应使用的DOS命令为【1】。
(2)计算机网络分为广域网和局域网,因特网属于【2】。
(3)要想在当前目录下方便地执行C盘\UCDOS目录中的程序,就应该先执行预设搜索路径的命令,该DOS命令为【3】。
(4)要查看当前目录中扩展名为.DAT的所有文件目录,应该使用的DOS命令为【4】。
(5)在Windows环境下,当进行复制操作时,其复制的内容将存放在【5】中
(6)若从键盘输入58,则以下程序输出的结果是【6】。
{inta;
scanf("
%d"
a);
if(a>
50)printf("
40)printf("
30)printf("
(7)以下程序的输出结果是【7】。
{inta=177;
%o\n"
(8)以下程序的输出结果是【8】。
{inta=0
a+=(a=8);
(9)以下程序输出的结果是【9】。
{inta=5,b=4,c=3,d;
d=(a>
b>
c);
(10)以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;
成员变量link是指向自身结构体的指针.请将定义补充完整。
structnode
{intinfo;
【10】link;
(11)以下程序的输出结果是【11】。
{ints,i;
for(s=0,i=1;
i++,s+=i);
(12)以下程序的输出结果是【12】。
{char*p="
abcdefgh"
*r;
long*q;
q=(long*)p;
q++;
r=(char*)q;
r);
(13)以下程序的输出结果是【13】。
abcdef"
s[3]=‘\0'
(14)以下程序的输出结果是【14】。
{intx=0;
sub(&
x,8,1);
sub(int*a,intn,intk)
{if(k<
=n)sub(a,n/2,2*k);
*a+=k;
(15)设有如下宏定义
#defineMYSWAP(z,x,y){z=x;
x=y;
y=z;
}
以下程序段通过宏调用实现变量a、b内容交换,请填空。
floata=5,b=16,c;
MYSWAP(【15】,a,b);
(16)以下程序用来统计文件中字符个数。
请填空。
#include"
stdio.h"
{FILE*fp;
longnum=0L;
if((fp=fopen("
fname.dat"
))==NULL)
{pirntf("
Openerror\n"
);
exit(0);
while(【16】)
{fgetc(fp);
num++;
num=\n"
num-1);
fclose(fp);
}
(17)以下程序中,select函数的功能是:
在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。
#defineN3
#defineM3
select(inta[N][M],int*n)
{inti,j,row=1,colum=1;
for(j=0;
j
if(a[i][j]>
a[row][colum]){row=i;
colum=j;
*n=【17】;
return【18】;
{inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,&
n);
max=%d,line=%d\n"
max,n);
(18)mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。
intmystrlen(char*str)
【19】!
=‘\0'
i++);
return(【20】);
基础部分和C语言程序设计试题转贴于:
一、选择题(⑴-(40)题每题1分,(41)-(50)题每题2分,其60分)
(1)D
(2)B(3)A(4)A(5)B
(6)C(7)B(8)B(9)C(10)C
(11)D(12)D(13)C(14)A(15)B
(16)B(17)D(18)C(19)D(20)A
(21)D(22)B(23)D(24)C(25)D
(26)A(27)A(28)B(29)B(30)D
(31
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 笔试 试题 答案