第一范文网 - 专业文章范例文档资料分享平台

c语言第六章习题

来源:用户分享 时间:2025/11/15 15:16:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第六章

练习题

一、填空题

1、定义int a[]={1,2,3,4,5,6},*p=a;语句printf(\(*++p)++);的输出结果是( )。 2、以下程序的执行结果是( )。 main()

{ char s[]=\ char *p; p=s; printf(\ } 3、以下程序的执行结果是( )。 main()

{ int a[][={1,2,3,4,5,6};

for(p=&a[5];p>=a;p--) printf(\ printf(\

4、以下程序的执行结果是( )。 main()

{ int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i; for(i=0;i<4;i++) p[i]=&a[i*3]; printf(\

5、设包含如下程序的文件名为myprog.c,编译后键入命令:myprog one two three,则执行结果是( )。 main(int argc,char *argv[]) { int i;

for(i=1;i

printf(\6、下面程序的运行结果是( )

char s[80],*sp=\7、下面程序段的运行结果是( ) char *s1=\

s1++; t=(strcmp(s1,s2)>0); printf(\8、下面程序段的运行结果是( ) char str[]=\ char *p=str; printf(\9、若有以下定义和语句:

int a[4]={0,1,2,3},*p; p=&a[1]; 则++(*p)的值是( )。

10、若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是( ),*(a[1]+2)

1

的值( )。

11、若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是( ),*(a+5)的值是( )。

12、若有以下定义和语句: int a[4]={0,1,2,3},*p; p=&a[2]; 则*--p的值是()。 13、若有以下定义和语句: int s[2][3]={0},(*p)[3]; p=s; 则(*(p+1)+2)的值是()。 14、若有定义:int a[2][3]={2,4,6,8,10,12}; 则a[1][0]的值是( ),*(*(a+1)+0)的值是( )。

15、若有定义:int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是()。 for(k=0;k<3;k++) q[k]=&a[k*4]; printf(\

16、若有以下输入:1,2代表回车),则下面程序的运行结果是()。 main()

{int a[2][3]={2,4,6,8,10,12} , (*p)[3],i,j;

p=a; scanf(\ printf(\ ) 17、下面程序的运行结果是()。 main()

{ char *a[]={\ int j; p=a+3;

for(j=3;j>=0;j--) printf(\18、以下程序的执行结果是()。 main()

{ char *p1,*p2,str[20]=\ p1=\ p2=\strcpy(str+1,strcat(p1+1,P2+1)); printf(\19、若输入的值分别是1 3 5,下面程序的运行结果是() main()

{int a=0,i,*p,sum; p=&a;

for(i=0;i<=2;i++) { scanf(\ sum=s(p); printf(\ }} s(int *p)

{int sum=10; sum=sum+*p; return(sum); } 20、下面程序段的运行结果是()

char s[20]=\ char *sp=s; sp++; puts(strcat(sp,\21、下面程序段的运行结果是() char a[]=\ int s=0;

for(p=a;*p!='\\0';p++) s=10*s+*p-'0'; printf(\22、下面程序段的运行结果是() char a[]=\ int i=0; p=a;

2

while(*p) {if(i%2==0) *p='*'; p++;i++; } puts(a); 23、下面程序的运行结果是()。 main()

{ char *str[]={\ language\ int k; p=str;

for(k=0;k<4;k++) printf(\ }

二、选择题

1、以下程序的运行结果是() void 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(\A) 5, 2, 3 B) -5, -12, -7 C) -5, -12, -17 D) 5, -2, -7 2、执行以下程序后,b的值为() main()

{int b,k=4,m=6,*p1=&k,*p2=&m; b=(-*p1)/(*p2)+7; printf(\ } A)5 B)6 C)7 D)10

3、下面程序应能对两个整型变量的值进行交换。以下正确的说法是() main()

{int a=10,b=20; printf(\ swap(&a,&b); printf(\swap(int p,int q) { int t; t=p;p=q;q=t;} A)该程序完全正确

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

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

D)以下说法都不正确

4、设*p,i;以下正确的语句是()。

A)*p=&i; B)i=p; C)i=*p; D)p=2*p+1; 5、设char s[10];int i=1;以下正确的表达式是()。

A)[i+2] B)*(s+i) C)*(&s+i) D)*((s++)+i)

6、设有语句:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;以下对a数组的元素值不正确的引用是()。 A)a[p-a] B)*(&a[i]) C)p[i] D)*(a[0]+1)

3

7、设有说明int(*ptr)[M];其中ptr是()。

A)M个指向整型变量的指针 B)指向M个整型变量的函数指针 C)一个指向具有M个整型元素的一维数组的指针

D)具有M个指针元素的一维指针数组,每一元素只能指向整型量 8、如下程序的执行结果是()。 main()

{ int i; char *s=\ for(i=0;s[i]!='\\n';i++) printf(\ } A)a B)a\\ C)a\\\\ D)a\\\\\\\\ 9、有四组对指针变量进行操作的语句,以下判断正确的选项是() (1)int *p,*q;q=p; int a,*p,*q;*p=*q=&a; (2)int a,*p,*q;q=&a;p=*q; int a=20,*p;*p=a; (3)int a=b=0,*p;p=&a;b=*p; int a=20,*p,*q=&a;*p=*q; (4)int a=20,*p,*q=&a;p=q; int p,q;q=&p;

A)(1)正确,其余错 B)(1),(4)正确,其余错 C)(3)正确,其余错 D)以下结论都不正确

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

{ int *p,*q,a,b; p=&a; scanf(\A)*p表示的是指针变量p的地址

B)*p表示的是变量a的值,而不是变量a的地址 C)*p表示的是指针变量p的值 D)*p只能用来说明p是一个指针变量

11、若有以下定义,则*(p+5)表示()。int a[10],*p=a;

A)元素a[5]的地址 B)元素a[5]的值 C)元素a[6]的地址 D)元素a[6]的值 12、若有定义:int *p[4];则标识符p()。

A)是一个指向整型变量的指针 B)是一个指针数组 C)是一个指针,它指向一个含有四个整型元素的一维数组。 D)说明不合法

13、若有以下定义,且0<=i<6,则正确的赋值语句是()。int s[4][6],t[6][4],(*p)[6]; A)p=t; B)p=s; C)p=s[i]; D)p=t[i];

14、若有定义:int a[4][6];则能正确表示a数组中任一元素a[i][j](此处0<=i<4,0<=j<6)地址的

4

搜索更多关于: c语言第六章习题 的文档
c语言第六章习题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7w6xr9lhr375cln2zb80_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top