1.C語言提供的預(yù)處理功能包括條件,其基本形式為:
#××× 標(biāo)識符
程序段1
#else
程序段2
#endif
這里的×××可以是()
A)define或include
B)ifdef或include
C)indef或ifndef或define
D)ifdef或ifndef或if
2.若有如下語句:
struct a
{char x[10]
int y;
}s,*t;
t= &s;
則對結(jié)構(gòu)體變量s中的成員y的正確引用是()
A)a.y;
B)t- >y;
C)t.y;
D)*t- >y;
3.下列程序
main()
{chararr[2][4];
strcpy(arr, "you");
strcpy(arr[1], "me");
arr[0][3]=′ &′;
printf( "%s\n",arr);
}
執(zhí)行后的輸出結(jié)果考試大提示:是()
A)you &me
B)you
C)me
D)err
4.有以下程序:
intm=1;
void fun(int*n)
{ static intm=2;
*n*=m-1;m+=2;
}
main()
{ inti;
for(i=1;i <4;i++)
{ fun( &m);printf("%d",m);}
}
程序的輸出結(jié)果是()
A)1317
B)610
C)1315
D)1111
5.若有下列說明語句
int(*p)();
則標(biāo)識符p代表的是()
A)一個用于指向函數(shù)的指針變量,函數(shù)返回值的類型為int型
B)一個帶回值類型為整型的函數(shù)名
C)一個用于指向整型數(shù)據(jù)的指針變量
D)一個帶回值類型為指針類型的函數(shù)名
6.有以下程序
# include
void fun(float *p1,int n1,float *p2,int n2,float *s)
{ int i;
s=(float *)calloc(1,sizeof(float));
*s=0;
for(i=0;i *s+=*p1++;
for(i=0;i *s+=*p2++;
}
main()
{ float a[2]={1.1,2.2},b[3]={10.0,20.0,10.0},*s=a;
fun(a,2,b,3,s);
printf( "%f\n",*s);
}
上面程序的輸出結(jié)果是()
A)60.000000
B)3.100000
C)63.100000
D)1.100000
7.以下程序的輸出結(jié)果是()
# include
main()
{
union un{int i;
long k;
char c;
};
struct byte {
int a;
long b;
union un c;
} r;
printf( "%d\n",sizeof(r));
}
A)10
B)13
C)7
D)8
8.若主函數(shù)中有以下定義和語句:
main()
{doublea[3][4];
……
fun(a);
}
則正確的fun函數(shù)的首部是()
A)void fun(double*s)
B)fun(double*s[4])
C)fun(double(*s)[3])
D)void fun(double(*s)[4])
9.有以下程序:
intfa(intx)
{returnx*x;}
intfb(int x)
{returnx*x*x;}
intf(int(*f1)(),int(*f2)(),intx)
{return(*f2)(x)-(*f1)(x);}
main()
{inti;
i=f(fa,fb,2);
printf( "%d\n",i);
}
程序運行后的輸出結(jié)果是()
A)-4
B)1
C)4
D)8
10.C語言中共用體類型變量在程序運行期間()
A)最后一次存放的成員起作用,其他成員都已失去作用
B)已存放的一部分成員在內(nèi)存中起作用
C)已存放的成員沒有一個在內(nèi)存中起作用
D)已存放的所有成員在內(nèi)存中都起作用
答案:1.D 2.B 3.A 4.C 5.A 6.D 7.A 8.D 9.C 10.A
#××× 標(biāo)識符
程序段1
#else
程序段2
#endif
這里的×××可以是()
A)define或include
B)ifdef或include
C)indef或ifndef或define
D)ifdef或ifndef或if
2.若有如下語句:
struct a
{char x[10]
int y;
}s,*t;
t= &s;
則對結(jié)構(gòu)體變量s中的成員y的正確引用是()
A)a.y;
B)t- >y;
C)t.y;
D)*t- >y;
3.下列程序
main()
{chararr[2][4];
strcpy(arr, "you");
strcpy(arr[1], "me");
arr[0][3]=′ &′;
printf( "%s\n",arr);
}
執(zhí)行后的輸出結(jié)果考試大提示:是()
A)you &me
B)you
C)me
D)err
4.有以下程序:
intm=1;
void fun(int*n)
{ static intm=2;
*n*=m-1;m+=2;
}
main()
{ inti;
for(i=1;i <4;i++)
{ fun( &m);printf("%d",m);}
}
程序的輸出結(jié)果是()
A)1317
B)610
C)1315
D)1111
5.若有下列說明語句
int(*p)();
則標(biāo)識符p代表的是()
A)一個用于指向函數(shù)的指針變量,函數(shù)返回值的類型為int型
B)一個帶回值類型為整型的函數(shù)名
C)一個用于指向整型數(shù)據(jù)的指針變量
D)一個帶回值類型為指針類型的函數(shù)名
6.有以下程序
# include
void fun(float *p1,int n1,float *p2,int n2,float *s)
{ int i;
s=(float *)calloc(1,sizeof(float));
*s=0;
for(i=0;i
for(i=0;i
}
main()
{ float a[2]={1.1,2.2},b[3]={10.0,20.0,10.0},*s=a;
fun(a,2,b,3,s);
printf( "%f\n",*s);
}
上面程序的輸出結(jié)果是()
A)60.000000
B)3.100000
C)63.100000
D)1.100000
7.以下程序的輸出結(jié)果是()
# include
main()
{
union un{int i;
long k;
char c;
};
struct byte {
int a;
long b;
union un c;
} r;
printf( "%d\n",sizeof(r));
}
A)10
B)13
C)7
D)8
8.若主函數(shù)中有以下定義和語句:
main()
{doublea[3][4];
……
fun(a);
}
則正確的fun函數(shù)的首部是()
A)void fun(double*s)
B)fun(double*s[4])
C)fun(double(*s)[3])
D)void fun(double(*s)[4])
9.有以下程序:
intfa(intx)
{returnx*x;}
intfb(int x)
{returnx*x*x;}
intf(int(*f1)(),int(*f2)(),intx)
{return(*f2)(x)-(*f1)(x);}
main()
{inti;
i=f(fa,fb,2);
printf( "%d\n",i);
}
程序運行后的輸出結(jié)果是()
A)-4
B)1
C)4
D)8
10.C語言中共用體類型變量在程序運行期間()
A)最后一次存放的成員起作用,其他成員都已失去作用
B)已存放的一部分成員在內(nèi)存中起作用
C)已存放的成員沒有一個在內(nèi)存中起作用
D)已存放的所有成員在內(nèi)存中都起作用
答案:1.D 2.B 3.A 4.C 5.A 6.D 7.A 8.D 9.C 10.A

