C语言程序设计题目及解答-11.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、判断题?(14分) 1. 指针就是地址,因此一个变量的指针就是该变量的地址。2分 2. 在语句int *p;和语句printf(%d,*p);中的*p含义相同。2分 3. 指针变量不可以为函数的参数。2分 4. 若指针变量指向一维数组的第一个元素,将指针变量加整数3,即指针后移3个元素。 5. b是一维数组名,数组元素b[1]还可写成*(b++)。2分 6. 在二维数组中,行指针是指向一维数组的指针变量.2分 7. 取地址运算符与指针运算符*的优先级相同,结合方向为自右向左。2分 二、选择题?(18分) 1.下列程序执行后的输出结果是( )。???[A] 2分 #include stdio.h void func(int *a,int b[]) { b[0]=*a+6; } int main() { int a,b[5]; a=0; b[0]=3; func(a,b); printf(%d,b[0]); } A. 6?????B. 7?????C. 8?????D. 9 2.有如下程序段 int *p,a=10,b=1; p=a; a=*p+b; 执行该程序段后,a的值为( )。???[C] 2分 A. 编译出错?????B. 12?????C. 11?????D. 10 3.表达式“c=*p++”的执行过程是()???[A] 2分 A. 复制*p的值给c后再执行p++ B. 复制*p的值给c后再执行(*p)++ C. 复制p的值给c后再执行p++ D. 执行p++后再复制*p的值给c 4.若有float a=2.5,b=6.3, *pa=a; *pa*=3;pa=b; 则正确的是( )。???[B] 2分 A. pa的值是2.5 ;?????B. *pa的值是6.3?????C. *pa的值是7.5?????D. pa的值是6.3; 5.下列语句定义p为指向float型变量d的指针,其中正确的是()???[C] 2分 A. float d,*p=d;?????B. float *p=d,d;?????C. float d,*p=d;?????D. float d,p=d; 6.若有“float a=1.5,b=3.5,*pa=a;*pa*=3;pa=b;”,则正确的是()???[C] 2分 A. pa的值是1.5?????B. *pa的值是4.5?????C. *pa的值是3.5?????D. pa的值是3.5 7.指针变量p1、p2类型相同,要使p2、p1指向同一变量,哪一个语句是正确的()。A] 2分 A. p2=*p1;?????B. p2=**p1;?????C. p2=p1;?????D. p2=*p1 8.指出下列语句中正确的是()。??[B] 2分 A. char *p; char s[80]; p=s[0]; B. double x,y,*p; x=3.45;p=x; y=*p; C. int x,*p; *p=x; D. int *p=a; int a; 9.下面程序的输出是( )。[B] 2分 #includestdio.h void ast(int x, int y, int *cp, int *dp) { *cp=x+y; *dp=x-y; x=*cp+*dp; y=*cp-*dp; } void main() { int x,y,c,d; x=5;y=2,c=8,d=4; ast(x,y,c,d); printf(%d,%d,%d,%d\n,x,y,c,d); } A. 5,2,8,4?????B. 5,2,7,3?????C. 12,4,7,3?????D. 12,4,8,4 三、程序填空题?(38分) 1. 功能:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 10分 #include stdio.h int length(char *p) { int n; n=0; while(*p!=\0) { __(1)__; p++; } return n; } int main() { int length(__(2)__); int len; char str[1000]; printf(please input a string:\n); scanf(%s,str); len=length(__(3)__); printf(the string has %d characters.,len); } (1)答案 3分 n

文档评论(0)

kxiachiq + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档