模擬試卷(三)
一、單項選擇題(在本題的每一小題的備選答案中只有一個答案是正確的,請把你認為正確答案的題號,填入題干的括號內(nèi)。多選不給分。每題1分,共20分)
1.以下選項中屬于c語言的數(shù)據(jù)類型是( )。
(1)復數(shù)型號 (2)邏輯型號 (3)雙精度型號 (4)集合型
2.以下不正確的轉(zhuǎn)義字符是( )。
(1)'\\' (2)'\"' (3)'074' (4)'\0'
3.設x和y均為int型變量,則下列語句
x+=y;
y=x-y;
x-=y;
的功能是( )。
(1)把x和y按從大到小排序幕 (2)把x和y按從小到大排序
(3)無確定結(jié)果 (4)交換x和y的值
4.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
printf("%d\n",NULL);
}
(1)不確定的值 (2)0 (3)-1 (4)1
5.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int x=100,a=10,b=20,ok1=5,ok2=0;
if (a if (b!=15)
if (!ok1)
x=1;
else
if (ok2)
x=10;
x=-1;
printf("%d\n",x);
}
_(1)-1 (2)0 (3)1 (4)不確定的值
6.執(zhí)行以下程序的輸出結(jié)果是( )。
#include
main()
{
int i;
for (i='A';i<'r';i++,i++)
printf("%c",i+32);
printf("\n");
}
(1)編譯不通過 (2)aceg (3)acegi (4)abcdefghi
7.以下不形成死循環(huán)的是( )。
(1) for (;;x+=i);
(2) while (1) x++
(3) for (i=10;;i--) sum+=i;
(4) for (;(c=getchar())!='\n';) printf("%c",c);
8.若有以下定義和語句
char s[10];
s="abcd";
printf("%s\n",s);
則結(jié)果是(以下“ ”代表空格)( )。
(1)輸出abcd (2)輸出a
(3)輸出abcd (4)有語法錯誤,編譯不能通過
9.下列關于帶初始賦值的字符數(shù)組說明中,錯誤的是( )。
(1) char str[]={'T','u','r','b','o',' ','c','\o'};
(2) char str[7]="Turbo C";
(3) char str[]="Turbo C";
(4) char *str="Turbo C";
10.若已定義
int a[]{0,1,2,3,4,5,6,7,8,9},*p=a,i;
且假定已對i賦值(0i9)。則對數(shù)組a中數(shù)組元素不正確的引用是( )。
(1)a[p-a] (2)*(&a[i]) (3)p[i] (4)a[10]
11.以下程序運行后,輸出結(jié)果是( )。
#include
main()
{
static char a[]="ABCDEFGH",b[]="abCDefGh";
char *p1,*p2;
int k;
p1=a;p2=b;
for (k=0;k<=7;k++)
if (*(p1+k)==*(p2+k))
printf("%c",*(p1+k));
printf("\n");
}
(1)ABCDEFG (2)CDG (3)abcdefgh (4)abCDefGh
12.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
char *s1,*s2;
s1=s2="abcd";
while (*s2!='\0')
putchar(*s2++);
while (--s2>=s1)
putchar(*s2);
putchar('\n');
}
(1)abcdabcd (2)abcddcba (3)dcbadcba (4)dcbaabcd
13.以下對c語言中有關函數(shù)的描述中,正確的是( )。
(1)在c中,調(diào)用函數(shù)時,只能把實參的值傳給形參,形參的值不能傳給實參
(2)c函數(shù)既可以嵌套定義又可以遞歸調(diào)用
(3)函數(shù)必須有返回值,否則不能使用函數(shù)
(4)c程序中有調(diào)用關系的所有函數(shù)必須放在同一個源程序文件中
14.在下列結(jié)論中,錯誤的是( )。
(1)c語言允許函數(shù)的遞歸調(diào)用
(2)c語言中的continue語句,可以通過改變程序的結(jié)構(gòu)而省略
(3)有些遞歸程序是不能用非遞歸算法實現(xiàn)的
(4)c語言不允許在函數(shù)中再定義函數(shù)
15.執(zhí)行下述程序的輸出結(jié)果是( )。
#incllude
int func(int u,int v);
main()
{
int a=24,b=16,c;
c=func(a,b);
printf("%d\n",c);
}
int func(int u,int v)
{
int w;
while (v)
{
x=u%v;
u=v;
v=w;
}
return (u);
}
(1)6 (2)7 (3)8 (4)9
16.下述程序執(zhí)行后的輸出結(jié)果是( )。
#include
void func1(int i);
void func2(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 9i<3)
{
i+=2;
func1(i);
printf("\n");
}
(1)hello (2)hel (3)hlo (4)hlrn
17.字符'0'的ASCII代碼值為十進制的48,且數(shù)組中序號為國為民的數(shù)組元素在內(nèi)存低位。執(zhí)行以下程序的輸出結(jié)果是( )。
#include
main()
{
union
{
int i[2];
long k;
char c[4];
} r,*s=&r;
s->i[0]=0x39;
s->i[1]=0x38;
printf("%c\n",s->c[0]);
}
(1)39 (2)9 (3)38 (4)8
18.設有下述變量說明語句
struct
{
int i;
char c;
float f;
} st;
union
{
int i;
char c;
float f;
} un;
則執(zhí)行如下printf語句后的輸出結(jié)果是( )。
printf("%d,%d\n",sizeof(st),sizeof(un));
(1)7,4 (2)7,7 (3)4,7 (4)4,4
19.已知對于一個二進制文件,調(diào)用標準庫函數(shù)fread的語句形式如下
fread(buffer,size,count,fp);
那么其中buffer所代表的是( )。
(1)一個整型變量,表示要讀入的數(shù)據(jù)項總數(shù)
(2)一個文件指針,指向要讀入的文件
(3)一個指針,指向要存放讀入數(shù)據(jù)的地址
(4)一個存儲區(qū),存放要讀入的數(shù)據(jù)項
20.下列選項中,不會引起二義性的宏定義是( )。
(1)#define POWER(X) X*X
(2)#define POWER(X) (X)*(X)
(3)#define POWER(X) (X*X)
(4)#define POWER(X) ((X)*(X))
一、單項選擇題(在本題的每一小題的備選答案中只有一個答案是正確的,請把你認為正確答案的題號,填入題干的括號內(nèi)。多選不給分。每題1分,共20分)
1.以下選項中屬于c語言的數(shù)據(jù)類型是( )。
(1)復數(shù)型號 (2)邏輯型號 (3)雙精度型號 (4)集合型
2.以下不正確的轉(zhuǎn)義字符是( )。
(1)'\\' (2)'\"' (3)'074' (4)'\0'
3.設x和y均為int型變量,則下列語句
x+=y;
y=x-y;
x-=y;
的功能是( )。
(1)把x和y按從大到小排序幕 (2)把x和y按從小到大排序
(3)無確定結(jié)果 (4)交換x和y的值
4.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
printf("%d\n",NULL);
}
(1)不確定的值 (2)0 (3)-1 (4)1
5.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
int x=100,a=10,b=20,ok1=5,ok2=0;
if (a if (b!=15)
if (!ok1)
x=1;
else
if (ok2)
x=10;
x=-1;
printf("%d\n",x);
}
_(1)-1 (2)0 (3)1 (4)不確定的值
6.執(zhí)行以下程序的輸出結(jié)果是( )。
#include
main()
{
int i;
for (i='A';i<'r';i++,i++)
printf("%c",i+32);
printf("\n");
}
(1)編譯不通過 (2)aceg (3)acegi (4)abcdefghi
7.以下不形成死循環(huán)的是( )。
(1) for (;;x+=i);
(2) while (1) x++
(3) for (i=10;;i--) sum+=i;
(4) for (;(c=getchar())!='\n';) printf("%c",c);
8.若有以下定義和語句
char s[10];
s="abcd";
printf("%s\n",s);
則結(jié)果是(以下“ ”代表空格)( )。
(1)輸出abcd (2)輸出a
(3)輸出abcd (4)有語法錯誤,編譯不能通過
9.下列關于帶初始賦值的字符數(shù)組說明中,錯誤的是( )。
(1) char str[]={'T','u','r','b','o',' ','c','\o'};
(2) char str[7]="Turbo C";
(3) char str[]="Turbo C";
(4) char *str="Turbo C";
10.若已定義
int a[]{0,1,2,3,4,5,6,7,8,9},*p=a,i;
且假定已對i賦值(0i9)。則對數(shù)組a中數(shù)組元素不正確的引用是( )。
(1)a[p-a] (2)*(&a[i]) (3)p[i] (4)a[10]
11.以下程序運行后,輸出結(jié)果是( )。
#include
main()
{
static char a[]="ABCDEFGH",b[]="abCDefGh";
char *p1,*p2;
int k;
p1=a;p2=b;
for (k=0;k<=7;k++)
if (*(p1+k)==*(p2+k))
printf("%c",*(p1+k));
printf("\n");
}
(1)ABCDEFG (2)CDG (3)abcdefgh (4)abCDefGh
12.執(zhí)行下述程序的輸出結(jié)果是( )。
#include
main()
{
char *s1,*s2;
s1=s2="abcd";
while (*s2!='\0')
putchar(*s2++);
while (--s2>=s1)
putchar(*s2);
putchar('\n');
}
(1)abcdabcd (2)abcddcba (3)dcbadcba (4)dcbaabcd
13.以下對c語言中有關函數(shù)的描述中,正確的是( )。
(1)在c中,調(diào)用函數(shù)時,只能把實參的值傳給形參,形參的值不能傳給實參
(2)c函數(shù)既可以嵌套定義又可以遞歸調(diào)用
(3)函數(shù)必須有返回值,否則不能使用函數(shù)
(4)c程序中有調(diào)用關系的所有函數(shù)必須放在同一個源程序文件中
14.在下列結(jié)論中,錯誤的是( )。
(1)c語言允許函數(shù)的遞歸調(diào)用
(2)c語言中的continue語句,可以通過改變程序的結(jié)構(gòu)而省略
(3)有些遞歸程序是不能用非遞歸算法實現(xiàn)的
(4)c語言不允許在函數(shù)中再定義函數(shù)
15.執(zhí)行下述程序的輸出結(jié)果是( )。
#incllude
int func(int u,int v);
main()
{
int a=24,b=16,c;
c=func(a,b);
printf("%d\n",c);
}
int func(int u,int v)
{
int w;
while (v)
{
x=u%v;
u=v;
v=w;
}
return (u);
}
(1)6 (2)7 (3)8 (4)9
16.下述程序執(zhí)行后的輸出結(jié)果是( )。
#include
void func1(int i);
void func2(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 9i<3)
{
i+=2;
func1(i);
printf("\n");
}
(1)hello (2)hel (3)hlo (4)hlrn
17.字符'0'的ASCII代碼值為十進制的48,且數(shù)組中序號為國為民的數(shù)組元素在內(nèi)存低位。執(zhí)行以下程序的輸出結(jié)果是( )。
#include
main()
{
union
{
int i[2];
long k;
char c[4];
} r,*s=&r;
s->i[0]=0x39;
s->i[1]=0x38;
printf("%c\n",s->c[0]);
}
(1)39 (2)9 (3)38 (4)8
18.設有下述變量說明語句
struct
{
int i;
char c;
float f;
} st;
union
{
int i;
char c;
float f;
} un;
則執(zhí)行如下printf語句后的輸出結(jié)果是( )。
printf("%d,%d\n",sizeof(st),sizeof(un));
(1)7,4 (2)7,7 (3)4,7 (4)4,4
19.已知對于一個二進制文件,調(diào)用標準庫函數(shù)fread的語句形式如下
fread(buffer,size,count,fp);
那么其中buffer所代表的是( )。
(1)一個整型變量,表示要讀入的數(shù)據(jù)項總數(shù)
(2)一個文件指針,指向要讀入的文件
(3)一個指針,指向要存放讀入數(shù)據(jù)的地址
(4)一個存儲區(qū),存放要讀入的數(shù)據(jù)項
20.下列選項中,不會引起二義性的宏定義是( )。
(1)#define POWER(X) X*X
(2)#define POWER(X) (X)*(X)
(3)#define POWER(X) (X*X)
(4)#define POWER(X) ((X)*(X))