C语言程序设计第八章网上作业.doc_第1页
C语言程序设计第八章网上作业.doc_第2页
C语言程序设计第八章网上作业.doc_第3页
C语言程序设计第八章网上作业.doc_第4页
C语言程序设计第八章网上作业.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计第8章作业 布置日期:2015-5-20 截止日期:2015-5-31一、单选题 (每小题2.65分,共100.7分)1、设 int *p , I ;以下正确合理的语句是( )。 A、*p=10;B、i=p;C、i=*p;D、i=2*p+1; 2、设 char s10 ; int I ; 以下引用数组 s 中元素正确的表达式是( )。 A、S(i+2);B、*(s+i)C、*(&s+i)D、*(s+)+i)3、若有定义和语句int *pp, *p, a=10, b=20;pp=&p; p=&a;p=&b; printf(%d,%dn,*p,*pp);则输出结果是( )。 A、10,20B、10,10C、20,10D、20,204、若定义 char s20=programming,*ps=s ;则不能代表字符 o 的表达式是( )。A、ps+2B、s2C、ps2D、ps+=2,*ps 5、若有定义和语句 char *s1=12345 , *s2=1234;printf(%dn ,strlen(strcpy(s1,s2); 则输出结果是( )。 A、4B、5C、9D、106、若定义 int a =1, 2, 3, 4, 5 , 6, 7 , 8 , 9 , 10, *p=a ; 则值为 3 的表达式是 ( )。 A、p+=2,*(p+) B、p+=2,*+p C、p+=3,*p+D、+*p 7、设有以下一段程序 char s =Hello;char *p=s ; 执行完上面程序段后,*(p+5) 的值为 ( ) 。 A、oB、0 C、o 的地址D、不确定的值8、已知:int *p,a;则语句“p=&a;”中的运算符“&”的含义是。 A、位与运算B、逻辑与运算C、取指针内容D、取变量地址9、已知:int *p;使用如下语句动态申请一个int型的存储单元,应当使用。p=_malloc(sizeof(int); A、intB、int *C、(* int)D、(int *)10、已知:char s14=12;char *ptr;则执行以下语句后的输出为。ptr=s1;printf(%cn,*(ptr+1); A、字符2B、字符1C、字符2的地址D、不确定11、已知:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则不能表示数组a中元素的表达式是。 A、*pB、a10C、*aD、ap-a12、若x是整型变量,p是整型指针变量,则正确的赋值表达式是_。A、*p=*x;B、*p=&x; C、p=x; D、p=&x13、若有如下定义,则以下正确的赋值表达式是_。int x,*pb; A、pb=&xB、pb=xC、*pb=&xD、*pb=*x14、若有如下定义,则不能表示a1地址的表达式是_。int a10,*pp=a; A、a+1B、+ppC、pp+1D、+a15、下面程序的输出结果是_。#include void main()char *p =mop,book,w,op;int i;for(i=3;i=0;i-,i-) printf(%c,*pi);A、obB、opbookC、opD、owb16、若有如下定义,以下调用正确的是_。int a,*p=&a; A、scanf(%d,a)B、scanf(%d,p)C、scanf(%f,&a)D、scanf(%f,&p)17、下面各语句行中,能正确进行赋字符串操作的语句行是_。 A、char s45=abcd;B、char s5=a, b, c, e, f;C、char *s; s=abcd;D、char *s; scanf(%s,s);18、若有以下说明和语句,对c数组元素的正确引用是_。int c45, (*cp)5;cp=c; A、cp+1B、*(cp+3)C、*(cp+1)+3D、*(*cp+2)19、若有以下定义,则值为6的表达式是_。int a10=1,2,3,4,5,6,7,8,9,10,*p=a; A、*p+6B、*(p+6)C、*p+=5D、p+520、若有以下定义,则与赋值语句n2=n1等价的语句是_。int n1=0,n2,*p=&n2,*q=&n1; A、*p=*q;B、p=q;C、*p=&n1;D、p=*q;21、若有以下定义,并在以后的语句中未改变p的值,则不能表示a1地址的表达式是_。int a9,*p=a; A、p+1B、a+1C、a+D、+p22、若有以下定义,则合法的赋值语句是_。int i,a10,*p; A、p=100;B、p=a5;C、p=a2+2;D、p=a+223、执行如下的程序段后,*(ptr+5)的值为_。char str =Hello;char *ptr;ptr=str; A、oB、0C、不确定的值D、o的地址24、下面函数的功能是_。int sss(s, t)char *s, *t;while(*s)&(*t)&(*t+=*s+);return(*s-*t); A、求字符串的长度B、比较两个字符串的大小C、将字符串s复制到字符串t中D、将字符串s接续到字符串t后面25、下面函数的功能是_。int fun1(char *x)char *y=x;while(*y+);return(y-x-1); A、求字符串的长度B、比较两个字符串的大小C、将字符串x复制到字符串yD、将字符串x连接到字符串y后面26、函数功能是交换x和y的值,且通过正确调用返回交换结果。能正确实现此功能的函数是_。 A、funa(int *x,int *y) int p;p=*x;*x=*y;*y=p; B、funb(int x,int y) int t;t=x;x=y;y=t; C、func(int *x,int *y) *x=*y;*y=*x; D、fund(int x,int y) *x=*x+*y;*y=*x-*y;*x=*x-*y; 27、以下程序的输出结果是_。#include void fun(int *x,int *y)printf(%d%d,*x,*y);*x=3;*y=4;void main()int x=1,y=2;fun(&y,&x);printf(%d%d,x,y); A、21 43B、12 12C、12 34D、21 1228、请选出以下程序的输出结果_。#includevoid sub(int x, int y, int *z)*z=y-x;void main()int a, b, c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(%d,%d,%dn, a,b,c); A、5,2,3B、-5,-12,-7C、-5,-12,-17D、5,-2,-729、以下程序的运行结果_。#include void main( )int a =2,4,6,8,*p=a,i;for(i=0;i4;i+) ai=*p+;printf(%d,%dn,a2,*(-p); A、5, 6B、6, 8C、6, 7D、7, 930、以下程序的运行结果_。#include void main( )int a,b,c;int x=4,y=6,z=8;int *p1=&x,*p2=&y,*p3;a=p1=&x;b=3*(-*p1)/(*p2)+7;c=*(p3=&z)=*p1*(*p2);printf(%d,%d,%dn,a,b,c); A、0, 4, 23B、1, 5, 24C、2, 6, 25D、3, 6, 2531、以下程序的运行结果_。#include void main( )int a =2,4,6,8,10,*p,*k;p=a;k=&p;printf(%d ,*(p+);printf(%d n,*k); A、2 4B、1 3C、2 5D、3 432、以下程序的运行结果_。#include void main( )int a34=2,4,6,8,10,12,14,16,18,20,22,24;int (*p)4=a,i,j,k=0;for(i=0;i3;i+)for(j=0;j2;j+)k+=*(*(p+i)+j);printf(%d n,k); A、65B、66C、67D、6833、以下程序的运行结果_。#include void main( )int k=0,sign,m;char s =-12345;if(sk=+|sk=-)sign=sk+=+?1:-1;for(m=0;sk=0&sk=9;k+)m=m*10+sk-0;printf(Result=%dn,sign*m); A、Result=-23456B、Result=-12345C、Result=-34567D、Result=-4567834、统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请填空。#include #include void main( )int num26,i; char c,*p=&c;for(i=0; i26; i+) numi=0;while( ( =getchar()!=#) /* 统计从终端输入的大写字母个数 */if(isupper(*p) ;for(i=0;i26;i+) /* 输出大写字母和该字母的个数 */if(numi) printf(%c: %dn, i+A, ); A、 strlen(str)+1 t=0 huiwen(&str)B、 strlen(str)-1 t=1 huiwen(str)C、 strlen(str)+1 t=1 huiwen(&str)D、 strlen(str)-1 t=0 huiwen(str)35、统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请填空。#include #include void main( )int num26,i; char c,*p=&c;for(i=0; i26; i+) numi=0;while( ( =getchar()!=#) /* 统计从终端输入的大写字母个数 */if(isupper(*p) ;for(i=0; i26; i+) /* 输出大写字母和该字母的个数 */if(numi) printf(%c: %dn, i+A, ); A、 c numc-A+ numi+B、 c numc-A+ numiC、 d numc-A- numi-D、 d numc-A- num+i36、下列程序中huiwen()函数的功能是检查一个字符串是否是回文。当字符串是回文时,函数返回“yes!”字符串,否则函数返回“no!”字符串,并在主函数中输出。所谓回文即正向与反向的拼写一样,如adgda,请填空。#include #include char * huiwen(char *str)char *p1,*p2;int i,t=0;p1=str;p2= ;for(i=0;i=strlen(str)/2;i+)if(*p1+!=*p2-)t=1;break;if( ) return(yes! );else return(no! );void main()char str50;printf(Input: ); scanf(%s,str);printf(%sn, ); A、 strlen(str)-1 t=0 huiwen(&str)B、 strlen(str)-1 t=1 huiwen(str)C、 strlen(str)+1 t=0 huiwen(&str)D、 strlen(str)+1 t=1 huiwen(str)37、以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请补充填空。#include void findmax (int *s ,int t ,int *k )int p; for(p=0,*k=p;p s*k) ; void main()int a10 , i , k ;for ( i=0 ; i10 ; i + + ) scanf(%d,&ai); ;printf ( %d,%dn , k , ak ); A、 *k=p+1 findmax(&a, 10, k)B、 *k=p findmax(a, 10, &k) C、 *k=p-1 findmax(a, 10, &k) D、 *k=p-1 findmax(&a, 10, k)38、在下列程序中,函数fun()的功能是比较两个字符串的长度,函数返回较长的字符串的地址。若两个字符串长度相同,则返回第一个字符串的地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论