指针经典练习题含答案版一Word文档格式.doc

上传人:b****1 文档编号:13168597 上传时间:2022-10-07 格式:DOC 页数:4 大小:32.50KB
下载 相关 举报
指针经典练习题含答案版一Word文档格式.doc_第1页
第1页 / 共4页
指针经典练习题含答案版一Word文档格式.doc_第2页
第2页 / 共4页
指针经典练习题含答案版一Word文档格式.doc_第3页
第3页 / 共4页
指针经典练习题含答案版一Word文档格式.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

指针经典练习题含答案版一Word文档格式.doc

《指针经典练习题含答案版一Word文档格式.doc》由会员分享,可在线阅读,更多相关《指针经典练习题含答案版一Word文档格式.doc(4页珍藏版)》请在冰豆网上搜索。

指针经典练习题含答案版一Word文档格式.doc

5) 

通过指向指针的变量pp,将k的值增加一倍的语句是*(*pp)*=2;

4.当定义某函数时,有一个形参被说明成int*类型,那么可以与之结合的实参类型可以是int型指针、int型数组等。

4.以下程序的功能是:

将无符号八进制数字构成的字符串转换为十进制整数。

例如,输入的字符串为:

556,则输出十进制整数366。

请填空。

45*8

#include<

stdio.h>

main()

{char*p,s[6];

intn;

p=s;

gets(p);

n=*p-'

0'

;

while(*++p!

='

\0'

)//先++,后*

n=n*8+*p-'

printf("

%d\n"

n);

}

二.选择题(22分)

1.以下count函数的功能是统计substr在母串str中出现的次数。

intcount(char*str,char*substr)

{inti,j,k,num=0;

for(i=0;

①B;

i++)

{for(②B,k=0;

substr[k]==str[j];

k++,j++)

if(substr[③C]==’\0’)

{num++;

break;

returnnum;

①A)str[i]==substr[i]B)str[i]!

=‘\0’

C)str[i]==‘\0’D)str[i]>

substr[i]

②A)j=i+1B)j=iC)j=i+10D)j=1

③A)kB)k++C)k+1D)++k

2.以下Delblank函数的功能是删除字符串s中的所有空格(包括Tab、回车符和换行符)。

voidDelblank(char*s)

{inti,t;

charc[80];

for(i=0,t=0;

A①;

if(!

isspace(D②))c[t++]=s[i];

c[t]=‘\0’;

strcpy(s,c);

①A)s[i]B)!

s[i]C)s[i]=‘\0’D)s[i]==‘\0’

②A)s+iB)*c[i]C)*(s+i)=‘\0’D)*(s+i)

3.以下conj函数的功能是将两个字符串s和t连接起来。

char*conj(char*s,char*t)

{char*p=s;

while(*s)①B;

while(*t)

{*s=A②;

s++;

t++;

*s=‘\0’;

C③;

①A)s--B)s++C)sD)*s

②A)*tB)tC)t--D)*t++

③A)returnsB)returntC)returnpD)returnp-t

4.下列程序的输出结果是B。

#include<

main()

{int**k,*a,b=100;

a=&

b;

k=&

a;

printf(“%d\n”,**k);

A)运行出错B)100C)a的地址D)b的地址

5.下列程序的输出结果是D。

fun(int*a,int*b)

{int*w;

*a=*a+*a;

*w=*a;

*a=*b;

*b=*w;

{intx=9,y=5,*px=&

x,*py=&

y;

fun(px,py);

printf(“%d,%d\n”,x,y);

A)出错B)18,5C)5,9D)5,18

6.若定义了以下函数:

voidf(……)

{……

p=(double*)malloc(10*sizeof(double));

……

p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是A。

A)double*p B)float**pC)double**p D)float*p

三.编程题

1.编写函数实现,计算字符串的串长。

(10分)

intmyLength(char*ps)

{

intLength=0;

while(*ps)

{

Length++;

ps++;

}

returnLength;

2.编写函数实现,计算一个字符在一个字符串中出现的次数。

(20分)

string.h>

intOccur(char*s,charc);

intOccur(char*s,charc)

intcount=0;

while(*s)

if(*s==c)

count++;

s++;

returncount;

3.有n个人围成一圈,顺序排号。

由用户从键盘输入报数的起始位置,从该人开始报数(计数从0开始),凡报数为3的倍数出圈。

问最后剩下的是几号?

(28分)

intmain()

int*arr;

intn,start;

cout<

<

"

请输入总共人数N(位置编号从开始):

"

cin>

>

n;

请输入开始位置(不大于N):

start;

arr=newint[n+1];

for(inti=0;

i<

n+1;

i++)

arr[i]=0;

intj=0,count=0;

for(inti=1;

=n;

{

if(arr[i]==0)

{

if(j%3==0)

{

arr[i]=1;

count++;

}

j++;

if(count==n-1)

break;

}

if(i==n)

i=0;

}

for(inti=1;

if(arr[i]==0)

{

cout<

endl;

break;

}

return0;

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

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

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

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