计算机软件及应用DC测试100题.docx
《计算机软件及应用DC测试100题.docx》由会员分享,可在线阅读,更多相关《计算机软件及应用DC测试100题.docx(56页珍藏版)》请在冰豆网上搜索。
![计算机软件及应用DC测试100题.docx](https://file1.bdocx.com/fileroot1/2022-11/22/386c3206-1aba-4534-9701-dbca3c8ddcb5/386c3206-1aba-4534-9701-dbca3c8ddcb51.gif)
计算机软件及应用DC测试100题
在C语言中,下列对类型说明符typedef的叙述中错误的是()
A.用typedef可以定义各种类型名,但不能用来定义变量
B.用typedef可以增加新类型
C.用typedef只是将已经存在的类型用一个新的标识符来代表。
D.使用typedef有利于程序的通用和移植
B
有如下C语言程序:
#include
voidmain()
{
intx=0;
int*p=&x;
printf(“%d\n:
*p);
}
则编译运行后其输出结果是()
A.随机值B.0C.x的地址D.p的地址
B
下列关于C语言语法规则的说法中错误的是()
A.一条语句只做一件事情,
B.尽量在定义变量的同时初始化该变量
C.低一层次的语句可比高一层次的语句缩进一个TAB键的空间。
D.空行会浪费内存,所以要尽量少用空行
D
在C语言中,如在一个全局变量前加上修饰符static,则下列描述正确的是()
A.将原动态存储区中的该变量存储到静态存储区中
B.加与不加没有什么区别
C.使该变量只能在当前文件中使用
D.全局变量前不能加static
C
有如下C程序
#include
voidmain()
{
intn;
ints=0;
intt=1;
for(n=1;n<=20;n++)
{
_______
s+=t;
}
printf(“%d\n”,s);
}
若使该程序实现计算1!
+2!
…….+20!
的功能,则在程序横线上应填语句()
A.t*=n;B.n*=tC.n=n*(n-1);D.t=t*(n-1)
A
有如下C语言程序
#include
voidmain()
{
inti;
intsum;
for(i=1;i<6;i++)
sum+=i;
printf(“%d\n”,sum);
}
则程序运行后的输出结果为()
A.15B.14C.随机值D.0
C
在C语言中,有如下的定义和赋值语句
inta[4]={1,2,3,4};
int*p;
p=&a[0];
则*p++表示的是()
A.a[0]B.a[1]C.a[0]的地址D.a[1]的地址
A
有如下C语言程序
#include
voidmain()
{
intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
inti,j;
for(i=0;i<4;i++)
{
for(j=1;j<=i;j++)
printf(“%c”,’‘);
for(j=____;j<4;j++)
printf(“%4d”,num[i][j]);
printf(“\n”);
}
}
若想实现如下图所示输出,则在程序空白处填写()
1234
678
1112
16
A.i-1B.iC.i+1D.4–i
B
有如下C语言
#include
voidswap(int*p1,int*p2)
{
int*temp;
temp=p1;
p1=p2;
p2=temp;
}
voidmain()
{
inta=3,b=5;
int*pointer1,*pointer2
pointer1=&a;
pointer2=&b;
swap(pointer1,pointer2);
printf(“%d,%d\n”,a,b);
printf(“%d,%d\n”,*pointer,*pointer2)
}
则程序运行后的输出结果为()
A.3,5B.3,5C.5,3D.5,3
5,33,53,55,3
B
在C语言中,表达式10!
=9的值为()。
(选择一项)
a)true
b)随机值
c)0
d)1
D
在C语言中,下列关于函数的叙述中正确的是()。
(选择二项)
a)一个函数内部可以调用另一个函数,也可以调用它本身
b)每个函数都可以被单独编译
c)每个函数都可以单独运行
d)在一个函数内部可以定义另一个函数
AB
在C语言中,默认头文件的扩展名是()。
(选择一项)
a).hd
b).c
c).cpp
d).h
D
在C语言中,下列有关文件操作的叙述中错误的是()。
(选择一项)
a)使用fseek函数可以实现改变文件的位置指针
b)在程序结束时,应当用fclose函数关闭已打开的文件
c)利用fread函数从二进制文件中读数据,可以用数组名给数组中所有元素读入数据
d)不可以用FILE定义指向二进制文件的文件指针
D
有如下C语言代码:
#include
voidmain()
{
intm=9,n=2;
inta,b;
a=m%n;
b=m/n;
printf(“a=%d,b=%d\n”,a++,--b);
}
则程序运行后输出结果是()。
(选择一项)
a)a=1,b=4
b)a=2,b=4
c)a=2,b=3
d)a=1,b=3
D
在C语言中,若有语句:
char*line[5];
则下列叙述中正确的是()。
(选择一项)
a)定义line是一个长度为5的数组,每个数组元素是指向char类型的指针变量
b)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
c)定义line是一个指针数组,语句中的*号称为间址运算符
d)定义line是一个指向字符型函数的指针
A
有如下C语言程序:
#include
#include
voidmain(void)
{
structstudentstuct
{
intNo;
charName[20];
charSex;
floatScore;
};
structstudentstructstudent1;
structstudentstruct*ps;
ps=&student1;
student1.No=1;
strcpy(student1.Name,”ZhangGuo”);
student1.Sex=’M’;
studeng1.Score=90.5;
_________________;
}
若其实现的功能是记录某学员信息并输出,则空白处不可以填入的代码是()(选择一项)
a)printf(“No:
%d\nName:
%s\nSex:
%c\Nscore:
%.2f\n”,
student1.No,student1.Name,student1.Sex,student1.Score)
b)printf(“No:
%d\nName:
%s\nSex:
%c\Nscore:
%.2f\n”,
(*ps).No,(*ps).Name,(*ps).Sex,(*ps).Score)
c)printf(“No:
%d\nName:
%s\nSex:
%c\Nscore:
%.2f\n”,
ps->No,ps->Name,ps->Sex,ps->Score)
d)printf(“No:
%d\nName:
%s\nSex:
%c\Nscore:
%.2f\n”,
ps.No,ps.Name,ps.Sex,ps.Score)
D
有如下C语言程序:
#include
voidmain()
{
charc;
chara[]={“shouji”};
char*p=a;
c=______;
putchar(c);
}
则在程序空白处填上()表达式,编译运行后能够输出字符”o”。
(选择一项)
a)(p+=2,*(p++))
b)(p+=2,*++p)
c)(p+=3,*p++)
d)(p=p+2,++*p)
A
有如下C语言程序:
#include
voidswap1(intc0[],intc1[])
{
intt;
t=c0[0];
c0[0]=c1[0];
c1[0]=t;
}
voidswap2(int*c0,int*c1)
{
intt;
t=*c0;
*c0=*c1;
*c1=t;
}
voidmain()
{
inta[2]={3,5},b[2]={3,5};
swap1(a,a+1);
swap2(&b[0],&b[1]);
printf(“%d%d%d%d\n”,a[0],a[1],b[0],b[1]);
}
则编译运行后其输出结果是()(选择一项)
a)3553
b)5335
c)3535
d)5353
D
在C语言中,有如下语句:
inta[3][2]={1,2,3,4,5,6},*p[3];
p[0]=a[1];
则*p[0]+1所表示的数组元素是().(选择一项)
a)a[0][1]
b)a[1][0]
c)a[1][1]
d)a[1][2]
C
在C语言中,下列关于注释的说法错误的是()。
(选择一项)
A)注释中尽量多使用计算机专业术语和缩写,以简化注释。
B)注释一般放在代码的上方或右方,不放在被注释代码的下方。
C)注释的频度要合适,一般要求占整个程序总行数的1/5~1/4
D)注释不能有嵌套。
A
在C语言中,下列关于条件语句的描述中正确的是()。
(选择二项)
A)当if语句嵌套使用时,else总是和最近的一个未配对的if匹配
B)一个if可以有多个else与之匹配
C)一个switch语句总是可以被一系列if…….else语句替换
D)当程序执行到if语句中的break时,将退出程序
AC
有如下两段C语言代码:
程序段1:
for(row=0;row<100;row++)
for(col=0;col<5;col++)
sum=sum+a[row][col];
程序段2:
for(col=0;col<5;col++)
for(row=0;row<100;row++)
sum=sum+a[row][col];
则上述两段代码执行效率高的是()。
(选择一项)
A)两段一样高B)第一段程序较高C)第二段程序较高D)无法比较
C
有如下C语言程序:
#include
intd=1;
fun(intp)
{
intd=5;
d+=p++;
printf(“%d”,d);
}
voidmain()
{
inta=3;
fun(a);
d+=a++;
printf(“%d”,d);
}
则程序运行的结果是()。
(选择一项)
A)96B)94C)84D)85
C
在C语言中,有如下定义:
intn1=0;
intn2;
int*p=&n2;
int*q=&n1;
则以下赋值语句中与”n2=n1;”语句等价的是()。
(选择一项)
A)*p=*q;
B)p=q;
C)*p=&n1;
D)p=*q;
A
有如下C语言程序:
#include
inti;
voidmain()
{
for(i=1;i<=5;i++)
{
if(i<2)
continue;
if(i>2)
break;
}
printf(“%d\n”,i);
}
则程序运行后的输出结果是()。
(选择一项)
A)2B)3C)4D)5
B
有如下C语言代码:
#include
structstudent
{
intx;
charc;
}a;
voidf(structstudentb)
{
b.x=20;
b.c=’y’;
}
voidmain()
{
a.x=10;
b.c=’e’
f(a);
printf(“%d,%c\n”,a.x,a.c);
}
则程序编译运行后的结果是()。
(选择一项)
A)20,yB)20,eC)10,eD)10,y
C
有如下C语言程序:
#include
#include
voidmain()
{
charstr1[3]=“cd”;
charstr2[7]=“ab”;
strcat(str2,str1);
printf(“%d\n”,strcmp(“abcd”,str2);
}
则编译运行后其输出结果()。
(选择一项)
a)等于0
b)等于-1
c)大于0
s)等于-35
A
有如下C语言程序:
#include
voidfun(int*a,inti,intj)
{
intt;
if(i{
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
fun(a,i,j);
}
}
voidmain()
{
intx[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<4;i++)
printf(“%2d”,x[i]);
printf(“\n”);
}
则程序运行后的输出结果是()。
(选择一项)
a)1268
b)8621
c)8612
d)8162
D
有如下C语言程序:
#include
intf(intb[][4])
{
inti,j,s=0;
for(j=0;j<4;j++)
{
i=j;
if(i>2)
i=3-j;
s+=b[i][j];
}
returns;
}
voidmain()
{
inta[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf(“%d\n”,f(a));
}
则编译运行后其输出结果是()。
(选择一项)
a)12
b)11
c)18
d)16
D
在C语言中,将一个函数声明为static后,该函数将()。
a)既能被同一源文件中的函数调用,也能被其他源文件中的函数调用。
b)只能被同一源文件中的函数调用,不能被其他源文件中的函数调用。
c)只能被其他源文件中的函数调用,不能被同一源文件中的函数调用。
d)既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用。
B
在C语言中,下列能够作为合法的变量标识符的是()。
a)8abcb)_1_2_3_c)my.spaced)&name
B
有如下C语言代码:
#include
voidmain()
{
inta=077;
intb=a&3;
printf(”%d\n”,b);
}
则程序编译运行后的结果为()。
a)1b)0c)3d)011
C
有如下C语言代码:
#include
voidmain()
{
inta,b;
scanf(“%d%d”,&a,&b);
printf(“%d,%d”,a,b);
}
当输入a,b的值时,不能作为输入数据分隔符是()。
a)逗号(,)
b)空格
c)回车
d)[Tab]
A
有如下C语言程序:
#include
voidmain()
{
intj;
for(j=0;j>3;j--)
{
if(j%3)
j--;
--j;
--j;
printf(“%d”,j);
}
}
则程序运行后输出的结果是()。
(选择一项)
a)63
b)74
c)62
d)75
B
有如下C语言代码:
#include
voidfunc()
{
intvar_a=0;
staticintvar_b=0;
printf(“%d”,var_a);
printf(“%d”,var_b);
var_a++;
var_b++;
}
voidmain()
{
inti;
for(i=0;i<3;i++)
func();
printf(“\n”);
}
则程序编译运行后的结果为()。
(选择一项)
a)000000
b)001122
c)001020
d)000102
D
有如下C语言程序:
#include
voidmain()
{
inta,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=20)
break;
if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
printf(“%d\n”,a);
}
则程序运行后的输出结果是()。
(选择一项)
a)7
b)8
c)9
d)10
B
有如下C语言程序:
#include
voidmain()
{
intx,y,z;
scanf(“%d,%d,%d”,&x,&y,&z);
if(x>y)
{
t=x;
x=y;
y=t;
}
if(x>z)
{
t=z;
z=x;
x=t;
}
if(y>z)
{
t=y;
y=z;
z=t;
}
printf(“%d%d%d”,x,y,z);
}
输入三个互不相等的整数后,程序实现的功能是()。
(选择一项)
a)将三个数按照从大到小的顺序输出
b)将三个数按照最大数、最小数、中间数的顺序输出
c)将三个数按照中间数、最大数、最小数的顺序输出
d)将三个数按照从小到大的顺序输出
D
有如下C用语言程序:
#include
intf(inta[],intn)
{
if(n>=1)
returnf(a,n-1)+a[n-1];
else
return0;
}
voidmain()
{
intaa[5]={1,2,3,4,5};
ints;
s=f(aa,5);
printf(“%d\n”,s);
}
则程序运行后的输出结果为()。
(选择一项)
a)4
b)5
c)14
d)15
D
有如下C语言程序:
#include
structSTU
{
charnum[10];
floatscore[3];
};
voidmain()
{
structSTUs[3]={{“20021”,90,95,85},{“20022”,95,80,75},{“20023”,100,95,90}};
structSTU*p=s;
inti;
floatsum=0;
for(i=0;i<3;i++)
{
sum=sum+p->score[i];
}
printf(”%6.2f\n”,sum);
}
则程序运行后的输出结果是()。
a)250.00
b)270.00
c)280.00
d)285.00
B
在C语言中,下列用于连接两个字符串的函数是()。
(选1项)
a.strcpy
b.strlen
c.strcmp
d.strcat
D
在C语言中,假设指针p和数组b[4]是相同的数据类型,且p的初值为&b[0],则p+3指向的元素为()(选1项)
a.b[3]
b.&b[3]
c.b[2]
d.&b[2]
A
在C语言中,有一函数关系如下所示:
(选1项)
Y=x-1(x<0)
=x(x=0)
=x+1(x>0)
则下列程序段中能正确表达上述关系的是()
a.if(x>=0)y=x+1;if(x==0)y=x;elsey=x-1;
b.if(x!
=0)y=x-1;if(x>0)y=x+1;elsey=x;
c.if(x<=0)if(x<0)y=x-1;elsey=x;elsey=x+1;
d.if(x<=0)y=x;if(x<0)y=x-1;elsey=x+1;
C
有如下C语言程序
#include
structstudent
{
inta,b,c;
};
voidmain()
{
structstudentstu[2]={{1,2,3},{4,5,6}};
intt;
t=stu[0].a+stu[1].b%stu[0].c;
printf(“%d\n”,t);
}
则程序运行后的输出结果是()(选1项)
a.5
b.3
c.1
d.0
B
有如下C程序:
#include
voidmain()
{
inty=10;
do
{
y--;
}while(--y);
printf(“%d\n”,y--);
}
则程序运行后的输出结果是()(选1项)
a.-1
b.0
c.1
d.8
B
C语言中允许函数类型缺省定义,此时该函数隐含的类型是()(选1项)
a.float型
b.int型
c.long型
d.void型
B
有如下C程序
#include
voidfunction()
{
staticintx=1;
inty=4;
intz=0;
x++;
y--;
z=x>=y?
1:
0;
printf(“%d”,z);
}
voidmain()
{
inta;
for(a=0;a<3;a++)
function();
}
则程序运行后的输出结果是()(选1项)
a.011
b.001
c.101
d.110
A
在C语言中,如果函数malloc未能成功执行分配到满足尺寸的内存,则该函数的返回值是()(选1项)
a)0
b)-1
c)EOF
d)NULL
D
有如下C语言程序
#include