文档详情

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

发布:2017-06-03约5.13千字共7页下载文档
文本预览下载声明
一、判断题?(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++
显示全部
相似文档