资源描述:
《2019C语言程序设计题目及解答-12》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言程序设计题目及解答-12 一、判断题(20分) 1.语句char*p=的含义是将字符串赋给字符型指针变量p。 2.若指针变量指向一维数组的第一个元素,将指针变量加整数3,即指针后移3个元素。3.b是一维数组名,数组元素b[1]还可写成*(b++)。 4.对二维数组a来说,于a+1与*(a+1)的值相等,因此二者的含义是一样的。5.在二维数组中,行指针是指向一维数组的指针变量. 6.取地址运算符&与指针运算符*的优先级相同,结合方向为自右向左。7.两个字符串中的字符个数相同时才能进行字符串大小的比较8.字符串不能用指
2、针进行引用 9.charc=是一个合法的为字符串数组赋值的语句。 10.char*p=的含义是定义字符型指针变量p,p的值是字符串。 2分 2分 2分 2分 2分 2分 2分 2分 2分 二、选择题(24分) 1.下面程序段的运行结果是()。[B]charstr=printf( A.67 B.0 C.字符′C′的地址 D.字符′C′2.阅读下列程序,则执行后的结果为()。[B]#includeintmain {intc[4]={1,2,3,4,5,6,7,34,213,56,62,3,
3、23,12,34,56};printf(} A.62,5 B.3e,6 C.56,5 D.3E,63.下面程序段的运行结果是()。[C]char*s=s+=2; printf( A.cde B.字符′c′ C.字符′c′的地址 D.无确定的输出结果4.若有变量定义intx=3,*p;,则下面语句不正确的是( )。[A]A.p=&(x+1); B.p=&x; C.p=&x+1; D.p=&x,p++; 5.指针变量p1、p2类型相同,要使p2、p1指向同一变量,哪一个语句是正确的。A]A.p2=*&p
4、1; B.p2=**p1; C.p2=&p1; D.p2=*p16.若有语句:char*line[5];,以下叙述中正确的是()。[A] A.定义line是一个数组,每个数组元素是一个基类型为char为指针变量。B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组。C.定义line是一个指针数组,语句中的*号称为间址运算符。D.定义line是一个指向字符型函数的指针。 7.若有数组定义为inta[10],i;与a[i]=100等价的赋值表达式是[B]A.a+i=100 B.*(a+i)=100 C.(
5、a+i)=100 D.&a[i]=1008.定义函数int*max的正确含义是。[B] 2分 2分 2分 2分 2分 2分 2分 2分 A.返回整型值的函数 B.返回指向整型变量的指针 C.返回指向函数max的指针 D.上面的叙述都不正确 9.若有定义“int(*ptr)(float);”,其正确的含义是。[C]A.ptr是指向一维数组的指针变量B.ptr是指向int型数据的指针变量 C.ptr是指向函数的指针变量,该函数有一个float型参数,返回值是整型D.ptr是一个函数名,该函数的返回值是指向i
6、nt型数据的指针 10.若有定义chara[15]=则strlen(a)返回值和sizeof(a)的返回值分2分 别为。[C]2分 A.11,15 B.17,11 C.10,15 D.18,11 11.若有定义chara[15]=则strlen(a+5)返回至为。[D]A.8 B.10 C.17 D.5 s=则数组s的字符串长度为。[C]2分 A.12 B.10 C.11 D.18 三、程序填空题(26分) 1.功能:建立一个如下的二维数组,并按以下格式输出。10001010100010001
7、0101000110分 #includeintmain(){ inta[5][5]={0},*p[5],i,j;for(i=0;ivoidweek(intno){ char *w={ if(no>=0&&no#includevoidmain{ chars[80],__(1)__; inti; scanf( strcpy(max,__(2)__); for(i=1;i#includevoidsort(float*p,intn){ inti,j;float*q,temp;//选择法排序 for(i=0;i
8、 voidvalue(int*p,intn,intx){ } voidmain{inta[100],n,x,i;scanf(} value(a,n,x);for(i=0;i #includevoidmain() {cha