第八章C语言单选练习.docx

上传人:b****5 文档编号:8521121 上传时间:2023-01-31 格式:DOCX 页数:45 大小:30.44KB
下载 相关 举报
第八章C语言单选练习.docx_第1页
第1页 / 共45页
第八章C语言单选练习.docx_第2页
第2页 / 共45页
第八章C语言单选练习.docx_第3页
第3页 / 共45页
第八章C语言单选练习.docx_第4页
第4页 / 共45页
第八章C语言单选练习.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

第八章C语言单选练习.docx

《第八章C语言单选练习.docx》由会员分享,可在线阅读,更多相关《第八章C语言单选练习.docx(45页珍藏版)》请在冰豆网上搜索。

第八章C语言单选练习.docx

第八章C语言单选练习

《C语言程序设计》题库

吕橙1

一、单选题

1、以下程序的运行结果是___________。

voidsub(intx,inty,int*z)

{*z=yx;}

main()

{inta,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,

17

D:

5,2,

7

答案:

B

难度:

1

知识点:

读程序选结果/第八章

2、执行以下程序后,b的值为__________。

main()

{intb,k=4,m=6,*p1=&k,*p2=&m;

b=(*

p1)/(*p2)+7;

printf("%d\n",b);

}

A:

5B:

6C:

7D:

10

答案:

C

难度:

1

知识点:

读程序选结果/第八章

3、下面程序应能对两个整型变量的值进行交换。

以下正确的说法是__________。

main()

{inta=10,b=20;

printf("%d,%d",a,b);

swap(&a,&b);

printf("%d,%d",a,b);

}

swap(intp,intq)

第8章单选题

2吕橙

{

intt;

t=p;p=q;q=t;

}

A:

该程序完全正确

B:

该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可

C:

该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)

即可

D:

以下说法都不正确

答案:

D

难度:

1

知识点:

读程序选结果/第八章

4、有四组对指针变量进行操作的语句,以下判断正确的选项是_________。

①int*p,*q;q=p;

inta,*p,*q;*p=*q=&a;

②inta,*p,*q;q=&a;p=*q;

inta=20,*p;*p=a;

③inta=b=0,*p;p=&a;b=*p;

inta=20,*p,*q=&a;*p=*q;

④inta=20,*p,*q=&a;p=q;

intp,q;q=&p;

A:

①正确,其余错B:

①④正确,其余错

C:

③正确,其余错D:

以下结论都不正确

答案:

D

难度:

1

知识点:

单选题/第八章

5、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是________。

main()

{int*p,*q,a,b;p=&a;scanf("%d",*p);........}

A:

*p表示的是指针变量p的地址

B:

*p表示的是变量a的值,而不是变量a的地址

C:

*p表示的是指针变量p的值

《C语言程序设计》题库

吕橙3

D:

*p只能用来说明p是一个指针变量

答案:

B

难度:

1

知识点:

单选题/第八章

6、以下程序有错,错误原因是______。

main()

{int*p,i;char*q,ch;

p=&i;

q=&ch;

*p=40;

*p=*q;

.......

}

A:

p和q的类型不一致,不能执行*p=*q;语句

B:

*p中存放的是地址值,因此不能执行*p=40;语句

C:

q没有指向具体的存储单元,所以*q没有实际意义

D:

q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句

答案:

D

难度:

1

知识点:

单选题/第八章

7、有如下语句inta=10,b=20,*p1,*p2;p1=&a;p2=&b;若要让p1也指向b,可选用的赋值语

句是_______。

A:

*p1=*p2;B:

p1=p2;C:

p1=*p2;D:

*p1=p2;

答案:

B

难度:

1

知识点:

单选题/第八章

8、已有定义intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值

语句是_____。

A:

k=*ptr1+*ptr2;B:

ptr2=k;C:

ptr1=ptr2;D:

k=*ptr1*(*ptr2);

答案:

B

难度:

1

知识点:

单选题/第八章

第8章单选题

4吕橙

9、变量的指针,其含义是指该变量的_______。

A:

值B:

地址C:

名D:

一个标志

答案:

B

难度:

1

知识点:

单选题/第八章

10、若已定义inta=5;下面对

(1),

(2)两个语句的正确解释是_______。

(1)int*p=&a;

(2)*p=a;

A:

语句

(1)和

(2)中的*p含义相同,都表示给指针变量p赋值

B:

(1)和

(2)语句的执行结果,都是把变量a的地址值赋给指针变量p

C:

(1)在对p进行说明的同时进行初始化,使p指向a,

(2)将变量a的值赋给指针变量p

D:

(1)在对p进行说明的同时进行初始化,使p指向a,

(2)将变量a的值赋于*p

答案:

D

难度:

1

知识点:

单选题/第八章

11、若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是______。

A:

a,point,*&aB:

&*a,&a,*point

C:

*&point,*point,&aD:

&a,&*point,point

答案:

D

难度:

1

知识点:

单选题/第八章

12、若已有说明float*p,m=3.14;要让p指向m,则正确的赋值语句是_________。

A:

p=m;B:

p=&m;C:

*p=m;D:

*p=&m;

答案:

B

难度:

1

知识点:

单选题/第八章

13、若有说明:

int*p,m=5,n;以下正确的程序段是_______。

A:

p=&n;scanf("%d",&P);B:

p=&n;scanf("%d",*p);

C:

scanf("%d",&n);*p=n;D:

p=&n;*p=m;

答案:

D

《C语言程序设计》题库

吕橙5

难度:

1

知识点:

单选题/第八章

14、若有说明:

int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是_________。

A:

p1=&m;p2=&p1;B:

p1=&m;p2=&n;*p1=*p2;

C:

p1=&m;p2=p1;D:

p1=&m;*p2=*p1;

答案:

C

难度:

1

知识点:

单选题/第八章

15、已有变量定义和函数调用语句;inta=25;print_value(&a);下面函数的正确输出结果是

_______。

voidprint_value(int*x)

{

printf("%d\n",++*x);

}

A:

23B:

24C:

25D:

26

答案:

D

难度:

1

知识点:

读程序选结果/第八章

16、下面判断正确的是_________。

A:

char*a="china";等价于char*a;*a="china";

B:

charstr[10]={"china"};等价于charstr[10];str[]={"china"};

C:

char*s="china";等价于char*s;s="china";

D:

charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

答案:

C

难度:

1

知识点:

单选题/第八章

17、设char*s="\ta\017bc";则指针变量s指向的字符串所占的字节数是________。

A:

9B:

5C:

6D:

7

答案:

C

第8章单选题

6吕橙

难度:

1

知识点:

单选题/第八章

18、下面程序段中,for循环的执行次数是__________。

char*s="\ta\018bc";

for(;*s!

='\0';s++)printf("*");

A:

9B:

5C:

6D:

7

答案:

C

难度:

1

知识点:

读程序选结果/第八章

19、下面能正确进行字符串赋值操作的是____________。

A:

chars[5]={"ABCDE"};B:

chars[5]={'A','B','C','D','E'};

C:

char*s;s="ABCDE";D:

char*s;scanf("%s",s);

答案:

C

难度:

1

知识点:

单选题/第八章

20、下面程序段的运行结果是__________。

char*s="abcde";s+=2;printf("%d",s);

A:

cdeB:

字符'c'C:

字符'c'的地址D:

无确定的输出结果

答案:

C

难度:

1

知识点:

读程序选结果/第八章

21、设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值

语句是______。

A:

c=*p1+*p2;B:

p2=c;C:

p1=p2;D:

c=*p1*(*p2);

答案:

B

难度:

1

知识点:

单选题/第八章

22、设有下面的程序段:

chars[]="china";char*p;p=s;则下列叙述正确的是__。

《C语言程序设计》题库

吕橙7

A:

s和p完全相同

B:

数组s中的内容和指针变量p中的内容相等

C:

s数组长度和p所指向的字符串长度相等

D:

*p与s[0]相等

答案:

D

难度:

1

知识点:

单选题/第八章

23、下面程序段的运行结果是_________。

char*format="%s,a=%d,b=%d\n";

inta=1,b=10;

a+=b;

printf(format,"a+=b",a,b);

A:

for,"a+=b",abB:

format,'a+=b"

C:

a+=b,a=11,b=10D:

以上结果都不对

答案:

C

难度:

1

知识点:

读程序选结果/第八章

24、下面程序段的运行结果是_________。

char*p="%d,a=%d,b=%d\n";

inta=111,b=10,c;

c=a%b;p+=3;

printf(p,c,a,b);

A:

1,a=111,b=10B:

a=1,b=111C:

a=111,b=10D:

以上结果都不对

答案:

B

难度:

1

知识点:

读程序选结果/第八章

25、以下正确的程序段是________。

A:

charstr[20];scanf(“%s”,&str);B:

char*p;scanf(“%s”,p);

C:

charstr[20];scanf("%s",&str[2];)D:

charstr[20],*p=str;scanf("%s",p[2]);

答案:

C

难度:

1

知识点:

单选题/第八章

第8章单选题

8吕橙

26、以下正确的程序段是_________。

A:

charstr1[]="12345",str2[]="abcdef";strcpy(str1,str2);

B:

charstr[10],*st="abcde";strcat(str,st);

C:

charstr[10]="",*st="abcde";strcat(str,st);

D:

char*st1="12345",*st2="abcde";strcat(st1,st2);

答案:

C

难度:

1

知识点:

单选题/第八章

27、下面程序段的运行结果是_________。

charstr[]="ABC",*p=str;

printf("%d\n",*(p+3));

A:

67B:

0C:

字符'C'的地址D:

字符'C'

答案:

B

难度:

1

知识点:

读程序选结果/第八章

28、下面程序段的运行结果是_________。

charstr[20]=”abcdefgh”

char*p=str;

p+=3;

printf("%d\n",strlen(strcpy(p,"ABCD")));

A:

8B:

12C:

4D:

7

答案:

C

难度:

1

知识点:

读程序选结果/第八章

29、下面程序段的运行结果是__________。

chara[]="language",*p;

p=a;

while(*P!

='u'){printf("%c",*p32)

;p++;}

A:

LANGUAGEB:

languageC:

LANGD:

langUAGE

《C语言程序设计》题库

吕橙9

答案:

C

难度:

1

知识点:

读程序选结果/第八章

30、若有语句:

chars1[]="string",s2[8],s3={‘\0’},*s4="string2";则对库函数strcpy的正确的调

用是_______。

A:

strcpy(s1,"string2");B:

strcpy(s4,"string1");

C:

strcpy(s3,s1);D:

strcpy(s1,s2);

答案:

C

难度:

1

知识点:

单选题/第八章

31、以下与库函数strcpy(char*p1,char*p2)功能不相等的程序段是__________。

A:

strcpy1(char*p1,char*p2){while((*p1++=*p2++)!

='\0');}

B:

strcpy2(char*p1,char*p2){while((*p1=*p2)!

='\0'){p1++;p2++;}}

C:

strcpy1(char*p1,char*p2){while((*p1++=*p2++);}

D:

strcpy1(char*p1,char*p2){while(*p2)*p1++=*p2++;}

答案:

D

难度:

1

知识点:

单选题/第八章

32、以下与库函数strcmp(char*s,char*t)的功能相等的程序段是__________。

第8章单选题

10吕橙

A:

①B:

②C:

③D:

答案:

C

难度:

1

知识点:

单选题/第八章

33、下面说明不正确的是________。

A:

chara[10]="china";B:

chara[10],*p=a;p="china";

C:

char*a;a="china";D:

chara[10],*p;p=a="china";

答案:

D

难度:

1

知识点:

单选题/第八章

34、若有说明语句

chara[]="Itismine";

char*p="Itismine";

则以下不正确的叙述是_________。

A:

a+1表示的是字符t的地址B:

p指向另外的字符串时,字符串的长度不受限制

C:

p变量中存放的地址值可以改变D:

a中只能存放10个字符

答案:

D

难度:

1

知识点:

单选题/第八章

35、若已定义chars[10];则在下面表达式中不表示s[1]的地址的是________。

A:

s+1B:

s++C:

&s[0]+1D:

&s[1]

答案:

B

难度:

1

知识点:

单选题/第八章

36、下面程序段的运行结果是_______。

chars[6];s="abcd",printf("\"%s\"\n",s);

A:

"abcd"B:

"abcd"C:

"abcd\"D:

编译出错

《C语言程序设计》题库

吕橙11

答案:

D

难度:

1

知识点:

单选题/第八章

37、下面程序的功能是从输入的十个字符串中找出最长的那个串。

请选择填空。

A:

str[i]B:

&str[i][0]C:

*strD:

str[N]

答案:

C

难度:

1

知识点:

读程序选结果/第八章

38、下面程序的功能是将八进制正整数字符串转换为十进制整数。

请选择填空。

#include

voidmain()

{

char*p,s[6];

intn;

p=s;

gets(p);

n=*p‘

0’;

while(*(++p)!

='\0')n=n*8+*p'

0';

printf("%d\n",n);

}

A:

*pB:

*p++C:

*(++p)D:

p

答案:

C

难度:

1

知识点:

读程序选结果/第八章

第8章单选题

12吕橙

39、下面程序的功能是统计子串substr在母串str中出现的次数。

请选择填空。

A:

kB:

k++C:

k+1D:

++k

答案:

C

难度:

1

知识点:

读程序选结果/第八章

40、下面的程序的功能是在字符串str中找出最大的字符串并放在第一个位置上,并将该字符

前的原字符往后顺序移动,如chyab变成ychab。

请选择填空。

《C语言程序设计》题库

吕橙13

A:

p>strB:

p>=strC:

*p>str[0]D:

*p>=str[0]

答案:

C

难度:

1

知识点:

读程序选结果/第八章

41、以下程序的功能是删除字符串s中的所有空格(包括TAB符,回车符,换行符),请填空。

第8章单选题

14吕橙

A:

p+iB:

*c[i]C:

*(p+i)D:

*(c+i)

答案:

C

难度:

1

知识点:

读程序选结果/第八章

42、下面程序的功能是将字符串s中的内容按逆序输出,但不改变串中的内容,请选择填空。

#include

voidmain()

{

voidinverp(char*a);

chars[10]="hello";

inverp(s);

}

voidinverp(char*a)

{

if(!

*a)return;

inverp(a+1);

printf("%c",_________);

}

《C语言程序设计》题库

吕橙15

A:

*(a1)

B:

*aC:

*(a+1)D:

*(a)

答案:

B

难度:

1

知识点:

读程序选结果/第八章

43、下面的程序的功能是用递归法将一个整数存放到一个字符数组中。

存放时按逆序存放。

483存放成“384”,请填空。

#include

voidconvert(char*a,intn)

{

inti;

if((i=n/10)!

=0)convert(a+1,i);

*a=________;

}

voidmain()

{

intnumber;

charstr[10]="\0";

scanf("%d",&number);

convert(str,number);

puts(str);

}

A:

n/10B:

n%10C:

n/10+’0’D:

n%10+'0'

答案:

D

难度:

1

知识点:

读程序选结果/第八章

44、下面程序的功能是用递归法将一个整数转换成字符形式输出。

例如输入483,应输出字符

串“483”。

请选择填空。

#include

voidconvert(intn)

{

inti;

if((i=n/10)!

=0)convert(i);

putchar(_______+'0');

}

voidmain()

{

第8章单选题

16吕橙

intnumber;

scanf("%d",&number);

if(number<0)

{

putchar('')

;

number=number;

}

convert(number);

}

A:

nB:

n/10C:

n%10D:

i%10

答案:

C

难度:

1

知识点:

读程序选结果/第八章

45、下面程序的功能是按字典顺序比较两个字符串s,t的大小,如果s大于t则返回正值,等

于则返回0,小于返回负值。

请选择填空。

#include

ints(char*s,char*t)

{

for(;*s==*t;______)

if(*s=='\0')return0;

return(*s*

t);

}

voidmain()

{

chara[20]={'\0'},b[10]={'\0'},*p,*q;

inti;

p=a;

q=b;

scanf("%s%s",a,b);

i=s(p,q);

printf("%d",i);

}

A:

s++B:

t++C:

s++;t++D:

t++,s++

答案:

D

难度:

1

知识点:

读程序选结果/第八章

《C语言程序设计》题库

吕橙17

46、下面程序的功能是从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除

重复的字符。

请选择填空。

A:

*r>*qB:

*r>*pC:

r>qD:

r>p

答案:

A

难度:

1

知识点:

读程序选结果/第八章

47、下面程序的功能是将字符串a的所有字符传递到字符串b中,要求每传送三个字符后再存

放一个空格,例如字符串a为”abcdefg”,则字符串b为”abcdefg”,请选择填空。

第8章单选题

18吕橙

A:

i==4B:

*p==’\0’C:

!

*pD:

i!

=4

答案:

A

难度:

1

知识点:

读程序选结果/第八章

48、当运行以下程序时,从键盘输入Happy!

表示回车),则下面的程序的运行结

果是________。

《C语言程序设计》题库

吕橙19

A:

7B:

6C:

5D:

10

答案:

B

难度:

1

知识点:

读程序选结果/第八章

49、下面程序的功能是将一个整数字符串转换为一个整数,如”1234”

转换为1234,

请选择填

空。

A:

*pB:

*p+’0’C:

*p‘

0’D:

*p32

答案:

C

难度:

1

知识点:

读程序选结果/第八章

第8章单选题

20吕橙

50、下面的程序结果是________。

A:

gaeB:

gaC:

LanguageD:

有语法错误

答案:

A

难度:

1

知识点:

知识点/浩强单选/第八章

51、下面程序的运行结果是_________。

//本题可以采用排除法

A:

10B:

2C:

C51D:

\0

答案:

C

难度:

1

知识点:

读程序选结果/第八章

《C语言程序设计》题库

吕橙21

52、下面的程序的运行结果是___________。

A:

abcB:

34C:

a34D:

a34bc

答案:

B

难度:

1

知识点:

读程序选结果/第八章

53、下面程序的运行结果是________。

#include

#include

main()

{

char*s1="AbDeG";

char*s2="AbdEg";

s1+=2;s2+=2;

printf("%d\n",strcmp(s1,s2));

}

A:

正数B:

负数C:

零D:

不确定的值

第8章单选题

22吕橙

答案:

B

难度:

1

知识点:

读程序选结果/第八章

54、当运行以下程序时,从键盘输入MyBooK表示回车),则下面程序的运行结

果是________。

A:

mYbOOkB:

mybookC:

myD:

MyBook

答案:

B

难度:

1

知识点:

读程序选结果/第八章

55、下面程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1