(32) 执行下面的程序后,a的值为
main()
{ int a,b;
for (a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1) {b+=3; continue; }
b-=5; } }
A) 7 B) 8 C) 9 D) 10
(33) 以下程序段的输出结果是
int x=3;
do { printf("%3d",x-=2);} while(!(--x));
A) 1 B) 3 0 C) 1-2 D) 死循环
(34) 定义如下变量: int n=10; 则下列循环的输出结果是
while(n>7)
{ n--;
printf("%d\n",n); }
A) 10 B) 9 C) 10 D) 9
9 8 9 8
8 7 8 7
7 6
(35) 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A) 7和5 B) 6和3 C) 7和4 D) 6和4
(36) 设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下就法中正确的是
A) aa数组成元素的值分别是"abcd"和ABCD"
B) aa是指针变量,它指向含有两个数组元素的字符型一维数组
C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D) aa数组的两个元素中各自存放了字符'a'和'A'的地址
(37) 以下程序的输出结果是
main( )
{ int a=-1,b=4,k;
k=(+ +a〈0)&&!(b - -〈=0);
printf("%d%d%d\n",k,ab); }
A) 104 B) 103 C) 003 D) 004
(38) 设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是
A) *((*prt+1) [2]) B) *(*(p+5)) C) (*prt+1)+2 D) *(*(a+1)+2)
(39) 下列程序的输出结果是
main( )
{ char*p1,*p2,str[50]="xyz";
p1="abcd";
p2="ABCD";
strcpy(str+2,strcat(p1+2,p2+1);
printf)"%s",str); }
A) xyabcAB B) abcABz C) ABabcz D) xycdBCD
(40) 执行下面的程序后,a的值是
#define SQR(X) X*X
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a); }
A) 10 B) 1 C) 9 D) 0
(41) 下列程序执行后输出的结果是
#include
f(int a)
{ int b=0; static c=3:
a=c+ +,b+ +;
return (a); }
main( )
{ int a=2,i,k;
for(i=0;i〈2;i=+ +〉 k=f(a+ +);
printf("%d\n",k); }
A) 3 B) 0 C) 5 D) 4
(42) 下列程序的输出结果是
main( )
{ int a[5]={2,4,6,8,10},*P,* *k;
p=a; k=&p;
printf("%d",*(p++)); printf("%d\n",* *k); }
A) 4 4 B) 2 2 C) 2 4 D) 4 6
(43) 阅读下列程序:
main( )
{ int n[3],i,j,k;
for(i=0;i〈3;i++〉 n[i]=0;
k=2;
for (i=0;i〈k;i++〉
for (j=0;j〈k;j++〉 n[j]=n[i]+1;
printf("%d\n",n[1]); }
下述程序运行后输出结果是
A) 2 B) 1 C) 0 D) 3
(44) 字符'0'的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是
#include
main( )
{ union { int i[2]; long k; char c[4]; }r,*s=&r;
s->i[0]=0x39;
s->i[1]=0x38;
printf("%c\n",s->c[0]) }
A) 39 B) 9 C) 38 D) 8
(45) 设有以下定义:
typedef union { long i;int k[5];char c;}DATE;
struct date { int cat;DATE cow;double dog;}too;
DATE max;
则下列语句的执行结果是
printf("%d",sizeof(struct date)+sizeof(max));
A) 25 B) 30 C) 18 D) 8
(46) 执行以下程序后,y的值是
main ( )
{ int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++) y + = * (p + x);
printf("%d\n",y); }
A) 17 B) 18 C) 19 D) 20
(47) 下列程序执行后输出的结果是
int d=1;
fun (int q)
{ int d=5;
d + =p + +; printf("%d".d); }
main( )
{ int a=3;
fun(a);
d + = a + +; printf("%d\n",d); }
A) 8 4 B) 9 6 C) 9 4 D) 8 5
(48) 下列程序的输出结果是
main( )
{ char ch[2][5]={"6934,"8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i + +) p[i]=ch[i];
for(i=0;i<2;i + +)
for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0';
printf("%d\n",s);
A) 6385 B) 69825 C) 63825 D) 693825
(49) 以下程序的输出结果是
fut (int*s,int p[2][3])
{ *s=p[1][1]; }
main( )
{ int a[2][3]={1,3,5,7,9,11},*p;
p=(int*)malloc(sizeof(int));
fut(&p,a);
primtf("%d\n",*p); }
A) 1 B) 7 C) 9 D) 11
(50) 以下程序的输出结果是
#include"ctype.h"
space (char *str)
{ int i,t;char ts[81];
for(i=0,t=0;str[i]!='\0';i+=2)
if(! isspace(*str+i)&&(*(str+i)!='a'))
ts[t++]=toupper(str[i]);
ts[t]='\0';
strcpy(str,ts); }
mian( )
{ char s[81]={"a b c d e f g"};
space(s);
puts(s); }
A) abcdeg B) bcde C) ABCDE D) BCDE