1、【
单选题
】
定义下列结构体(联合)数组:
struct st
{ char name[15];
int age;
}a[10]={"ZHA0",14,"WANG",15,"LIU",16," ZHANG",17);
执行语句printf("%d,%C",a[2].age,*(a[3].name+ 2))的输出结果为( )。
[1分]
、
15,A
、
16,H
、
16,A
、
17,H
答案:
2、【
单选题
】
有以下程序:
main()
{int i,j;
for(j=10;j<11;j++)
{ for(i=9;i<J;I++)
if(!(j%i))break;
if(i==j-1)
printf("%d",j);
}
}
输出结果是( )。
[1分]
答案:
3、【
单选题
】
下列程序的输出结果是( )。
#include
main()
{ int i;
for(i=1;i<=10,i++)
{ if((i*i>=20)&&(i*i<=100))
break;
}
printf("%d\n",i*i;
}
[1分]
答案:
4、【
单选题
】
设fun()函数的定义形式为
void fun(char ch,float x){…}
则下列对函数fun的调用语句中,正确的是( )。
[1分]
、
fun("abc",3.0);
、
t=fun('D'.16.5);
、
fun('65',2.8);
、
fun(32,32);
答案:
5、【
单选题
】
若a为int类型,且其值为3,则执行完表达式a+= a-=a*a后,a的值是( )。
[1分]
答案:
6、【
单选题
】
若有以下定义:
char a;int b;
float c;double d;
则表达式a*b+b-c值的类型为( )。
[1分]
、
float
、
int
、
char
、
double
答案:
7、【
单选题
】
若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。
[1分]
、
scanf("%d",a,b,c);
、
scanf("%d%d%d",a,b,c):
、
scanf("%d",p);
、
scanf("%d",&p);
答案:
8、【
单选题
】
若整型变量a、b、c、d中的值依次为2、2、3、4,则条件表达式a<B?A:C<D?C:D的值是(&NBSP;&NBSP;&NBSP; )。
[1分]
答案:
9、【
单选题
】
有以下程序:
main( )
{ int k=5,n=0;
do
{ switch(k)
{ case 1:
case 3:n+=l;k--;break;
defalut:n=0;k--;
case 2:
case 4:n+=2;k--;break:
}
printf("%d",n);
}while(k>0&&n<5);
}
程序运行后的输出结果是( )。
[1分]
、
235
、
0235
、
02356
、
2356
答案:
10、【
单选题
】
能正确表示“当x的取值在[1,10]和[100,110]范围内为真,否则为假”的表达式是( )。
[1分]
、
(x>=1)&&(x<=10)&&(x>=100)&&(X< =110)
、
(x>=1)||(x<2=10)||(x>=100)||(x<=1l0)
、
(x>=1)&&(x<=10)||(x>=100)&&(x<= 110)
、
(x>=1)||(x<=10)&&(x>=100)||(x<=l 10)
答案:
11、【
单选题
】
设有定义:“int a;float b;”,执行“scanf("%2d%f",&a,&b);”语句时,若从键盘输入876543.0<回车>,a和b 的值分别是( )。
[1分]
、
876和543.000000
、
87和6.000000
、
87和543.000000
、
76和543.000000
答案:
12、【
单选题
】
用链表表示线性表的优点是( )。
[1分]
、
便于随机存取
、
花费的存储空间较顺序存储少
、
便于捅入和删除操作
、
数据元素的物理顺序与逻辑顺序相同
答案:
13、【
单选题
】
若有以下的说明和语句,则在执行for语句后,’(*(pt+1)+2)表示的数组元素是( )。
int t[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]= &t[k][0];
[1分]
、
t[2][0]
、
t[2][2]
、
t[1][2]
、
t[2][1]
答案:
14、【
单选题
】
已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字堪的表达式是( )。
[1分]
、
isupper(c)
、
'A'<=c<='Z '
、
'A'<=c&&c<='Z'
、
c<=('z'-32)&&('a'-32)<=c
答案:
15、【
单选题
】
若i、j已定义成mt型,则下列程序段中内循环体的总执行次数是( )。
for(i=6;i>0;i--)
for(j=0;j<4;j++){…}
[1分]
答案:
16、【
单选题
】
下列叙述中错误的是( )。
[1分]
、
在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值
、
在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容
、
在C语言中,外部变量的隐含类型是自动存储类别
、
在C语言中,函数形参的存储类型是自动(auto)类型的变量
答案:
17、【
单选题
】
有以下程序:
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);
}
程序执行后的输出结果是( )。
[1分]
、
123,abe
、
abc.123
、
1bc,a23
、
321,cba
答案:
18、【
单选题
】
有以下程序:
fun(int x)
{ int P;
if(x==0 || x==l)return(3);
p=x-fun(x-2);
return p;
}
main()
{printf("%d\n",fun(7));}
程序执行后的输出结果是( )。
[1分]
答案:
19、【
单选题
】
对线性表进行二分法检索,其前提条件是( )。
[1分]
、
线性表以顺序方式存储,并按关键码值排好序
、
线性表以顺序方式存储,并按关键码的检索频率排好序
、
线性表以链式方式存储,并按关键码值排好序
、
线性表以链式方式存储,并按关键码的检索频率排好序
答案:
20、【
单选题
】
若有说明“char s1[30]="abc",s2[]="defghi";",则在使用函数stoat(s1,s2)后,结果是( )。
[1分]
、
s1的内容更新为abcdefghi
、
s1的内容更新为defghi\0
、
s1的内容更新勾defghiabc\0
、
s1的内容更新为abcdefghi\0
答案:
21、【
单选题
】
有下列程序:
main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9);
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序执行后的输出结果是( )。
[1分]
答案:
22、【
单选题
】
下列程序的输出结果是( )。
main()
{ int a,b,d=25;
a=d/10%9;
b=a&&(一1);
printf("%d,%d\n",a,b);}
[1分]
答案:
23、【
单选题
】
下列程序的运行结果是( )。
#include
void fun(int*S,int*p)
{ static int t=3:
*p=s[t];
t--;
}
void main()
{ int a[]={2,3,4,5),k;
int x;
for(k=0,k<4,k++)
{ fun(a,&x);
printf("%d,",x);
}
}
[1分]
、
5,4,3,2
、
2,3,4,5
、
2,2,2,2
、
5,5,5,5
答案:
24、【
单选题
】
设在C语言中,float类型数据占4个字节,则double 类型数据占( )个字节。
[1分]
答案:
25、【
单选题
】
在单链表中,增加头结点的目的是( )。
[1分]
、
方便运算的实现
、
使单链表至少有一个结点
、
标识表结点中首结点的位置
、
说明单链表是线性的链式存储实现
答案:
26、【
单选题
】
下列叙述中正确的是( )。
[1分]
、
只能在循环体内和switch语句体内使用break语句
、
eotinue语句的作用是结束整个循环的执行
、
在循环体内使用break语句或continue语句的作用相同
、
从多层循环嵌套中退出时,只能使用got0语句
答案:
27、【
单选题
】
下列程序的输出结果是( )。
#include
main( )
{ int i,S=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}
[1分]
答案:
28、【
单选题
】
有以下程序:
main()
{ int a[]=(2,4,6,8,10},y=0,x,*P;
p=&a[1];
for(x=1;x<3;x++) y+=p[x];
printf("%d\n,y");
}
程序运行后的输出结果是( )。
[1分]
答案:
29、【
单选题
】
下列程序的运行结果是( )。
#include
#define ADD(x) x+x
main()
{ int m=1,n=2,k=3;
int S=ADD(m+n)*k;
printf("s=%d",s);
}
[1分]
、
sum=18
、
sum=10
、
sum=9
、
sum=25
答案:
30、【
单选题
】
对如下二叉树进行后序遍历的结果为( )。
[1分]
、
ABCDEF
、
DBEAFC
、
ABDECF
、
DEBFCA
答案:
31、【
单选题
】
若有定义和语句:
int**pp),*P,a=20,b=10;
pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,*PP);
则输出结果是( )。
[1分]
、
20,10
、
20,20
、
10,20
、
10,10
答案:
32、【
单选题
】
下列选项中不合法的十六进制数是( )。
[1分]
、
"0"xff
、
"0"X11
、
"0"x1g
、
”0”Xabc
答案:
33、【
单选题
】
有以下程序:
int fun(int x)
{ int p;
if(x==0||x==1)return(3);
p=x-fun(x-2);
return p;
}
main()
{ printf("%d\n",fun(7));}
执行后的结果是( )。
[1分]
答案:
34、【
单选题
】
有以下程序
#include
void fun(char**p)
{++p;printf("%s",*p);}
main()
{char*a[]={"Morning","Afternoon","Evening"," Night");
fun(a);
}
程序的运行结果是( )。
[1分]
、
Afternoon
、
fternoon
、
Morning
、
orning
答案:
35、【
单选题
】
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是( )。
[1分]
、
数据库系统
、
文件系统
、
人工管理
、
数据项管理
答案:
36、【
单选题
】
下面程序输出的是( )。
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]);}
[1分]
、
1,2,3,
1,5,9,
、
1,3,5,
1,3,j,
、
1,3,5,
0,4,8,
、
1,3。5,
-1,3,7,
答案:
37、【
单选题
】
以下程序的输出结果是( )。
main()
{int x=0.5;char z='a';
printf("%d\n",(x&1)&&(z<'2'));}
[1分]
答案:
38、【
单选题
】
设a=l,b=2,c=3,d=4,则表达式:“a<B?A:B< )。
[1分]
答案:
39、【
单选题
】
以下程序的输出结果是( )。
main()
{ char w[][10]={"ABCD","EFGH","IJKL","
MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);
[1分]
、
ABCD
FGH
KL
、
ABCD
EFG
U
、
EFG
JK
O
、
EFGH
UKL
答案:
40、【
单选题
】
有以下程序:
#include
main()
{ int x=4,y;
do
{ y=x;
if(!y)printf("x");
else
printf("y"):
x--;
}while(x);
}
程序的输出结果是( )。
[1分]
、
xyyx
、
yyyy
、
yyxx
、
yxyx
答案: