C语言程序设计试题及答案解析1全解_第1页
C语言程序设计试题及答案解析1全解_第2页
C语言程序设计试题及答案解析1全解_第3页
C语言程序设计试题及答案解析1全解_第4页
C语言程序设计试题及答案解析1全解_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计试题第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函

2、数4、下面不是C语言合法标识符的是:()A、abcB、5n5、以下叙述不正确的是:()分号是C语句的必要组成部分C.函数是C程序的基本单位6、C语言中允许的基本数据类型包括:(整型、实型、逻辑型C.整型、字符型、逻辑型7、C语言中能用八进制表示的数据类型为:A、字符型、整型C、字符型、实型、双精度型8、下列属于C语言合法的字符常数是:(A、97B、”A”9、在C语言(VC环境)中,5种基本数据C、_4mD、x3C程序的注释可以写在语句的后面D.主函数的名字不一定非用main来表示)整型、实型、字符型D.整型、实型、逻辑型、字符型)B、整形、实型D、字符型、整型、实型、双精度型)C、tD、”0”

3、型的存储空间长度的排列顺序为:()A、charint=longint=floatdoubleB、char=intlongint=floatdoubleC、charintlongint=float=doubleD、char=int=longint=floatdouble10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0 xa34b7fec2=eA、2,MC、2,E不确定12、以下合法的赋值语句是:(A、x=y=100B、d-;B、3,ED、输出项与相应的格式控制不一致,输出结果)C、x+yD、c=int(a+b);11、若有以下定义语句ch

4、arc1=b,printf(“d,%cn,c2-c1,c2-a+A);则输出结果是:()TOC o 1-5 h z13、设变量t为int型,下列选项中不正确的赋值语句是:()A、+t;B、n1=(n2=(n3=0);C、k=i=m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、=10ora=0B、a=0C、a=1O|a=1O&a=O16、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2=OB、!(x%2=O)C、(x-x/2*2)=OD、!(x%2)17、设a为整型变量,不能正确表达数学关系10a15的C语言表达式是:()A、1Oa15B、!(a=15)

5、C、a1O&a15D、!(a=15)18、已知x=43,ch=A,y=0;则表达式(x=y&chB&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4/8的值为:()A、0B、1C、2D、320、语句printf(“d”,(a=2)&(b=-2);的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A.程序中的第一个语句B.包含文件中的第一个函数C.名为main的函数D.程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A.逗号B.引号C.冒号D.分号23、若将int、long、float等类型的数据进行混合运算,

6、其结果的数据类型是:()A.intB.longC.floatD.double24、下述是C语言中有关变量定义的几个说法,正确的是:()变量可以不定义直接使用一个说明语句只能定义一个变量几个不同类型的变量可在同一语句中定义变量可以在定义时进行初绐化25、与x*二y+z等价的赋值表达式是:()x=y+zB.x=x*y+zC.x=x*(y+z)D.x=x+y*z26、当代电子计算机能够自动地处理指定的问题是因为:()A计算机是电动的有解决该问题的计算机程序事先存储了解决该问题的程序以上都不是27、以下叙述中最准确的是:()计算机程序是处理某一问题所有指令的集合计算机程序是处理某一问题所用到的所有数据

7、的集合计算机程序是处理某一问题的所有指令及其数据的集合计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()程序设计就是用语言来编写程序程序设计就是用计算机语言来编写程序CD程序设计就是用计算机程序设计语言来编写程序程序设计就是用计算机能识别的语言来编写程序目前编写计算机程序一般采用的是:(A.机器语言B.汇编语言设计一个计算机程序最基本的工作是:(A.制定正确的算法制定正确的算法和选择合理的数据结构)C.高级语言D.英语)B.选择合理的数据结构D.以上都不是A.有穷性B.简洁性C.可行性算法具有五个特性,以下选项中不属于算法特性的是:()下述哪

8、一个不是结构化程序基本结构:()A.顺序B.选择C.循环C语言是一种:()A.机器语言B.汇编语言C.高级语言29、3031323334353637383940414243、D.确定性D嵌套D.以上都不是A.exeB.cC.objD.cppC语言源程序的扩展名为:()C程序编译后最终产生(即计算机执行)的文件的扩展名为()A.exeB.cC.objD.cpp下列各项中,不是C语言的特点是:()语言简洁、紧凑,使用方便程序执行效率高,可移植性好能实现汇编语言的大多数功能有较强的网络操作功能构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数下列叙述正确的是:()C语言源程序可以直

9、接在DOS环境中运行编译C语言源程序得到的目标文件可以直接在DOS环境中运行C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行C语言源程序可以直接在VC+环境中运行某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()写在前面的函数先开始执行总是从main()函数开始执行总是从max()函数开始执行写在后面的函数先开始执行以下叙述不正确的是:()分号是C语句的必要组成部分C程序的注释可以写在语句的后面函数是C程序的基本单位主函数的名字不一定用mian表示TOC o 1-5 h z以下为C语句的是:()D.#includeD.for(i=1;i8)以下不

10、是C语句的是:()A.a=8;B.a+;C.if(a8)以下所列语句中,合法的语句是:()A.a=1,b=2B.+a;C.a=a+1=5C程序中的复合语句指的是:()并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:()由系统自动换行立即按回车键换行在任意一个空格处按回车键换行输入一个分号后并按回车键换行换行45、在x值处于-22,48时值为“真”否则为“假”的表达式是:()A(2x-2)|(4x8)B!(x2)&(x8)C(x=-2)&(x4)&(x-2)&(x4)

11、|(x8)&(x10;后,t的值为0()若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变()在C程序中,%是只能用于整数运算的运算符()在C语言中,逻辑“真”等价于不等于0的数()C语言中字符型、整型、实型都能用八进制表示()在VC语言中,5种基本数据类型的存储空间长度的排列顺序为:charintlongintfloatdouble()变量的三要素是:变量名、变量类型、变量的值。三、多选题目前程序设计采用的基本方法有:面向过程的程序设计B.面向对象的程序设计C.面向问题的程序设计D.面向机器的程序设计第4章顺序结构一、选择题1、下面程序的输出是:()main()i

12、ntk=11;printf(k=%d,k=%o,k=%xn,k,k,k);k=11,k=12,k=13B)k=11,k=13,k=13C)k=11,k=013,k=oXbD)k=11,k=13,k=b2、以下合法的C语言赋值语句是:()A)a=b=58B)k=int(a+b);C)a=58,b=58D)-i;3、以下程序的输出结果是:()main()intx=10,y=3;printf(“%dn”,y=x/y);A)0B)1C)3D)不确定4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是:()A)read(a,b,c);B)scanf(“%d%d%d”,a,b,c

13、);C)scanf(“%D%D%D”,%a,%b,%c);D)scanf(“%d%d%d”,&a,&b,&b);5、执行下面程序段后,c3中的值是:()intc1=1,c2=2,c3;c3=c1/c2;A)0B)1/2C)0.5D)16、若执行以下程序段,其输出结果是:()inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%dn”,a,b,c);A)0,0,0B)0,0,5C)5,0,5D)-10,0,-107、以下程序段的输出是:()floata=57.666;printf(“*%2.2f*n”,a);A)*57*B)*58*C)*57.66

14、*D)*57.67*8、若有以下定义和语句:()inta=5,bb=a+;此处b的值是:()A)7B)6C)59、若有以下定义和语句:()charc1=b,c2=e;printf(%d,%cn,c2-c1,c2-a+A)则输出结果是:()A)2,MB)3,EC)2,eD)4D)输出结果不确定10、以下程序的输出结果是:()main()intx=10,y=10;printf(%d%dn,x-,-y);A)1010B)99C)910D)10911、在C语言中,如果下面的变量都是int类型,则输出结果是:()sum=pad=5;pad=sum+,pad+,+pad;printf(%dn,pad);A

15、)7B)6C)5D)412、以下程序的输出结果:()#includemain()inti=010,j=10;printf(%d,%dn,+i,j-);A)11,10B)9,10C)010,9D)10,913、在C语言中,short类型数据的范围是-3276832767,下面程序段的输出结果是:()shorti=65536;printf(%dn,i);A)65536C)1B)0D)超出取值范围,无输出结果14、已知字符A的ASCII码为十进制的65,下面程序的输出是:()main()charch1,ch2;ch1=A+5-3;ch2=A+6-3;printf(%d,%cn,ch1,ch2);A)

16、67,DB)B,C15、若有定义和语句:chars;s=abcd;则结果是:()A)输出97C)输出adcbC)C,DD)不确定的值printf(%dn,s);输出aD)编译不能通过16、若有定义:intx,y;chara,b,c;并有以下输入数据(此处代表换行,_代表空格):L2A艮C则能给x赋整数1,给y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是:()scanf(x=%dy=%d,&x,&y);a=getchar();c=getchar();scanf(%d%d,&x,&y);a=getchar();b=getchar();c=getchar();scanf(%d%d%

17、c%c%c,&x,&y,&a,&b,&c);scanf(%d%d%c%c%c%c%c%c,&x,&y,&a,&a,&b,&b,&c,&c);17、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是:()main()intx;scanf(%d,&x);if(x+5)printf(%d,x)elseprintf(%dn,x-);A)7和5B)6和3C)7和4D)6和418、若执行下面的程序从键盘输入3和4,则输出是:()main()inta,b,s;scanf(%d%d,&a,&b);s=a;if(ab)s=b;s=s*s;printf(%dn,s);C)18D)20A)14B)1619

18、、设i是int型变量f是float型变量,用下面的语句给这两个变量输入值scanf(i=%d,f=%f,&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为:()A)100空格765.12回车C)100回车765.12回车B)i=100,f=765.12回车D)x=100回车,y=765.12回车20、以下程序的输出结果是:(#includestdio.hmain()intn;printf(%dn,n);A)-1B)0)C)1D)不确定二、判断题1()在C语言中,实型数据在内存都中占4个字节。2()在C语言中,参加算术(+,-,*,/,%)运算的数据可以是任何类型的数据()若

19、有定义和语句:inta;charc;scanf(%d,%c,&a,&c);当通过键盘输入:10,A之后,则变量a中存放的是10,变量c中存放的是A。()C语言中,变量名只能是小写字母表示,符号常量名可用大写表示()在C语言中,变量可以不要定义,直接使用()一个C语言程序总是从主函数开始执行的()注释语句必须用/*和*/括起来,且只能位于某一语句的后面()“a”和a均是占用1个字节的内存空间的数据三、多选题以下所列语句中,不合法的语句是:()A、a=1,b=2B、+a;C、a=a+1=5;D、y=(int)a;E、a=b=c=10;下列描述正确的是:()putchar函数的作用是向屏幕输出一个字

20、符putchar函数能在屏幕上输出控制字符putchar(c)函数中,c只能是字符型变量,不能是整型变量putchar函数能在屏幕上输出转义字符putchar函数的使用需要包含“stdio.h”头文件下列描述正确的是:()getchar函数只能接收一个字符getchar函数得到的字符可以赋给一个字符变量getchar函数得到的字符可以赋给一个整型变量getchar函数得到的字符可以作为表达式的一部分Egetchar函数是编程者自定义的函数printf函数中,关于格式字符描述正确的是:()格式字符o表示以八进制无符号形式输出整数格式字符u表示以无符号十进制形式输出整数格式字符x表示以无符号十六进

21、制形式输出整数D格式字符f表示以实数形式输出单、双精度数E格式字符e表示以浮点数形式输出单、双精度数假设intx,y,z;若从键盘给x、y、z输入数据,下列不正确的输入语句是:()Ainputx、y、z;Bscanf(%d%d%d,&x,&y,&z);Cscanf(%d%d%d,x,y,z);Dread(%d%d%d,&x,&y,&z);Escanf(%d%d%d,&x,&y,&z);假设floatx,y,z;,并通过scanf(%f%f%f,&a,&b,&c);对a赋于10.0,b赋予22.0,c赋予33.0的值,下面正确的输入形式是:()(注:符号代表空格)A、10回车22回车33回车B、

22、10.0回车22.0回车33.0回车C、10.0,22.0,33.0回车D、10.022.033.0回车E、102233回车若有inta,c;charb;并通过scanf(%f%c%f,&a,&b,&c);对a赋于整数10,b赋予字符M,c赋予整数33的值,下面正确的输入形式是:()(注:符号代表空格)A、10回车M回车33回车B、10M33回车C、10M33回车D、10M回车33回车E、10M回车33回车若有charch;,下面可以对变量c正确赋值的语句是:()Ach=A;Bgetchar(ch);Cch=getchar();Dscanf(“%c”,&ch);Eprintf(“%c”,ch=

23、B);下面属于转义符的有:()AtBnC%dD376Ex2010.若a为整型变量,则下列表达式的值为0的是(),10.若a为整型变量,则下列表达式的值为0的是(),Aa%aBa!=aC3/4D3&0Ea=0第5、6章选择与循环结构一、选择题1.有以下程序main()inti;for(i=0;ibc)printf(%dn,d);elseif(c-1=d)=1)printf(%dn,d+1);elseprintf(%dn,d+2);执行后输出结果是:()A)2B)3C)4D)编译时有错,无结果有以下程序main()inti=0,s=0;doif(i%2)i+;continue;i+;s+=i;wh

24、ile(ib?(ac?a:c):(b);A)5B)4C)6D)不确定以下程序中,while循环的循环次数是:()main()inti=0;while(i10)if(i1)continue;if(i=5)break;i+;A)1B)10C)6D)死循环,不能确定次数以下程序的输出结果是:()main()inta=0,i;for(i=1;i5;i+)switch(i)case0:case3:a+=2;case1:case2:a+=3;default:a+=5;printf(%dn,a);A)31B)13C)10D)20以下程序的输出结果是:()main()inta=4,b=5,c=0,d;d=!a

25、&!b|!c;printf(%dn,d);D)-1A)1B)0C)非0的数以下程序的输出结果是:()#includemain()inti=0,a=0;while(i20)for(;)if(i%10)=0)break;elsei-;i+=11;a+=i;printh(%dn,a);A)21B)32C)33D)11阅读以下程序:()main()intx;scanf(%d,&x);if(x-5)printf(%dx);elseprintf(%dx+);TOC o 1-5 h z程序运行后,如果从键盘上输人5,则输出结果是:()A)3B)4C)5D)6假定w、x、y、z、m均为int型变量,有如下程序

26、段:w=1;x=2;y=3;z=4;m=(wx)?w:x;m=(my)?m:y;m=(mz)?m:z;则该程序运行后,m的值是:()A)4B)3C)2D)1以下程序的输出结果是:()main()inta,b;for(a=1,b=1;a=10)break;if(b%3=1)b+=3;continue;printf(%dn,a);A)101B)6C)5D)4若执行以下程序时从键盘上输入9,则输出结果是:()main()intn;scanf(%d,&n);if(n+10)printf(%dn,n);elseprintf(%dn,n-);A)11B)10C)9D)8有以下程序段intk=0while(

27、k=1)k+;则while循环执行的次数是:()D)执行1次A)无限次B)有语法错,不能执行C)一次也不执行以下程序执行后sum的值是:()main()inti,sum;for(i=1;i6;i+)sum+=i;printf(%dn,sum);A)15B)14C)不确定D)0有以下程序段intx=3doprintf(%d,x-=2);while(!(-x);其输出结果是:()A)1B)30C)1-2D)死循环若变量c为char类型,能正确判断出c为小写字母的表达式是:(a=c=a)|(c=z)(a=c)(c=a)&(c1)&(z8;y=i)printf(“%d%d”,x-,y);A)10192

28、B)9876C)10990D)101090以下程序的输出结果是:()main()inti;for(i=1;i=6;i+)if(i%2)printf(“#”);continue;printf(“*”);printf(“n”);A)#*#*#B)#C)*D)*#*#*以下程序的输出结果是:()main()inti;for(i=A;i5)printf(“%dn”,m);elseprintf(“%dn”,m-)C)5D)4运行以下程序后,如果从键盘上输入china#回车,则输出结果为:()#includemain()intv1=0,v2=0;charch;while(ch=getchar()!=#)s

29、witch(ch)r,casea:caseh:default:v1+;case0:v2+;printf(“%d,%dn”,v1,v2);A)2,0B)5,0C)5,5D)2,5设有如下定义:inta=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m二ab)&(n二cd)后,n的值为:()A)1B)2C)3D)0以下程序的输出结果是:()main()inti,j,x=0;for(i=0;i2;i+)x+;for(j=0;j3;j+)if(j%2)continue;x+;x+;printf(“x=%dn”,x);A)x=4B)x=8C)x=6D)x=12设x和y均为int型变量,则执

30、行以下的循环后,y值为:()for(y=1,x=1;y=50;y+)if(x=10)break;if(x%2=1)x+=5;continue;x-=3;A)2B)4C)6D)827假定a和b为int型变量,则执行以下语句后b的值为:()a=1;b=10;dob-=a;a+;while(b-3;j-)if(j%3)j-;-j;-j;printf(“%d”,j);A)63B)74C)62D)73有以下程序main()intx,i;for(i=1;i12?15:65?8:9)后,变量k的值为:(A.9B.8C.15D.1以下程序运行后,如果从键盘上输人5,则输出结果是:()main()intx;sc

31、anf(%d,&x);if(x-5)printf(%d,x);elseprintf(%d,x+);A、3B、4C、5D、6以下程序段的输出结果是:()intk,j,s;for(k=2;k6;k+,k+)s=1;for(j=k;j6;j+)s+=j;printf(“%dn”,s);A)9B)1C)11D)10以下程序段的输出是:()inti,j,m=0;for(i=1;i=15;i+=4)for(j=3;j=19;j+=4)m+;printf(“%dn”,m);A)12B)15C)20D)25以下程序段的输出结果是:()inti,sum;for(i=1;i6;i+)sum+=sum;printf

32、(“%dn”,sum);A)15B)14C)不确定D)0下面程序的输出是:(D)main()intx=3,y=6,a=0;while(x+!=(y-=1)a+;if(y7)n-;printf(%3d,n);638.以下程序段的输出结果是:()intx=3;doprintf(%3d,x-=2;while(!(-x);A)1B)30C)1-2D)死循环39执行下面的程序后,a的值为:()main()inta,b;for(a=1,b=1;a=20)break;if(b%3=1)b+=3;continue;b-=5;D)10A)7B)8C)9读程序:main()intnum=0;while(num=2

33、)num+;printf(%3d,num);上面程序的输出结果是:()A)1B)22C)123D)1234以下循环体的执行次数是:()main()inti,j;for(i=0,j=1;i=j+1;i+=2,j-)printf(%dn,i);A)3B)2C)1D)0在C语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是()A)switchB)continueC)breakD)if二、判断题:()用1作while循环的判断条件,则循环一次也不执行。()for循环表达式的括号内的3个表达式均不可以省略。()语句while(!E);中的条件!E等价于E=0。()语

34、句while(E);中的条件E等价于E!=0。()若有for(;),是指循环体执行0次。()程序有死循环的时候,上机编译不能通过。()强制终止死循环可以使用CTRL+BREAK组合键。()执行for(I=0;I3;I+);后I的值为2。()执行for(I=0,j=0;I=0)m=a;if(ab)m=a;C.if(a=b)=0)m=a;3、如果不加花括号表示else与if的配对关系,则else与if的匹配方法,不正确的是else与它上面最远的if配对else与它上面最近的if配对else与离它最近的if配对else与它上面最近的且没有和其他else配对的if配对4、关于条件运算符的叙述正确的是条

35、件运算符的优先级别比关系运算符和算术运算符都低条件运算符是C语言中惟一的一个三目运算符条件运算符的结合方向是“自右至左”条件运算符可以替代任何if语句的功能5、关于switch语句叙述正确的是语句中,case的冒号后面允许没有语句。switch语句中,每一个case的冒号后面都允许跟有多条语句。在与switch语句配套的case语句中所使用的表达式可以是变量或常量switch语句中,可以没有default语句。6、在计数循环for(表达式1;表达式2;表达式1B.表达式2三个表达式都可以表达式3)中,可以省略的表达式是:(C.表达式3个都不能少7、下列语句段是死循环的是()n=100;whil

36、e(n)n=n%100+1;C.for(;);x=0;dox+;s=33;while(s+%2+s%2)s+;D.for(i=1;)if(-i)break;while(x=0);第7章数组一、选择题1、若有以下说明语句:inta12=1,2,3,4,5,6,7,8,9,10,11,12;charc=a,d,g;则数值为4的表达式是:()。A、ag-cB、a4C、ad-cD、d-c2、假设int型变量占两个字节的存储单元,若有定义:intx10=0,2,4;则数组x在内存中所占字节数为:()A、3B、6C、10D、203、下列合法的数组定义是:()A、inta=”string”;C、chara=

37、”string”;B、inta5=0,1,2,3,4,5;D、chara=0,1,2,3,4,5;4、若给出以下定义:charx=”abcdefg”;chary=a,b,c,d,e,f,g;则正确的叙述为:()A、数组x和数组y等价B、数组x和数组y的长度相同C、数组x的长度大于数组y的长度D、数组y的长度大于数组x的长度5、下面程序段的输出结果是:()intj;intx33=1,2,3,4,5,6,7,8,9;for(j=0;j3;j+)printf(“%d”,xj2-j);D、369D、3A、159B、147C、3576、下列程序运行后的输出结果是:()main()intn3,t,j,k;

38、for(t=0;t3;t+)nt=0;k=2;for(t=0;tk;t+)for(j=0;j3;j+)nj=nt+1;printf(“%dn”,n1);A、2B、1C、07、有以下程序main()intp7=11,13,14,15,16,17,18,i=0,k=0;while(i7&pi%2)k=k+pi;i+;printf(%dn,k);执行后输出结果是:()A、58B、56C、45D、248、以下能正确定义数组并正确赋初值的语句是:()A、intN=5,bNN;B、inta12=1,3;C、intc2=1,2,3,4;D、intd32=1,2,3,4;9、有以下程序main()intm3=

39、1,4,7,2,5,8,3,6,9;inti,j,k=2;for(i=0;i3;i+)printf(%d,mki);执行后输出结果是:(C)A、456B、258C、369D、78910、以下能正确定义一维数组的选项是:()A、intnum;B、intnum0.100;C)#defineN100D)intN=100;intnumN;intnumN;11、下列选项中正确的语句组是:(A、chars8;s=Beijing;C、chars8;s=Beijing;)B、char*s;s=Beijing;D、char*s;s=Beijing;12、有以下程序段inta10=1,2,3,4,5,6,7,8,

40、9,10,*p=&a3,b;b=p5;b中的值是:()A、5B、6C、8D、913、有以下程序main()chara=abcdefg,b10=abcdefg;printf(%d%dn,sizeof(a),sizeof(b);执行后输出结果是:()D、A、77B、88C、810101014、有以下程序的输出结果是:()voidswap1(intc)intt;t=c0;c0=c1;c1=t;voidswap2(intc0,intc1)intt;t=c0;c0=c1;c1=t;main()inta2=3,5,b2=3,5;swap(a);swap2(b0,b1);printf(%d%d%d%dn,a

41、0,a1,b0,b1);C、3535D、355315、有以下程序intf(intb4)inti,j,s=0;for(j=0;j2)i=3-j;s+=bij;returns;main()inta44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0;printf(%dn,f(a);执行后的输出结果是:()A、12B、11C、18D、1616、有以下程序voidsort(inta,intn)inti,j,t;for(i=0;in-1;i+=2)for(j=i+2;jn;j+=2)if(aiaj)t=ai;ai=aj;aj=t;main()intaa10=1,2,3,4,5,6,7,

42、8,9,10,i;sort(aa,10);for(i=0;i10;i+)printf(%d,aai);printf(n);其输出结果是:()B、10,9,8,7,6,5,4,3,2,1,D、1,10,3,8,5,6,7,4,9,2,A、1,2,3,4,5,6,7,8,9,10,C、9,2,7,4,5,6,3,8,1,10,17、有以下程序voidf(inta,inti,intj)intt;if(ij)t=ai;ai=aj;aj=t;f(a,i+1,j-1);main()inti,aa5=1,2,3,4,5;f(aa,0,4);for(i=0;i5;i+)printf(%d,aai);print

43、f(n);执行后输出结果是:()A、5,4,3,2,1,B、5,2,3,4,1,C、1,2,3,4,5,D、1,2,3,4,5,18、以下程序的输出结果是:()main()charcf35=AAAA,BBB,CC;printf(%sn,ch1);A、AAAAB、BBBC、BBBCCD、CC19、以下程序的输出结果是:()main()intb33=0,1,2,0,1,2,0,1,2,i,j,t=1;for(i=0;i3;i+)for(j=i;j=i;j+)t=t+bibjj;printf(%dn,t);A、3B、4C、1D、920、有以下程序main()intaa44=1,2,3,4,5,6,7

44、,8,3,9,10,2,4,2,9,6;inti,s=0;for(i=0;i=0&chj=9;j+=2)s=l0*s+chj-0;printf(“%dn”,s);TOC o 1-5 h zA、l2ba56B、6652lC、6D、6226、设已定义chars二”NameAddressn;,则字符串s所占的字节数是:()A、l9B、l8C、l5D、l427、设已定义charc8=Tianjin和intj,则下面的输出函数调用中错误的是:()A、printf(“%s”,c);B、for(j=0;j8;j+)printf(“%c”,cj);C、puts(c);D、for(j=0;j8;j+)puts(

45、cj);28、设已定义chara10和intj,则下面输入函数调用中错误的是:()A、scanf(“%s,a);B、for(j=0;j9;j+)scanf(“%c,aj);C、gets(a);D、for(j=0;j9;j+)scanf(“%c,&aj);29、设已定义charx8和intj,为了给该数组赋值,下面语句中正确的是:()A、x8=TurboC;B、x=TurboC;C、x=TurboC;D、for(j=0;j7;j+)xi=getchar();有如下程序,main()intn5=0,0,0,j,k=2;for(j=0;js2)B.if(strcmp(s1,s2)C.if(strcm

46、p(s2,si)0)D.if(strcmp(si,s2)0)若有说明:inta4=0,0;,则下面不正确的叙述是:()。A.数组a的每个元素都可得到初值0二维数组a的第一维大小为1因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为1只有元素a00和a01可得到初值0,其余元素均得不到初值下列语句中,不正确的是:()。A.charstr5=hello;charstr=h,e,l,l,o,0;charstr5=hi;charstr100=;下面错误的初始化语句是:()。A.charstr=hello;charstr100=hello;charst

47、r=h,e,l,l,o;charstr=hello;定义了一维int型数组a10后,下面错误的引用是:()。a0=1;a10=2;a0=5*2;a1=a2*a0;下面的二维数组初始化语句中,错误的是:()。floatb22=0.1,0.2,0.3,0.4;inta2=1,2,3,4;inta2=1,2,3,4;floata22=0;引用数组元素时,数组下标可以是:()。A.整型常量B.整型变量C.整型表达式D.以上均可TOC o 1-5 h z定义了int型二维数组a67后,数组元素a34前的数组元素个数为:()。A.24B.25C.18D.17strlen(A0B0C)的结果为:()。 HY

48、PERLINK l bookmark26 o Current Document A.0B.1C.2D.3下面程序的运行结果是:()。main()inta3=1,2,3,4,5,6;printf(%d,a11);A.3B.4C.5D.6下面程序的运行结果是:()。main()chars120=Good!;chars215=AB;printf(%d,strlen(strcpy(s1,s2)A20B15C5D2下面程序的运行结果是:()。main()chars120=ABCDEF;inti=0;while(s1i+!=0)printf(%c,s1i+);AABCDEFBBDFCABCDEDBCDE下

49、面程序的运行结果是:()。main()intn2=0,i,j,k=2;for(i=0;ik;i+)for(j=0;jk;j+)nj=ni+1;printf(%dn,nk);A.不确定的值B.3C.2下面程序的运行结果是:()。main()intx=22,33,44,55,66,77,88;intk,y=0;for(k=1;k=4;k+)if(xk%2=1)y+;printf(%d,y);A.0B.1C.2D.3下面程序的运行结果是:()。main()inta33=1,2,3,4,5,6,i,for(i=1;i3;i+)for(j=0;j=0&chi=a&si=z)printf(%c,si);i

50、+;AabBab1c2d4eCabcdeDa下面程序的运行结果是:()。main()inti=0,n=0;chars10=298h01;for(i=0;si!=0;i+)if(si=0)n=n*10+(si-0);elsebreak;printf(%dn,n);A298h01B29801C01D298二、判断题:()在程序中可以对数值数组中的数据进行整体使用。()如果strcmp(sl,s2)的返回值为一个负数,则表明字符串si定小于字符串s2。()字符数组的输出不能一次性的整体输出。()用scanf函数输入的字符串不可以带空格。()用gets函数输入的字符串可以带空格。()实现两个字符串的复

51、制可以使用str1=str2;语句。()使用strcpy函数可以实现两个字符串的复制。()使用strcat函数可以实现两个字符串的连接。()使用strlen函数可以求出一个字符串的实际长度(包含0字符)。()如有定义chara二student;则数组a的长度为7。()如有定义chara20;则可以通过a二“Iamaboy;给a赋值。()如有定义inta23;则数组a的最后一个元素为al2。()如有定义inta34=0;则数组a的所有元素初值均为0。()C语言中数组名实质上是数组的首地址,是一个变量地址,可对其进行赋值。()构成数组的各个元素可以有不同的数据类型。()若有说明:inta10;,则

52、可以a10引用数组a的第10个元素。()引用数组元素时,其数组下标的数据类型允许的是:整型常量或整型表达式。()若有inta10=6,7,8,9,10;,则是将5个初值依次赋给a0至a4。()一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组。()在C语言中,允许用字符串来直接初始化字符数组。()字符数组的输出不能一次性的整体输出。()使用strcat函数可以实现两个字符串的复制。三、多选题1、以下关于数组的描述中,正确的有:()。在定义数组时,有时可以将该数组的维数省略数组名实质上是数组的首地址,是一个变量地址,可对其进行赋值构成数组的各个元素可以有不同的数据类型有定义:i

53、nta3;则定义了a0、a1、a2三个数组元素在程序中可以对数值数组中的数据进行整体使用2、以下关于数组的描述中,错误的有:()。引用数组元素时,其数组下标的数据类型允许的是:整型常量或整型表达式可以通过数组名来整体引用一个数组在程序中可以对数值数组中的数据进行整体使用若有说明:inta10;,则可以a10引用数组a的第9个元素若有说明:inta10;,则可以a10引用数组a的第10个元素3、以下关于数组的描述中,错误的有:()。可以通过如下语句来完成对一个数组的输入:inta10;scanf(%d,a);可以通过如下语句来完成对一个数组的输入:inta10;scanf(%d,&a);若有in

54、ta10=6,7,&9,10;,则是将5个初值依次赋给a0至a4数组元素可以像普通变量一样使用inta9;则数组a的下标范围是1-94、以下关于数组的描述中,正确的有:()。数组名实质上是数组的首地址,是一个常量,不能对其赋值在定义数组时,有时可以将该数组的维数省略一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组如有定义inta34=0;则数组a的所有元素初值均为0可以通过数组名来整体引用一个数组5、以下关于数组的描述中,错误的有:()。如有定义inta23;则数组a的最后一个元素为a12一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组若有说明:stat

55、icinta33;那么数组a中每个元素初值为0在定义二维数组时,可以将该数组的两个维数全部省略如有定义chara20;则可以通过a=Iamaboy;给a赋值6、若有说明:inta4=0,0;,则下面正确的叙述有:()。数组a的每个元素都可得到初值0二维数组a的第一维大小为1因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为1只有元素a00和a01可得到初值0,其余元素均得不到初值只有元素a11和a12可得到初值0,其余元素均得不到初值7、以下关于数组的描述中,正确的有:()。若有定义chara二hello;,则数组a的长度为6有定义chara

56、3;则定义了al、a2、a3三个数组元素构成字符数组的各个元素必须是字符类型的数据可以通过数组名来整体引用一个数组设有数组定义chararray=China;则数组array所占的空间为5个字节8、以下关于数组的描述中,正确的有:()。在C语言中,允许用字符串来直接初始化字符数组若有定义chara20;,则可以通过a=Iamaboy;给a赋值若有chara10=l,2,3;,则是将3个初值依次赋给a1至a3构成字符数组的各个元素必须是字符类型的数据数组名实质上是数组的首地址,是一个常量,不能对其赋值9、以下关于数组的描述中,错误的有:()。字符数组的输出不能一次性的整体输出若有chara10=

57、l,2,3;,则是将3个初值依次赋给a0至a2构成字符数组的各个元素可以是不同数据类型的元素构成字符数组的各个元素必须是字符类型的数据若有定义charb二hello;,则数组b的长度为610、下列语句中,正确的有:()。charstr5=hello;charstr=h,e,l,l,o,0;charstr5=hi;charstr100=;charstr3=this;11、函数调用strcat(strcpy(strl,str2),str3)的功能,以下说法错误的有:()。将串str1复制到串str2中后在连接到串str3之后将串str1连接到串str2之后再复制到串str3之后将串str2复制到串

58、str1中后再将串str3连接到串str1之后将串str2连接到串strl中后再将串strl复制到串str3中将串str2连接到串strl中后再将串str3复制到串strl中l2、以下关于数组的描述中,正确的有:()。在定义数组时,有时可以将该数组的维数省略数组元素可以像普通变量一样使用若有inta10=6,7,8,9,10;,则是将5个初值依次赋给a0至a4如有定义chara=student;则数组a的长度为7若有定义doublex35;则x数组中行下标的下限为0,列小标的上限为413、定义了一维int型数组a10后,下面正确的引用有:()。a0=l;al0=2;a0=5*2;al=a2*a

59、0;a2=al+a0;第8章函数一、选择题若调用一个函数,且此函数中没有RERUrn语句,则关于该函数正确的说法是:()没有返回值返回若干个系统默认值能返回一个用户所希望的函数值返回一个不确定的值在c语言中以下不正确的说法是:()实参可以是常量、变量、或表达式形参可以是常量、变量或表达式实参可以为任意类型形参应与其对应的实参类型一致以下程序有语法性错误,有关错误原因的正确说法是:()main()intG=5,k;voidprt_char();k=prt_char(G);语句voidprt_char();有错,它是函数调用语句,不能用void说明变量名不能使用大写字母函数说明和函数调用语句之间有

60、矛盾函数名不能使用下划线以下正确的说法是:()函数的定义可以嵌套,但函数的调用不可以嵌套函数的定义不可以嵌套,但函数的调用可嵌套函数的定义和调用均不可以嵌套函数的定义和调用均可以嵌套若使用一个数组名作函数实参,则以下正确的说法是:()必须在主调函数中说明此数组的大小实参数组类型与形参数组类型可以不匹配在被调用函数中,不需要考虑形参数组的大小实参数组名与形参数组名必须一致在一个函数内部定义的变量是:()A、简单变量B、局部变量C、全局变量D、标准变量若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:()A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可

温馨提示

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

评论

0/150

提交评论