南京信息工程大学C语言题库.doc_第1页
南京信息工程大学C语言题库.doc_第2页
南京信息工程大学C语言题库.doc_第3页
南京信息工程大学C语言题库.doc_第4页
南京信息工程大学C语言题库.doc_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

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

文档简介

单项选择=题号:13167以下叙述中正确的是( )。 A、程序设计的任务就是确定所用算法 B、程序设计的任务就是确定所用数据结构 C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试D、以上三种说法都不完整答案:D题号:13162计算机能直接执行的程序是( )。 A、可执行程序B、源程序 C、汇编程序 D、目标程序 答案:A题号:13171下列叙述中正确的是( )。A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C、main可作为用户标识符,用以命名任意一个函数作为主函数D、C语言程序将从源程序中第一个函数开始执行 答案:A题号:13165在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的( )。 A、确定性 B、正当性 C、可行性D、有穷性答案:A题号:13164以下叙述中正确的是( )。A、用C语言编写的程序只能放在一个程序文件中B、C、D、答案:D题号:13169下列叙述中正确的是( )。A、在C程序中 main( )函数的位置是固定的B、每个C程序文件中都必须要有一个main( )函数C、C程序中所有函数之间都可以相互调用,与函数所处位置无关D、在C程序的函数中不能定义另一个函数答案:D题号:13191设有以下程序段:int m=0,n=0;char c=a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n); 若从键盘上输入10A9 ( 为回车),则输出结果是( )。A、10,a,9 B、10,A,0C、10,A,9D、10,a,0答案:C题号:13183若有以下程序段,其输出结果是( )。 int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3);printf(%d,%d,%dna,b,c);A、 3,3,-10B、 0,0,5 C、-10,3,-10 D、0,0,-10答案:B题号:13189以下程序段的输出结果是( )。float a=3.1415;printf(%6.0fn,a);A、 3.B、3.1415 C、3.0D、 3答案:D题号:13186设x和y均为int型变量,则语句: x+=y;y=x-y;x-=y的功能是( )。A、把x和y按从大到小排列B、把x和y按从小到大排列 C、交换x和y中的值 D、无确定结果答案:C题号:13177设有定义:int x=10 ;,则表达式x+(char)1/2.0值的类型是( )。A、doubleB、unsignedC、 floatD、int答案:A题号:13179若x和y都是int型变量,且x=10,y=20,则执行printf(%dn,x,y);语句后,输出的结果是( )。A、输出格式符不够,输出不确定的值B、20C、10 20D、10答案:D题号:13195以下程序段的运行结果是( )。 int a=-5,b=5; printf(ab?a=d:b=d,a,b)A、没有正确的输出格式控制 B、a=-5b=5C、a=-5D、b=-5 答案:D题号:13199下面的程序,说法正确的是( )。 main() int x=3,y=0,z=0; if(x=y+z)printf(*); else printf(#); A、可以通过编译,但是不能通过连接,因而不能运行B、有语法错误不能通过编译C、输出*D、输出#答案:D题号:13198 有如下程序 main() intx=l,a=0,b=0;switch(x) case 0:b+: case 1:a+: case 2:a+;b+; printf(a=d,b=dn,a,b); 该程序的输出结果是_。A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2答案:A题号:13196为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系A、在其之前未配对的ifB、缩排位置相同的ifC、同一行上的ifD、在其之前最近的未配对的if答案:D题号:13192有如下程序void main() int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2:a+;b+;printf(a=%d,b=%dn,a,b);该程序的输出结果是A、a=1,b=1 B、a=2,b=2C、a=2,b=1 D、a=1,b=0 答案:C题号:13194下列只有当整数x为偶数时,才是逻辑真的表达式是( )。A、x2 !=0 B、(x-x2*2)=0C、!(x2=0)D、if (x2);答案:B题号:13193假定所有变量均已正确说明,下列程序段运行后x的值是( )int a=0;b=0;c=0;x=30;if (!a) x-;else if (b) x+;if( c) x=x-3;else x+=4;A、4B、33C、30D、3答案:B题号:13197下列条件语句中,功能与其他语句不同的是 ( )A、 if (a!=0) printf(%dn,x); else printf(%dn,y);B、 if (a) printf(%dn,x); else printf(%dn,y);C、if(a=0) printf(%dn,x); else printf(%dn,y);D、 if(a=0) printf(%dn,y); else printf(%dn,x);答案:C填空题=题号:12987一个C源程序中至少应包括一个_ 。答案:空 1:main函数题号:12990C语言源程序文件名的后缀是_;经过编译产生的目标文件的后缀是_;经过连接生成的可执行文件的后缀是_。答案:空 1:.c空 2:.obj空 3:.exe题号:13035在C程序中,最多能有_个main函数。答案:空 1:1题号:13044已知字符A的ASCII码值是65,字符变量c1的值是A,c2的值是D。执行语句printf(%d,%d,c1,c2-2);后,输出的结果是_。答案:空 1:65,66题号:12994有以下程序#includemain() char a20=How are you?,b20; scanf(%s,b); printf(%s %sn,a,b); 程序运行时从键盘输入:How are you?则输出结果为_ 。答案:空 1:How are you? How题号:13043设a=4,b=5,x=3.5,y=4,则以下两个表达式的值分别是 (1)_(2) _。(1)x+a%3+(int)(x+y)%2/4 (2) (float)(a+b)/2+(int)x%(int)y答案:空 1:4.5空 2:7.5题号:13049执行下列程序段后,变量i的值是( )。 int i=10: switch(i) case 9:i+=0; case 10:i+=1; case 11:i+=2; default:i+=3;答案:空 1:16题号:12997下列程序的功能是输出 a、b、c 三个变量中的最小值。请填空。 #include main( ) int a,b,c,t1,t2; scanf(%d%d%d,&a,&b,&c); t1=ab? _ ; t2=cb)a=b;c=a; if(c!=a)c=b; printf(%d,%d,%dn,a,b,c); 其输出结果是_ 。答案:空 1:3,5,3题号:13047语句:printf(“d”,(a=2)&(b=-2);的输出结果是_。答案:空 1:1程序设计=题号:12967/*-输入三角形的三边长a,b,c分别为3.1,4.2,5,3;求三角形面积。已知三角形的三边长a,b,c,其中s = (a+b+c)/2。则该三角形的面积公式为: 。 -*/#include#includevoid main() float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); /*Begin*/ /*end*/ printf(a=%7.2f,b=7.2f,c=7.2f,s=%7.2fn,a,b,c,s); printf(area=%7.2fn,area);TestFunc();void TestFunc() FILE *IN,*OUT; char sIN80; int iOUT,i; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) fscanf(IN,%s,sIN); iOUT=fun(sIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);示例代码:s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);程序填空=题号:13288/*-功能:大小写字母的转换。-*/# include void main()char c1,c2;c1=b;c2=B;/*FILL*/c1=_; /* 的ASCII码值为98,减去32得B的ASCII码值*/*FILL*/c2=_; /*B的ASCII码值为66,加上32得b的ASCII码值*/printf(%c,%c,c1,c2);答案:位置 1:c1-32位置 2:c1+32单项选择=题号:13170 C 语言源程序名的后缀是( )。A、.cB、.objC、.exeD、.cpp答案:A题号:13167以下叙述中正确的是( )。 A、程序设计的任务就是确定所用算法 B、程序设计的任务就是确定所用数据结构 C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试D、以上三种说法都不完整答案:D题号:13159以下叙述错误的是( )。A、一个C语言程序只能实现一种算法B、C程序可以由多个程序文件组成C、 C程序可以由一个或多个函数组成D、一个C函数可以单独作为一个C程序文件存在答案:A题号:13160以下叙述正确的是( )。A、注释说明只能位于一条语句的后面 B、在编译时不能发现注释中的拼写错误C、main()必须是程序的第一行D、C程序每一行只能写一条语句答案:B题号:13166以下关于结构化程序设计的叙述中正确的是( )。 A、由三种基本结构构成的程序只能解决小规模的问题B、结构化程序使用goto语句会很便捷C、在C语言中,程序的模块化是利用函数实现的D、一个结构化程序必须同时由顺序、分支、循环三种结构组成 答案:C题号:13168下列关于函数的叙述中正确的是( )。 A、每个函数都可以被单独编译 B、每个函数都可以被其他函数调用(包括 main函数)C、在一个函数内部可以定义另一个函数D、每个函数都可以单独运行 答案:A题号:13184设有如下程序段: int x=2012,y=2013; printf(%dn,(x,y);则以下叙述正确的是( )。A、输出值为2013B、运行时产生出错信息C、输出值为2012D、输出语句中格式说明符的个数少于输出项的个数,不能正确输出答案:A题号:13173可在C语言中用做用户标识符的一组是( )。A、green void 2we FoRB、ef-er print used&we sjhdC、_name SIG for UI*sdD、inT word ipad id_ds答案:D题号:13174C语言中最简单的数据类型包括( )。A、实型、字符型、逻辑型B、整型、实型、逻辑型C、整型、字符型、逻辑型D、整型、实型、字符型答案:D题号:13190从键盘输入x,(表示回车),不能输出x的语句段是( )。A、c=getchar();putchar(c);B、putchar(getchar();C、getchar(C);putchar(c);D、scanf(%c,&c);printf(%c,c);答案:C题号:13191设有以下程序段:int m=0,n=0;char c=a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n); 若从键盘上输入10A9 ( 为回车),则输出结果是( )。A、10,a,9 B、10,A,0C、10,A,9D、10,a,0答案:C题号:13183若有以下程序段,其输出结果是( )。 int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3);printf(%d,%d,%dna,b,c);A、 3,3,-10B、 0,0,5 C、-10,3,-10 D、0,0,-10答案:B题号:13195以下程序段的运行结果是( )。 int a=-5,b=5; printf(ab?a=d:b=d,a,b)A、没有正确的输出格式控制 B、a=-5b=5C、a=-5D、b=-5 答案:D题号:13194下列只有当整数x为偶数时,才是逻辑真的表达式是( )。A、x2 !=0 B、(x-x2*2)=0C、!(x2=0)D、if (x2);答案:B题号:13197下列条件语句中,功能与其他语句不同的是 ( )A、 if (a!=0) printf(%dn,x); else printf(%dn,y);B、 if (a) printf(%dn,x); else printf(%dn,y);C、if(a=0) printf(%dn,x); else printf(%dn,y);D、 if(a=0) printf(%dn,y); else printf(%dn,x);答案:C题号:13192有如下程序void main() int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2:a+;b+;printf(a=%d,b=%dn,a,b);该程序的输出结果是A、a=1,b=1 B、a=2,b=2C、a=2,b=1 D、a=1,b=0 答案:C题号:13198 有如下程序 main() intx=l,a=0,b=0;switch(x) case 0:b+: case 1:a+: case 2:a+;b+; printf(a=d,b=dn,a,b); 该程序的输出结果是_。A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2答案:A题号:13196为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系A、在其之前未配对的ifB、缩排位置相同的ifC、同一行上的ifD、在其之前最近的未配对的if答案:D题号:13199下面的程序,说法正确的是( )。 main() int x=3,y=0,z=0; if(x=y+z)printf(*); else printf(#); A、可以通过编译,但是不能通过连接,因而不能运行B、有语法错误不能通过编译C、输出*D、输出#答案:D题号:13193假定所有变量均已正确说明,下列程序段运行后x的值是( )int a=0;b=0;c=0;x=30;if (!a) x-;else if (b) x+;if( c) x=x-3;else x+=4;A、4B、33C、30D、3答案:B填空题=题号:12968C源程序的基本单位是_。答案:空 1:函数题号:13036算法的基本特征主要包括可行性、确定性、_和输入、输出(拥有足够的情报)。答案:空 1:有穷性题号:12990C语言源程序文件名的后缀是_;经过编译产生的目标文件的后缀是_;经过连接生成的可执行文件的后缀是_。答案:空 1:.c空 2:.obj空 3:.exe题号:13042表达式3.6-5/2+1.2+5%2的值是_。答案:空 1:3.8题号:12995下列程序运行后的输出结果是_ 。 main( ) int x=0210; printf(%Xn,x);答案:空 1:88题号:12994有以下程序#includemain() char a20=How are you?,b20; scanf(%s,b); printf(%s %sn,a,b); 程序运行时从键盘输入:How are you?则输出结果为_ 。答案:空 1:How are you? How题号:13045当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为_。 if(ab) if(cd) x=10; else if(ac) if(bd) x=20; else x=30; else x=40; else x=7;答案:空 1:20题号:13048以下程序的输出结果是( )。 main() int a=-1,b=1,c; c=(+a0)&!(b-=0); printf(“c=%d,a=d,b=dn”,c,a,B; 答案:空 1:c=0,a=0,b=1题号:12997下列程序的功能是输出 a、b、c 三个变量中的最小值。请填空。 #include main( ) int a,b,c,t1,t2; scanf(%d%d%d,&a,&b,&c); t1=ab? _ ; t2=ct1? _ ; printf(%dn,t2); 答案:空 1:a:b空 2:c:t1题号:12998已有定义:char c= ;int a=1, b;(此处 c 的初值为空格字符),执行 b=!c &a;后b 的值为 _。答案:空 1:0程序设计=题号:12967/*-输入三角形的三边长a,b,c分别为3.1,4.2,5,3;求三角形面积。已知三角形的三边长a,b,c,其中s = (a+b+c)/2。则该三角形的面积公式为: 。 -*/#include#includevoid main() float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); /*Begin*/ /*end*/ printf(a=%7.2f,b=7.2f,c=7.2f,s=%7.2fn,a,b,c,s); printf(area=%7.2fn,area);TestFunc();void TestFunc() FILE *IN,*OUT; char sIN80; int iOUT,i; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) fscanf(IN,%s,sIN); iOUT=fun(sIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);示例代码:s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);程序填空=题号:13288/*-功能:大小写字母的转换。-*/# include void main()char c1,c2;c1=b;c2=B;/*FILL*/c1=_; /* 的ASCII码值为98,减去32得B的ASCII码值*/*FILL*/c2=_; /*B的ASCII码值为66,加上32得b的ASCII码值*/printf(%c,%c,c1,c2);答案:位置 1:c1-32位置 2:c1+32单项选择=题号:13200下面关于循环语句for、while、do_while的叙述中,正确的是。A、三种循环语句中都可以缺省循环终止条件表达式B、三种循环语句的循环体都至少被无条件地执行一次C、三种循环语句的循环体都必须放入一对花括号中D、三种循环语句都可能出现无穷循环答案:D题号:13235以下程序的输出结果是 。 main() int i: for(i=A;i=I:i+) printf(%c,i+32); printf(n); A、abcdefghB、编译不通过,无C、ABCDEFGH D、abcdefghi答案:D题号:13241若a是int型变量,有如下程序段: for(x=4;x=10;x+=3) printf(x2)?(*d):(#dn),x); 执行该程序段后的输出结果是。A、*4#7*10B、#4*7#10C、*4#7*10D、#4*7#10答案:B题号:13205以下程序执行结果为_。 main() int i,j,k; for(i=0,j=5;i=j;i+,j-); printf(k=%d,k=i+j);A、k=1B、k=8C、k=0 D、k=5答案:D题号:13239假设a和b为int型变量,则执行以下语句后,b的值为。 a=2:b=l0; do b-=a; while(b-=a+);A、8B、7C、0D、9答案:B题号:13234以下程序段的执行次数。 x=10; dox=x*x; while(!x);A、无限次B、2C、循环体将提示有语法错误D、1答案:B题号:13203设有以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(%d,s);则_。A、程序段中的控制表达式是非法的 B、运行程序段后输出1C、运行程序段后输出0 D、程序段执行无限次答案:B题号:13206下面程序的运行结果是_。#include main() int y=10; doy-;while(-y);printf(%dn,y-);A、0B、1C、8D、-1答案:A题号:13202下列有关for循环正确的是A、for循环只能用于循环次数已经确定的情况B、在for循环中,不能用break语句跳出循环体C、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来D、for循环是先执行循环体语句,后判断表达式答案:C题号:13201有如下程序main() int x=23; do printf(%d,x-);while(!x);该程序的执行结果是_。A、陷入死循环B、不输出任何内容 C、321 D、23 答案:D题号:4990若i为整型变量,则以下循环执行次数是()。for(i=2;i=0;) printf(%d,i-);A、0次B、1次C、无限次D、2次答案:A题号:3880以下循环for(x=0,y=0;(y=123)&(x4);x+);的执行次数是()。A、4次B、是无限循环C、3次D、循环次数不定答案:A题号:2224while(fabs(t)1e-5)if(!s/10)break;循环结束的条件是()。A、fabs(t)1e-5&!s/10B、fabs(t)=1e-5&t-10&s10D、s/10=0答案:C题号:4186以下程序段的输出结果是int i, j, m = 0;for(i = 1; i = 15; i += 4) for(j = 3; j = 19; j += 4) m+;printf(“%dn”, m);A、15B、12C、20D、25答案:C题号:5939对 for(表达式1; ;表达式3) 可理解为()。A、for(表达式1;1;表达式3)B、for(表达式1;0;表达式3)C、for(表达式1;表达式1;表达式3)D、for(表达式1;表达式3;表达式3)答案:A题号:1195以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main() int n,k; float score,sum,ave; sum=0.0; for(n=1;n=10;n+) for(k=1;k 0; y -) if(y % 3 = 0) pritnf(“%d”, -y); continue; A、741 B、963C、875421D、852 答案:D题号:1013以下程序段的输出结果是int x= 3;do pritnf(“%3d”, x-=2); while (!(-x);A、死循环B、1 -2 C、3 0D、1答案:B题号:961C语言中 while 和 do-while 循环的主要区别是()。A、while的循环控制条件比 do-while的循环控制条件更严格B、do-while 的循环体至少无条件执行一次C、do-while 的循环体不能是复合语句D、do-while 允许从外部转到循环体内答案:B题号:5150语句while(!E);中的表达式!E等价于()。A、E!=1B、E=0C、E=1D、E!=0答案:B程序设计=题号:176631.编写函数用冒泡排序法对数组中的数据进行从小到大的排序。#include #includevoid sort(int a,int n) /*Begin*/ /* End */示例代码: int i,j,t; for(i=0;in-1;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; 程序填空=题号:13320/*-功能:输入若干整数,以-9999作为结束标志,统计其中最大值,最小值,绝对值最大值及平均值。-*/#include#includevoid main()int max,min,absmax=0,n=0,x;long total=0;float avg=0; max=-32768;min=32767;while(1)scanf(%d,&x);if(x=-9999)break;n+;/*FILL*/total+_;if(xmax)max=x;if(xmax)absmax=x;/*FILL*/printf(max=%d,min=%d,absmax=%d,avg=%f,max,min,absmax,_);答案:位置 1:=x位置 2:(float)total/n 【或】 total*1.0/n 【或】 1.0*total/n题号:1664/*-【程序填空】-功能:以每行5个数来

温馨提示

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

评论

0/150

提交评论