1.單項(xiàng)選擇題(在本題的每一小題的備選答案中只有一個(gè)答案是正確的,請(qǐng)把你認(rèn)為正確答案的題號(hào),填入題于的括號(hào)內(nèi)。多選不給。每題1分,共20分)
1.以下符合語(yǔ)法規(guī)則的用戶標(biāo)識(shí)符是( )。
(1)1st (2) break (3)B757 (4) Two Words
2.若要求在if語(yǔ)句括在圓括號(hào)對(duì)中的表達(dá)示表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式是( )。
(1)a<>0 (2)!a (3)a=0 (4)
3.若定義
int a=1,b=2,c=3,d=4,e;
則執(zhí)行下述語(yǔ)句
e=a>b?a:c 后,e的值為( ?。?。
(1)1 (2)2 (3)3 (4)4
4.下面的語(yǔ)句組所表示的數(shù)學(xué)函數(shù)關(guān)系是( ?。??!?BR> y=-1;
if (x!=0)
if (x>0)
y=1;
else
y=0;
5. 以下敘述正確的是( )。
(1)do-while語(yǔ)句構(gòu)成的循環(huán)不能用其他語(yǔ)句構(gòu)成的循環(huán)來(lái)代替
(2)do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出
(3)do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)
(4)do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)
6.有以下程序
#include
main()
{
int x,i;
for (i=1;i<=50;i++)
{
x=i;
if (++x%2==0)
if (x%3==0)
if (x%7==0)
printf("%d",i);
}
printf("\n");
}
執(zhí)行此程序的輸出結(jié)果是( )。
(1)28 (2)27 (3)42 (4)41
7.執(zhí)行下述程序的輸出是( )。
#include
main()
{
int y=9;
for (;y>0;y--)
{
if (y%3==0)
{
printf("y%3==0);
continue;
}
if (y!=1)
printf("%c",' ');
else
printf("\n");
}
}
(1) 7 4 1 (2)8 5 2 (3)9 6 3 (4)8 7 5 4 2 1
8.若有以下程序片段
char str[]="ab\n\012\\\"";
printf("%d\n",strlen(str));
則執(zhí)行printf語(yǔ)句的輸出結(jié)果是( )。
(1)6 (2)12 (3)3 (4)4
9.對(duì)于如下之程序段,應(yīng)有( )。
char a[10],b[]="China";
a=b;
printf("%s",a);
(1)運(yùn)行后將輸出China (2)運(yùn)行后將輸出ch
(3)運(yùn)行后將輸出c (4)程序出錯(cuò),不能運(yùn)行
10.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for (i=0;i<4;i+=2)
printf("%d",p[i]);
printf("\n");
}
(1) 5 2 (2) 5 1 (3) 5 3 (4) 9 7
11.以下程序當(dāng)運(yùn)行時(shí),如果從鍵盤上輸入
book
book
則輸出結(jié)果是( )。
#include
#include
main()
{
char a1[80],a2[80],*s1=a1,*s2=a2;
gets(s1); gets(s2);
if (!strcmp(s1,s2))
printf("*");
else
print("#");
printf("%d\n",strlen(strcat(s1,s2)));
}
(1)*8 (2)#9 (3)#8 (4)*9
12.下面的程序段的運(yùn)行結(jié)果是( )。
char str[]="NBA",*p=str;
printf("%d\n",*(p+3)));
(1) 65 (2)0 (3)字符'A'的地址 (4)A
13.決定c語(yǔ)言中函數(shù)返回值類型的是( )。
(1)return語(yǔ)句中的表達(dá)式類型
(2)調(diào)用該函數(shù)的主調(diào)函數(shù)類型
(3)調(diào)用函數(shù)時(shí)臨時(shí)指定的類型
(4)定義函數(shù)時(shí)在函數(shù)首部中所指定的類型(若缺省,則隱含為int型)
14.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
int func(int x,int y,int *cp,int *dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{
int a,b,c,d;
a=30;
b=50;
func(a,b,&c,&d);
printf("%d,%d\n",c,d);
}
(1)80,-20 (2)80,20 (3)50,30 (4)30,50
15.欲定義一函數(shù),其功能是交換兩個(gè)整數(shù)值,且通過(guò)函數(shù)調(diào)用能返回交換的結(jié)果。能正確執(zhí)行此功能的函數(shù)定義是( )。
(1)func(int x,int y)
{
int t;
t=x;
x=y;
y=t;;
}
(2)func(int *x,int *y)
{
*x=*y;
*y=*x;
}
(3)func(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
(4)func(int *x,int *y)
{
int *t;
*t=*x;
*x=*y;
*y=*t;
}
16.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
int d=1;
func (int p)
{
static int d=5;
d+=p;
printf ("%d ",d);
return (d);
}
main ()
{
int a=3;
printf("%d\n",func(a+func(d));
}
(1)6 9 9 (2)6 6 9 (3)6 15 15 (4)6 6 15
17.設(shè)有如下定義
struct sk
{
int a;
float b;
} data,*p;
若有 p=&data;
則對(duì)data中的成員a的正確引用是( )。
(1)(*p).data.a (2)(*p).a (3)p->data.a (4)p.data.a
18.若已建立下面的鏈表結(jié)構(gòu),指針變量p、q分別指向圖中所示結(jié)點(diǎn),則下列語(yǔ)句組中,不能實(shí)現(xiàn)將q所指向的結(jié)點(diǎn)插入到鏈表末尾的一組語(yǔ)句是( )。
(1)q->next=NULL; (2) p=p->next;
p=p->next; q->next=p->next;
p->next=q; p->next=q;
(3) p=p->next; (4) p=(*p).next;
q->next=p; (*q).next=(*p).next;
p->next=q; (*p).next=q;
19.函數(shù)調(diào)用語(yǔ)句
fseek(fp,-20L,2);
的含義是( )。
(1)將文件位置指針移動(dòng)到距離文件頭20個(gè)字節(jié)處
(2)將文件位置指針從當(dāng)前位置向后移動(dòng)20個(gè)字節(jié)
(3)將文件位置指針從文件末尾處向后退20個(gè)字節(jié)
(4)將文件位置指針移動(dòng)到離當(dāng)前位置20個(gè)字節(jié)處
20.若以下程序所生成的可執(zhí)行文件名為filel.exe,則當(dāng)在操作系統(tǒng)狀態(tài)下輸入下述命令行執(zhí)行該程序時(shí)
FILE1 CHINA BEIJING SHANGHAI
程序的輸出結(jié)果是( )。
#include
main(int argc,char *argv[])
{
while (argc-->1)
{
++argv;
printf("%s ",*argv);
}
printf("\n");
}
(1)CHINA BEIJING SHANGHAI (2)FILE1 CHINA BEIJING SHANGHAI
(3)C B S (4)F C B
1.以下符合語(yǔ)法規(guī)則的用戶標(biāo)識(shí)符是( )。
(1)1st (2) break (3)B757 (4) Two Words
2.若要求在if語(yǔ)句括在圓括號(hào)對(duì)中的表達(dá)示表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式是( )。
(1)a<>0 (2)!a (3)a=0 (4)
3.若定義
int a=1,b=2,c=3,d=4,e;
則執(zhí)行下述語(yǔ)句
e=a>b?a:c
(1)1 (2)2 (3)3 (4)4
4.下面的語(yǔ)句組所表示的數(shù)學(xué)函數(shù)關(guān)系是( ?。??!?BR> y=-1;
if (x!=0)
if (x>0)
y=1;
else
y=0;
5. 以下敘述正確的是( )。
(1)do-while語(yǔ)句構(gòu)成的循環(huán)不能用其他語(yǔ)句構(gòu)成的循環(huán)來(lái)代替
(2)do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出
(3)do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)
(4)do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)
6.有以下程序
#include
main()
{
int x,i;
for (i=1;i<=50;i++)
{
x=i;
if (++x%2==0)
if (x%3==0)
if (x%7==0)
printf("%d",i);
}
printf("\n");
}
執(zhí)行此程序的輸出結(jié)果是( )。
(1)28 (2)27 (3)42 (4)41
7.執(zhí)行下述程序的輸出是( )。
#include
main()
{
int y=9;
for (;y>0;y--)
{
if (y%3==0)
{
printf("y%3==0);
continue;
}
if (y!=1)
printf("%c",' ');
else
printf("\n");
}
}
(1) 7 4 1 (2)8 5 2 (3)9 6 3 (4)8 7 5 4 2 1
8.若有以下程序片段
char str[]="ab\n\012\\\"";
printf("%d\n",strlen(str));
則執(zhí)行printf語(yǔ)句的輸出結(jié)果是( )。
(1)6 (2)12 (3)3 (4)4
9.對(duì)于如下之程序段,應(yīng)有( )。
char a[10],b[]="China";
a=b;
printf("%s",a);
(1)運(yùn)行后將輸出China (2)運(yùn)行后將輸出ch
(3)運(yùn)行后將輸出c (4)程序出錯(cuò),不能運(yùn)行
10.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for (i=0;i<4;i+=2)
printf("%d",p[i]);
printf("\n");
}
(1) 5 2 (2) 5 1 (3) 5 3 (4) 9 7
11.以下程序當(dāng)運(yùn)行時(shí),如果從鍵盤上輸入
book
book
則輸出結(jié)果是( )。
#include
#include
main()
{
char a1[80],a2[80],*s1=a1,*s2=a2;
gets(s1); gets(s2);
if (!strcmp(s1,s2))
printf("*");
else
print("#");
printf("%d\n",strlen(strcat(s1,s2)));
}
(1)*8 (2)#9 (3)#8 (4)*9
12.下面的程序段的運(yùn)行結(jié)果是( )。
char str[]="NBA",*p=str;
printf("%d\n",*(p+3)));
(1) 65 (2)0 (3)字符'A'的地址 (4)A
13.決定c語(yǔ)言中函數(shù)返回值類型的是( )。
(1)return語(yǔ)句中的表達(dá)式類型
(2)調(diào)用該函數(shù)的主調(diào)函數(shù)類型
(3)調(diào)用函數(shù)時(shí)臨時(shí)指定的類型
(4)定義函數(shù)時(shí)在函數(shù)首部中所指定的類型(若缺省,則隱含為int型)
14.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
int func(int x,int y,int *cp,int *dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{
int a,b,c,d;
a=30;
b=50;
func(a,b,&c,&d);
printf("%d,%d\n",c,d);
}
(1)80,-20 (2)80,20 (3)50,30 (4)30,50
15.欲定義一函數(shù),其功能是交換兩個(gè)整數(shù)值,且通過(guò)函數(shù)調(diào)用能返回交換的結(jié)果。能正確執(zhí)行此功能的函數(shù)定義是( )。
(1)func(int x,int y)
{
int t;
t=x;
x=y;
y=t;;
}
(2)func(int *x,int *y)
{
*x=*y;
*y=*x;
}
(3)func(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
(4)func(int *x,int *y)
{
int *t;
*t=*x;
*x=*y;
*y=*t;
}
16.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
int d=1;
func (int p)
{
static int d=5;
d+=p;
printf ("%d ",d);
return (d);
}
main ()
{
int a=3;
printf("%d\n",func(a+func(d));
}
(1)6 9 9 (2)6 6 9 (3)6 15 15 (4)6 6 15
17.設(shè)有如下定義
struct sk
{
int a;
float b;
} data,*p;
若有 p=&data;
則對(duì)data中的成員a的正確引用是( )。
(1)(*p).data.a (2)(*p).a (3)p->data.a (4)p.data.a
18.若已建立下面的鏈表結(jié)構(gòu),指針變量p、q分別指向圖中所示結(jié)點(diǎn),則下列語(yǔ)句組中,不能實(shí)現(xiàn)將q所指向的結(jié)點(diǎn)插入到鏈表末尾的一組語(yǔ)句是( )。
(1)q->next=NULL; (2) p=p->next;
p=p->next; q->next=p->next;
p->next=q; p->next=q;
(3) p=p->next; (4) p=(*p).next;
q->next=p; (*q).next=(*p).next;
p->next=q; (*p).next=q;
19.函數(shù)調(diào)用語(yǔ)句
fseek(fp,-20L,2);
的含義是( )。
(1)將文件位置指針移動(dòng)到距離文件頭20個(gè)字節(jié)處
(2)將文件位置指針從當(dāng)前位置向后移動(dòng)20個(gè)字節(jié)
(3)將文件位置指針從文件末尾處向后退20個(gè)字節(jié)
(4)將文件位置指針移動(dòng)到離當(dāng)前位置20個(gè)字節(jié)處
20.若以下程序所生成的可執(zhí)行文件名為filel.exe,則當(dāng)在操作系統(tǒng)狀態(tài)下輸入下述命令行執(zhí)行該程序時(shí)
FILE1 CHINA BEIJING SHANGHAI
程序的輸出結(jié)果是( )。
#include
main(int argc,char *argv[])
{
while (argc-->1)
{
++argv;
printf("%s ",*argv);
}
printf("\n");
}
(1)CHINA BEIJING SHANGHAI (2)FILE1 CHINA BEIJING SHANGHAI
(3)C B S (4)F C B