1.以下程序的输出结果是( )。
void prt(int*m.int n)
{int i;
for(i=0;i<N;I++)M[I]++;)< p>
main()
{ int a[]={1,2,3,4,5),i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);)
A.1,2,3,4,5
B.2,3,4,5,6
C.3,4,5,6,7
D.2,3,4,5,1
答案:B
2.有以下程序:
void funl(char*p)
{ char*q;
q=P;
while(*q!='O')
{(*q)++;q++;}
}
main()
{ char a[]={"Program"),*P;
p=&a[3];funl(p);
printf("%sn",a);
}
程序执行后的输出结果是( )。
A.Prohsbn
B.Prphsbn
C.Progsbn
D.Program
答案:A
3.若有以下的说明和语句,则在执行for语句后,’(*(pt+1)+2)表示的数组元素是( )。
int t[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]= &t[k][0];
A.t[2][0]
B.t[2][2]
C.t[1][2]
D.t[2][1]
答案:C
4.有以下程序:
main()
{ union
{ char ch[2];
int d;
}s;
s.d=0x4321;
printf("%x,%xn",S.ch[0],S.ch[l]);
}
在16位编译系统上,程序执行后的输出结果是( )
A.21,43
B.43,21
C.43,00
D.21,00
答案:A
5.以下程序的输出结果是( )。
main()
{ int a=1,b;
for(b=1,b<=10;b++)
{ if(a>=8)break;
if(a%2==1){a+=5;continue;}
a=3;}
printf("%dn",b);
A.3
B.4
C.5
D.6
答案:B
6.有以下程序:
main()
{ int num[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,
12,},{13,14,15,16}},i,j;
for(i=0;i<4;i++)
{ for(j=0;j<I;J++)PRINTF("%4C",'');< p>
for(j=________;J<4;j++)printf("%4d",num
[i][j]);
printf("n");}}
若要按以下形式输出数组右上半三角
1 2 3 4
6 7 8
11 12
16
则在程序下划线处应填入的是( )。
A.i-1
B.i
C.i+1
D.4-i
答案:B
7.设有以下定义和语句:
char str[2O]="Program",*P:
p=str:
则以下叙述中正确的是( )。
A.*p与stf[0]的值相等
B.str与P的类型完全相同
C.str数组长度和P所指向的字符串长度相等
D.数组str中存放的内容和指针变量P中存放的内容相同
答案:A
8.有下列程序:
#include
main()
{ int x=0;
int y=0;
while(x<7 &&++v)
{ y--;
x++;}
printf("%d,%d",y,x);
}
程序的输出结果是( )。
A.0,7
B.7,7
C.0,6
D.1,6
答案:A
9.下列程序的运行结果是( )。
#include
main()
{ int a=2,b=3,c=4:
if(a<B)< p>
if(b<0)C=0:
else c++;
printf("%dn",c);
}
A.2
B.3
C.5
D.4
答案:C
10.#define能作简单的替代,用宏来替代计算多项式5 *x*x+5*x+5的值的函数f,正确的宏定义语句为( )。
A.#define f(x) 5*x*x+5*x+5
B.#define f5*X*x+5*x+5
C.#define f(a) (5*a*a+5*a+5)
D.#define(5*x*x+5*x+5) f(x)
答案:C
点击加载更多评论>>