- 相关推荐
2014年计算机二级考试C语言选择题
1.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法
A.对象
B.数据结构
C.数据流
D.目标
2.对线性表进行二分法检索,其前提条件是( )。
A.线性表以顺序方式存储,并按关键码值排好序
B.线性表以顺序方式存储,并按关键码的检索频率排好序
C.线性表以链式方式存储,并按关键码值排好序
D.线性表以链式方式存储,并按关键码的检索频率排好序
3.结构化程序设计的3种结构是( )。
A.顺序结构、选择结构、转移结构
B.分支结构、等价结构、循环结构
C.多分支结构、赋值结构、等价结构
D.顺序结构、选择结构、循环结构
4.已知数据表A中每个元素距其最终位置不远,为了节省时间,应采用的算法是( )。
A.堆排序
B.直接插入排序
C.快速排序
D.直接选择排序
5.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是( )。
A.数据库系统
B.文件系统
C.人工管理
D.数据项管理
6.设有二元关系R和三元关系s,下列运算合法的是( )。
A.R∩S
B.R∪S
C.R-S
D.R×S
7.两个或两个以上模块之间联系的紧密程度称为( )。
A.耦合性
B.内聚性
c.复杂性
D.数据传输特性
8.设a=l,b=2,c=3,d=4,则表达式:“a A.4
B.3
C.2
D.1
9.若有定义:“int a=4,b=5;float x=3.4,y=2.1;”,则下列表达式的值为( )。
(float)(a+b)/2+(int)x%(int)y;
A.5.5
B.55
C.5.500000
D.55.00000
10.下列程序的输出结果是( )。
main()
{ int a,b,d=25;
a=d/10%9;
b=a&&(一1);
printf("%d,%d\n",a,b);}
A.6,1
B.2,1
C.6,0
D.2,0
11.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
A.DB包含DBS和DBMS
B.DBMS包含DB和DBS
C.DBS包含DB和DBMS
D.没有任何关系
12.下列合法的声明语句是( )。
A.int abc=50;
B.double int=3+5e2.5;
C.long do=1L;
D.float 3 asd=3e一3;
13.设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。
A.x&&y
B.x<=y
C.x||y+z&&y—Z
D.!((x 14.若ch为char型变量,k为int型变量(已知字符a的
ASCII码是97),则执行下列语句后输出的结果为( )。
cb=’b’;
k=10;
printf("%X,%o,”,ch,ch,k);
printf("k=%%d\n",k);
A.因变量类型与格式描述符的类型不匹配,输出无定值
B.输出项与格式描述符个数不符,输出为0值或不定值
C.62,142,k=%d
D.62,142,k=%10
15.有下列程序:
fun(int X,int y){return(x+y);}
main()
{int a=1,b=2,C=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的输出结果是( )。
A.6
B.7
C.8
D.9
16.假设a和b为int型变量,则执行以下语句后b的值为( )。
a=1;b=10;
do
{ b-=a;a++;}
while(b--<0);
A.9
B.-2
C.-l
D.8
17.下列程序执行后的输出结果是( )。
main()
{ int a[3][3],*p,i};
p=&a[0][0];
for(i=p;i<9;i++)p[i]=i+1;
printf("%d\n",a[1][2]);
}
A.3
B.6
C.9
D.随机数
18.以下程序的输出结果是( )。
int f(int A)
{ return a%2; }
main()
{int s[8]={1,3,5,2,4,6},i,d=0;
for(i=0;f(s[8]);i++)d+=s[i];
printf("%d\n",d);
}
A.9
B.11
C.19
D.21
19.s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句s;则以下选项中正确的是( )。
A.if(s1>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,sl)>O)S;
D.if(stremp(s1,s2)>O)S;
20.有以下函数:
char fun(char*p)
{return P;}
该函数的返回值是( )。
A.无确切的值
B.形参p中存放的地址值
c.一个临时存储单元的地址
D.形参p自身的地址值
21.下列程序执行后的输出结果是( )。
main()
{ char x=0xFFFF;printf("%d\n",x--);}
A.-32767
B.FFFE
C.1
D.32768
22.下面的函数调用语句中func函数的实参个数是( )。
func((f2v1,v2),(v3,v4,v5),(v6,max(v7,v8)))
A.3
B.4
C.5
D.8
23.语句“printf("akbre"\’hi\’y\\\bou\n")”;的输出结果是( )。
A.akbre\’hi\’y ’\\\bou
B.a\bre\’hi\\y\bou
C.re ’hi’you
D.abre’hi’y\bou
24.下面程序输出的是( )。
main()
{ int t=l;fun(fun(t));}
fun(int h)
{ static int a[3]={1.2.3};
int k;
for(k=0;k<3;k++)a[k]+=a[k]-h;
for(k=0;k<3;k++)printf("%d",a[k]);
printf("\n");
return(a[h]);}
A.1,2,3,
1,5,9,
B.1,3,5,
1,3,j,
C.1,3,5,
0,4,8,
D.1,3。5,
-1,3,7,
25.以下叙述中正确的是( )。
A.预处理命令行必须位于C源程序的起始位置
B.在C语言中,预处理命令行都以“#”开头
c.每个C程序必须在开头包含预处理命令行:#include
D.C语言的预处理不能实现宏定义和条件编译的功能
26.为了避免在嵌套的条件语句if else中产生二义性,C语言规定,else子句总是与( )配对。
A.缩排位置相同if
B.其前面最近的if
C.其后面最近的if
D.同一行上的if
27.设有下列程序段:
char str[]="HelloWorld":
char* plr;
ptr=str:
执行上面的程序段后,*(ptr+10)的值为( )。
A.’\0 ’
B.’0’
C.不确定的值
D.’0’的地址
28.有以下程序:
void swap(char*x,char*y)
{ char t;
t=*x;*x=*y;*y=t;
}
main()
{ char*s1="abe",*s2="123":
swap(s1,s2);
printf("%s,%s\n",s1,s2);
}
程序执行后的输出结果是( )。
A.123,abe
B.abc.123
C.1bc,a23
D.321,cba
29.下列程序的运行结果是( )。
#include
main()
{ static char a[]="Languagef",b[]="programe":
char*p1,*p2;int k;
p1=a;p2=b;
for(k=0;k<=8;k++)
if(*(p1+k)==*(p2+k))
printf("%c",*(p1+k)):
}
A.gae
B.ang
C.program
D.有语法错
30.下列程序的运行结果为( )。
#define MAX(x,y)(x)>(y)?(x):(y)
main()
{ int a=2,b=3,C=1,d=3,t:
printf("%d\n",(MAX(a+h,c+d))*100):
}
A.500
B.5
C.4
D.400
31.设int x=7,则~x的值是( )。
A.-8
B.7
C.-1
D.1
32.有以下程序:
void fun(char*a,char*b)
{a=b; (*a)++; }
main( )
{char c1=’A ’,c2=’a’,*p1,*p2;
p1=&c1;p2=*c2;fun(p1,p2);
printf("%C%c\n",c1,c2);
}
程序运行后的输出结果是( )。
A.Ab
B.aa
C.Aa
D.Bb
33.有以下程序:
int fun(int n)
{if(n==l)return l;
else return(n+fun(n一1)):
}
main( )
{int x;
scanf("%d",&x);x=fun(x);printf("%d\n",
x):
}
执行程序时,给变量X输入10,程序的输出结果是( )。
A.55
B.54
C.65
D.45
34.有以下程序:
void f(int x,int y)
{int t;
if(x }
main( )
{int a=4,b=3,c=5;
f(a,b);f(a,c);f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
执行后输出结果是( )。
A.3,4,5
B.5,3,4
C.5,4,3
D.4,3,5
35.以下程序的输出结果是( )。
main( )
{char*s="12134211";
int v[4]=(0,0,0,0),k,i;
for(k=0;s[k];k++)
{switch(s[k])
{case’1’:i=0;
case’2’:i=1;
case’3’:i=2;
case’4’:i=3;}
}
v[i]++:
}
for(k=0;k<4;k++)printf("%d",v[k]);
A.4 2 1 1
B.0 0 0 8
C.4 6 7 8
D.8 8 8 8
36.有以下程序:
main( )
{int x=102,y=012;
printf("%2d,%2d\n",x,y);
}
执行后输出结果是( )。
A.10,01
B.02,12
C.102,10
D.02,10
37.有以下程序:
main( )
{int x=0,y=5,z=3;
while(z-->0&&++x<5)y=y-l;
printf("%d,%d,%d\n",x,y,z);
}
程序执行后的输出结果是( )。
A.3,2,0
B.3。2. 1
C.4,3,-1
D.5,2.-5
38.有以下程序:
main( )
{int i,n=0:
for(i=2;i<5;i++)
{do
{if(i%3) continue:
n++:
}while(!i);
n++:
}
printf("n=%d\n",n);
}
程序执行后输出结果是( )。
A.n=5
B.n=2
C.n=3
D.n=4
39.下面程序的功能是输出以下形式的金字塔图案:main( )
{int i,j; *
for(i=l;i<-4;i++)***
{for(j=1;j<=4-i;j++)printf("");
*****
for(j=1;j<=____;j++)printf("
*"); *******
printf("\n");
}
}
在下划线处应填入的是( )。
A.i
B.2*i一1
C.n=2*i+1
D.i+2
40.函数ftell(fp)的作用是( )。
A.得到fp所指向文件的当前读写位置
B.初始化流式文件的位置指针
c.移动流式文件的位置指针
D.以上答案均正确
【计算机二级考试C语言选择题】相关文章:
计算机二级考试C语言试题与答案(选择题)07-06
计算机二级《C语言》选择题题库及答案11-16
计算机二级考试C语言考试技巧05-13
计算机二级C语言考试技巧09-24
全国计算机二级考试C语言选择题练习及答案07-01
计算机二级C语言考试必看技巧09-30
计算机等级考试二级C++笔试选择题06-27