平顶山工业职业技术学院C语言程序设计期末考试试卷.pdf
平顶山工业职业技术学院平顶山工业职业技术学院 C C 语言程序设计期末考试试卷语言程序设计期末考试试卷一、选择题(每小题一、选择题(每小题 1 1 分分,共共 2020 分)分)1.1.在在 C C 语言程序中,语言程序中,mainmain()函数()函数()。A A。必须作为第一个函数必须作为第一个函数 B B。必须作为最后一个函数必须作为最后一个函数C.C.可以放在任意位置可以放在任意位置D D。必须放在它所调用的函数之后必须放在它所调用的函数之后2.2.表达式表达式!(10 20!(10 30|15 30 10!=15 10!=15 的值是(的值是().).A A0 0B.1B.1C C。2 2D D。10 103 3。下列标识符中,合法的用户标识符是下列标识符中,合法的用户标识符是()。)。A.a_1234A.a_1234 B B。1234 1234C C。char char D D。x x?1231234.4.下列的下列的 C C 语言常量中,错误的是语言常量中,错误的是()。)。A A。0Xff 0XffB B。1 1。2e02e0。5 5C C。2LD 2LD。72725.5.下列表达式中下列表达式中,()满足满足 x x 为奇数时为真为奇数时为真,x,x 为偶数时为假为偶数时为假.A A。x x2=02=0 B.B.(x/2x/22-x)=02-x)=0 C.C.!!(x!(x2 2)D.!x%2 D.!x%2!=0=06.6.若有说明语句若有说明语句:int k=1:int k=1,a=2a=2,b=3,c=4;b=3,c=4;表达式表达式 k ka?k:cb?ca?k:cxa=wx)&(b=y(b=yz z);后,);后,a a、b b 的值为(的值为().A A。1 1 和和 1 1B B。0 0 和和 6 6C.5C.5 和和 3 3D.0D.0 和和 0 09.9.下列运算符中,具有右结合性的是(下列运算符中,具有右结合性的是()。)。A.%B.+CA.%B.+C。&D D。=10.10.以下关于以下关于 getchargetchar()函数的正确使用语句是()函数的正确使用语句是()。A.char c;getchar(c)A.char c;getchar(c);B.char c;c=getchar();B.char c;c=getchar();C C。char c;getchar(char c;getchar(c);c);D D。char*c=getchar char*c=getchar()();1111字符串字符串ttNameAddressnNameAddressn的长度为(的长度为().A A。18 18B B。17 17C C。16D.15 16D.151212。define MUL 2+3define MUL 2+3,则表达式“5+MUL5.0”的值为(则表达式“5+MUL5.0”的值为()。)。A A20.020.0B B22.0 C22.0 C30.030.0D D5050。0 013.13.下面关于数组初始化的语句下面关于数组初始化的语句,错误的是(错误的是().A A。int a5 int a5=1 1,2,32,3;B.int a B.int a2=0,02=0,0;C.int aC.int a=1,2;D.int a3=11,2;D.int a3=1,2,3,4,52,3,4,5,6 6;1414。有定义语句:有定义语句:int aint a,b b,*p1*p1,*p2;p2;则下面语句正确的是则下面语句正确的是().A Aa=a=p1p1;B Bb=*p2b=*p2;C Cp1=&a;Dp1=&a;Dp2=p2=b b1515。定义定义:int:int aa=0,10,1,2,3,4,52,3,4,5,i i;其中其中 0i5,则对0i5,则对 a a 数据元素数据元素引用不正确的是(引用不正确的是().).A A。a a0B.a0B.ai C.*(a+i)i C.*(a+i)D.a6D.a616.16.如果函数定义时如果函数定义时,实参是整型变量,实参是整型变量,则函数调用时,则函数调用时,实参不可以是实参不可以是()。A A。字符型常量字符型常量B B。数组名数组名 C.C.整型常量整型常量D.D.整型表达式整型表达式17.17.for(i=0for(i=0;i i=20;)=20;)printf(%dprintf(%d n,n,i+=2i+=2););则循环体执行(则循环体执行()次。)次。A A21B21B20C20C11D11D101018.18.以下关于以下关于 switchswitch 语句的描述,正确的是(语句的描述,正确的是()。A.A.一个一个 switchswitch 表达式可以是任意的类型;表达式可以是任意的类型;B B。当遇到当遇到 breakbreak 语句时,程序停止运行;语句时,程序停止运行;C.C.在在 switchswitch 语句中必需要有语句中必需要有 defaultdefault 子句子句;D.switchD.switch 语句总是可以用一系列的语句总是可以用一系列的 ifelseifelse 语句来替换语句来替换.1919。在在 int a=3,*pint a=3,*p;p=&a p=&a;中,中,p p 的值是(的值是().A A变量变量 a a 的地址值的地址值B B变量变量 p p 的地址值的地址值 C C3 3D D无意义无意义20.20.设设 a=5a=5,b=3b=3,则表达式,则表达式 abab2 2 的二进制表示的值为(的二进制表示的值为()。A A。00000100 00000100B.00001001B.00001001 C.00011000 C.00011000D D。00001101 00001101得分得分阅卷人阅卷人1 1。C C 语言中,语句结束符是语言中,语句结束符是,注释符是。,注释符是。2 2。定义一个名为定义一个名为 x x 的整型二维数组,其大小为的整型二维数组,其大小为 34,要求每行第一个元素为34,要求每行第一个元素为1 1,其余均是,其余均是 0,0,则定义语句是则定义语句是。3 3。函数调用时,若形式参数和实际参数均为变量名时函数调用时,若形式参数和实际参数均为变量名时,传递方式为;传递方式为;若形式参数和实际参数均为数组名时,传递方式为若形式参数和实际参数均为数组名时,传递方式为。4.4.设设 a=4,b=3,x=5.5a=4,b=3,x=5.5,y=2.5y=2.5,表达式(,表达式(float)(a+bfloat)(a+b)/2+/2+(int)xint)x(int)yint)y 的的值是值是.5 5。若有声明语句:若有声明语句:charchar a=a=EnglishEnglish;,则执行,则执行 printfprintf(s s,a,a););的输出结果是的输出结果是,而执行,而执行 printfprintf(c c,a);,a);的输出结果是的输出结果是.6 6.称为运算符,称为运算符,称为称为 运算符。运算符。7.7.结构化程序的三种基本结构分别是结构化程序的三种基本结构分别是、和循环结构。和循环结构。8.putchar8.putchar()函数用于输出()函数用于输出,使用该函数时使用该函数时,需要在程序头部写入需要在程序头部写入语句。语句。9 9。有如下语句:有如下语句:struct char ch,int iarr struct char ch,int iarr3 3=A,65,=A,65,a,97,0,a,97,0,4848;,则输出结果为,则输出结果为 a,97a,97 的输出语句是的输出语句是printf(printf();10.struct int i10.struct int i22;char c6 char c6;float a float a;ex1;ex1;unionunion int i2 int i2;char c6;char c6;float a float a;ex2ex2;则则 sizeof(ex1)sizeof(ex1)的值是,的值是,sizeof(ex2sizeof(ex2)的值是。)的值是。二、填空题(每题二、填空题(每题 2 2 分分,共共 2020 分)分)三、读程序写结果(每题三、读程序写结果(每题 4 4 分,共分,共 2020 分)分)1 1void main(void)void main(void)int s=0 int s=0,i i;1.1.执行后输出结果是:执行后输出结果是:forfor(i=1;i=1;;i+)i+)ifif(s s4040)break;break;if(i%2=0)s+=i if(i%2=0)s+=i;printf(i=printf(i=d,s=%dd,s=%dn,n,i i,s);s);2 2void test(void test()2 2。执行后输出结果是:。执行后输出结果是:static int x=0static int x=0;+x;+x;printfprintf(x(x=ddn,x);n,x);void mainvoid main(voidvoid)testtest(););test(test();test()test();3.3.执行后输出结果是:执行后输出结果是:3.void main3.void main(void)void)int i,j int i,j,m,nm,n;i=8i=8;j=10;j=10;m=i+m=i+;n=+j;n=+j;printfprintf(d,d,d d,d,d,dndn,i,i,j,mj,m,n n););4 4。includeinclude stdio.hstdio.h4.4.执行后输出结果是:执行后输出结果是:void mainvoid main(voidvoid)int a=25,35,60,10,15,5int a=25,35,60,10,15,5,p=ap=a;p+p+;printfprintf(%d(%d n,n,p+3p+3););5.5.include stdioinclude h void fun void fun(intint a a,intint b b)5.5.执行后输出结果是:执行后输出结果是:int*k;int*k;k=ak=a;a=ba=b;b=kb=k;void mainvoid main(void)void)int a,b,*x=int a,b,*x=a a,*y=&b*y=&b;scanf(d,%d,scanf(d,%d,a a,b);b);funfun(x x,y)y);printfprintf(d d,d,d,a,ba,b);设执行时输入:设执行时输入:1515,25,25四、程序填空(每空四、程序填空(每空 2 2 分分,共共 2020 分分)1.1.请在程序横线上填上适当内容请在程序横线上填上适当内容:1 1。下面程序功能是计算圆面积。下面程序功能是计算圆面积。define PI 3define PI 3。1414#include stdio#include hfloat mul()float mul()return PIreturn PIr*rr*r;void main(void)void main(void)floatfloat;scanf(scanf(%f%f,r1);r1);s=s=(r1);(r1);printf(printf(s=s=fnfn,s s););2 2。以下程序功能是求以下程序功能是求 1 1 到到 100100 的和的和.#include#include stdio.h stdio.h2.2.请在程序横线上填上适当内容:请在程序横线上填上适当内容:voidvoidmainmain(voidvoid)int i int i,;i=1i=1;dodo sum=sum+i sum=sum+i;i+i+;whilewhile();3.3.下面程序功能是通过指针操作下面程序功能是通过指针操作,找出输入的三个整数中最大的数并将其输找出输入的三个整数中最大的数并将其输出。出。3 3。请在程序横线上填上适当内容请在程序横线上填上适当内容:void main(voidvoid main(void)int x,y int x,y,z z,max,max,a=a=x x,*b=*b=y y,c=c=z;z;scanf(scanf(%d%d%d%d%d%d,),);max=max=a;a;if(maxif(max*b)*b);if(maxif(maxc c);printfprintf(max=%dnmax=%dn,max max););4 4。下面函数功能是求字符串长度。下面函数功能是求字符串长度。4 4。请在程序横线上填上适当内容请在程序横线上填上适当内容:int slenint slen(charchar p p)int len=0 int len=0;while(*p!=while(*p!=0)0)len+len+;;returnreturn;得分得分阅卷人阅卷人五、编写程序(每题五、编写程序(每题 1010 分分,共共 2020 分)分)1 1编程序,实现输入编程序,实现输入 2020 个学生的分数个学生的分数,计算平均分,并输出低于平均分数的成计算平均分,并输出低于平均分数的成绩绩.2 2编写求编写求 x x!的函数!的函数,调用该函数求出能使等式调用该函数求出能使等式 x x!=x=x3 310 x10 x,成立的,成立的 1010 以以内的所有正整数内的所有正整数 x x。