《南邮《高级程序设计语言(C)》练习册期末复习题.docx》由会员分享,可在线阅读,更多相关《南邮《高级程序设计语言(C)》练习册期末复习题.docx(35页珍藏版)》请在优知文库上搜索。
1、南京邮电大学高等函授高级程序设计语言(C)综合练习习题与解答南京邮电大学继续教育学院2021年2月高级程序设计语言(C)综合练习注:此版本的综合练习册对应教材是(C程序设计,谭浩强主编,清华大学出版社,2017年7月第一版,ISBN9787302481447第一部分基础知识及最简单的程序设计一、填空题1、C语言中基本的数据类型有:、.2、C语言中普通整型变量的类型说明符为一,在内存中占一字节,有符号普通整型的数据范围是3、整数-35在机内的补码表示为.4,执行下列语句inta=8;a+=a-=a*a;后,a的值是。5、有如下语句:charA=”】amastudent;该字符串的长度是,A3=_
2、.6,符号”a”和出的区别是.7、所谓指针就是o“&运算符的作用是o*运算符的作用是。8、有如下输入语句:SCanfra=%d,b=%d,c=%d,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是。二、选择题1、设整型变量a为5,使b不为2的表达式是()。A.b=a2B.b=6-(-a)C.b=a%2D.b=a372:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是()in
3、tx=10,y=10;print11%d%dn,x-,y);A.1010B.99C.910D.1094、设A为存放(短)整型的维数组,如果A的首地址为P,那么A中第i个元素的地址为(.A.P+i*2B.P+(i-l)*2C.P+(i-l)D.P+i5、选出下列标识符中不是合法的标识符的是()。A.hot_doB.catlC._priD.2ab6、以下程序的输出结果是()。inta=5;floatx=3.14;a*(tE,-iA,);Printfc%fn,(float)a);A.62.00(X)00B.62.800000C.63.000000D.627、设有说明double(*pl)N;其中标识
4、符Pl是()。A.N个指向double型变量的指针。B.指向N个double型变量的函数指针。C.一个指向由N个double型元素组成的-维数组的指针。D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。8、在C程序中有如下语句:char*func(intx,inty);它是()。A.对函数func的定义。B.对函数func的调用。C.对函数func的原型说明QD不合法的。9、以下程序的输出结果是()。charstr15=hcllo!;Printf(i%dn,strlen(str);A.15B.14C.7D.610、分析以下程序的输出结果是()。main()inta=5,b
5、=l,c;c=adds(a,b);Printfe%d,c);c=adds(a,b);PrintfC%dn,c);intadds(intx,inty)staticintm=0,n=3;n*=+m;m=n%x+y+;return(m);A.2,3B.2,2C.3,2D.2,411、下列描述中不正确的是()。A.字符型数组中可能存放字符串。B.可以对字符型数组进行整体输入、输出。C.可以对整型数组进行整体输入、输出。D.不能在赋值语句中通过赋值运算符“=对字符型数组进行整体赋值。12、以下程序的输出结果是()。#definef(x)x*xmain()inta=6,b=2,c;c=f(a)f(b);P
6、rintfct%dn,c);A.9B.6C.36D.1813、设有如下定义:intx=10,y=3,z;则语句Printf(%dnz=(x%y,xy);的输出结果是()。A.1B.0C.4D.314、定义如下变量和数组:inti;intx33=1,2,3,4,5,678,9;则语句for(i=0;i5)printf(%dx);elsePrintf(%dn,x);A.7和5B.6和3C.7和4D.6和417、设有如下定义:Char*aa2=SbcdTABCD;则以下说法中正确的是(A)aa数组成元素的值分别是abed和ABCDB)aa是指针变量,它指向含有两个数组元素的字符型-维数组C)aa数组
7、的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符支和A的地址18、下列程序的输出结果是()。char*pl=abcd,*p2=ABCD,str50=xyz;strcpy(str+2,strcat(p1+2,p2+1);printf(,%s,str);A.xyabcABB.abcABzC.ABabczD.xycdBCD19、下列程序的输出结果是()。inta5=2,48J0,*P,*k;p=a;k=&p;printf(,%d,*(p+);Printf(%d产*k);A.44B.22C24D.4620、不能把字符串:HeIIo!赋给数组b的语句是()。
8、A.charb10=H,e,T,T,T;B.charb10;b=Hello!H;C.charb10;StrCPy(bJHcllo!);D.charb10=,Hello!,;三、读程序题1、floatf=3J415927;printf(wfc%f,%5.4f%3.3f,f,f,f);则程序的输出结果是O2、intx=6,y=7;Printfe%d,x+);Printfc%dn,+y);程序的输出结果是O3、a=3;a+=(a1)?a:1;PrintfC%d,a);结果是4、for(a=l,b=l;a=20)break;if(b%3=l)b+=3;continue;b-=5;程序的输出结果a的值为
9、。5、inty=l,x,*p,a=2,4,6,8,10;p=&al;for(x=0;x3;x+)y+=*(px);Printf(%dn,y);程序的输出结果y的值是o四、程序填空题1、从键盘上输入10个数,求其平均值。main()(inti;floatf,sum;for(i=l,sum=0.0jill;i+);jprintf(iiaverage=%fn,sum/10);)2、以下程序是建立一个名为mynic的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#includemain()FILE*fp;charc;=;doc=getchar();fputs(c,fp);whil
10、e(c!=EOF);3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入请填空.main()floatx,amax,amin;scanf(%f,x);amax=x;amin=x;while()if(xamax)amax=x;if()amin=x;scanf(,%f,x);printf(,namax=%fnamin=%fnm,amax,amin);五、编程题I.三个整数a、b、C,由键盘输入,输出其中最大的一个数。2.输出19002000年中所有的闰年。每输出3个年号换-行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被
11、400整除。)3.清编个函数intfun(inta),它的功能是:判断a是否是素数,若a是素数,返回1:若不是素数,返回0。A的值由主函数从键盘读入。4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。第二部分数组及简单指针1、C语言中普通整型变量的类型说明符为一,在内存中占一字节,有符号普通整型的数据范围是=2、C语言中基本的数据类型有:、。3、设整型变量n的值为2,执行语句n+=n-=n*n后,n的值是。4、共用体和结构体的定义格式类似,不同点是。5、有如下输入语句:SCanf(“a
12、=%d,b=%d,c=%d”,&a、&b,&c);为使变量a的值为1,b的值为3,C的值为2,从键盘输入数据的正确形式应是。6、有语句:charA=rTamastudent;该字符串的长度是,A3=。7、符号a和言的区别o8、下列程序的输出结果是。intast(intx,inty,int*cp,int*dp)*cp=x+y;*dp=x-y;main()inta=4,b=3,c,d;ast(a,b,&c,&d);Printf(%d,%dnc,d);)二、选择题I、以下选项中属于C语言的数据类型是()。A.复合型B.双精度型C.逻辑型D.集合型2、以下说法中正确的是()。A.C语言程序总是从第-个
13、的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是()。A.hot_doB.catlC._priD.2ab4、下列描述中不正确的是()。A,字符型数组中可能存放字符串。B、可以对字符型数组进行整体输入、输出。C、可以对整型数组进行整体输入、输出。D、不能在赋值语句中通过赋值运算符=”对字符型数组进行整体赋值。5、定义:inta9,*p=a;并在以后的语句中未改变P的值,不能表示al地址的表达式为()A.plB.a+1C.a+D.+p6、设有如下定义:intx=10,y=3,z;则语句PrintfC%dnz=(x%y,xy);的输出结果是()。A.1B.0C.4D.37、定义如下变量和数组:inti,x33=1,2,3,4,5,678,9;则下面语句for(i=0;i3;i+)printf(,%d,xi2-i);的输出结果是()A.159B.147C357D3698、读出以下