模擬試卷(六)
一、單項選擇題(在本題的每一小題的備選答案中只有一個答案是正確的,請把你認(rèn)為正確的答案的題號,填入題干的括號內(nèi)。多選不給分。每題1分,共20分)
1.執(zhí)行語句
printf("%d\n",12&012);
的輸出結(jié)果是( )。
(1)12 (2)8 (3)6 (4)012
2.若設(shè)n是個整型變量且已有值,則與給定條件表達(dá)式
(!n)?n+10:n-10
等價的條件表達(dá)式是( )。
(1)(n!=0)?n+10:n-10 (2)(n!=1)?n+10:n-10
(3)(n==0)?n+10:n-10 (4)(n==1)?n+10:n-10
3.設(shè)有程序
#include
main()
{
int x=3,y=0,z=0;
if (x=y+z)
printf("****\n")
else
printf("####\n");
}
則以下敘述正確的是( )。
(1)程序有語法錯誤,不能通過編譯
(2)程序可執(zhí)行,輸出結(jié)果是****
(3)程序可以通過編譯,但是不能通過連接,因而不能運行
(4)程序可執(zhí)行,輸出結(jié)果是####
4.設(shè)x和y均為int型變量,則執(zhí)行下面for語句后,y的值為( )。
for (y=1,x=1;y=50;y++)
{
if (x>=10)
break;
if (x%2==1)
{
x+=5;
continue;
}
x=-3;
}
(1)2 (2)4 (3)6 (4)8
5.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int i,j,m=0,n=0
for (i=0;i<2;i++)
for (j=0;j<2;j++)
if (j>=i) m=1;n++;
printf("%d\n",n);
}
(1)4 (2)2 (3)1 (4)o
6.執(zhí)行下述程序的輸出結(jié)果是( )
#include
main( )
{
int k=0,m=0;
int i,j;
for (i=0;i<2;i++)
{
for (j=0;j<3;j++)
k++;
k-=j;
}
m=i+j;
printf("k=%d,m+%d\n",k,m);
}
(1)k=1,m=3 (2)k=1,m=5 (3)k=0,m=3 (4)k=0,m=5
7.運行下述程序后,如果從鍵盤上輸入
65 14
則輸出結(jié)果是( )。
#include
main()
{
int m,n;
printf("Enter m,n:");
scanf("%d%d",&m,&n);
while (m!=n)
{
while (m>n)
m-=n;
while (n>m)
n-=m;
}
printf("m=%d\n",m);
}
(1)m=1 (2)m=2 (3)m=3 (4)m=0
8.下述對于c語言字符數(shù)組的描述中錯誤的是( )。
(1)字符數(shù)組可以存放字符串
(2)字符數(shù)組中的字符串可以整體輸入、輸出
(3)可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值
(4)不可以用關(guān)系運算符對字符數(shù)組中的字符串進(jìn)行比較
9.下述程序段所實現(xiàn)的功能是( )。
int a[]={4,0,2,3,1},i,j,t;
for (i=1;i<5;i++)
{
t=a[i];
j=i-1;
while (j>=0&&t>a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=t;
}
(1)對數(shù)組a進(jìn)行插入排序(按升序)
(2)對數(shù)組a進(jìn)行插入排序(按降序)
(3)對數(shù)組a進(jìn)行選擇排序(按升序)
(4)對數(shù)組a進(jìn)行選擇排序(按降序)
10.若有以下定義
char s[20]="programming",*ps=s;
則不能正確地表示其值等于字符'o'的表達(dá)式是( )。
(1)ps+2 (2)s[2] (3)ps[2] (4)ps+=2,*ps
11.閱讀程序
#include
int func(int b[],int n)
{
int i,r;
r=1;
for (i=0;i<=n;i++)
r=r*b[i];
return (r);
}
main()
{
int x,a[]={2,3,4,5,6,7,8,9};
x=func(a,3);
printf("%d\n",x);
}
執(zhí)行下述程序的輸出結(jié)果是( )。
(1)720 (2)120 (3)24 (4)6
12.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
char *t="23142";
int a=0,b=0,c=0,d=0,i;
for (i=0;t[i];i++)
switch (t[i])
{
default :d++;
case '1':a++;
csse '2':b++;
case '3':c=+;
}
printf("%d,%d,%d,%d\n",a,b,c,d);
}
(1)1,2,1,1 (2)2,4,5,1 (3)2,5,7,1 (4)1,1,1,1
13.以下程序當(dāng)運行時,如果從鍵盤上輸入
ABCD
則輸出結(jié)果是( )。
#include
#include
func(char str[])
{
int num=0;
while (*(str+num)!='\0')
num++;
return (num);
}
main()
{
char str[10],*p=str;
gets(p);
printf("%d\n",func(p));
}
(1)8 (2)7 (3)6 (4)5
14.設(shè)有如下函數(shù)定義
int func(char *s)
{
char *p=s;
while (*p1='\0')
p++;
return 9p-s);
}
如果在主程序中用下面的語句調(diào)用上述函數(shù),則輸出結(jié)果是( )。
printf("%d\n",func("Good-bye!"));
(1)4 (2)8 (3)9 (4)0
15.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
void fib(int n,int *s)
{
int f1,f2;
if (n==0)
*s=0;
else if (n==1)
*s=1;
else
{
fib(n-1,&f1);
fib(n-2,&f2);
*s=f1+f2;
}
}
main()
{
int x;
fib(6,&x);
printf("%d\n",x);
}
(1)21 (2)17 (3)8 (4)5
16.若有以下對函數(shù)func的調(diào)用語句,則函數(shù)func不正確的函數(shù)首部是( )。
#include
main()
{
······
int a[50],n;
······
func(n,&a[9]);
······
}
(1)void func(int m,intx[]) (2)void func(int s,int h[41])
(3)void func(int p,int *s) (4)void func(int n,int a)
17.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
struct stu
{
int num;
char name[10];
int age;
};
void func(struct stu *p)
{
printf("%s\n",(*p).name);
}
main()
{
struct stu students[3]={
{9801,"Zhang",20},
{9802,"Wang",19},
{9803,"Zhao",18}
};
func(students+2);
}
(1)Zhang (2)Zhao (3)Wang (4)18
18.執(zhí)行下述程序段后的輸出結(jié)果是( ?。?BR> enum days
{
MON=1,TUE,WED,THU,FRI,SAT,SUN
};
enum days today,dayaftertomorrow;
today=SAT;
dayaftertomorrow=(enum days)(((int)today+2)%7;
printf("%d\n",(int)dayaftertomorrow);
(1)1 (2)0 (3)MON (4)編譯時出錯
19.以下不能將文件位置指針重新移到文件開頭位置的函數(shù)是( ?。?。
(1)rewind(fp);
(2)fseek(fp,0L,SEEK_SET);
(3)fseek(fp,-(long)ftell(fp),SEEK_CUR);
(4)fseek(fp,0L,SEEK_END);
20.執(zhí)行以下程序的輸出結(jié)果是( ?。?。
#include
#define PR(a) printf("a=%4.2f",a)
#define PINTF(a) PR(a);putchar('\n');
main()
{
float y=1.5;
PRINT(y);
}
(1)1.5=1.50 (2)a=1.50 (3)y=1.50 (4)1.50
一、單項選擇題(在本題的每一小題的備選答案中只有一個答案是正確的,請把你認(rèn)為正確的答案的題號,填入題干的括號內(nèi)。多選不給分。每題1分,共20分)
1.執(zhí)行語句
printf("%d\n",12&012);
的輸出結(jié)果是( )。
(1)12 (2)8 (3)6 (4)012
2.若設(shè)n是個整型變量且已有值,則與給定條件表達(dá)式
(!n)?n+10:n-10
等價的條件表達(dá)式是( )。
(1)(n!=0)?n+10:n-10 (2)(n!=1)?n+10:n-10
(3)(n==0)?n+10:n-10 (4)(n==1)?n+10:n-10
3.設(shè)有程序
#include
main()
{
int x=3,y=0,z=0;
if (x=y+z)
printf("****\n")
else
printf("####\n");
}
則以下敘述正確的是( )。
(1)程序有語法錯誤,不能通過編譯
(2)程序可執(zhí)行,輸出結(jié)果是****
(3)程序可以通過編譯,但是不能通過連接,因而不能運行
(4)程序可執(zhí)行,輸出結(jié)果是####
4.設(shè)x和y均為int型變量,則執(zhí)行下面for語句后,y的值為( )。
for (y=1,x=1;y=50;y++)
{
if (x>=10)
break;
if (x%2==1)
{
x+=5;
continue;
}
x=-3;
}
(1)2 (2)4 (3)6 (4)8
5.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int i,j,m=0,n=0
for (i=0;i<2;i++)
for (j=0;j<2;j++)
if (j>=i) m=1;n++;
printf("%d\n",n);
}
(1)4 (2)2 (3)1 (4)o
6.執(zhí)行下述程序的輸出結(jié)果是( )
#include
main( )
{
int k=0,m=0;
int i,j;
for (i=0;i<2;i++)
{
for (j=0;j<3;j++)
k++;
k-=j;
}
m=i+j;
printf("k=%d,m+%d\n",k,m);
}
(1)k=1,m=3 (2)k=1,m=5 (3)k=0,m=3 (4)k=0,m=5
7.運行下述程序后,如果從鍵盤上輸入
65 14
則輸出結(jié)果是( )。
#include
main()
{
int m,n;
printf("Enter m,n:");
scanf("%d%d",&m,&n);
while (m!=n)
{
while (m>n)
m-=n;
while (n>m)
n-=m;
}
printf("m=%d\n",m);
}
(1)m=1 (2)m=2 (3)m=3 (4)m=0
8.下述對于c語言字符數(shù)組的描述中錯誤的是( )。
(1)字符數(shù)組可以存放字符串
(2)字符數(shù)組中的字符串可以整體輸入、輸出
(3)可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值
(4)不可以用關(guān)系運算符對字符數(shù)組中的字符串進(jìn)行比較
9.下述程序段所實現(xiàn)的功能是( )。
int a[]={4,0,2,3,1},i,j,t;
for (i=1;i<5;i++)
{
t=a[i];
j=i-1;
while (j>=0&&t>a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=t;
}
(1)對數(shù)組a進(jìn)行插入排序(按升序)
(2)對數(shù)組a進(jìn)行插入排序(按降序)
(3)對數(shù)組a進(jìn)行選擇排序(按升序)
(4)對數(shù)組a進(jìn)行選擇排序(按降序)
10.若有以下定義
char s[20]="programming",*ps=s;
則不能正確地表示其值等于字符'o'的表達(dá)式是( )。
(1)ps+2 (2)s[2] (3)ps[2] (4)ps+=2,*ps
11.閱讀程序
#include
int func(int b[],int n)
{
int i,r;
r=1;
for (i=0;i<=n;i++)
r=r*b[i];
return (r);
}
main()
{
int x,a[]={2,3,4,5,6,7,8,9};
x=func(a,3);
printf("%d\n",x);
}
執(zhí)行下述程序的輸出結(jié)果是( )。
(1)720 (2)120 (3)24 (4)6
12.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
char *t="23142";
int a=0,b=0,c=0,d=0,i;
for (i=0;t[i];i++)
switch (t[i])
{
default :d++;
case '1':a++;
csse '2':b++;
case '3':c=+;
}
printf("%d,%d,%d,%d\n",a,b,c,d);
}
(1)1,2,1,1 (2)2,4,5,1 (3)2,5,7,1 (4)1,1,1,1
13.以下程序當(dāng)運行時,如果從鍵盤上輸入
ABCD
則輸出結(jié)果是( )。
#include
#include
func(char str[])
{
int num=0;
while (*(str+num)!='\0')
num++;
return (num);
}
main()
{
char str[10],*p=str;
gets(p);
printf("%d\n",func(p));
}
(1)8 (2)7 (3)6 (4)5
14.設(shè)有如下函數(shù)定義
int func(char *s)
{
char *p=s;
while (*p1='\0')
p++;
return 9p-s);
}
如果在主程序中用下面的語句調(diào)用上述函數(shù),則輸出結(jié)果是( )。
printf("%d\n",func("Good-bye!"));
(1)4 (2)8 (3)9 (4)0
15.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
void fib(int n,int *s)
{
int f1,f2;
if (n==0)
*s=0;
else if (n==1)
*s=1;
else
{
fib(n-1,&f1);
fib(n-2,&f2);
*s=f1+f2;
}
}
main()
{
int x;
fib(6,&x);
printf("%d\n",x);
}
(1)21 (2)17 (3)8 (4)5
16.若有以下對函數(shù)func的調(diào)用語句,則函數(shù)func不正確的函數(shù)首部是( )。
#include
main()
{
······
int a[50],n;
······
func(n,&a[9]);
······
}
(1)void func(int m,intx[]) (2)void func(int s,int h[41])
(3)void func(int p,int *s) (4)void func(int n,int a)
17.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
struct stu
{
int num;
char name[10];
int age;
};
void func(struct stu *p)
{
printf("%s\n",(*p).name);
}
main()
{
struct stu students[3]={
{9801,"Zhang",20},
{9802,"Wang",19},
{9803,"Zhao",18}
};
func(students+2);
}
(1)Zhang (2)Zhao (3)Wang (4)18
18.執(zhí)行下述程序段后的輸出結(jié)果是( ?。?BR> enum days
{
MON=1,TUE,WED,THU,FRI,SAT,SUN
};
enum days today,dayaftertomorrow;
today=SAT;
dayaftertomorrow=(enum days)(((int)today+2)%7;
printf("%d\n",(int)dayaftertomorrow);
(1)1 (2)0 (3)MON (4)編譯時出錯
19.以下不能將文件位置指針重新移到文件開頭位置的函數(shù)是( ?。?。
(1)rewind(fp);
(2)fseek(fp,0L,SEEK_SET);
(3)fseek(fp,-(long)ftell(fp),SEEK_CUR);
(4)fseek(fp,0L,SEEK_END);
20.執(zhí)行以下程序的輸出結(jié)果是( ?。?。
#include
#define PR(a) printf("a=%4.2f",a)
#define PINTF(a) PR(a);putchar('\n');
main()
{
float y=1.5;
PRINT(y);
}
(1)1.5=1.50 (2)a=1.50 (3)y=1.50 (4)1.50