日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言中int*point 其中point是指针变量名,2012年计算机等级二级C语言章节习题及答案(9)...

發布時間:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言中int*point 其中point是指针变量名,2012年计算机等级二级C语言章节习题及答案(9)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第10章?指針

同步練習一

一、選擇題(在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項填涂在答題卡相應位置上。)10.1?若有下面的程序段:

char?s[]="china";char?*p;?p=s;

則下列敘述正確的是

A)s和p完全相同落千丈

B)數組s中的內容和指針變量p中的內容相等

C)s數組長度和p所指向的字符串長度相等

D)*p與s[0]相等

考生答案:?正確答案:?D

10.2?若有語句int?*point,a=4;和?point=&a;下面均代表地址的一組選項是

A)a,point,*&a

B)&*a,&a,*point

C)*&point,*point,&a

D)&a,&*point,point

考生答案:?正確答案:?D

10.3?下列程序執行后的輸出結果是

void?func(int?*a,int?b[])

{?b[0]=*a+6;?}

main()

{?int?a,b[5];

a=0;?b[0]=3;

func(&a,b);?printf("%d\n",b[0]);

}

A)6

B)7

C)8

D)9

考生答案:?正確答案:?A

10.4?已定義以下函數

fun(char?*p2,?char?*p1)

{?while((*p2=*p1)!=’\0’){p1++;p2++;}

}

函數的功能是

A)將p1所指字符串復制到p2所指內存空間

B)將p1所指字符串的地址賦給指針p2

C)對p1和p2兩個指針所指字符串進行比較

D)檢查p1和p2兩個指針所指字符串中是否有’\0’

考生答案:?正確答案:?A

10.5?有以下程序

void?ss(char?*s,char?t)

{?while(*s)

{?if(*s=?=t)*s=t-’a’+’A’;

s++;

}

}

main()

{?char?str1[100]="abcddfefdbd",c=’d’;

ss(str1,c);

printf("%s\n",str1);

}

程序運行后的輸出結果是

A)ABCDDEFEDBD

B)abcDDfefDbD

C)abcAAfefAbA

D)Abcddfefdbd

考生答案:?正確答案:?B

10.6?下面說明不正確的是

A)char?a[10]="china";

B)char?a[10],*p=a;p="china"

C)char?*a;a="china";

D)char?a[10],*p;p=a="china"

考生答案:?正確答案:?D

10.7?設有定義:int?n=0,*p=&n,**q=&p,則下列選項中正確的賦值語句是

A)p=1;

B)*q=2;

C)q=p;

D)*p=5;

考生答案:?正確答案:?D

10.8?執行以下程序后,a,b的值分別為

main()

{?int?a,b,k=4,m=6,*p1=&k,*p2=&m;

a=p1==&m;

b=(*p1)/(*p2)+7;

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

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

}

A)-1,5

B)1,6

C)0,7

D)4,10

考生答案:?正確答案:?C

10.9?假定以下程序經編譯和連接后生成可執行文件PROG.EXE,如果在此可執行文件所在目錄的DOS提示符下鍵入:

PROG?ABCDEFGH?IJKL,則輸出結果為

main(?int?argc,?char?*argv[])

{?while(--argc>0)

printf("%s",argv[argc]);

printf("\n");

}

A)ABCDEFG

B)IJHL

C)ABCDEFGHIJKL

D)IJKLABCDEFGH

考生答案:?正確答案:?D

10.10?以下程序有錯,錯誤原因是

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來源:-計算機二級考試

10.11?下面程序段的運行結果是

char?a[]="lanuage",*p;

p=a;

while(*p!=′u′){printf("%c",*p-32);p++;}

A)LANGUAGE

B)language

C)LAN

D)langUAGE

考生答案:?正確答案:?C

10.12?有以下語句,則對a數組元素的引用不正確的是(0≤i≤9)

int?a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

A)a[p-a]

B)*(&a[i])

C)p[i]

D)*(*(a+i))

考生答案:?正確答案:?D

10.13?函數fun的返回值是

fun(char?*a,char?*b)

{?int?num=0,n=0;

while(*(a+num)!=′\0′)?num++;

while(b[n])?{?*(a+num)=b[n];?num++;n++;?}

return?num;

}

A)字符串a的長度

B)字符串b的長度

C)字符串a和b的長度之差

D)字符串a?和b的長度之和

考生答案:?正確答案:?D

10.14?下列程序的輸出結果是

main()

{?int?a[5]={2,4,6,8,10},*p,**k;

p=a;

k=&p;

printf("%d",*(p++));

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

}

A)4

B)22

C)24

D)46

考生答案:?正確答案:?C

10.15?下面判斷正確的是

A)char?*a="china";等價于?char?*a;*a="china";

B)char?str[5]={"china"};等價于char?str[]={"china"};

C)char?*s="china";等價于?char?*s;s="china";

D)char?c[4]="abc",d[4]="abc";等價于char?c[4]=d[4]="abc";

考生答案:?正確答案:?C

10.16?以下定義中,標識符prt?int(*prt)[3]

A)定義不含法

B)是一個指針數組名,每個元素都是一個指向整數變量的指針

C)是一個指針,它指向一個具有三個元素的一維數組

D)是一個指向整型變量的指針

考生答案:?正確答案:?D

10.17?有如下說明

int?a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

則數值為9的表達式是

A)*p+9

B)*(p+8)

C)*p+=9

D)p+8

考生答案:?正確答案:?B

10.18?若有定義:?char?*st=?"how?are?you?";?下列程序段中正確的是

A)char?a[11],?*p;?strcpy(p=a+1,&st[4]);

B)char?a[11];?strcpy(++a,?st);

C)char?a[11];?strcpy(a,?st);

D)char?a[],?*p;?strcpy(p=&a[1],st+2);

考生答案:?正確答案:?A

10.19?下列程序的運行結果是

void?fun(int?*a,?int?*b)

{?int?*k;

k=a;?a=b;?b=k;

}

main()

{?int?a=3,?b=6,?*x=&a,?*y=&b;

fun(x,y);

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

}

A)6?3

B)3?6

C)編譯出錯

D)0?0

考生答案:?正確答案:?B來源:-計算機二級考試

10.20?若有說明語句

char?a[]="It?is?mine";

char?*p="It?is?mine";

則以下不正確的敘述是

A)a+1表示的是字符t的地址

B)p指向另外的字符串時,字符串的長度不受限制

C)p變量中存放的地址值可以改變

D)a中只能存放10個字符

考生答案:?正確答案:?D

10.21?以下程序的運行結果是

sub(int?x,int?y,int?*z)

{?*z=y-x;?}

main()

{?int?a,b,c;

sub(10,5,&a);

sub(7,a,&b);

sub(a,b,&c);

printf("M,M,M\n",a,b,c);

}

A)5,2,3

B)-5,-12,-7

C)-5,-12,-17

D)5,-2,-7

考生答案:?正確答案:?B

10.22?若有下面的程序片段:

int[12]={0},*p[3],**pp,i;

for(i=0;i<3;i)

p[i]=&a[i*4];

pp=p;

則對數組元素的錯誤引用是

A)pp[0][1]

B)a[10]

C)p[3][1]

D)*(*(p+2)+2)

考生答案:?正確答案:?C

10.23?下面程序的輸出結果是

#include#includemain()

{?char?*p1="abc",*p2="ABC",str[50]=?"xyz";

strcpy(str+2,strcat(p1,p2));

printf("%s\n",str);

}

A)xyzabcABC

B)zabcABC

C)xyabcABC

D)yzabcABC

考生答案:?正確答案:?C

10.24?有如下程序

main()

{?char?ch[2][5]={"6937","8254"},*p[2];

int?i,j,s=0;

for(i=0;i<2;i++)

p[i]=ch[i];

for(i=0;i<2;i++)

for(j=0;p[i][j]>′\0′;j+=2)

s=10*s+p[i][j]-′0′;

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

}

該程序的輸出結果是

A)69825

B)63825

C)6385

D)693825

考生答案:?正確答案:?C

10.25?閱讀下面程序,則執行后的結果為

#include?"stdio.h"

#include?"string.h"

#define?N?10

#define?M?10

char?*find(char?(*a)[M],int?n)

{?char?*q;?int?i;

q=a[0];

for(i=0;i

if(strcmp(a[i],q)<0)

q=a[i];

return?q;

}

main()

{?char?s[N][M]={"tomeetme","you","and","he","china"};

char?*p;

int?n=5,i;

p=find(s,n);

puts(p);

}

A)he?B)and?C)you?D)tomeetme

考生答案:?正確答案:?B來源:-計算機二級考試 二、填空題(請將每一個空的正確答案寫在答題卡相應序號后。)10.26?函數?void?fun(float?*sn,?int?n)的功能是:根據以下公式計算S,計算結果通過形參指針sn傳回;n通過形參傳入,n的值大于等于0。請填空。

void?fun(?float?*sn,?int?n)

{?float?s=0.0,?w,?f=-1.0;

int?i=0;

for(i=0;?i<=n;?i++)

{?f=【1】*?f;

w=f/(2*i+1);

s+=w;

}

【2】=s;

}

考生答案:?正確答案:?-1?正確答案:?*sn

10.27?該程序運行的結果是【3】。

#include#include#define?M?100

void?fun(int?m,?int?*a,?int?*n)

{?int?i,j=0;

for(i=1;i<=m;i++)

if(i%7==0||i==0)

a[j++]=i;

*n=j;

}

main()

{?int?aa[M],n,k;

clrscr();

fun(10,aa,&n);

for(k=0;k

if((k+1) ==0)

printf("\n");

else?printf("M",aa[k]);

printf("\n");

}

考生答案:?正確答案:?7

10.28?下列程序的功能是:求出ss所指字符串中指定字符的個數,并返回此值。

例如,若輸入字符串123412132,輸入字符1,則輸出3,請填空。

#include?#include?#define?M?81

int?fun(char?*ss,?char?c)

{?int?i=0;

for(;?【4】;ss++)

if(*ss==c)?i++;

return?i;

}

main()

{?char?a[M],?ch;

clrscr();

printf("\nPlease?enter?a?string:?");?gets(a);

printf("\nPlease?enter?a?char:?");?ch=getchar();

printf("\nThe?number?of?the?char?is:?%d\n",?fun(a,ch));

}

考生答案:?正確答案:?*ss!=?’\0’

10.29?若給fun函數的形參s傳送字符串:“]]6354abcc”?(其中]表示空格字符),則函數的返回值是【5】。

#include?long?fun(char?s[])

{?long?n;int?sign;

for(;isspace(*s);s++);

sign=(*s==′-′)?-1:1;

if(*s==′+′||*s==′-′)?s++;

for(n=0;isdigit(*s);s++)?n=10*n+(*s-′0′);

return?sign*n;

}

考生答案:?正確答案:?6354

10.30?下面程序是指從終端讀入的20個字符放入字符數組中,然后利用指針變量輸出上述字符串,請填空。

#include?main?()

{?int?i;?char?s[21],*p;

for?(i=0;i<20;i++)

s[i]=getchar?();

s[i]=【6】;

p?=【7】

while?(*p)?putchar?(【8】);

}

正確答案:?’\0’?正確答案:?s?正確答案:?*p++

10.31?以下函數的功能是求出能整除x且不是偶數的各整數,并按從小到大的順序放在pp所指的數組中,這些除數的個數通過形參n返回。

例如,若x中的值為30,則有4個數符合要求,它們是1,3,5,15。

請按題意,完成填空。

試題程序:

#include?#include?void?fun?(int?x,?int?pp[],?int?*n)

{?int?i,j=0;

【9】

if(x%i==0)?pp[j++]=i;

【10】;

}

main?()

{?int?x,aa[1000],?n,?i?;

clrscr();

printf("\nPlease?enter?an?integer?number?:?\n?");

scanf?("%d?",?&x);

fun?(x,?aa,?&n);

for?(i=0?;?i

printf?("%d?",?aa?[i]);

printf?("\n?");

}

正確答案:?for(i=1;i

10.32?mystrlen函數的功能是計算str所指字符串的長度,并作為函數值返回。請填空。

int?mystrlen(char?*str)

{?int?i;

for(i=0;【11】!=?′\0′;i++);

return(i);

}

考生答案:?正確答案:?*(str+i)?或?str[i]

10.33?下面函數的功能是:找出一維數組元素中最大的值和它所在的下標,最大值的和它所在的下標通過形參傳回。數組元素中的值已在主函數中賦予。主函數中x是數組名,n是x中的數據個數,max存放最大值,index存放最大值所在元素的下標。請填空。

#include#includevoid?fun(int?a[],int?n,?int?*max,?int?*d)

{?int?i;

*max=a[0];

*d=0;

for(i=0;【12】;i++)

if(*max

{?*max=a[i];*d=i;?}

}

main()

{?int?i,?x[20],?max,?index,?n=10;

randomize();

for(i=0;i

{?x[i]=rand()P;?printf("M",x[i]);

}

printf("\n");

fun(x,n,&max,&index);

printf("Max=],Index=M\n",max,index);

}

考生答案:?正確答案:?i

10.34?閱讀以下程序,使程序輸出結果為30,4.000?000,請填空。

#include?"stdio.h"

main()

{?int?a=30,b=40,c;

double?【14】?,s;

s=fun(&a,&b,&c);

printf("%d,%lf\n",c,s);}

double?fun(int?*a,int?*b,?【15】?)

{?*c=*a%*b;

return(4.0);

}

正確答案:?fun(int?*,int?*,int?*)?正確答案:?int?*c

總結

以上是生活随笔為你收集整理的c语言中int*point 其中point是指针变量名,2012年计算机等级二级C语言章节习题及答案(9)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。