《山东XX大学专升本计算机程序设计期末考试复习题.docx》由会员分享,可在线阅读,更多相关《山东XX大学专升本计算机程序设计期末考试复习题.docx(176页珍藏版)》请在三一办公上搜索。
1、山东中医药大学计算机程序设计期末考试复习题在线作业、在线考试题库(复制快捷键:Ctrl+C 查找快捷键:Ctrl+F)一、单选题1.(1分)若有定义:inta=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()。A.1.4B.1C.2.0D.2参考答案:B2.(1分)若二维数组a有m列,则在aij前的元素个数为()。A.j*m+IB.i*m+jC.i*m+j-1D.i*m+j+1参考答案:B3.(1分)在以下二维数组定义中,错误的是()。A.int a2=1,2,3,4,5,6B.int a2=0,1C.int a22=1,2,3D.int a2=1,2,3,4参考答案:A4.(
2、1分)有以下程序段intk=0;while(k=1)k+;while循环执行的次数是()。A.无限次B.有语法错,不能执行C.一次也不执行D.执行一次参考答案:A5.(1分)设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()。A.6.500000B.6C.5.500000D.6.000000参考答案:D6.(1分)以下正确的实型常量是()。A.1.2EB.579899C.1.2e0.6D.8参考答案:B7.(1分)下列说法中,错误的是()。A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体
3、,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数参考答案:A8.(1分)以下程序段()。x=-1;dox=x*x;while(!x);A.是死循环B.循环执行两次C.循环执行一次D.有语法错误参考答案:C9.(1分)若有定义:int*p,k=4;p=&k;以下均代表地址的是()。A.k, pB.&k, &pC.&k, pD.k, *p参考答案:C10.(1分)以下叙述中正确的是()。A.在不同的函数中不可以使用相同名字的变量函数可以嵌套调用B.在一个函数内定义的变量只在本函数范围内有效C.实参变量对形参变量
4、的数据传递是“值传递”,具有双向传递性参考答案:B11.(1分)若a、b、c、d、w均为int类型变量,则执行下面语句后的w值是()。br/a=1;b=2;c=3;d=4;br/w=(ab)?a:b;br/w=(wc)?w:c;br/w=(wd)?w:d;br/A.1B.2C.3D.4参考答案:A12.(1分)以下程序的输出结果是()。main()intn=4;while(n)printf(%d,n);n-;A.20B.31C.4321D.死循环参考答案:D13.(1分)下列正确的标识符是()。A.8aaiB.a2_iC.int t参考答案:C14.(1分)以下能正确定义二维数组的是()。A.
5、int a14=1,2,3,4,5B.float x3=1,2,3C.long b23=1,1,2,1,2,3D.double y3=0参考答案:D15.(1分)设已定义:chars18,s28=Science;能将字符串Science赋给数组s1的语句是()。A.s1=s2B.strcpy(s2,s1)C.strcpy(s1,s2)D.s1=Science参考答案:C16.(1分)下面程序的输出的是()。#includevoidmain()intx=10,y=3;printf(%dn,y=x/y);A.0B.1C.3D.不确定的值参考答案:C17.(1分)以下程序段运行后,循环体运行的次数为
6、()。inti=8,a0;for(;i=A&ch=Z)?ch+32:ch的值是()。A.ZB.zC.AD.a参考答案:D26.(1分)设x、y和z都是int类型变量,且x=3,y=4,z=5,则下面的表达式中,值为0的表达式为()。A.x &yB.x|y+z & y-zC.C、x=yD.!(xy)&!z|1)参考答案:D27.(1分)以下程序运行后的输出结果是()。#includemain()inti,j,sum,m,n=4;sum=0;for(i=1;i=n;i+)m=1;for(j=1;j=i;j+)m=m*j;sum=sum+m;printf(sum=%dn,sum);A.sum=9B.
7、sum=33C.33D.sum=18参考答案:B28.(1分)以下变量x,y,z均为double型且已正确赋值,不能正确表示“x除以y和z的积”的C语言表达式是()。A.x/y*zB.x*(1/(y*z)C.x/y*1/zD.x/y/z参考答案:A29.(1分)以下程序段的运行结果是()。ints=15;switch(s/4)case1:printf(One);case2:printf(Two);case3:printf(Three);default:printf(Over);A.ThreeB.Two OverC.Three OverD.One Over参考答案:C30.(1分)若变量已正确定
8、义,以下非法的表达式是()。A.a/=b+cB.a%(4.0)C.a=1/2*(x=y=20,x*3)D.a=b=c参考答案:B31.(1分)语句while(!e);中的条件!e等价于()。A.e=0B.e!=1C.e!=0D.e参考答案:A32.(1分)一个C程序的执行是从()。A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序的main函数结束参考答案:A33.(1分)若有以下说明和语句,则正确表示数组元素地址的语句是()。inta
9、=1,2,3,4,5;int*p=a,n=2;A.&pB.&pnC.&(a+n)D.+a参考答案:B34.(1分)定义如下数组和变量:intm3=1,4,7,2,5,8,3,6,9;inti,j,k=2;则语句for(i=0;i3;i+)printf(%d,mki);的输出结果是()。A.4 5 6B.2 5 8C.3 6 9D.7 8 9参考答案:C35.(1分)有以下程序main()inti,j;for(j=10;j11;j+)for(i=9;ij;i+)printf(%d,j);输出结果是()。A.11B.10C.9D.10 11参考答案:B36.(1分)以下for循环是()。for(x
10、=0,y=0;(y!=123)&(xinta,y=10;scanf(%d,&a);br/if(a10)y=a+6;br/printf(%dn,y+a);br/A.10B.11C.16D.15参考答案:D38.(1分)下面程序的输出结果是()。#includevoidmain()intx=8,y=-7,z=9;if(xy)if(y0)z=0;elsez-=1;printf(%dn,z);A.8B.1C.9D.0参考答案:C39.(1分)标有/*/的语句的执行次数是()。inty,i;for(i=0;i20;i+)if(i%2=0)continue;y+=i;/*/A.20B.19C.10D.9参
11、考答案:C40.(1分)C语言中,关于函数的说法正确的是()。A.函数定义可以嵌套,但函数调用不可以嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和函数的调用均不可以嵌套D.函数定义和函数的调用均可以嵌套参考答案:B41.(1分)对下面程序段,描述正确的是()。for(t=1;t=100;t+)scanf(%d,&x);if(xb)&(n=cd)后n的值为()。A.1B.0C.2D.7参考答案:C43.(1分)设intx=4,y=2,z=0;则执行完(x-yinta8=1,2,3,4,5,6,7,8,i,x=0;br/for(i=0;i8;i=i+2)br/x=x+ai;A.36B
12、.16C.20D.18参考答案:B46.(1分)在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是()。A.(!E=0)B.(E0|E0)C.(E=0)D.(E!=0)参考答案:C47.(1分)for循环for(i=0,j=10;i=j;i+,j-)k=i+j;设i,j,k均为int型变量,则执行完下面的for循环后,k的值为()。A.12B.10C.11D.9参考答案:B48.(1分)定义如下变量和数组:inti;intx33=1,2,3,4,5,6,7,8,9;则语句for(i=0;ib)if(ac)printf(%d,a);elseprintf(%d,b);pr
13、intf(%d,c);A.3 1B.2 1C.3D.1参考答案:D50.(1分)设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()。A.把x和y从小到大排列B.把x和y从大到小排列C.无确定结果D.交换x和y中的值参考答案:D二、判断1.(2分)do-while循环由do开始,while结束,循环体可能一次也不做参考答案:错误2.(2分)循环结构中的break语句是使整个循环终止执行参考答案:正确3.(2分)选择语句if(表达式)中,表达式只能是逻辑表达式或关系表达式参考答案:错误4.(2分)循环结构中的continue语句是使整个循环终止执行参考答案:错误5.(2分
14、)若有定义:inta34;则a1+10是对a数组元素正确引用参考答案:正确6.(2分)组成数组的数据可以是不同的类型参考答案:错误7.(2分)可以用/*/对C程序中的任何部分作注释参考答案:正确8.(2分)逻辑表达式C&d的值为1参考答案:正确9.(2分)在标准C中,语句必须以“;”结束参考答案:正确10.(2分)定义数组后,可通过赋值运算符=对该数组名直接赋值参考答案:错误11.(2分)for、while和dowhile循环结构的循环体均为紧接其后的第一个语句(含复合语句)参考答案:正确12.(2分)C语言本身没有输入输出语句。参考答案:正确13.(2分)在C程序中%是只能用于整数运算的运算
15、符参考答案:正确14.(2分)for循环的三个表达式都可以省略参考答案:正确15.(2分)使用全局变量有利于程序的模块化和可读性的提高参考答案:错误16.(2分)函数的实参可以是常量,变量或表达式参考答案:正确17.(2分)C语言的函数可以嵌套和递归调用参考答案:正确18.(2分)关系表达式的结果只有0或1参考答案:错误19.(2分)函数strcmp(“AShhjjj”,”ASHHJJJ”)的返回值是0参考答案:错误20.(2分)若有条件表达式(x)?a+:b+;则表达式中(x)等价于(x!=0)参考答案:正确21.(2分)数组名称是数组在内存中的首地址参考答案:正确22.(2分)主函数调用语
16、句func(a,b,*p);其中的参数a,b,*p叫形参参考答案:错误23.(2分)switch语句中多个case后面的常量表达式的值可以相同参考答案:错误24.(2分)已知x=43,ch=A,y=0;则表达式(xy&chB&!y)的值为0参考答案:错误25.(2分)选择语句if(表达式)中,表达式只能是逻辑表达式或关系表达式参考答案:错误计算机程序设计一、单选题1.(1分)下列说法中,错误的是()。A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序
17、是由若干个函数组成的,但是必须有、而且只能有一个主函数参考答案:A2.(1分)若有定义:inta=3,b=5,c=8;则表达式!(a-b)|(c-b)的值为()。A.1B.0C.2D.3参考答案:A3.(1分)若已定义inta,则表达式a=10,a+10,a+的值是()。A.20B.10C.21D.11参考答案:B4.(1分)设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()。A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)参考答案:B5.(1分)下列程序运行的情况是()。main()inti=1,sum=0;whil
18、e(i=A&ch=Z)?ch+32:ch的值是()。A.ZB.zC.AD.a参考答案:D19.(1分)下面()表达式的值为4。A.11/3B.11.0/3C.(float)11/3D.(int)(11.0/3+0.5)。参考答案:D20.(1分)定义如下变量和数组:inti,x33=1,2,3,4,5,6,7,8,9;则下列语句的输出结果是()。for(i=0;iinta8=1,2,3,4,5,6,7,8,i,x=0;br/for(i=0;i8;i=i+2)br/x=x+ai;A.36B.16C.20D.18参考答案:B27.(1分)for循环for(i=0,j=10;i=j;i+,j-)k=
19、i+j;设i,j,k均为int型变量,则执行完下面的for循环后,k的值为()。A.12B.10C.11D.9参考答案:B28.(1分)以下程序运行后的输出结果是()。#includemain()inti,j,sum,m,n=4;sum=0;for(i=1;i=n;i+)m=1;for(j=1;j=i;j+)m=m*j;sum=sum+m;printf(sum=%dn,sum);A.sum=9B.sum=33C.33D.sum=18参考答案:B29.(1分)以下for循环是()。for(x=0,y=0;(y!=123)&(x4);x+)A.无限循环B.循环次数不定C.执行4次D.执行3次参考答
20、案:C30.(1分)C语言中,关于函数的说法正确的是()。A.函数定义可以嵌套,但函数调用不可以嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和函数的调用均不可以嵌套D.函数定义和函数的调用均可以嵌套参考答案:B31.(1分)定义如下数组和变量:intm3=1,4,7,2,5,8,3,6,9;inti,j,k=2;则语句for(i=0;ib)if(ac)printf(%d,a);elseprintf(%d,b);printf(%d,c);A.3 1B.2 1C.3D.1参考答案:D34.(1分)定义如下变量和数组:inti;intx33=1,2,3,4,5,6,7,8,9;则语句f
21、or(i=0;iinta,y=10;scanf(%d,&a);br/if(a10)y=a+6;br/printf(%dn,y+a);br/A.10B.11C.16D.15参考答案:D37.(1分)设intx=4,y=2,z=0;则执行完(x-y=y)|(y=z)后,y的值是()。A.1B.0C.2D.不确定参考答案:C38.(1分)标有/*/的语句的执行次数是()。inty,i;for(i=0;i20;i+)if(i%2=0)continue;y+=i;/*/A.20B.19C.10D.9参考答案:C39.(1分)以下程序段的运行结果是()。ints=15;switch(s/4)case1:p
22、rintf(One);case2:printf(Two);case3:printf(Three);default:printf(Over);A.ThreeB.Two OverC.Three OverD.One Over参考答案:C40.(1分)对下面程序段,描述正确的是()。for(t=1;t=100;t+)scanf(%d,&x);if(x0)continue;printf(%dn,t);A.当x0时,整个循环结束B.当x=0时,什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数参考答案:D41.(1分)设x和y均为int型变量,语句组x+=y;y=x-y;x-=y
23、;的功能是()。A.把x和y从小到大排列B.把x和y从大到小排列C.无确定结果D.交换x和y中的值参考答案:D42.(1分)设x、y和z都是int类型变量,且x=3,y=4,z=5,则下面的表达式中,值为0的表达式为()。A.x &yB.x|y+z & y-zC.C、x=yD.!(xy)&!z|1)参考答案:D43.(1分)语句while(!e);中的条件!e等价于()。A.e=0B.e!=1C.e!=0D.e参考答案:A44.(1分)若有以下说明和语句,则正确表示数组元素地址的语句是()。inta=1,2,3,4,5;int*p=a,n=2;A.&pB.&pnC.&(a+n)D.+a参考答案
24、:B45.(1分)有以下程序main()inti,j;for(j=10;j11;j+)for(i=9;ib)&(n=cd)后n的值为()。A.1B.0C.2D.7参考答案:C48.(1分)下面程序的输出结果是()。#includevoidmain()intx=8,y=-7,z=9;if(xy)if(y0)z=0;elsez-=1;printf(%dn,z);A.8B.1C.9D.0参考答案:C49.(1分)以下变量x,y,z均为double型且已正确赋值,不能正确表示“x除以y和z的积”的C语言表达式是()。A.x/y*zB.x*(1/(y*z)C.x/y*1/zD.x/y/z参考答案:A50.(1分)设x为int类型,其值为11,则表达式(x+*1/3)的值是()。A.3B.4C.11D.12参考答案:A二、判断1.(2分)循环结构中的continue语句是使整个循环终止执行参考答案:错误2.(2分)while和dowhile循环不论什么条件下它们的结果都是相同的参考答案:错误3.(