程序设计基础题库完整.doc_第1页
程序设计基础题库完整.doc_第2页
程序设计基础题库完整.doc_第3页
程序设计基础题库完整.doc_第4页
程序设计基础题库完整.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计基础2015版试题库一、填空题1.C语言中用于结构化程序设计的3种基本结构是_、_、_。2C语言中终止整个循环的语句是_。3循环语句可以和_、_和goto语句结合使用,提前结束整个循环或本次循环。4一个C语言程序总是从_开始。5一个C程序有且仅有一个_函数。6main函数_ (是或不是)程序唯一的出口。7C源程序中,“/”与“/*/”的区别在于“/*/”用于注释_的说明文字或提示,“/”用于注释_的说明文字或提示。8. C语言的基本数据类型包括:_、_和_。9. C语言中的实型变量分为两种类型,它们是_和_。10. C语言中的标识符只能由3种字符组成,它们是_、_和_,且第一个字符必须为_。11. 若逗号表达式的一般形式是”表达式1,表达式2,表达式3”,则整个逗号表达式的值是_的值。12. 逗号运算符是所有运算符中级别最_的。13. 假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值为_。14. 若有定义: int x=3,y=2; float a=2.5,b=3.5; 则表达式(x+y)%2+(int)a/(int)b的值为_。15. 若s为int型变量,且s=6,则表达式s%2+(s+1)%2的值为_。16. 设x和y均为int 型变量,且x=1,y=2,则表达式1.0+x/y的值为_。17. 假设已指定i为整型变量,f为float型变量,d为double型变量,e为long型变量,则表达式10+a+i*f-d/e的结果为_类型。18. C语言的字符常量是用_括起来的_个字符,而字符串常量是用_括起来的_序列。19. C语言规定,在一个字符串的结尾加一个_标志。20. C语言中,字符型数据和_数据之间可以通用。21复合语句是用_括起来的语句。22使用标准输入输出库函数时,程序的开头要使用预处理命令_。23复合语句在语法上被认为是_条语句。24赋值运算符的作用是将一个数据赋给一个_。25若a是int型变量,则执行表达式a=25/3%3后a的值为_。26若x和a均是int型变量,则执行表达式”x=(a=4,6*2)”后的x值为_,执行表达式”x=a=4,6*2”后的x值为_。27若a、b和c均是int型变量,则执行表达式”a=(b=4)+(c=2)”后,a、b、c的值分别为_。28若有定义”int m=5,y=2;”,则执行表达式”y+=y-=m*=y”后y的值是_。29假设变量a、b均为整型,借助中间变量t把a、b的值互换,语句为_。30getchar函数的作用是从终端输入_个字符。31若有以下语句: int i=-19,j=i%4; printf(“%dn”,j); 则输出结果是_。32.关系表达式的运算结果是_值。C语言没有逻辑型数据,以_代表“真”,以_代表“假”。33.逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以_和_来判定它们属于“真”或“假”。34.设x、y、z均为int型变量,描述“x或y中有一个小于z”的表达式是_。35.条件“2x3或xB&CA|AB的值是_。38.有“int x,y,z;”且x=3,y=-4,z=5,则表达式(x&y)=(x|z)的值为_。39.有“int a=3,b=4,c=5,x,y;”,则表达式!(x=a)&(y=b)&0的值为_。40.条件运算符是C语言中唯一的一个_目运算符,其结合性为_。41.执行循环中的_语句能够立即执行下一次循环。42.执行循环结构或switch结构中的_语句能够以立即退出该结构。43.执行循环中的_语句能够立即终止循环的执行。44.在循环嵌套中执行_可退出本层循环。45.array是一个一维整型数组,有10个元素,前6个元素的初值是9,4,3,45,67,-8,请写出正确的说明语句_。46.在C语言中,二维数组的定义方式为:类型说明符 数组名_。47.数组的定义是同一类型_的集合。48.C程序的基本单位是_。49.一个C语言程序总是从 _开始。50.未经过类型说明的函数,系统默认为_类型。51在采用结构化程序设计方法进行程序设计时,_是程序的灵魂。52解决一个问题的算法是_。(唯一或者不唯一)53函数直接或间接调用自身的算法称为_算法。二、选择题1、一个C程序的执行是从( )。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2、以下叙述正确的是( )。A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误3、以下叙述不正确的是( )。A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面4、C语言规定:在一个源程序中,main函数的位置( )。A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后5、一个C语言程序是由( )。A)一个主程序和若干子程序组成 B)函数组成C)若干过程组成 D)若干子程序组成6、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( )。A)charint 1ong int=floatdoubleB)char=int1ong int=floatdoubleC)char int 1ong int=float=doubleD)char=int =1ong int=floatdouble7、若x,i,j和k都是int型变量,则执行下面表达式后x的值为( )。x=(i=4,j=16,k=32)A)4 B)16 C)32 D)528、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是( )。A)7 B)8 C)6 D)29、下列四组选项中,均不是C语言关键字的选项是( )。A)define B)getc C)include D)whileIF char scanf gotype printf case pow 10、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )。A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符11、下面正确的字符常量是( )。A)a B) C)W D)12、下面不正确的字符串常量是( )。 A)abc B)1212 C)0 D)13、若有代数式3ae/bc,则不正确的C语言表达式是( )。A) a/b/c*e*3 B)3*a*e/b/cC)3*a*e/b*c D)a*e/c/b*314、以下不正确的叙述是( )。A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。15、以下正确的叙述是( )。A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A十6一3;后,c2中的值为( )。A)D B)68 C)不确定的值 D)C17、在C语言中,要求运算数必须是整型的运算符是( )。A) / B) + c) != D)%18、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。A)2.500000 B)2.7500OO C) 3.500000 D) 0.000000。19、设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为( )。A)int B) float C) double D)不确定20、表达式18/4*sqrt(4.0)/8值的数据类型为( )。A) int B)float C)double D)不确定21、设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。A) 0255 B) 032767 C) 065535 D) 0214748364722、设有说明: char w; int x; f1oat y; double z;则表达式w* x+z一y值的数据类型为( )。A)float B)char C)int D)double23、putchar函数可以向终端输出一个( )。A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值24、根据定义和数据的输入方式,输入语句的正确形式为( )。已有定义: float fl,f2;数据的输入方式:4.52 3. 5A)scanf(%f,%f,&f1,&f2); B)scanf(%f%f,&f1,&f2 );C)scanf(%3.2f%2.1f,&f1,&f); D)scanf(%3.2f%2.1f,&f1,&f2); 25、以下说法正确的是( )。A)输入项可以为一实型常量,如scanf(%f,3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d,b=%d);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数, 如scanf(%4.2f,&f);D)当输入数据时,必须指明变量的地址,如scanf(%f,&f);26、以下能正确地定义整型变量a,b和c 并为其赋初值5的语句是( )。A)int a=b=c=5;B) int a,b,c=5;C)a= 5,b=5,c=5; D) a=b=c=5;27、设x 、y均为f1oat型变量,则以下不合法的赋值语句是( )。A)+x; B)y=(x%2)/10; C) x*=y+8; D)x=y=0;28、逻辑运算符两侧运算对象的数据类型( )。A)只能是0或1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据29、下关于运算符优先顺序的描述中正确的是( )。A)关系运算符 算术运算符 赋值运算符 逻辑与运算符B)逻辑 运算符 关系运算符 算术运算符 赋值运算符C)赋值运算符 逻辑与运算符 关系运算符 算术运算符D)算术运算符 关系运算符 赋值运算符 逻辑与运算符30、下列运算符中优先级最高的是( )。A)=1) &(x = 200) &(x=1) | (x=200) |(x=1) &(x= 200) &(x =1)|(x = 200)|(x=210)32、判断char型变量ch是否为大写字母的正确表达式是( )。 A) A =ch = A)&(ch= A )&(ch=z) D)( A = ch)33、设x,y 和z是int型变量,且x = 3,y= 4,z= 5,则下面表达式中值为0的是( )。A)y&yB)x =y C) x|y+z&y-z D) !(x = y & chB&!Y) 的值是( )。A)0 B)语法错 C)1 D)假35、若希望当A的值为奇数时,表达式的值为真,A的值为偶数 表达式的值为假。则以下不能满足要求的表达式是( )。A) A%2= =1 B)!(A%2 = =0) C)!(A%2) D) A%236、判断char型变量c1是否为小写字母 正确表达式为( )。A) a =cl = a)&(cl=cl)|(z =a)&(clx)&(b=yz);A) 6 B) 0 C) 1 D) 438、下列运算符中优先级最低的是:A)?: B)& c)+ D) !=39、若w=1,X = 2,y= 3,z=4,则条件表达式wx?w:yz?y:z的值是( )。 A)4 B)3 C)2 D)140、设有程序段 int k=10; while (k=0) k= k1; 则下面描述中正确的是( )。A) while循环执行10次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次41、以下程序段x= -1;dox=x*x;while(!x);A)是死循环 B)循环执行二次C)循环执行一次 D)有语法错误则下面描述中正确的是( )。42、以下描述中正确的是( )。A)由于do一while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do一while循环由do开始,用while结束,在while(表达式)后面不能写分号C)在do一while循环体中,一定要有能使while后表达式值变为零(假)的操作D)do一while循环中,根据情况可以省略while43、下面有关for循环的正确描述是( )。 A) for循环只能用于循环次数已经确定的情况B) for循环是先执行循环体语句,后判断表达式C) 在for循环中,不能用break语句跳出循环体D) for循环的循环体语句中, 可以包含多条语句,但必须用花括号括起来44、对for(表达式1;表达式3)可理解为( )。A) for(表达式1; 0;表达式3) B) for(表达式1;1;表达式3)C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)45、若i为整型变量,则以下循环执行次数是( )。 for (i=2;i=0;) printf(%d,i- ); A)无限次 B) 0次 C) 1 次 D) 2次46、以下for循环的执行次数是( )。 for (x=0,y一0; (y=123)&(x4); x+);A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次47、执行语句for(i=1;i+0)的值是( )。A)0 B) 4 C)3 D)不合法56. 下列程序的输出结果是( )。 main() int i=3; switch(i) case 1: case 2:printf(%d,i); case 3: case 4:break; default:printf(OK); A)0 B)3 C)OK D)没有任何输出57. 有如下代码main() float x=2.0,y; if(x0.0) y=0.0; else if(x=0|b=0)&(a0| b=0&b=0)&(a0&b0)&(a+b059. 设已定义 i 和 k 为 int 类型变量,则以下 for 循环语句( )。 for(i=0;k=-1,k=1;i+,k+) printf(*n); A)判断循环结束的条件不合法 B)是无限循环C)循环一次也不执行 D)循环只执行一次60以下不属于流程控制语句的是( )。A)表达式语句 B)选择语句 C)循环语句 D)顺序语句三、程序改错,指出错误之处,并改正。1该程序的功能是求3+13+23+33+103的和并输出,其运行结果为:1785。源代码中共有两处错误,请改正。#includevoid main()/*found begin*/int i,sum;for(i=3;i=103;i+)sum=sum+i;/*found begin*/printf(%d,sum);改正后:/该程序的功能是求3+13+23+33+103的和并输出,其运行结果为:1785。/源代码中共有两处错误,请改正。#includevoid main()/*found begin*/int i,sum=0;for(i=3;i=103;i+=10)sum=sum+i;/*found begin*/printf(%d,sum);2输出100-300之间不能被3整除的数, 源代码中共有两处错误,请改正。#includevoid main()int n ;/*found begin*/for(n=100 ;n=200 ;n+)if(n/3=0)continue ;/*found end*/printf(%dt,n); 3该程序的功能是求出5!并输出运行结果。源代码中共有两处错误,请改正。#includevoid main()/*found begin*/Long i,s=0;for(i=1;i5;i+)s=s*i;printf(s=%ld,s);/*found end*/4该程序的功能是输出从键盘输入的任意两个整数的和。源代码中共有两处错误,请改正。/*found begin*/int sum(int a, b);void main()int x,y;printf(please input two integer number:);scanf(%d%d,&x, y);printf(%dn,sum(x,y);/*found end*/int sum(int a,int b)return(a+b);5下列程序的功能是:从键盘输入两个数,将两个数进行交换并输出。源代码中共有两处错误,请改正。#include #include void fun(int a,int b) ;int main( ) int a, b; printf(Enter a,b :); scanf(%d%d, &a, &b);fun(a,b);system(pause); /按任意键继续return 0;/*found begin */void fun(int a, b) int t;t=b; b=a;b=t;printf(a=%d b=%dn,a,b);/*found end*/6. 下列程序的功能是:从键盘输入两个实数,判断哪个数大并输出该数。源代码中共有两处错误,请改正。#include #include float max(float a,float b);/* found begin */int main()float x,y;float z;scanf(%f%f,x,y);z=max(&x,&y);printf(%f,z);system(pause);return 0;/* found end */float max(float a,float b)if(ab)return a;elsereturn b;7.输入三个整数x,y,z,请把这三个数由小到大输出。源代码中共有两处错误,请改正。#include stdio.hvoid main()int x,y,z,t;scanf(%d%d%d,&x,&y,&z);if (xy)/* found begin */t=x;x=y;y=t;/*交换x,y的值*/if(xz)t=x;x=z;t=x; /*交换x,z的值*/if(y=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。源代码中共有一处错误,请改正。#include stdio.h#include conio.hvoid main() int score;char grade;printf(please input a scoren);scanf(%d,&score);/* found begin */grade=score=90?C:(score=60?A:B);/* found end */printf(%d belongs to %c,score,grade);getch();9.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。源代码中共有两处错误,请改正。#include stdio.h#include conio.hvoid main()int n,t,number=20;float a=2,b=1,s=0;/* found begin */ for(n=1;n=number,n+)s=s+a/b;t=a;a=b;b=t;/* found end */printf(sum is %9.6fn,s);getch();10.求1+2!+3!+.+20!的和。源代码中共有两处错误,请改正。#include stdio.h#include conio.hvoid main()/* found begin */float n,s=0,t=0;for(n=1;n=20;n+)t*=n;s+=n;/* found end */printf(1+2!+3!.+20!=%en,s);getch();11.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。源代码中共有两处错误,请改正。#include stdio.h#include conio.hvoid main()int i,j,k,n;printf(water flowernumber is:);for(n=100;n1000;n+)/* found begin */i=n/100;/*分解出百位*/j=n/10/10;/*分解出十位*/k=n%10;/*分解出个位*/if(i*100+j*10+k=i*i*i+j*j*j+k*k*k)printf(%-5d,n); /* found end */getch();12编写一个程序,求1-100的和,并打印输出。源代码中共有两处错误,请改正。#includevoid main()/* found begin */int i,sum;for(i=1,i=100,i+)sum+=i;/* found end */printf(sum=%d,sum);13. 从键盘输入两个整数,并输出最大数。源代码中共有两处错误,请改正。#includevoid main() int a,b,max; printf(n input two numbers: ); /* found begin */scanf(%d%d,&a, b);max=a;if (maxb) max=A& ch=Z)?(ch+32):ch;/* found end*/printf(%c,ch);15.下面的程序是求1-10内所有自然数的和。存在两处错误,源代码中共有两处错误,请改正。void main() /* found begin*/int i,sum;for(i=1;i10;i+);sum+=i;/* found end*/printf(%d,sum);16从键盘输入一个整数,判断是否是能够被7整除。源代码中共有两处错误,请改正。#includevoid main()int num;/* found begin */scanf(%d,num);if(num%7=0)/* found begin */printf(%d能够被7整除,num);elseprintf(%d不能够被7整除,num);四、看程序写结果1.执行以下程序段后,则运行结果为_#&*_。#include void main() int i; for(i=1;i=5;i+) switch(i%5) case 0:printf(*);break;case 1: printf(#);break;case 2: printf(&);break;2.程序运行后,输出的结果为:_y=10,x=6_。#includevoid main() int a=2,b=4,c=6,x,y;y=(x=a+b),(b+c);printf(y=%d,x=%d,y,x);3.程序运行后,设输入为字母G,则输出的结果为:_ch=G,c1=H,c2=F_。#includevoid main() char ch,c1,c2;scanf(%c,&ch);c1=ch+1;c2=ch-1;printf(ch=%c,c1=%c,c2=%cn,ch,c1,c2);该题的解题思路为:输入任意一个字母,求在26个字母中排在该字母前一位的字母与排在该字母后一位的字母是什么字母。4. 程序运行后,输出的结果为:_。#include void main() int a=45;printf(%d,a45?1:0);printf(%d,a45?1:0);5. 程序运行后,输入a,b,98,9.286输出的结果为:_。#includevoid main() char c1,c2;int m;float f;scanf(%c%c%2d%3f,&c1,&c2,&m,&f);printf(c1 is %c,c2 is %c,m is %c,f is %.2fn,c1,c2,m,f);6. 程序运行后,输出的结果为:_。#includevoid main() int a=100;if(a100)printf(%dn,a100);elseprintf(%dn,a=100);7. 程序运行后,输出的结果为:_。#includevoid main() int i=0;if(i+)printf(a);elseprintf(b);8. 程序运行后,输出的结果为:_。#includevoid main() int p,a=5;if(p=a!=0)printf(%dn,p);elseprintf(%dn,p+2);9 程序运行后,输出的结果为:_。#includevoid main()int s=0,i;for(i=1;i+)if(s20)break;if(i%2=0)s+=i;printf(s=%dn,s);10下列程序段的输出结果为:_。 #includevoid main()int i = 10;switch(i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论