1.若有以下說明和定義
typedefint*INTEGER;
INTEGERp,*q;
以下敘述正確的是()
A)p是int型變量
B)p是基類型為int的指針變量
C)q是基類型為int的指針變量
D)程序中可用INTEGER代替int類型名
2.若指針ps已正確定義,要使ps指向能夠存儲8個字符的動態(tài)存儲單元,以下不正確的語句是()
A)ps=(char*)malloc(8);
B)ps=(char*)malloc(sizeof(char)*8);
C)ps=(char*)calloc(8,sizeof(char));
D)ps=8*(char*)malloc(sizeof(char));
3.設(shè)下面程序段中調(diào)用fun函數(shù)傳送實參a和b,
main()
{
char a[10],b[10];
…
fun (a,b);
…
}
則在fun函數(shù)首部中,對形參錯誤的定義是()
A)fun(char a[10],b[10]){ …}
B)fun(char a1[],char a2[]){ …}
C)fun(char p[10],char q[10]){ …}
D)fun(char*s1,char*s2){ …}
4.C語言規(guī)定,程序中各函數(shù)之間()
A)既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B)不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C)允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D)不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
5.下列程序
voidfunc1(int i);
voidfunc2(int i);
char st[ ]="hello,friend!";
void func1(int i)
{printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
void func2(int i)
{printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{inti=0;func1(i);printf("\n");}
執(zhí)行后的輸出結(jié)果是()
A)hello
B)hel
C)hlo
D)hlrn
6.以下對結(jié)構(gòu)體類型變量的定義中,不正確的是()
A)typedef struct aa
{int n;
float m;
}AA;
AA tdl;
C)struct
{int n;
float m;
}aa;
struct aa tdl;B)#define AA struct aa
AA{int n;
float m;
}tdl;
D)struct
{int n;
float m;
}tdl;
7.有以下程序
main()
{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
程序運行后的輸出結(jié)果是()
A)18
B)19
C)20
D)21
8.請選出以下程序的輸出結(jié)果()
#include
sub(x,y,z)
int x,y,*z;
{*z=y-x;}
main()
{ int a,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
}
A)5,2,3B)-5,-12,-7
C)-5,-12,-17D)5,-2,-749.若有如下定義:
unionaa
{int n;char c[9];float x;}a,b,c;
9.則下列敘述中不正確的是()
A)union aa是定義的共用體類型
B)a,b,c 是定義的共用體類型名
C)n、c[9]和x是共用體的成員名
D)a,b,c 是定義的共用體變量名
10.在下列定義中的共用體所占內(nèi)存字節(jié)數(shù)是()
Union
{char k[6];
struct
{int m;float f; }a;
double d; }b;
A)8
B)14
C)18
D)10
答案:1.B 42.D 43.A 44.A 45.C 46.C 47.A 48.B 49.B 50.A
typedefint*INTEGER;
INTEGERp,*q;
以下敘述正確的是()
A)p是int型變量
B)p是基類型為int的指針變量
C)q是基類型為int的指針變量
D)程序中可用INTEGER代替int類型名
2.若指針ps已正確定義,要使ps指向能夠存儲8個字符的動態(tài)存儲單元,以下不正確的語句是()
A)ps=(char*)malloc(8);
B)ps=(char*)malloc(sizeof(char)*8);
C)ps=(char*)calloc(8,sizeof(char));
D)ps=8*(char*)malloc(sizeof(char));
3.設(shè)下面程序段中調(diào)用fun函數(shù)傳送實參a和b,
main()
{
char a[10],b[10];
…
fun (a,b);
…
}
則在fun函數(shù)首部中,對形參錯誤的定義是()
A)fun(char a[10],b[10]){ …}
B)fun(char a1[],char a2[]){ …}
C)fun(char p[10],char q[10]){ …}
D)fun(char*s1,char*s2){ …}
4.C語言規(guī)定,程序中各函數(shù)之間()
A)既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B)不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C)允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D)不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
5.下列程序
voidfunc1(int i);
voidfunc2(int i);
char st[ ]="hello,friend!";
void func1(int i)
{printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
void func2(int i)
{printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{inti=0;func1(i);printf("\n");}
執(zhí)行后的輸出結(jié)果是()
A)hello
B)hel
C)hlo
D)hlrn
6.以下對結(jié)構(gòu)體類型變量的定義中,不正確的是()
A)typedef struct aa
{int n;
float m;
}AA;
AA tdl;
C)struct
{int n;
float m;
}aa;
struct aa tdl;B)#define AA struct aa
AA{int n;
float m;
}tdl;
D)struct
{int n;
float m;
}tdl;
7.有以下程序
main()
{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
程序運行后的輸出結(jié)果是()
A)18
B)19
C)20
D)21
8.請選出以下程序的輸出結(jié)果()
#include
sub(x,y,z)
int x,y,*z;
{*z=y-x;}
main()
{ int a,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
}
A)5,2,3B)-5,-12,-7
C)-5,-12,-17D)5,-2,-749.若有如下定義:
unionaa
{int n;char c[9];float x;}a,b,c;
9.則下列敘述中不正確的是()
A)union aa是定義的共用體類型
B)a,b,c 是定義的共用體類型名
C)n、c[9]和x是共用體的成員名
D)a,b,c 是定義的共用體變量名
10.在下列定義中的共用體所占內(nèi)存字節(jié)數(shù)是()
Union
{char k[6];
struct
{int m;float f; }a;
double d; }b;
A)8
B)14
C)18
D)10
答案:1.B 42.D 43.A 44.A 45.C 46.C 47.A 48.B 49.B 50.A

