c语言补充作业,C语言课件程序第8章补充作业

《C语言课件程序第8章补充作业》由会员分享,可在线阅读,更多相关《C语言课件程序第8章补充作业(13页珍藏版)》请在人人文库网上搜索。

1、第8章补充作业1、选择题1)变量的指针,其含义是指该变量的 。A值 B地址 C名 D一个标志2)若有语句int *point, a=4; 和point=&a; 下面均代表地址的一组选项是 。Aa, point, *&a B&*a, &a, *pointC*&point, *point, &a D&a, &*point, point3)若已定义a为int型变量,则 是对指针p的正确说明和初始化。Aint *p=a; Bint *p=*a; Cint p=&a; Dint *p=&a;4)下面判断正确的是 。Achar *a=“china”; 等价于char *a; *a=“china”;Bcha。

2、r str10=“china”; 等价于char str10; str=“china”;Cchar *s=“china”; 等价于char *s; s=“china”;Dchar c4=“abc”,d4=“abc”; 等价于char c4=d4=“abc”;5)以下合法的定义是 。Astatic str =“china”; Bchar *p=“china”;Cchar *p; strcpy(p,”china”); Dchar str13; str =“china”;6)若有定义:int a46;则能正确表示a数组中任一元素aij(此处0i4,0j6)地址的表达式是 。A&a00+6*i+j B。

3、&a00+4*j+iC&a00+4*i+j D&a00+6*j+i7)若有以下定义,则数值不为3的表达式是 。int x10=0,1,2,3,4,5,6,7,8,9,*p1;Ax3 Bp1=x+3, *p1+Cp1=x+2, *(p1+) Dp1=x+2, *+p18)若有说明语句:int x34;则以下关于x,*x,x0,&x00的正确描述是 。Ax,*x,x0,&x00均表示元素x00的地址B只有x,x0,&x00表示的是元素x00的地址C只有x0和&x00表示的是元素x00的地址D只有&x00表示的是元素x00的地址9)若有以下说明语句:static int i, a23=1, 3, 5。

4、, 7, 9,11;int m, n;且0m1,0n2,则 是对数组元素的正确引用。Aam+n B*(a+5) C*(*(a+m)+3) D*(*(a+m)+n)10)以下程序运行的结果是 。#include#includemain()char *p1,*p2,str50=“abc”;p1=“abc”; p2=“abc”;strcpy(str+1, strcat(p1,p2);printf(“%sn”,str);Aabcabcabc Bbcabcabc Caabcabc Dcabcabc11)下面程序的运行结果是 。#includemain()int b,a=28;char s10,*p;p=。

5、s;dob=a%16;if(b0);*p=0;puts(s); A10 B2 C51 D012)下面程序的运行结果是 。#includemain()static char a =“Language”,b =“programe”;char *p1,*p2;int k;p1=a; p2=b;for(k=0; kmain()int a =2, 4, 6, 8, 10, y=1, x, *p;p=&a1;for(x=0; xmain()char ch25=“6937”, “8254”, *p2;int i, j, s=0;for(i=0;imain()int i,k;for(i=0; imain()c。

6、har *ptr1, *ptr2;ptr1=ptr2=“abcde”;while(*ptr2!=0)putchar(*ptr2+);while(-ptr2=ptr1)putchar(*ptr2);putchar(n);13)有以下程序,若从键盘输入:abc def,则输出结果是 。#include#includemain()char *p,*q;p=(char *)malloc(sizeof(char)*20);q=p;scanf(“%s%s”,p,q);printf(“%s %s”,p,q);14)以下程序的输出结果是 #includemain()char str =“abc”, *ps=s。

7、tr;while(*ps)ps+;for(ps-; ps-str=0; ps-)puts(ps);15)设有以下程序:#includemain()int i, *p=&i;i=10;*p=i+5;i=2*i;printf(“%dn”,*p);程序执行的结果是 。16)设有两个字符串a、b,下面程序是将a、b的对应字符中的较大者存放在数组c的对应位置上。请填空。#include#includemain()int k=0;char a80,b80,c80=0,*p,*q;p=a; q=b; gets(a); gets(b);while( )if( )ck=*q;elseck=*p;p+; q+; 。

8、k+;if(*p!=0)strcat(c,p);elsestrcat(c,q);puts(c);17)以下程序的功能是:将无符号八进制数字字符串转换为十进制整数。例如,输入的字符串为556,则输出十进制整数366。请填空。#includemain()char *p, s6;int n;p=s;gets(p);n=*p-0;while( =0)n=n*8+*p-0;printf(“%dn”, n);18)假设a数组中的数据已按从小到大的顺序存放,以下程序可把a数组中相同的数据删得只剩下一个,然后以每行4个数据的格式输出a数组。请填空。#define M 10main()int aM,i,j,n;。

9、for(i=0; i=0)if(*(a+i)= =*(a+i-1)for(j= ; j#includemain()char s81,*p1,*p2;int n;gets(s);n=strlen(s);p1=s;p2= ;while( )if(*p1!=*p2)break;elsep1+;if(p1main()char a80,b80,*p=“aAbcdDefgGH”;int i=0, j=0;while(*p!=0)if(*p=a & *pmain()static int a =1,3,5,7;int *p3=a+2,a+1,a;int *q=p;printf(“%dn”,*(p0+1)+*(。

10、q+2);22)以下程序能找出数组x中的最大值和该值所在的元素下标,数组元素值从键盘输入,请填空。main()int x10,*p1,*p2,k;for(k=0; k*p2)p2= ;printf(“MAX=%d, INDEX=%dn”,*p2, );23)以下程序的执行结果是 。#include#include#define P(x) printf(“%s”,x)main()static char *c =“you can make statement”, “for the topic”, “The sentences”, “How about”;static char *p =c+3,c+。

11、2,c+1,c;char *pp=p;P(*+pp);P(*-*+pp+3);P(*pp-2+3);P(pp-1-1+3);printf(“n”);24)下面程序的功能是将字符串a的所有字符传送到字符串b中,要求每传送三个字符后再存放一个空格,例如字符串a为”abcdefg”,则字符串b为”abc def g”,请选择填空。#includemain()int i,k=0;char a80,b80,*p;p=a;gets(p);while(*p)for(i=1; 【1】 ; p+,k+,i+)bk=*p;if( 【2】 ) bk= ; k+; bk=0;puts(b);【1】Aimain()ch。

12、ar str80,*p,max,*q;p=str; gets(p); max=*(p+);while(*p!=0)if(maxstr Bp=str C*pstr0 D*p=str0【3】Ap+ Bstr- Cp- Di-26)下面程序的功能从终端读入一行字符作为字符串放在字符数组中,然后输出请填空。int i;char s80,*p;for(i=0;i79; i+)si=getchar();if(si= =n)break;si= ;p= ;while(*p)putchar(*p+);27)下面程序的运行结果是 。char s20=“abcd”;char *sp=s;sp+;puts(strcat(sp,”ABCD”);28)下面程序段的运行结果是 。char a=“123456789”,*p;int i=0;p=a;while(*p)if(i%2= =0) *p=*;p+; i+;puts(a);29)下面程序的输出结果是 。main()int b23=2,4,6,8,10,12;int *a23=*b,*b+1,*b+2,*(b+1),*(b+1)+1,*(b+1)+2;int *q,k;q=a0;for(k=0;k6;k+)printf(“%4d”,*q);q+;请浏览后下载,资料供参考,期待您的好评与关注。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值