模擬試卷(四)
一、單項(xiàng)選擇題(在本題的每一小題的備選答案中只有一個(gè)答案是正確的,請(qǐng)把你認(rèn)為正確答案的題號(hào),填入題干的括號(hào)內(nèi)。多選不給分。每題1分,共20分)
1.以下各選項(xiàng)中,均是c語(yǔ)言保留字的組是( )。
(1)integer、floa、double (2)If、else、switch
(3)struct、union、enum (4)auto、static、external
2.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
(1)2,1 (2)3,2 (3)4,3 (4)2,-1
3.與語(yǔ)句
y=(x>0?1:x<0?-1:0);
的功能相同的if語(yǔ)句是( )。
(1)if (x>0) y=1; (2)if (x)
else if (x0) y=-1; if (x>0) y=1;
else y=0; else if (x<0) y=-1;
else y=0;
(3)y=-1; (4)y=0;
if (x) if (x>=0)
if (x>0) y=1; if (x>0) y=1;
else if (x==0) y=0; else y=-1;
else y=-1;
4.兩次運(yùn)行下述程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是( )。
#include
main()
{
int x;
xcanf("%d",&x);
if (x++>5)
printf("%d\n",x);
else
printf("%d\n",x--);
}
(1)7和5 (2)6和3 (3)7和4 (4)6和4
5.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int x=3;
do
{
printf("%d\n",x-=2);
} while (!(--x));
}
(1)1 (2)1 (3)3 (4)死循環(huán)
-2 0
6.執(zhí)行下述程序的輸出結(jié)果是( ?。?。
#include
main()
{
int x=10,y=10,i;
for (i=0;x>8;y++i)
printf("%d %d",x--,y);
printf("\n");
}
(1)10 1 9 2 (2)9 8 7 6 (3)10 9 9 0 (4)10 10 9 1
7.運(yùn)行以下程序后,如果從鍵盤上輸入
China#
則輸出結(jié)果為( )。
#include
main()
{
int v1=0,v2=0;
char ch;
while ((ch=getchar())!='#')
{
switch (ch)
{
case 'a':
case 'h':
default :v1++;
case 'o':v2++;
}
}
printf("%d,%d\n",v1,v2);
}
(1)2,0 (2)5,0 (3)5,5 (4)2,5
8.執(zhí)行下述程序后的輸出結(jié)果是( )。
#include
main()
{
int n[3],i,j,k;
for (i=0;i<3;i++)
n[i]=0;
k=2;
for (i=0;i for (j=0;j n[j]=n[i]+1;
printf("%d\n",n[1]);
}
(1)2 (2)1 (3)0 (4)3
9.以下帶初始賦值的二維數(shù)組說(shuō)明語(yǔ)句中語(yǔ)法正確的是( )。
(1)int a[2][]={{1,0,1},{5,2,3}};
(2)int a[][3]={{1,2,3},{4,5,6}};
{3}int a[2][4]={{1,2,3},{4,5},{6}}
(4)int a[][3]={{1,0.1},{},{1,1}};
10.若有以下的定義
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;
則值為3的表達(dá)式是( )。
(1)p+=2,*(p++) (2)p+=2,*++p
(3)p+=3,*p++ (4)p+=2,++*p
11.下面程序的運(yùn)行結(jié)果是( )。
#include
main()
{
char a[]="programming",*p;
p=a;
while (*p!='i')
{
printf{"%c",*p-32);
p++;
}
printf("E\n");
}
(1)PROG (2)programmE (3)PROGRAMME (4)PROGRAMM
12.設(shè)有如下定義
int (*ptr) ();
則以下敘述中正確的是( )。
(1)ptr是指向一維數(shù)組的指針變量
(2)ptr是指向int型數(shù)據(jù)的指針變量
(3)ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)
(4)ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針
13.設(shè)有下述函數(shù)定義
int stlen (char *s)
{
int n=0;
while (*s++)
n++;
return (n);
}
若調(diào)用此函數(shù)時(shí),字符指針s所指向的字符串是"I love this game.",則函數(shù)的返回值是( )。
(1)17 (2)16 (3)18 (4)0
14.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
func(int x)
{
static int a=3;
a+=x;
return (a);
}
main()
{
int k=2,m=1,n;
n=func(k);
n+=func(m);
printf("%d\n",n);
}
(1)8 (2)9 (3)11 (4)14
15.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
sub1(char a,char b)
{
char c;
c=a;
a=b;
b=c;
}
sub2(char *a,char b)
{
char c;
c=*a;
*a=b;
b=c;
}
sub3(char *a,char *b)
{
char c;
c=*a;
*a=*b;
*b=c;
}
main()
{
char a,b;
a='A';b='B';
sub3(&a,&b);
putchar (a);
putchar (b);
a='A'; b='B';
sub2(&a,b);
putchar(a);
putchar(b);
a='A';b='B';
sub1(a,b);
putchar(a);
putchar(b);
printf("\n");
}
(1)BABBAB (2)ABBBBA (3)BABABA (4)BAABBA
16.以下程序運(yùn)行后,輸出結(jié)果是( )。
#include
func(int a,int b)
{
static int m=0,i=2;
i+=m+1;
m=i+a+b;
return (m);
}
main()
{
int k=4,m=1,p;
p=func(k,m);
printf("%d,",p);
p=func(k,m);
printf("%d\n",p);
}
(1)8,15 (2)8,16 (3)8,17 (4)8,8
17.以下所寫結(jié)構(gòu)體類型定義和變量說(shuō)明中,語(yǔ)法上有錯(cuò)誤的是( )。
(1)struct item
{
int num;
struct item *next;
};
struct item *head;
(2)struct item
{
int num;
struct item *next;
} *head;
(3)#defime ITEM struct item
ITEM
{
int num;
ITEM *next;
};
ITEM *head;
(4)struct item
{
int num;
struct item *next;
};
item *head;
18.執(zhí)行下述程序的輸出結(jié)果是( ?。?。
#include
main()
{
union
{
char c[4];
int i[2];
} u;
int m;
u.i[0]=ox4142;
u.i[1]=ox6162;
for (m=0;m<4;m++)
printf("%c",u.c[m]);
printf("\n");
}
(1)abAB (2)baBA (3)ABab (4)BAba
19.設(shè)a是一個(gè)一維數(shù)組變量,其說(shuō)明如下:
int a[5];
若已知fp是指向某個(gè)已打開(kāi)的磁盤文件的文件指針,則下面函數(shù)調(diào)用語(yǔ)句中不正確的是( )。
(1)fread (a[0],sizeof(int),5,fp);
(2)fread (&a[0],5*sizeof(int),1,fp);
(3)fread (a,sizeof(int),5,fp);
(4)fread(a,5*sizeof(int),1,fp);
20.指向如下程序后,輸出結(jié)果為( )。
#include
#define N 4+1
#define RE 5*M+M*N
main()
{
printf("%d\n",RE/2);
}
(1)150 (2)100 (3)41 (4)以上結(jié)果均不正確
一、單項(xiàng)選擇題(在本題的每一小題的備選答案中只有一個(gè)答案是正確的,請(qǐng)把你認(rèn)為正確答案的題號(hào),填入題干的括號(hào)內(nèi)。多選不給分。每題1分,共20分)
1.以下各選項(xiàng)中,均是c語(yǔ)言保留字的組是( )。
(1)integer、floa、double (2)If、else、switch
(3)struct、union、enum (4)auto、static、external
2.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
(1)2,1 (2)3,2 (3)4,3 (4)2,-1
3.與語(yǔ)句
y=(x>0?1:x<0?-1:0);
的功能相同的if語(yǔ)句是( )。
(1)if (x>0) y=1; (2)if (x)
else if (x0) y=-1; if (x>0) y=1;
else y=0; else if (x<0) y=-1;
else y=0;
(3)y=-1; (4)y=0;
if (x) if (x>=0)
if (x>0) y=1; if (x>0) y=1;
else if (x==0) y=0; else y=-1;
else y=-1;
4.兩次運(yùn)行下述程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是( )。
#include
main()
{
int x;
xcanf("%d",&x);
if (x++>5)
printf("%d\n",x);
else
printf("%d\n",x--);
}
(1)7和5 (2)6和3 (3)7和4 (4)6和4
5.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int x=3;
do
{
printf("%d\n",x-=2);
} while (!(--x));
}
(1)1 (2)1 (3)3 (4)死循環(huán)
-2 0
6.執(zhí)行下述程序的輸出結(jié)果是( ?。?。
#include
main()
{
int x=10,y=10,i;
for (i=0;x>8;y++i)
printf("%d %d",x--,y);
printf("\n");
}
(1)10 1 9 2 (2)9 8 7 6 (3)10 9 9 0 (4)10 10 9 1
7.運(yùn)行以下程序后,如果從鍵盤上輸入
China#
則輸出結(jié)果為( )。
#include
main()
{
int v1=0,v2=0;
char ch;
while ((ch=getchar())!='#')
{
switch (ch)
{
case 'a':
case 'h':
default :v1++;
case 'o':v2++;
}
}
printf("%d,%d\n",v1,v2);
}
(1)2,0 (2)5,0 (3)5,5 (4)2,5
8.執(zhí)行下述程序后的輸出結(jié)果是( )。
#include
main()
{
int n[3],i,j,k;
for (i=0;i<3;i++)
n[i]=0;
k=2;
for (i=0;i
printf("%d\n",n[1]);
}
(1)2 (2)1 (3)0 (4)3
9.以下帶初始賦值的二維數(shù)組說(shuō)明語(yǔ)句中語(yǔ)法正確的是( )。
(1)int a[2][]={{1,0,1},{5,2,3}};
(2)int a[][3]={{1,2,3},{4,5,6}};
{3}int a[2][4]={{1,2,3},{4,5},{6}}
(4)int a[][3]={{1,0.1},{},{1,1}};
10.若有以下的定義
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;
則值為3的表達(dá)式是( )。
(1)p+=2,*(p++) (2)p+=2,*++p
(3)p+=3,*p++ (4)p+=2,++*p
11.下面程序的運(yùn)行結(jié)果是( )。
#include
main()
{
char a[]="programming",*p;
p=a;
while (*p!='i')
{
printf{"%c",*p-32);
p++;
}
printf("E\n");
}
(1)PROG (2)programmE (3)PROGRAMME (4)PROGRAMM
12.設(shè)有如下定義
int (*ptr) ();
則以下敘述中正確的是( )。
(1)ptr是指向一維數(shù)組的指針變量
(2)ptr是指向int型數(shù)據(jù)的指針變量
(3)ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)
(4)ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針
13.設(shè)有下述函數(shù)定義
int stlen (char *s)
{
int n=0;
while (*s++)
n++;
return (n);
}
若調(diào)用此函數(shù)時(shí),字符指針s所指向的字符串是"I love this game.",則函數(shù)的返回值是( )。
(1)17 (2)16 (3)18 (4)0
14.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
func(int x)
{
static int a=3;
a+=x;
return (a);
}
main()
{
int k=2,m=1,n;
n=func(k);
n+=func(m);
printf("%d\n",n);
}
(1)8 (2)9 (3)11 (4)14
15.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
sub1(char a,char b)
{
char c;
c=a;
a=b;
b=c;
}
sub2(char *a,char b)
{
char c;
c=*a;
*a=b;
b=c;
}
sub3(char *a,char *b)
{
char c;
c=*a;
*a=*b;
*b=c;
}
main()
{
char a,b;
a='A';b='B';
sub3(&a,&b);
putchar (a);
putchar (b);
a='A'; b='B';
sub2(&a,b);
putchar(a);
putchar(b);
a='A';b='B';
sub1(a,b);
putchar(a);
putchar(b);
printf("\n");
}
(1)BABBAB (2)ABBBBA (3)BABABA (4)BAABBA
16.以下程序運(yùn)行后,輸出結(jié)果是( )。
#include
func(int a,int b)
{
static int m=0,i=2;
i+=m+1;
m=i+a+b;
return (m);
}
main()
{
int k=4,m=1,p;
p=func(k,m);
printf("%d,",p);
p=func(k,m);
printf("%d\n",p);
}
(1)8,15 (2)8,16 (3)8,17 (4)8,8
17.以下所寫結(jié)構(gòu)體類型定義和變量說(shuō)明中,語(yǔ)法上有錯(cuò)誤的是( )。
(1)struct item
{
int num;
struct item *next;
};
struct item *head;
(2)struct item
{
int num;
struct item *next;
} *head;
(3)#defime ITEM struct item
ITEM
{
int num;
ITEM *next;
};
ITEM *head;
(4)struct item
{
int num;
struct item *next;
};
item *head;
18.執(zhí)行下述程序的輸出結(jié)果是( ?。?。
#include
main()
{
union
{
char c[4];
int i[2];
} u;
int m;
u.i[0]=ox4142;
u.i[1]=ox6162;
for (m=0;m<4;m++)
printf("%c",u.c[m]);
printf("\n");
}
(1)abAB (2)baBA (3)ABab (4)BAba
19.設(shè)a是一個(gè)一維數(shù)組變量,其說(shuō)明如下:
int a[5];
若已知fp是指向某個(gè)已打開(kāi)的磁盤文件的文件指針,則下面函數(shù)調(diào)用語(yǔ)句中不正確的是( )。
(1)fread (a[0],sizeof(int),5,fp);
(2)fread (&a[0],5*sizeof(int),1,fp);
(3)fread (a,sizeof(int),5,fp);
(4)fread(a,5*sizeof(int),1,fp);
20.指向如下程序后,輸出結(jié)果為( )。
#include
#define N 4+1
#define RE 5*M+M*N
main()
{
printf("%d\n",RE/2);
}
(1)150 (2)100 (3)41 (4)以上結(jié)果均不正確