《考前C语言选择题复习选择题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
新视野教育考试复习资料-C语言选择题1,以下选项中,能用作数据常量的是.(标准答案:C)(A)oll5(B)0118(C)115L(D)1.5el.52、下列叙述中错误的是.(标准答案:A)(A)一个C语言程序只能实现一种算法(B)一个C函数可以单独作为一个C程序文件存在(C)C程序可以由一个或多个函数组成(D)C程序可以由多个程序文件组成3、设变量已正确定义并赋值,以下正确的表达式是.(标准答案:B)(A)int(15.8%5)(B)x=y+z+5,++y(C)x=25%5.0(D)x=y*5=x+z4、以下叙述中错误的是.(标准答案:A)(A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(B)C语言源程序经编译后生成后缀为.obj的口标程序(C)用C语言编写的程序称为源程序,它以ASCH代码形式存放在一个文本文件中(D)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件5、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是。(标准答案:D)(A)大写字母(B)下划线(C)数字字符(D)连接符6,以下选项中,合法的一组C语言数值常量是.(标准答案:D)(A)0x8A10,0003.e5(B).1774el.5Oabc(C)028.5e-3-Oxf(D)12.0Xa234.5e07、以下选项中不合法的标识符是.(标准答案:C)(A)print(B)FOR(C)&&a(D)_008、若有定义:doublea=22:inti=0,k=18;,则不符合C语言规定的赋值语句是(A)i=(a+k)<=(i+k);(B)a=a++,i++;(C)i=a%ll;(D)i=!a;标准答案:C11、设有定义:intx=2;,以下表达式中,值不为6的是(A)x*=(l+x)(B)x*=x+l(C)x++,2*x(D)2*x,x+=2标准答案:D12、有以下程序ttinclude
1”,x,y,z);}程序运行后的输出结果是(A)2,3,3(B)2,2,1(C)2,3,2(D)2,3,1标准答案:D13、以下叙述中错误的是(A)使用三种基本结构构成的程序只能解决简单问题(B)C语言是一种结构化程序设计语言(C)结构化程序由顺序、分支、循环三种基本结构组成(D)结构化程序设计提倡模块化的设计方法标准答案:A14、以下选项中,能用作用户标识符的是(A)8_8(B)unsigned(C)_0_(D)void标准答案:C15、C源程序中不能表示的数制是(A)二进制(B)十六进制(C)十进制(D)八进制标准答案:A16、若有定义语句:intx=10;,则表达式x—=x+x的值为
2(A)0(B)10(C)-20(D)-10标准答案:D17、以下选项中不合法的标识符是(A)&a(B)print(C)_00(D)FOR标准答案:A18、以下关于结构化程序设计的叙述中正确的是(A)一个结构化程序必须同时由顺序、分支、循环三种结构组成(B)有三种基本结构构成的程序只能解决小规模的问题(C)在C语言中,程序的模块化是利用函数实现的(D)结构化程序使用goto语句会很便捷标准答案:C19、对于一个正常运行的C程序,以下叙述中正确的是(A)程序的执行总是从main函数开始,在程序的最后一个函数中结束(B)程序的执行总是从程序的第一个函数开始,在main函数结束(C)程序的执行总是从main函数开始(D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束标准答案:C20、以下选项中能表示合法常量的是(A)1.5E2.0(B)“\007”(C)1,200(D)'\'标准答案:B21、以下定义语句中正确的是(A)floata=l,*b=&a,*c=&b;(B)inta=b=0;(C)doublea=0.0;b=l.1;(D)charA=65+l,b="b';标准答案:D22、若变量x、y己正确定义并赋值,以下符合C语言语法的表达式是(A)double(x)/10(B)x=x+10=x+y(C)x+l=y(D)++x,y=x一标准答案:D23、计算机能直接执行的程序是(A)可执行程序(B)目标程序(C)源程序(D)汇编程序标准答案:A24、以下叙述中正确的是(A)C语言规定必须用main作为主函数名,程序将从此开始执行(B)C语言程序将从源程序中第一个函数开始执行(C)main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等(D)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行标准答案:A25、以下选项中可用作C程序合法实数的是(A)E9(B)9.12E(C)3.Oel.2(D).leO标准答案:D26、下列定义变量的语句中错误的是(A)floatUS$;(B)doubleint_;(C)charFor;(D)int_int;标准答案:A27、表达式:(int)((double)9/2)-9%2的值是(A)5(B)4(C)0(D)3标准答案:D28、以下叙述中错误的是(A)算法正确的程序对于相同的输入一定有相同的结果(B)算法正确的程序可以有零个输入
3(C)算法正确的程序可以有零个输出(D)算法正确的程序最终一定会结束标准答案:C29、以下叙述中正确的是(A)C语言程序中的注释必须与语句写在同一行(B)简单C语句必须以分号结束(C)(:语句必须在一行内写完(D)C程序中的每一行只能写一条语句标准答案:B30、以下选项中关于C语言常量的叙述错误的是(A)经常被使用的变量可以定义成常量(B)常量分为整型常量、实型常量、字符常量和字符串常量(C)所谓常量,是指在程序运行过程中,其值不能被改变的量(D)常量可分为数值型常量和非数值型常量标准答案:A31、以下选项中,不合法的C语言用户标示符是(A)AaBc(B)a_b(C)_1(D)a-b标准答案:D32、若变量均己正确定义并赋值,以下合法的C语言赋值语句是(A)x=y==5;(B)x=5=4+l:(C)x+n=i;(D)x=n%2.5;标准答案:A33、以下选项中关于程序模块化的叙述错误的是(A)把程序分成若干相对独立的模块,可便于编码和测试(B)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序(C)把采用分成若干相对独立、功能单一的模块,可便于重复使用这些模块(D)可采用自顶向上、逐步细化的设计方法把若干独立模块组装成所要求的程序标准答案:D34、以下叙述中正确的是(A)C程序中的注释只能出现在程序的开始位置和语句的后面(B)C程序书写格式严格,要求一行内只能写一个语句(C)用C语言编写的程序只能放在一个程序文件中(D)C程序书写格式自由,一个语句可以写在多行上标准答案:D35、以下不合法的数值常量是(A)lei(B)Oxabcd(C)8.0E0.5(D)Oil标准答案:C36、以下关于C语言数据类型使用的叙述中错误的是(A)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(B)若要保存带有多位小数的数据,可使用双精度类型(C)整数类型表示的自然数是准确无误差的(D)若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型标准答案:A37、设有定义intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是(A)++k(B)k++(C)k+1(D)k+=l标准答案:B38、以下叙述中错误的是(A)C程序在运行过程中所有计算都以二进制方式进行(B)C程序在运行过程中所有计算都以十进制方式进行(C)C程序中字符变量存放的是字符的ASCII值(D)所有C程序都需要编译链接无误后才能运行标准答案:B39、以下关于C语言的叙述中正确的是
4(A)C语言中的注料不可以夹在变量名或关键字的中间(B)C语言中的变量可以再使用之前的任何位置定义(C)在C语言算数表达式的书写中,运算符两侧的运算数类型必须一致(D)C语言的数值常量中夹带空格不影响常量值的正确表示标准答案:A40、以下不合法的字符常量是(A)'\018'(B)'\"'(C)'\\'(D)'\xcc'标准答案:A41、以下选项中正确的定义语句是(A)doublea=7,b=7;(B)doublea;b;(C)double,a,b;(D)doublea=b=7;标准答案:A42、若有定义语句inta=3,b=2,c=l;以下选项中错误的赋值表达式是(A)a=(b=4)=3;(B)a=l+(b=c=4);(C)a=(b=4)+c;(D)a=b=c+l;标准答案:A43、下列叙述中错误的是(A)一个C语言程序只能实现一种算法(B)一个C函数可以单独作为一个C程序文件存在(C)C程序可以由一个或多个函数组成(D)C程序可以由多个程序文件组成标准答案:A44、C语言源程序名的后缀是(A).c(B).cp(C).obj(D).exe标准答案:A45、以下选项中不能用作C程序合法常量的是(A)123(B)'\123'(C)“\x7D”(D)1,234标准答案:D46>表达式a+=a-=a=9的值是(A)0(B)-9(C)18(D)9标准答案:A47、若有定义语句:intx=12,y=8»z;在其后执行语句Z=0.9+x/y;则z的值为(A)2.4(B)2(C)1.9(D)1标准答案:D48、以下选项中合法的标识符是(A)1-1(B)1(C)1_1(D)_11标准答案:D49、表达式3.6-5/2+1.2+5%2的值是(A)4.8(B)4.3(C)3.8(D)3.3标准答案:C50、有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是
5(A)a=x<>y(B)a%(int)(x-y)(C)y=x+y=x(D)(a*y)%b上大学,标准答案:B51、有以下程序#include
6”,a+b);/*输出计算结果*/)程序运行后的输出结果(A)出错(B)a+b=0(C)a+b=30(D)a+b=10标准答案:D52、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令,关于转换以下说法错误的是(A)一条C语句可能会被转换成零条机器指令(B)某种类型和格式的C语句被转换成机器指令的条数是固定的(C)一条C语句可能会被转换成多条机器指令(D)一条C语句对应转换成一条机器指令标准答案:D53、关于C语言的符号常量,以下叙述中正确的是(A)符号常量在整个程序中其中都不会被重新定义(B)符号常量的符号名是标识符,但必须大写(C)符号常量的符号名必须是常量(D)符号常量是指在程序中通过宏定义用一个符号名来代表一个常量标准答案:D54、若有以下程序ttinclude
7”,a,b);}则程序的输出结果是(A)12(B)-12(C)1-2(D)-1-2标准答案:B55、若有以下程序^include
8,>,a,b,c):}则程序的输出结果是(A)0,4,0(B)0,4,4(C)1,4,4(D)1,4,1标准答案:A56、若有以下程序#include
9inta=0,b=0,c=0,d;c=(a+=b,,b+=a);/*第4行*/d=c;:/*第5行*/;/*第6行*/printf("%d,%d,%d
10”,a,b,c);/*第7行*/}编译时出现错误,你认为出错的是(A)第6行(B)第5行(C)第7行(D)第4行标准答案:D57、关于算法,以下叙述中错误的是(A)一个算法对于某个输入的循环次数是可以事先估计出来的(B)同一个算法对于相同的输入必须得出相同的结果(C)某个算法可能会没有输入(D)任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕标准答案:D58、关于C语言的变量,以下叙述中错误的是(A)由三条下划线构成的符号名是合法的变量名(B)所谓变量是指在程序运行过程中其值可以被改变的量(C)程序中用到的所有变量都必须先定义后才能使用(D)变量所占的存储单元地址可以随时改变标准答案:D59、若有以下程序^include
11w,a,b);}(A)4-3(B)5-3(C)-1-2(D)5-2标准答案:D60、^include
12M,a,b,c);}则程序的输出结果是(A)1,5,1(B)(C)-1,4,4(D)1,5,5标准答案:D61、以下选项中不属于C语言标识符的是(A)关键字(B)预定义标识符(C)用户标识符(D)常量标准答案:D62、以下选项中不属于C语言程序运算符的是(A)&&(B)()(C)sizeof(D)<>标准答案:D
1363、若变量已正确定义并赋值,以下不能构成C语句的选项是(A)A=a+b;(B)B++;(C)A?a:b;(D)a=a+b标准答案:D64、若有以下程序段doublex=5.16894;printf("%f
14",(int)(x*1000+0.5)/(double)1000):则程序段的输出结果是(A)5.169000(B)5.175000(C)5.170000(D)5.168000标准答案:A65、以下不能用于描述算法的是(A)文字叙述(B)伪代码和流程图(C)程序语句(D)E-R图标准答案:D66、以下叙述中合法的实型常量是(A)2.0*10(B).914(C)0(D)3.13e-2.1标准答案:B67、以下叙述中正确的是(A)若有int4,b=9;执行了a=b;b=a;之后,a的值为9,b的值为4(B)在赋值表达式中,赋值号的右边可以是变量,也可以是表达式(C)若有int4,b=9;执行了a=b后,a的值已由原值改变为b的值,b的值变为0(D)a是实型变量,a=10在C语言中是允许的,因此可以说:实型变量中可以存放整型数标准答案:B68、以下选项中合法的常量是(A)sizeof(B)A%(C)5a(D)_10_标准答案:D69、不能正确表示数学式的表达式是(A)a*b/c(B)a*(b/c)(C)a/c*b(D)a/b*c标准答案:D70、Sinclude
15”,a+=a-=a*a);}程序运行后的输出结果是(A)9(B)-12(C)0(D)3标准答案:B71、以下叙述中正确的是(A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构(B)N-S流程图只能描述简单的顺序结构的程序(C)计算机可以直接处理C语言程序,不必进行任何转换(D)程序的算法只能使用流程图来描述标准答案:A71、以下叙述中正确的是(A)书写源程序时,必须注意缩进格式,否则程序会有编译错误(B)程序的主函数名除了main外,也可以使用Main或—main(C)程序可以包含多个主函数,但总是从第一个主函数处开始执行(D)在C程序中,模块化主要是通过函数来实现的标准答案:D72、C语言中double类型数据占字节数为
16(A)12(B)8(C)4(D)16标准答案:B73、以下叙述中正确的是(A)用户自定义标识符必须“见名知意”,如果随意定义,则会出编译错误(B)语言中的关键字不能作变量名,但可以作为函数名(C)标识符的长度不能任意长,最多只能包含16个字符(D)标识符总是有字母、数字和下划线组成,且第一个字符不得是数字标准答案:D74、以下叙述中正确的是(A)空语句就是指程序中的空行(B)花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的(C)复合语句在语法上包含多条语句,其中不能定义局部变量(D)当用scanf从键盘输入数据时,每行数据在没有按下回车键(Enter键)前,可以任意修改标准答案:D75、以下叙述中正确的是(A)程序必须包含所有三种基本结构才能成为一种算法(B)如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达(C)只有简单算法才能在有限的操作步骤之后结束(D)我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令标准答案:D76、以下叙述中正确的是(A)在C语言程序设计中,所有函数必须保存在一个源文件中(B)结构化程序必须包含所有的三种基本结构,缺一不可(C)只要包含了三种基本结构的算法就是结构化程序(D)在算法设计时,可以把复杂任务分解成一些简单的子任务标准答案:D77、以下叙述中正确的是(A)预定义的标识符是C语言关键字的一种,不能另作他用(B)只能在函数体内定义函数,其他地方不允许定义变量(C)常量的类型不能从字面形式上区分,需要根据类型名来决定(D)整型常量和实型常量都是数值型常量标准答案:D78、以下叙述中正确的是(A)八进制数的开头要使用英文字母。,否则不能与十进制区分开(B)英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符(C)在C程序中的八进制和十进制,可以是否点数(D)整型变量可以分为int型、short型、long型、unsigned型四种标准答案:D79、以下叙述中正确的是(A)C语言程序总是从main函数开始执行(B)C语言程序所调用的函数必须放在main函数的前面(A)C语言程序中main函数必须放在程序开始位置(D)C语言程序总是从最前面的函数开始执行标准答案:A80、C语言程序中,运算对象必须是整型数的运算符是(A)%(B)/(C)*(D)&&
17标准答案:A81、^include
18",pad);}程序的输出结果是(A)7(B)5(C)8(D)6标准答案:D82、以下四个程序中,完全正确的是(A)ttinclude
19*);}(B)^include
20*);}(C)ttinclude
21*);}(D)include
22");}标准答案:B83、有以下程序^include
23*,a=2*b);)程序运行后的输出结果是(A)1,0(B)0,0(C)1,2(D)3,2标准答案:C84、有以下程序4include
24*,a,b,c,d);)当执行程序时,按下列方式输入数据(从第1列开始,
25则输出结果是(A)12(B)123(C)1234(D)1234标准答案:B85、有以下程序#include
26*,cl,c2);}己知字母A的ASCII码为65,程序运行后的输出结果是(A)输出无定值(B)E,D(C)D,69(D)E,68标准答案:D86、有以下程序4include
2789、设有定义inta;floatb;执行scanf(-%2d%f”,&a,&b);语句时,若从键盘输入876543.0〈回车)则a和b的值分别是(A)76和543.0(B)87和543.0(C)876和543.0(D)87和6.0标准答案:D90、有如下程序段:intx=12;doubley=3.141593;printf(“%d%8.6f",x,y)其输出结果是(A)123.141593(B)123.141593(C)123.1415930(D)12,3.141593标准答案:A91,若有定义:inta,b;通过语句scanf(,&a,&b);能把整数3赋值给变量a,5赋值给变量b的输入数据是(A)35(B)35(C)3,5(D)3;5标准答案:D
2892、阅读以下程序#include
29w,case,printF);)该程序在编译时产生错误,其出错原因是(A)定义语句出错,case是关键字,不能用作用户自定义标识符(B)定义语句出错,scanf不能作为输入函数使用(C)定义语句出错,printf不能输出擦色的值(D)定义语句出错,printF不能用作用户自定义标识符标准答案:A93、若有定义inta;floatb;doublec;程序运行时输入:345〈回车〉能把3输入给变量a、4输入给变量b、5输入给变量c的语句是(A)scanf(,&a,&b,&c);(B)scanf("%姗f%lf”,&a,&b,&c);(C)scanf(,&a,&b,&c);(D)scanf(,&a,&b,&c);标准答案;D94、设有定义doub1ea,b,c;若要求通过分别给a、b、c输入1、2、3,输入形式如下(注:此处口代表一个空格)则能进行正确输入的语句是(A)scanf(,&a,&b,&c);(B)scanf(w%lf%lf%lf",a,b,c);(C)scanf(,,%5.lllf%5.lllf%5.lllf",&a,&b,&c);(D)scanf(,&a,&b,&c);标准答案:D95、以下叙述中正确的是(A)scanf和printf是C语言提供的输入和输出语句(B)由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定(C)由printf输出的数据都隐含左对齐(D)赋值语句是一种执行语句,必须放在函数的可执行部分标准答案;D
3096、以下叙述中正确的是(A)在使用scanf函数输入整型或实数时,输入数据之间只能用空格来分隔(B)在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上(C)使用printf函数无法输入百分号%
3198)C语言程序中,运算对象必须是整型数的运算符是yuan.comOa)%yuan.cemOb)/(D)在printf函数中,各个输出项只能是变量标准答案:BOc)*Od)&&97、以下叙述中正确的是标准答案:A(A)复合语句也被称为语句块,它至少要包含两条语句(B)在scanf函数的格式中,必须有与输出项一一对应的格式转换说明(C)scant函数中的字符串,是提示程序员的。输入数据时不必管它(D)只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度标准答案:B99)有以下程序
32100)有以下程序inta=3;a-H=a-=a+a;printf(a);程序的输出结果是yuanomOA)3Ob)-12Oc)oOd)9yuan.eo(.标准答案:B
33101)sizeof(double)是Oa)一令整型表达式Ob)一种函数调用Oc)一个双精度型表达式Od)一个不合法的表达式标准答案:A102)有以下程序:四加羸(stdio.h>inta=2,c=5;printf(*a=%%d,b=%%d
34*,a,c);}程序的输出结果是yuan.coma=2,b=5a=%2,b=%5a=%%d,b=%%da=%d,b=%d标准答案:D103)以下叙述中正确的是OA)在C百音程序中,只有main函数才可例进行编释OB)每个后缀为.C的C语言源程序都可以单独进行编深OO在C语言程序中,main函数必须放在其他函数的最前面OD)每个后缀为.C的C语言源程序都应该包含一个main函数标准答案:B104)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是OA)预定义标识符可用作用户标识符,但失去原有含义yuan.。。Ob)关隆字可用作用户标识符,但失去原有含义Oc)用户标识符可以由字母和数字任意顺序组成OD)在标识符中大写字母和小写字母被认为是相同的字符标准答案:A105)以下选项中合法的常量是Oa)123Bnau^comOb)999Oc)2.7eOD)OXab标准答案:D
35106)C语言主要是借助以下哪种手段来实现程序模块化OA)使用三种基本结构语句yuan.comOb)定义函数Oc)使用丰富的数据类型Od)定义常量和外部变量标准答案:B10?)以下叙述中错误的是Oa)常量可以用一个符号名来代表Ob)数值型常量有正值和负值的区分Oc)定义符号常量必须用类型名来设定常量的类型Od)常量是在程序运行过程中值不能被改变的量标准答案:c108)若有定义和语句:谈盛超,%「加,处);丫叼8n以下选项中的输入数据,不能把值3账给变量a、5赋给变量b的是Oa)3,5,Ob)3,5,4Oc)3,5yuan.eo
36”,a,b,c,d);)yuan.com■yuan.com当执行程序时,按下列方式输入数据(从第1列开始,
37110)以下关于逻辑运算符两禽运箕对象的氧Oa)可以是任意合法的表达式源恩•新视野教育考试复习资料,仅供复习参考,切勿带入考场,否则后果自负Ob)只能是整数o或1Oc)可以是结构体类型的数据Od)只能是整数。期Eo整数标准答案:Ain)有以下程序mainO
38*,a,b,c,d),程序输出Oa)i,i,2,oOb)o,i,2,0Oc)0,0,0,3Od)编深有错标准答案:D112)有以下程序#includemlinU{intx=ljy=0,a=0,switch(x){case1:代园P*xiaoyuarb=0;sw:}casecaseitch(y)case0:a++;c第8aLMf2:a++;b++;3:a++;b++;break;break;break;)pxintf(*a=%d,b=%d
39。)a,b);yuar程序的运行结果是Oa)Ob)Oc)Od)a=2,a=2,a=l»a=l>b=lb=2b=0b=l113)以下程序段中的变量已正确定义飘谦黑,洋工濡江冢.该程序段的输出结果是Oa)*Ob)+*******Oc)**yuan.comOd)标准答案:A114)有以下程序段ijt^i^
40{n=rand()%5;switch(n){case1:case3:printf(*%dn);break;case2•case4:,prinft(*%dn);contiiKii^ncase0:exit(0):}printf(*%d
41',n);}以下关于程序段执行情况的叙述,正确的是OA)f。灌灼句固定执行8次Ob)当产生的随机数n为1和2时不做任何操作Oc)当产生的随机数n为0时结束程序运行OD)当产生的随机数n为4时结束循环操作标准答案:C115)有以下程序*^lude,
42',cl,c2);}已知字母A的ASCII码为由,程序运行后的输出结果是''OA)D,69Ob)e,68Oc)输出无定值Od)e,d标准答案:B116)若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中C'1A)(x-yShlw1Tly>0)yuan.comyuan.comOb)(x-y==o)Oc)(x-y<0)Od)(x-y>o)标准答案:A条件表达式(x-y)等价的是xiaoyuan.com
43117)有以下程序#include
44*);case2:printf;}cicasec:printf(**
45);}Od)switch(a+b){case1:printf(^*
46*);case2+1:printf(;}标准答案:D119)有以下程序m£nt?de
47120)有以下程序#哄&护de
48*,m);}程序运行后的输出结果是OA)m=4Ob)m=6yuan.comOc)m=5OD)m=2标准答案:B121)有以下程序m^int?de
49",k);中,以下不可替代W的是Oa)
50*.a.b,c):程序的输出结果是Ja=10b=50c=30yuan.com
51标准答案:B124)下列叙述中正确的是Oa)break语句必须与switch语句中的case配对使年OB)在switch语句中,不一定使用break语句OC)在switch语句中必须使用defaultOD)break语句只能用于switch语句标准答案:B125)以下不构成无限循环的语句或语句组是Oa)n=19yan.comywhile(n);{n;)OB)for(n=0,i=l;;i++)n七i;OC)n=0;while(1){n-H-;)OD)n=0;do{++n;}whil&MSiRR);标准答案:D126)有以下程序#include
52“,JA,);yuan.comyuan.comOb)printf("%c'n",'B'T);Oc)printf("%c
53”,65);Od)printf("%c
54",'a'-32);标准答案:A128)若遣数值类型,则逻辑表达式(a==l)||(a!=l)的值是Oa)不知道a的值,不能确定yuan.comOB)2Oc)1Od)o
55标准答案:c129)设有定义:叫Via而N=2,c=3;yu<以下语句中执行效果与其它三个不同的是Oa)if(a>b){c=a;a=b;b=c;}Ob)if(a>b)c=a;a=b;b=c;OC)if(a>b)c=a,a=b,b=c;OD)if(a>b){c=a,a判但。处标准答案:B130)有以下程序:黑杷\
56',y);程序执行后的输出结果是Oa)y=0yuan.comOb)while构成无限循环Oc)y=lOd)y=-l标准答案:D
57131)有以下程序maint?dSh>inti,j;for(i=l;i<4;i++)ifor(j=i;j<4;j++)printf("%d*%d=%d”,i,j,i*j)}Piinyja掂点}程序运行后的输出结果是OA)1*1=11*2=21*3=32*2=42*3=63*3y8an.comyuan.comOb)1*1=11*2=21*3=32*1=22*2=43*1=3Oc)1*1=11*2=22*2=41*3=32*3=6/3萧Od)1*1=12*1=22*2=43*1=33*2=63*3=9标准答案:A132)有以下程序嚣潸
58134)if语句的基本形式是:江(表达式)语句,以下关于“表达式”值的叙述中正确的是OA)必须是整凝值yuan.comyuan.comOb)可以是任意合法的数值Oc)必须是逻辑值Od)必须是正数标准答案;B135)有加下法套的江语句药嘲裂c)k=a;yelsek=c;elseif(b
59*);}执行后的输出结果是41羽2\J-XJZABcDooooU8n.co
60yuanyuan.comOc)345343234232\7标准答案:B138)有以下程序#班日世非
61);}while(k>04&n<5);)程序运行后的输出结果是yuan.comOa)235yuan.comOfi)02356OC)2356Od)0235标准答案:A139)有以下定义语句,编谈时会出现编译错误的是OA)chayuaiM\x2d‘;xiaoyuan.c 62;标准答案:B140)当变量c的值不为2、4、6时,值也为“真”的表达式是Oa)(c=5r0^bK©5:=4)11(c==6)yuan.comOb)(c>=2战c<=6)&&(c%2J=l)Oc)(c>=2&&c<=6)&&J(c%2)Od)(c>=2&&c<=6)||(cJ=3)||(cJ=5)标准答案:D 63141)有用而算公式yuan.com(x>0)(x<0)yuan.com 64若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是xiaoyuan.comxiaoyuan.comxiaoyuaOA)if(x>=0)y=sqrt(x);if(x<0)y=sqrt(-x);OB)y=sqrt(x>=0?x:-x);Oc)if(x>=0)y=sqrt(x);else尸sqrt(r);xia(>yudn.com11•yuan.comif(x<0)y=sqrt(-x);标准答案:D142)有以下程序#哄曲2© 65*,y);}程序执行后的输出结果是_____VUallaCOfnOA)while构成无限循环Ob)y=-lOc)y=0OD)y=l标准答案:B143)有以下程序鬻哪水stdio.h>yuan.com{inti;for(i=l;i<=40;i++){if(i++%5==0)if(++i%8==0)printf(*%d",i);}printfCn/an—执行后的输出结果是OA)40Ob)5Oc)32yuan.comxiaoyuan.comOD)24标准答案:c 66144)有以下程序:据/乐, 67147)有以下程序#班中曲《stdio.h>xiaoyuan.commiinU{intx;scant&x);if(x<=3);elseif(x!=10)printf(^%d 68^x);}程序运行时,输入的值在I哪个范围才会有输出结果OA)大于3且不等10的整薮Ob)小于3的整数Oc)大于3或等于10的整数Od)不等于10的整数标准答案:A148)有以下程序#墩£.将8 69*);}程序运行后的输出结果是ooooSJ-SI/ABcDABCDEFAbCdEfaBcDeFabcdefTX7Evuan.com标准答案:B 70150)有以下程序inti,j,x=0;for(i=0;i<2;i-H-)产(j新篇3;JH)if(j%2)continue;printf(*x=%d 71*,x);jytian.com程序执行后的输出结果是OA)x=12Ob)x=4Oc)X=6Od)x=8标准答案:D151)已知大写字母A的ASCH码是65,小写字母a的ASCII码是97.以下不能将变量c中的大写字母Oa)c=)*26+'a'yuan.eomyuan.comOB)c=c+32Oc)c=('A'+c)%26-'a'Od)c=c'A'+'a'标准答案:cI大写字母转换为对应小耳字母的港句是152)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是Oa)(!g«01coo,yuan.comOb)(ej=o)Oc)(EX)||E<0)Od)(e==o)标准答案:D 72153)以下程序段中,与语句:?1:。):。;功能相同的是Oa)if(a<=b)k=0;elseif(b<=c)k=l;Ob)if((a>b)&&(b>c))k=l;elsek=0;Oc),、yuan.comif(a>b)k=l;elseif(b>c)k=l;elsek=0;Od)if((a>b)||(b>c))k=l;elsek=0;标准答案:B154)有以下程序 73*,a,b);}程序运行后的输出结果是yUaii»cofnOa)7,11Ob)8,iiOc)9,18Od)10,14标准答案:D155)有以下程序*inc为像 74*,m);)程序的运行结果是yuan"”3120\J*\1/\)zV17ABcDoooo标准答案:B 75#哄瞅.独 76159)以下选项中与i弼钞=b;elseaH;语句功能不同的switch语句是OA)switch(a){case1:a=b;break;default:a++,}yuan.comOb)switch(a==l){case0:a=b;break;case1:a++;}Oc)switch(a){解>Rt:a++;break;case1:a=b;}Od)switch(a==l){case1:a=b;break;case0:a++;)标准答案:B160)若变量已正确定义,有以下程序段whHe(printf(*%d 77*,i);Oa)Ob)Oc)Od)其输出结果是0,0程序进入无限循环yuan.com1,10,1标准答案:D 78#inclu^( 79',a,b,c)elsepnntfj急也明%d 80,a,b,c)程序运行后的输出结果是OA)1,2,3OB)1,3,2Oc)3,2gan.comOd)1,3,3yuan.标准答案;D 81162)有以下程序段forfi^\<8;i++)yuan-{n=rand(j%5;switch(n){case1:case3:printf(*%d'n*,n);break;case2:case4:printf(*%d'n”,n);contimcase0:exitCOT;}printf("%d 82",n);}以下关于程序段执行情况的叙述,正确的是OA)当产生的随机致n为0时结束程序运行,uan.5,OB)当产生的随机数n为4时结束循环操作OC)for循环语句固定执行8次OD)当产生的随机数n为1和2时不做任何操作标准答案:A163)以下选项中,值为1的表达式是Oa)JrytGn.comOb)''o'-'o'Oc)i-'\o'Od)i-'o'标准答案:c164)当变量c的值不为2、4、6时,值为“真”的表达式是Oa)(c>y0©<=6)11(cJ=3)11(c!期an.comOb)(c>=2&&c<=6)&&(c%2J=l)Oc)(c==2)||(c==4)||(c==6)Od)(c>=2&&c<=6)&&J(c%2)标准答案:A165)下列条件语句中,输出结果与其他语句不同的是Oa)if乂1国持0)printf(*%d 83^,x);yua^lseprintfy);Ob)if(a==0)printfx);elseprintf("%d 84*,y);Oc)if(a==0)printfy);elseprintf(*%d 85*,x);Od)if(a)printf(*%d 86*,x);elseprintf(^%d 87*,y);标准答案:B166)有以下程序*^^ 88^,x++);}xiaoyuan.com程序的运行结果是Oa)iOb)2OC)331Od)41yuan.com 89标准答案:A考生尚未答题167)要求通过while循环不断读入字符,当读入字母耐结束循环.若变量已正确定义,以下正确OA)whiiei(«(thFgetchar())==,fT)prin押ch);yuan.comOb)while(ch=getchar0==,IT)printfC%cch);Oc)while((ch=getchar())J=,IT)printf(*%cch);Od)while(ch=getchar()=J)printf(*%c二ch);标准答案:C168)以下叙述中正确的是OA)con虹mis语句的作用是:使程序的执行流程跳出包含它的所有循环OB)在循环体内使用break语句和continue语句的作用相同Oc)break语句只能用于switch语句体中Od)break语句只能用在循环体内和switch语句体内标准答案:D169)若有以下程序maint?dSni 90',a,b,c,d);}则程序的输出结果是“标团Oa)5,i,2,-1Ob)2,2,2,4Oc)2,1,2,-1Od)1,2,3,4标准答案:B170)若有以下程序twfrlude 91for(n=0;n<4;n++){switch(n){default:s+=4;case1:sVl;case2:©七2;case乡产4在3;}}printf(*%d 92*,s);则程序的输出结果是yuan.ctxnoa)is,Ob)24Oc)ioOd)6标准答案:B172)若有以下程序#联/为@e 93*,a,b);}则程序的输出结果是yuan.comOa)o,2Ob)1,3Oc)2,3Od)1,2标准答案:D173)若有以下程序maint?^" 94',a,b,c);}则程序的输出结果考“am—OA)0,14,3Ob)o,i4,6Oc)o,18,3Od)1,14,3标准答案:A174)以下选项中非法的C语言字符常量是Oa)jaa9uan.comOb)2Oc)J\xaaJOd)'\oo7'标准答案:A175)若有以下程序m£nt?de 95if((a=2)&&(b=l))c=2;if((c==3)||(d=-D)a=5;printf("%d,%d,%d,%d 96*,a,b,c,d);1则程序的输出结果是‘an.c«nOa)5,i,2,-1Ob)1,2,3,4Oc)2,2,2,4Od)21i,2,-1标准答案:A176)若有以下程序 97printf(*%d,%d 98*,a,b);}则程序的输出结髀”2Oa)2,3Ob)i,3Oc)1,2Od)o,2标准答案:B179)若有以下程序:黑帮小stdi。.h>{inta=6,b=0,c=0;for(;a&&(b==0);){b+=a;a-=c-H";}printf(*%d,%d,%d 99*,a,b,c);}则程序的输出结果是“an“一Oa)5,6,oOb)6,6,1Oc)5,6,1Od)6,0,0标准答案:B 100180)以下选项中非法的C语言字符常量是OA)5\0S^ 101”,cl,c2);)则程序的输出结果主Oa)F'9'U3n.comCB)H,9$Oc)表达式不合法输出无定值Od)h9标准答案:D183)表示关系式xWyWz的C语言表达式的是Oa)(x〈阳的iL”yOb)(x<=y)!(y<=x)Oc)(x<=y)&&(y<=x)Od)(x<=y)11(y<=x)标准答案:c 102184)有以下程序鬻就加 103 104188)有以下程序#斑小眼“ 105#短碉命 106197)下面选项中合法的字符常量是Oa)JX*yuan.comOb)*abc*Oc)"x"Od)198)以下期OOOOd)转S标iff答案:标准答案:A200、以下叙述中正确的是B)不能在else子句中在嵌套if语句A)if语句只能嵌套一层C)改变if-else语句的缩进格式,会改变程序的执行流程D)if子句和else子句中可以是任意合法的C语句标准答案:D199)以下叙述中正1Oa)逻辑J'或Ob)逻辑“非”Oc)c语言的关反Od)由&&构成的标准答案:D201,以下叙述中正确的是A)对于“for(表达式1;表达式2;表达式3)循环体”,只在个别情况下才能换成*hileB))对于“for(表达式1:表达式2;表达式3)循环体”首先要计算表达式2的值,以便决定C)如果根据算法血药使用无限循环(即通常说的“死循环”),则只能使用while语句D)只要适当地修改代码,就可以将do-while与while相互转换标准答案:D202、以下叙述中正确的是A)在while语句和do-while语句中无法使用continue语句B)当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并终止循环C)continue语句的作用是:在执行完本次循环体中剩余语句后,终止循环D)只能在循环体内和switch语句体内使用break语句标准答案:D203、以下叙述中正确的是A)'是非法的B)'\0'表示字符0C)"a"表示一个字符常量D)表达式:'a'>'b,的结果是“假”标准答案:D204、以下叙述中正确的是A)字符常量可以参与任何整数运算B)转义字符用@符号开头C)字符变量在定义时不能赋初值D)同一英文字符的大写和小写形式代表的是同一字符常量标准答案:A205、若有定义语句:chara='\82';则变量aA)包含3个字符B)包含2个字符C)包含1个字符D)说明不合法标准答案:D206、有以下程序#include 107”,cl,c2);}程序输出结果是A)A,YB)65,89C)65,90D)输出格式不合法,输出出错信息标准答案:B207、若变量已正确定义for(x=0,y=0;(y!=99&&x<4);x++)则以上for循环A)执行无限次B)执行次数不定C)执行3次D)执行4次标准答案:D208、对于while(!E)s;若要执行循环体s,则E的取值应为:A)E等于0B)E等于1C)E不等于1D)E不等于0标准答案:A209、有以下程序^include 108"):) 109程序输出结果是A)#3*4#5B)*3#4#5C)*3*4#5D)*3#4*5标准答案:D210、有以下程序#include 110w,a);)程序输出结果是A)10B)8C)7D)9标准答案:B211、C语言中char类型数据所占字节数为A)3B)4C)2D)1 111标准答案:D212、下列关系表达式中,结果为“假”的是A)(3<4)=1B)3<=4C)(3+4)>6D)(3!=4)>2标准答案:D213、若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的switch语句是C)switch(a+9){casea:y=a-b;caseb:y=a+b;)D)switch(a+b){case1:case3:y=a+b;break;case0:case4:y=a-b;A)switch(a*a+b*b)(default:break;case3:y=a+b;break;case2:y=a-b;break;)A)switcha*b{case10:y=a+b;default:y=a-b;}标准答案:A214、有以下程序^include 112”,a,b);}程序输出结果是A)L3B)1,2C)0,2D)0,3标准答案:B215、设有定义:intx=0,*p;紧接着的赋值语句正确的是A)*p=NULL;B)*p=x;C)p=NULL;D)p=x;标准答案:C216、下列叙述中正确的是A)可以对字符串进行关系运算B)空字符串不占用内存,其内存空间大小是0C)两个连续的双引号("”)是合法的字符串常量D)两个连续的单引号('')是合法的字符串常量标准答案:C217、有以下程序^include 113*,m);)intf(intx){returnx*2;}程序运行后的输出结果是。A)8B)2C)1D)4标准答案:A218、下列叙述中错误的是A)可以给指针变量赋一个整数作为地址值B)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULLC)函数可以返回地址值D)改变函数形参的值,不会改变对应实参的值标准答案:A219、设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是A)float*p=1024;B)floatp=&x;C)int*p=(float)x;D)float*p=&x; 114标准答案:D220、以下数组定义中错误的是oA)intx[][3]={0};B)intx[2][3]={1,2,3,4,5,6};C)intx[][3]={{1,2,3},{4,5,6}};D)intx[2][3]={{1,2},{3,4},{5,6}};标准答案:D221、有以下程序voidfun(inta[],intn){inti,t;for(i=0;i 115*);)程序的运行结果是OA)876543B)321678C)345678D)1098765标准答案:B222、有以下程序^defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i 116*);}程序运行后的输出结果是OA)-3,-1,1,3,B)-3,-3,-3,-3,C)-12,-3,0,0,D)0,1,2,3,标准答案:A223、有以下程序ttinclude 117printf(*%d 118*»fun(2*a,fun(b,c)));)程序运行后的输出结果是A)6B)8C)3D)12标准答案:A224、有以下程序#include 119*,p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是A)printf(*%d 120*»p);B)scanf&p)C)*p=&n;D)intn,*p=NULL;标准答案:D226、下列定义数组的语句中,正确的是C)intN=10;intx[N];D)intx口;A)^defineN10intx[N];B)intx[0..10];标准答案:A227、有以下程序4include 121*);03344D)3040for(i=0;i<4;i++)printf(*%d*,a[i]);}程序运行后的输出结果是A)2050B)0304标准答案:D228、有以下程序^include 122*»t);) 123程序运行后的输出结果是A)3B)1C)9D)4标准答案:D229、有以下程序ttinclude 124*,d);)程序运行后的输出结果是A)9B)7C)8D)10标准答案:A230>若有定义语句:doublea,*p=&a;以下叙述中错误的是A)定义语句中的*号是一个说明符B)定义语句中的*号是一个间址运算符C)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量pD)定义语句中的p只能存放double类型变量的地址标准答案:B231、若有定义语句:doublex,y,*px,*py;执行了px二&x;py=&y;之后,正确的输入语句是A)scanfC%lf%ir,x,y);B)scanf(*%f%f*,x,y);C)scanf(*%f%f*&x,&y);D)scanf(*%lf%le*,px,py);标准答案:D232、以下定义数组的语句中错误的是A)intnum[][4]={1,2,3,4,5,6};B)intnum[][3]={{1,2},3,4,5,6};C)intnum[2][4]={{1,2},{3,4},(5,6}};D)intnum[]={1,2,3,4,5,6};标准答案:C233、有以下程序^include 125");)程序的运行结果是A)2,1,4,3,6,5,8,7,0,9,B)1,2,3,4,5,6,7,8,9,0,C)0,1,2,3,4,5,6,7,8,9,D)0,9,8,7,6,5,4,3,2,1,标准答案:B234、有以下程序main(){intx[3][2]={0}»i;for(i=0;i<3;i++)scanfx[i]);printf(*%3d%3d%3d 126*,x[0][0],x[0][1],x[l][0]);)若运行时输入:246〈回车〉,则输出结果为A)246B)2400200D)204标准答案:D235、有以下程序doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf(*3.Of 127*,a);)doublef(doublex){returnx*x+l;}程序的运行结果是A)500B)14040401D)503标准答案:D 128236、若有以下函数首部:intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是A)intfun(doublex,int*n);B)intfun(double*,int*);C)intfun(double*x,int*n)D)intfun(double,int)标准答案:B237、有以下程序main(){doublem=l,n=2»*p=&m,*q=&n,*r;r=p;p=q:q=r;printf(*%d,%d,%d,%d 129*,m,n,*p,*q);}程序的运行结果是A)2,1,2,1B)2,1,1,2C)1,2,1,2D)1,2,2,1标准答案:D238、若有以下定义:intx[10],*pt=x;则对数组元素的正确引用是A)*&x[10]B)*(x+3)C)pt+3D)*(pt+10)标准答案:B239、有以下程序main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9);for(i=0;i<9;i+=2)s+=*(t+i);printf(*%d 130”,s);)程序的运行结果是A)20B)25C)36D)45240、有以下程序^include 131*);)程序的运行结果是A)1,4,5,9,B)1,0,7,0,C)3,4,8,10D)1,2,3,4标准答案:B241、关于retinrn语句的叙述中正确的是A)定义成void类型的函数中可以带返回值的retuir语句B)没有return语句的自定义函数在执行结束时不能返回到调用处C)一个自定义函数中可以根据不同情况设置多条return语句D)一个自定义函数中必须有一条return语句标准答案:C242>已定义以下函数:intfun(int*p){return*p;}fun函数返回值是A)一个整数B)形参p的地址值C)形参p中存放的值D)不确定的值标准答案:A243、以下程序段完全正确的是A)intk,*p=&k;scanf(,p);B)int*p;scanf(M%dw,p);A)intk,*p=&k;*p=&k;scanf(“%d”,p);D)int*p;scanf(“%d",&p);标准答案:A244、设有定义:doublea[10],*s=a:以下能够代表数组元素a[3]的是A)*s[3]B)(*s)[3]C)*s+3D)*(s+3)标准答案:D245、有以下程序voidf(int*q){inti=0;for(;i<5;i++)(*q)++;mainO{inta[5]={l,2,3,4,5},i;Na);for(i=0;i<5;i++)printf(a%d,M,a[i]);}程序运行后的输出结果是A)2,2,3,4,5,B)6,2,3,4,5C)2,3,4,5,6,D)1,2,3,4,5,标准答案:B246、有以下程序 132intfun(int(*s)[4],intn,intk){intm,i;m=s[0][k];for(i=l;i 133w,fun(a,4.0));}程序的运行结果是A)4B)34C)31D)32标准答案:C247、以下叙述中错误的是A)用户定义的函数中若没有return语句,则应当定义函数为void类型B)函数的retum语句中可以没有表达式C)用户定义的函数中可以没有retum语句D)用户定义的函数中可以有多个retum语句,以便可以调用一次返回多个函数值标准答案:D248、有以下程序voidfun(char*c,intd){♦c=*c+l;d=d+l;printf(w%c,%c,",*c,d);}mainO{charb=,a',a=,A';fun(&b,a);printf(u%c,%c 134w,b,a);)程序的运行结果是A)a,B,B,aB)b,B,b,AC)a,B,a,BD)b,B,B,A标准答案:B249、下列选项中,能正确定义数组的语句是A)intnum[0...2008];B)intnum[];C)intN=2008;intnum[N];C)#defineN2008;intnum[N];标准答案:D250、以下函数实现每行8个输出w所指数组中的数据voidfun(int*w,intn){int;for(i=0;i 135”);}在横线处应填入的语句是A)if(i/8=0)contion;B)if(i%8==0)contion: 136C)if(i%8==0)printf(M 137w);C)if(i/8==0)printf(“ 138”);标准答案:C251、有以下程序voidfun(char*c){while(*c){if(*c>=*a'&&*c<=*z')*c=*c-(匕'-W);C++;}}mainO{chars[81];gets(s);fun(s);puts(s);}当执行程序时从键盘上输入Hell。80仃1席<回车),则程序的输出结果是A)HELLOBEIJINGB)hellobeijingOHelloBeijingD)hElloBeijing标准答案:A252、有以下程序mainO{inta[4][4]={{1,4,3,2),{8,6,5,7},{3,72,5),{4,8,6,1));inti,j,k,t;for(i=0:i<4;i++)for(j=0;j<3;j++)for(k=j+1;k<4;k++)if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;/*排列排序*/)for(i=0;i<4;i++)printf(w%d,w,a[i][i]);)程序的运行结果是 139A)1,6,2,1,B)4,7,5,2,C)8,7,3,1,D)1,6,5,7,标准答案:D253、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参知识形式上的存在,不占用具体存储单元C)函数的形参和实参分别占用不同的存储单元D)同名的实参和形参占同一存储单元标准答案:C254、设有以下函数:voidfun(intn,char*s){}则下面对函数指针的定义和赋值均正确的是A)void*pf();pf=fun;B)void(*pf)(int,char);pf=&fun;C)void*pf();*pf=fun;D)viod(*pf)(int,char*);pf=fun;标准答案:D255若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是A)inta[5+5]:B)#defineN10inta[N];B)#definen5inta[2*n];B)intn=10,a[n];标准答案:D256、有以下程序main(){inti,t[][3]={9,8,7,6,5,4,3,2,1);for(i=0;i<3;i++)printf(w%dw,t[2-i][i]);}程序输出结果是A)369B)7510753D)357标准答案:D257)有以下程F:然1main)程序的运彳A)0987651234B)0987654321C)4321098765D)5678901234标准答案:D 140258)有以下程序^&§m 141262、若有定义语句:inta[2][3],*p[3]:则以下语句中正确的是A)p[O]=&a[l][2];B)p[l]=&a;C)p=a;D)p[O]=a;标准答案:AA)1,2,3,4,5,6,7,8,9,10,B)3,4,5,6,7,2,1,8,9,10,C)19,9,8,7,6,5,4,3,2,1,D)5,4,3,2,1,6,7,8,9,10,标准答案:b263)以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为谢,进行由大到,n,int¥逐尸丫间―inti,j,t;for(i=0;i 142*)'yuan.com程序的运行结果是 143A)1123B)433201234D)2344标准答案:B 144265)有以下程序#include 145*,*p,*q);}程序运行后的输谈果是 146268)若有定义:i砒忐凰⑸;校园网xiaoyuan.则以下不能正确表示该数组元素的表达式是Oa)*(*(w+1))Ob)*(&w[o][o]+i)Oc)*(*vrt-3)Od)*(w+1)[4]标准答案:D 147269)有以下程序*呻鼎扁噂穴「yuan.comvoidf(intbU){inti;for(i=2;i<6;i++)b[i]*=2;1main(){inta[10]={1,2,3,4,5,6,7,8,9,10},i;f(a);for(i=0;printf(*%d,a[i]))程序运行后的输出结果是A)1,2,6,8,10,12,14,16,9,10,C)1,2,3,4,10,12,14,16,9,10,标准答案:D270)有以下程序^tdio.h?intfun(charsLJ){intn=0;while(*s<=>='0')return(n);B)1,2,3,4,5,6,7,8,9,10,D)1,2,6,8,10,12,7,8,9,10,yuan.com{n=10*n+*s-,09;s++;}yu1mainO|既昆eMT)程序的运行结果是V};.coniA)9B)5C)61490D)61标准答案:D271)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误{floatfun(inti,intj):x-fun(ijj),floatfun(inta,intb)(…”Ob)main(){x-fun(2,10);……}floatfun(inta.intb){…“Oc)yu3h.comfloatfun(infa,intb){main(){x-fun(i,j);……}Od)floatfun(int,int);mainO{x-fun(2,10);fJUWfun(inta,intb){••…Oa)}标准答案:B}}}*a]yil3n.comyuan.comyuan.comyuan.comyuan.comyuan.com272、若有定义语句:intyear=2009,*p=&year;以下不能使变量year中的值增加至2010的语句是A)++(*p)B)*p+=lC)(*p)++D)*p++;标准答案:D273、若有定义语句:inta,b,c,*p=&c;接着执行以下选项中的语句,则能正确执行的语句是A)scanf(,&p);B)scanf(,a,b,c);C)scanf(“%d%d%d”,a,b,c);D)scanf(“%d”,p); 148274)以下错误的定义语句是Oa)intyi»m]48]={{l,2,3},{1,2,3},血与3卜曲,2,3}};OB)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3));OC)intx[][3]={1,2,3,4);OD)intx[][3]={{0},{1},标准答案:B275)有以下程序#inclu^ 149*如外博%余乜唾h>yuan.comvoidsplint*aj{intb=2;a=&b;*a=*a*2;printf(*%d,*a);)278、若有以下程序main。{intk=3,*p=&k,sp(p);pr观必:笫%d 150[k,*p);(A)6,6,6(B)标准答案:D279、若有以下程序6,3,6(C)4,3,4(D)4,3,3则程序的输出结果是(A)3,7,7,7,7,7(B)3,3,3,7,7,7(C)7,7,7,3,3,3(D)7,7,7,3,7,7标准答案:D280、若有以下程序则程序的输出结果是(A)5,3,5,3,5(B)3,5,5,3,5(C)3,5,3,5,5(D)5,3,3,5,5标准答案:C281若有以下程序h>yuan.comvoidf(int科s){int*t=&k;*s=t;printf("%d,%d,%d,*,k,*3料s);}fti=3,*p=iipW=&p;Yuanf(r);printf('%d,%d,%d 151*,i,*p,**r);}#如双助“系tdy.h>yuan.cominty舞(int*s,mt*t){int*k;if(*s<*t){k=s;s=t;t=k;}returns;}main(){inti=3,F尿种%*q=&j,七;1mmr=f(p,q);printf(*%d,%d,%d,%d,%d 152*,i,j,*p,*q,*r); 153yuan.comyuan.comvoidfun(inta[][N],intb[],intflag){inti,j;for(i=0;i 154*);则程序输出结果是(A)1,2,3,4,13,14,15,16,(B)13,14,15,16,1,2,3,4,(C)1,5,9,13,4,8,12,16,(D)4,8,12,16,1,5,9,13,标准答案:C282若有以下程序米郦京tdio.h:yuan.comvoidfun(intatJ,intn){intt,i,j;for(i=l;i 155*);则程序的输出结果是(A)1,10,3,8,5,6,7,4,9,2,(B)2,9,4,7,6,5,8,3,10,1,(C)10,9,8,7,6,5,4,3,2,1,(D)10,1,8,3,6,5,4,7,2,9,标准答案:D283、若有以下程序#includer 156(D)01234标准答案:B284、若有以下程序则程序的输出结果是⑴9,4,9瞪即缴盘吗yuan.«0m(8)6,12,12{intb=2;a44*a=*a*2;printf("%d,”,*a);La=&b;*a=*a*2;printf(*%d,*a);(D)6,4,6)标准答案:口沪%k=3285、若有以下程序sp(&k)^p曲肘㈠MT,k);yua}职5^弱dio.h>yuanvoidf(int**s){int*t=&k;s=&t;*s=to;printfC%d,%d,%d,k,*t,**s);)main(){落产,邳施g&P;yuan.printf("%d,%d,%d 157”,i,*p,**r);}则程序的输出结果是(A)7,5,7,3,5,7,(B)7,7,5,3,3,3,(C)7,5,7,3,3,3,(D)7,5,5,3,3,3,标准答案:D286、若有以下程序^include 158w,i,j»*P,*Q,*r)则程序的输出结果是(A)5,3,3,5,5(B)3,5,3,5,5(C)3,5,5,3,5(D)5,3,5,3,5 159标准答案:D287、有以下程序ttinclude 160ttinclude 161”,r);)程序运行后的输出结果是(A)15(B)21(C)31(D)20标准答案:B290、以下选项中函数形参不是指针的是(A)fun(int&p){,,,)(B)fun(intp口){…}(C)fun(int&a){,,,}(D)fun(inta[10]){,•,}标准答案:A291、有以下程序include 162w,y);)程序运行后的输出结果是(A)19(B)18(C)20(D)17标准答案:A292、有以下程序#include 163w,k,a[k]);)在横线处应填入的内容是(A)k=i-s(B)*k=i-s(C)k=i(D)*k=i标准答案:D293、有以下程序^include 16461 165for(i=0:i<3;i++)for(j=0;j<2;j++)k=k+*(*(p+i)+j);printf(M%d 166w,k);)程序运行后的输出结果是(A)60(B)99(C)108(D)68标准答案:A294、有以下程序#include 167w,x);程序运行后的输出结果是(A)17(B)22(C)24(D)23标准答案:A295、有以下程序^include 168”,c,b,a);)程序运行后的输出结果是(A)30,20,10(B)0,0,0(C)20,30,10(D)10,20,30标准答案:A296、有以下程序#include 169",s-p);)程序运行后的输出结果是(A)5(B)60(C)6(D)50标准答案:A297、有以下程序#include 170)程序运行后的输出结果是(A)1(B)2(C)3(D)0标准答案:C298、有以下程序#include 171",**k);)程序运行后的输出结果是(A)46(B)44(C)22(D)24标准答案:D299、有以下程序ttinclude 172B语句p==NULL;与p==\0是等价的语句Cp==NULL;执行后,指针p指向地址为0的存储单元D指针变量只能通过求指针运算符(&)获得地址值答案:A303以下叙述中正确的是A即使不进行强制类型转换,在进行指针赋值运算时,指针变量的基类型也可以不同B指针变量之间不能用关系运算符进行比较C设置p是一个指针变量,则语句p==0;是非法的,应使用p==NULL:D如果企图通过一个空指针来访问一个存储单元,将会得到一个错误信息答案:D304以下叙述中正确的是A在引用数据元素时,下标表达式可以使用浮点数B数组说明符的一对方括号只能使用整型变量,不能使用表达式C一条语句定义一个数组D每一数组包含具有同一类型的变量,这些变量在内存中占连续的存储单元答案:D305以下叙述中正确的是A数组下标的下限由数组中第1个被赋值元素的位置决定B数组下标的下限是1C数组元素的下标下限由第一个非零元素的位置决定Dcharcl,c2,*c3,c4[40];是合法的变量定义语句答案:D306以下叙述中正确的是A语句chara[3];a="AB";是合法的,因为数组有三个字符空间的容量,可以保存两个B语句chara[2]={“A","B”);定义了一个包含两个字符的数组C语句inta[]={0};是不合法的,遗漏了数组的大小D语句inta[8]={0};是合法的答案:D307以下叙述中正确的是A函数名允许用数字开头B函数调用时不必区分函数名称的大小写C函数调用时,函数名必须与被调用的函数名完全一致D在函数体中只能出现一次return语句答案:C308以下叙述中正确的是A在对指针进行加减运算时,数字1表示1个存储单元的长度B如果p是指针变量*p+1和*(p+1)的效果一样C如果p是指针变量,则&P是不合法的表达式D如果p是指针变量,则*p是变量p的地址值答案:A309以下叙述中正确的是A设有指针变量double*p,贝加+1将指针p移动8个字节B函数的形参类型不能使指针类型C基类型不同的指针变量可以相互混用D函数的类型不能是指针类型答案:A310如果定义floata[10],x;则以下叙述中正确的是A三个表达式a[l]、*(a+1)和*&a[l]表示的意思完全不同B表达式*是非法的,应该写成*C表达式a+1是非法的D表达式a;&x是非法的答案:D311int*func(inta[10],intn);则以下叙述中正确的是A说明中的a[10]改为a口或*a效果完全一样Bfunc函数中不能对a进行移动指针(如a++)的操作C只有指向10个整数内存单元的指针,才能作为实参传递给形参D形参a对应的实参只能是数组名答案:A312以下叙述中正确的是 173A语句int@口[3]:{1,2,4,5};是错误的初始化形式B在逻辑上可以把二维数组看成是一个具有行和列的矩阵或表格C语句inta[4][3]={{1,2},{4,5}};是错误的初始化形式D语句inta[4][3]={1,2,45,};是错误的初始化形式313有以下程序^include 174w,c,d);}程序的输出结果是A71BOOC34D43答案:A314有以下程序^include 175M,y);}程序的输出结果是A13B15C11D19答案:D316有以下程序^include 176n);}程序的输出结果是A369B147C150D357答案:D317有以下程序#include 177printf(M%d 178w,a[2]);}程序的输出结果是A8B2C4D6答案:D318有以下程序ttinclude 179');}}若从键盘输入OPENTHE。00x回车),程序的输出结果是AOPENTHEDOORBOpenTheDoorCoPENtHEdOORDopenthedoor答案:D319有以下程序^include 180”,a);}程序的输出结果是AHBACaDh答案:D320有以下程序^include 181321设有定义:intx[2][3];则以下关于二维数组x的叙述错误的是Ax[0]和x[l]是数组名,分别代表一个地址常量B元素x[0]可以看作是由三个整形元素组成的一位数组C数组x可以看作是由x[0]和x[l]两个元素组成的一位数组D可以用x[0]=0;的形式为数组所有元素赋初值0答案:D322设p是指针变量,语句p=NULL;等价于Ap=0Bp='O'Cp=""Dp='答案:A323有以下程序#include 182M,a[2]);}程序的输出结果是A20B10C40D30答案:D324有以下程序^include 183");)程序的输出结果是A3,6,9B1,3,5C3,5,7D2,4,8答案:A325设有定义:chars[81];inti=l;以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是Ado{scanf(<4%cM,&s[i]);}while(s[i++]!=, 184');s[i]=,\0';Bgets(s); 185Cwhile((s[i++]=getchar())!=' 186*);s[i]=>\0';Dscanf("%s",s);答案:D326设有定义:charp□={T,'2','3'},*q=p;以下不能计算出一个char型数据所占字节数的表达式是Asizeof(p[0])Bsizeof(*p)Csizeof(char)I)sizeof(p)答案:D327有以下程序^include 187”,p);)程序的输出结果是A9,0ne*Dream!B9,0ne*wor1dC10,0ne*worldD10,0ne*Dream!答案:D328有以下程序^include 188n);)程序的输出结果是A8C3D0答案:C329有以下程序^include 189w,k); 190)程序的输出结果是A11,5B5,11C11,11D5,5答案:B330在C语言中,只有在使用时才占用内存单元的变量,其存储类型是Aauto和staticBstaticfUregisterCextern和registerDauto和register答案:D331以下语句中错误的是Achar*ss[6];ss[l]=wright?M;Bchar*ss[]={"right?”};Ccharss[6][20];ss[l]="right?”;Dcharss口[20]={"right?”};答案:C332以下不能将s所指字符串正确复制到t所指存储空间的是Ado{*t++=*s++;}while(*s);Bfor(i=0,j=0;t[i++]=s[j++];);Cwhile(*t=*s){t++;s++;}Dfor(i=0;t[i]=s[j];i++);答案:A333有以下程序#include 191”,si,s2);}程序执行后的输出结果是A321,cbaBabc,123C123,abcDIbc,a23答案:D334有以下函数intfun(char*x,char*y){intn=0; 192while((*x==*y)&&*x!='\0'){x++;y++;n++;}returnn;)函数的功能是A统计x和y所指字符串中相同的字符个数B将y所指字符串赋给想、所指存储空间C统计x和y所指字符串中最前面连续相同的字符个数D查找x和y所指字符串中是否有'\(T答案:C400)以下fun函数的功能是将形参s所指字符串内容颠倒过来voidfun(char*s){inti,j,k;for(i=0,j=strlen(s);i 193w,a);)程序运行后的输出结果是A)abcdeB)EDCBAC)edcbaD)ABCDE标准答案:D402)有以下程序^include 194w,p);}程序运行后的输出结果是A)8,8B)8,1707,17D)7,16标准答案:B 195403)有以下程序^include 196”,fun("OABCDEF"));)程序运行后的输出结果是A)1B)0C)6D)7标准答案:D404)若有以下程序段charstr[4][12]={"aa","bbb”,"ccccc","d"},*strp[4];inti;for(i=0;i<4;i++)strp[i]=str[i];不能正确引用字符串的选项是A)*strpB)strp[3]C)strpD)strp[O]标准答案:C405)有以下程序 197□□□□□□□#include 198",p);|D)PROGRAM程序运行后的输出结果是(此处代表空格)A)STRINGB)STRINGC)STRING标准答案:D406)有以下程序#include 199w,x);)程序运行后的输出结果是A)3B)2C)1D)4标准答案:B407)有以下程序#include 200M,s);} 201程序运行后的输出结果是A)9284B)6982C)9824D)6385标准答案:D408)有以下程序#include 202");)程序运行后的输出结果是A)5795B)35745C)34756D)5745标准答案:D409)下面选项中的程序段,没有编译错误的是A)char*sp,s[10];sp=tfHe11ow;B)charstrl[10]=Mcomputerw,str2=strl;C)charmark[];mark=wPROGRAM”;D)char*sp,s[10];s=wHello”;410)以下叙述中正确的是A)字符串常量“strl”的类型是:字符串数据类型B)有定义语句:charstrl[]="strl”;数组strl将包含4个元素C)字符数组的每个元素可存放一个字符,并且最后一个元素必须是<\0,字符D)下面的语句用赋初值方式来定义字符串,其中‘\0’是必须的charstrl[]={飞,,'t'r*,*1','渊海替案:D411)以下叙述中正确的是A)char*ca[3]={"A","B",“CCC”};是不合语法的B)charca[3][5]={“A",“B“,“CCC”};是不合语法的0字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组D)charca[][5]={“A",“B“,“CCC”};;是不合语法的标准答案:D412)以下叙述中正确的是A)函数调用strlen(s);会返回字符串s实际占用内存的大小(以字节为单位)B)当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间C)两个字符串可以用关系运算符进行大小比较D)C语言本身没有提供对字符串进行整体操作的运算符标准答案:D413)以下叙述中正确的是 203A)函数体中的语句不能出现对自己的调用B)如果函数带有参数,就不能调用自己C)函数名代表函数的入口地址D)所有函数均不能接受函数名作为实参传入标准答案:C414)以下叙述中正确的是A)只要是用户定义的标识符,都有一个有效的作用域B)局部变量不能被说明为staticC)只有在函数内部定义的变量才是局部变量D)只有全局变量才有自己的作用域,函数中的局部变量没有作用域标准答案:A415)以下叙述中正确的是A)不能用字符小常量对字符数组名进行整体赋值操作B)字符串常量"Hello”会被隐含处理成一个无名字符型数组,它有5个元素C)char*str;str="Hello”;与charstr[];str="Hello”;效果是一样的D)charstr[7]="string!在语法上是合法的,运行也是安全的标准答案:416)以下叙述中正确的是A)对于字符串常量"string!”;系统己自动在最后加入了字符,表示串结尾B)对于一维字符数组,不能使用字符串常量来赋初值C)语句charstr[10]="string!和charstr[10]={"string!并不等价D)在语句charstr[10]="string!";中,数组str的的大小等于字符串的长度标准答案:A417)设有定义charstr[]="Hello”;则语句printf("%d%d”,sizeof(str),strlen(str));的输出结果是A)66B)65056D)55标准答案:B418)在32位编译器上,设有定义char*strl="Hello”,str2[]="Hello^^;则以下语句printf(w%d%d”,sizeof(strl),sizeof(str2));的输出结果是A)56B)45066D)55标准答案;B419)以下叙述中正确的是A)任何情况下都不能用函数名作为实参B)简单递归不需要明确的结束递归的条件C)函数的递归调用不需要额外开销,所以效率很高D)函数既可以直接调用自己,也可以间接调用自己标准答案:D420)以下叙述中正确的是A)在复合语句中不能定义变量B)对于变量而言,“定义”和“说明”这两个实际上同一个意思C)函数的形式参数不属于局部变量D)全局变量的存储类别可以是静态类标准答案:D421)设有定义语句:char*aa[a]={“abed",”ABCD“}; 204则以下叙述正确的是A)aa是指针变量,它指向含有两个元素的字符型数组B)aa数组的值分别是字符串“abed”和“ABCD”C)aa数组的两个元素只能存放含有4个字符的一维数组的首地址D)aa[0]存放字符串“abed”的首地址标准答案:D422)有以下程序#include 205",fun("goodbye!"));}程序的输出结果是A)8B)7C)0D)6标准答案:A423)有以下程序#include 206M,fun(5));}程序的输出结果是A)9B)14C)10D)15标准答案:D424)有以下程序#include 207w,d);} 208程序的输出结果是A)96B)85084D)94标准答案:C425)有以下程序#include 209",k);)程序的输出结果是A)4B)0C)1D)2标准答案:B426)有以下程序#include 210",s);程序的输出结果是A)69825B)6385C)693825D)63825标准答案:B427)有以下程序(strcpy为字符串复制函数,strcal为字符串连接函数)#include 211main(){char*s二"12134”;intk=0,a=0;while(s[k+l]){k++;if(k%2==0){a=a+(s[k]-,0'+1);continue;)a=a+(s[k]-,0');)printf("k=%da=%d 212w,k,a);}程序的输出结果是A)k=4a=12B)k=6a=llC)k=3a=14D)k=5a=15标准答案:A430)有以下程序#include 213w,a,b);} 214程序运行后的输出结果是A)5612B)125603456D)5634标准答案:D432)有以下程序#include 215M);}程序运行后的输出结果是A)34B)48C)35D)45标准答案:B433)下面结构体的定义语句中,错误的是A)structord{intx;inty;intz}structorda;B)structord{intx;inty;intz;}a;C)struct{intx;inty;intz;}a;D)structord{intx;inty;intz;};structorda;标准答案:A源恩•新视野教育考试复习资料,仅供复习参考,切勿带入考场,否则后果自负434)有以下程序#include 216w,a.b,a.p);}程序运行后的输出结果是A)2,4B)1,4C)2,3D)1,2标准答案:D435)以下叙述中正确的是A)#include〈stdio.h》必须放在C程序的开头B)C语言的预处理不能实现宏定义和条件编译的功能C)预处理命令行必须位于C源程序的起始位置D)在C语言中,预处理命令行都以“旷开头标准答案:D436)有以下程序#include 217*p=n;return*p;)main(){inta;a=fun(10);printf(a%d 218w,a+fun(10));)程序运行后的输出结果是A)10B)出错C)20D)0标准答案:C437)有以下程序#include 219M,c);}程序运行后的输出结果是A)16B)0C)32D)1标准答案:D438)读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);其中buffer代表的是A)一个文件指针,指向待读取的文件B)一个内存块的首地址,代表读入数据存放的地址C)一个内存块的字节数D)一个整型变量,代表待读取的数据的字节数标准答案:B439)以下叙述中错误的是A)用typedef可以为各种类型起别名,但不能为变量起别名B)用typedef可以新的类型明后,原有类型名仍有效C)可以通过typedef增加新的类型D)可以用typedef将已存在的类型用一个新的名字来代表标准答案:C440)有以下程序#include 220ft,++(p,a));}程序运行后的输出结果是A)10B)20C)11D)21标准答案:D441)有以下程序#include 221r,,S(a+b));) 222程序运行后的输出结果是A)31.5B)程序有错无输出结果C)14.0D)7.5标准答案:B442)有以下程序#include 223",d);}程序运行后的输出结果是A)3B)6C)5D)4标准答案:D443)有以下程序#include 224”,*a,*b,*c);程序运行后的输出结果是A)2,2,3B)1,1,3C)1,2,3D)3,3,3标准答案:D444)以下叙述中正确的是A)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据C)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖D)C语言中的文件是流式文件,因此只能顺序存取数据标准答案:A445)设有定义:structcomplex{intreal,unreal;}datal=(1,8),data2;则以下赋值语句中错误的是A)data2=datal;B)data2.real=datal.unreal;C)data2.real=datal.realD)data2=(2,6);标准答案:D446)有以下程序#include 225main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9});f(&s);for(i=0;i 226inti;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];returna;}main(){STUc={“Qian",'f',95,92},d;d=f(c);printf(M%s,%c,%d,%dM,d.name,d.sex,d.score[0],d.score[1]);printf(<4%s,%c,%d,%d 227w,c.name,c.sex,cscorefO],c.score[1]);}程序运行后的输出结果是A)Qian,f,95,92,Qian,f,95,92B)Zhao,m,85,90,Qian,f,95,92C)Qian,f,95,92,Zhao,m,85,90D)Qian,f,95,92,Zhao,m,85,90标准答案:B448)以下关于宏的叙述中正确的是A)宏替换没有数据类型限制B)宏调用比函数调用耗费时间C)宏名必须用大写字母表示D)宏定义必须位于源程序中所有语句之前标准答案:A449)设有以下语句inta=l,b=2,c:c=a(b«2);执行后,c的值为A)7B)8C)6D)9标准答案:D450>有以下程序#include 228w);fclose(fp);fp=fopen(Mdl.dat","r");fclose(fp);printf(“%d 229",n);)程序运行的结果是A、12300B、123C、321D、1上大学,选培训,就到新视野!83 230标准答案:B451、以下关于typedef的叙述错误的是()A、用typedef可以为各种类型说明一个姓名,但不能用来为变量说明一个新名B、用typedef为类型说明一个新名,通常可以拯救程序的可读性C、typedef只是将已存在的类型用一个新的名字来代表D、用typedef可以增加新类型标准答案:D452、程序中已构成如下图所示的不带点结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。abcNULL若有以下程序段q=s;s=s->next;p=s;while(p->next)p=p->next;p->next=q;q->next=NULL;该程序段实现的功能是A、尾结点成为首结点B、删除尾结点C、首结点成为尾结点D、删除首结点标准答案:C453、有以下程序#include 231D、197标准答案:A454、若有以下程序段intr=8printf(**%d 232w,r»l);输出结果是A,4B、2C、16D,8答案A455、以下叙述中错误的是A、fwrite函数用于以二进制形式输出数据到文件B、fputs函数用于把字符串输出到文件C、gets函数用于从终端读入字符串D、getchar函数用于从磁盘文件读入字符答案:D456、有以下程序#include 233457、有以下结构体说明、变量定义和赋值语句StructSTD{charname[10];Intage;Charsex;}s[5],*ps;Ps=&s[0];则以下scanf函数调用语句有错误的是A、scanf(4<%dw,&s[0].age);B、scanf(%cM,&(ps->sex));C、scanf(M%sw,s[0],name);D、scanf(a%dw,ps->age);标准答案:D458、若有以下语句typedefstructS{intg;charh;}T;以下叙述中正确的是A、T是structS类型的变量B、可用S定义结构体变量C、S是srurct类型的变量D、可用T定义结构体变量标准答案:D459、#include 234M,a.a,a.b,a.c);)structAf(strucrAt)(t.a=1002;strcpy(t.b,"ChangRong; 235t.c=1202.0returnt;)程序运行后的输出结果是A、1002,ZhangDa,1202.0B、1001,ChangRong,1098.0C、1001,Zhangda,1098.0D、1002,ChangRong,1202.0标准答案:D460、设有宏定义:SdefineIsDIV(k,n)((k%n==)?l:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是A、判断m被5和7整除是否都余1B、判断m是否能被5和7整除C,判断m是否能被5或者7整除D、判断m被5或者7整除是否余1标准答案A461、有以下程序#include 236w,x);)程序运行的结果是A、0B、1C、2D、3标准答案:D462、有以下程序#include 237M,a[0],a[l]>a[2]);fprintf(fp,M%d%d 238w,a[3],a[4],a[5]); 239fclose(fp)fp=fopen("d2.dat”,"r");fscanf(fp,M%d%dw,&k,&n);printf(a%d%d 240w,k,n):fclose(fp);}程序运行后的结果是A、14B、12C、1234D、123456标准答案:D463、没有以下语句tepedefstructTT{charc:inta[4];}CIN;则下面叙述正确的是A、可以用TT定义结构体变量B、可以用CIN定义结构体变量C、CIN是structTT类型的变量D、TT是struct类型的变量标准答案B464、有以下程序#include 241,++(p->x));}程序运行后的输出结果是A、2,3B、3,4C、4,1D、1,2标准答案A465#include 242",d);} 243程序运行后输出的结果是A、10B>0C>-12D-20标准答案D466、有以下程序#include 244",b);}程序运行后的输出结果是A、6B、2C、4D、8标准答案:D467、下列关于c语言文件的叙述中正确的是A、文件由结构序列组成,可以构成二进制文件或者文本文件B、文件由一系列数据依次排列组成,只能构成二进制文件C、文件由字符序列组成,其类型只能是文本文件D、文件由数据序列组成,可以构成二进制文件或者文本文件标准答案:D468、有一下程序#include 245以下选项中表达式的值为11的是A、pt->xA、(pt++)->xB、++pt~>xC、*pt->y标准答案:c470、有以下程序#include 246,T,c.name,c.sex,c.score[0],c.score[1]);)程序的运行结果是A、Qian,m,85,90 247B、Zhao,m,85,90C、Qian,f,95,92D、Zhao,f,95,92标准答案:C472、有以下程序#include 248w,s,t);}程序运行后的输出结果是A、10,64B、64,64C、10,10D、64,10标准答案:A473、有以下程序#include 249w,a=a< 250{intn;charc;}REC;RECtl,t2;A、typedefstruct{intn;charc:}REC;RECtLt2;B、structREC{intn;charc;};RECtLt2:C、typedefstructREC;{intn=0;charc='A':}tLt2;标准答案:B476、假定已建立以下链表结构,且指针p和q已指向如图所示的结点:则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是A、p=q->next;free(q);D、(*p).next=(*q).next;free(p);E、p->next=q->next;free(q);F、p=q;free(q);标准答案:C477、有以下程序#include 251M,a.a,a.b,a.c);)viodf(structAt){t.a=1002;strcpy(t.b,MChangRong");t.c=1202.0;)程序运行后的输出结果是:A、1002,ChangRong,1202.0B、1002,ZhangDa,1202.0C、1001,ChangRong,1098.0[)、1001,ChangRong,1098.0标准答案:D478、有以下程序#include 252”,il,12); 253)程序的运行结果是A、127B、117C、1111D、1212标准答案:B479)有以下程序#include 254",t);}程序运行后的输出结果是A、11B、21C>6D、1标准答案:B480)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为:A、0B、NULLC、非0值D、标准答案:C481)有以下定义和语句structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;)s;};structworkersw,*pw;pw=&w;能给w中year成员赋1980的语句是A、pw->year=1980;B、*pw.year=1980;C^w.s.year=1980;D、w.year=1980;标准答案:C482)以下叙述错误的是A、可以通过typedef增加新的类型B、用typedef定义新的类型名后,原有类型名仍有效C、可以用typedef将已存在的类型用一个新的名字来代表D、用typedef可以为各个类型其别名,但不能为变量起别名标准答案:A483)有以下程序#include<.stdio.h> 255structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+317,a);mainO(inti;p=a;for(i+l;i<=2;i++){printf(M%d,n,p->x);p=p->y;})程序的运行结果是A、30,17B、20,30C、15,30D、20,15标准答案:10484、有以下程序#include 256w,b.name,b.sex,b.score[0],b.score[1]);}程序的运行结果是A、Qiao,m,85,90B、Zhao,m,85,90C、Qian,f,95,92D>Zhao,f,95,92标准答案:B485)以下叙述错误的是A、C程序对预处理命令行的处理是在程序执行的过程中进行的B、在程序中凡是以开始的语句行都是预处理令行C、^defineMAX是合法的宏定义命令行D、预处理命令行的最后不能以分号表示结束标准答案:A486)有以下程序#include 257struct{charmark[12];intnuml;doublenum2;}tl,t2;若变量均已正确赋初值,则以下语句中错误的是A)t2,mark=t1.mark;B)t2,num2=tl.num2;C)tl=t2D)t2.numl=tl.numl;标准答案:A488)有以下程序#include 258w,a.a,a.b,a.c);}voidf(structAt){t.a=1002:strcpy(t.b,"ChangRong");t.c=1202.0:}程序运行后的输出结果是A、1001,changRong,1098.0B、1001,ZhaoDa,1098.0C、1002,ZhaoDa,1202.0D、1002,ChangRongo1202.0标准答案:B489)有以下程序#include 259M,d.name,d.sex,d.score[1]);}程序的运行结果是A、Qian,m,85,90B、Zhao,f,95,92C、Qian,f,95,92D>Zhao,m,85,90标准答案:D490)若程序中有宏定义行:^definedN100 260则以下叙述中正确的是A、在运行时用100替换标识符NB、宏定义行中定义了标识符N的值为整数100C、上述宏定义实现将100赋值给标识符ND、在编译程序对C源程序进行预处理时用100替换标识符N标准答案:D491)若变量已正确定义,则以下语句的输出结果是s=32;s=32;printf("%d",s);A、0B、32C、1D、-1标准答案:A492)有以下程序#incluede 261”,S(k+j),T(k+j))}则程序的输出结果是A、17,37B、17,289C、49,289D、49、2401标准答案:A 262494)有以下程序#include 263M,b.name,b.gender,b.score);程序运行后的输出结果是A)Qian,m,290,Qian,f,350B)Zhao,m,290,Qian,f,350C)Zhao,m,290,Zhao,f,350D)Qian,f,350,Qian,f,350标准答案:A495)有以下程序#include 264M,b.name,b.gender,b.score);}}程序运行后的输出结果是A)Zhao,m,290,Qian,f,350B)Qian,f,350,Qian,f,350 265A)Zhao,m,290,Zhao,f,350B)Qian,m,290Qian,f,350标准答案:C496)若有定义typedefint*T;Ta[10];则a的定义与下面哪个语句等价A)int*a[10];B)inta[10];C)int(*a)[10];D)int*a;标准答案:A497)如有以下程序:#include 266”,c);}则程序的输出结果是A、5B、105C、10000D、15标准答案:D498、若有以下程序#include 267w,a[i]);}rewind(fp);fscanf(fp,%d,&k);fclose(fp);printf("%d'n",k);}则程序的输出结果是A、6B、1C、123456D、21标准答案:A499、若有以下程序4include 268main(){intk=3,j=2;printf(<<%d,%d 269w,S(k+j),T(k+j));}则程序的输出结果是A、11,12B、11,2C、25,2D、25,26标准答案:D500、若有以下程序#include 270M,b.name,b.gender,b.score);}则程序的输出结果是A、Qiao,f,350,Qian,f,350B、Zhao,m,290,Zhao,m,290C、Zhao,m,290,Qian,f,350D、Zhao,m,290,Zhao,f,350标准答案:C501、若有以下程序#include 271”,b.name,b.gender,b.score);)则程序的输出结果是A、Zhao,m,290,Zhao,f,350B、Zhao,m,290,Zhao,m,290C、Qian,f,350,Qian,f,350D、Zhao,m,290,Qian,f,350标准答案:D502)若有定义typedefcharT[10]; 272T*a;上述定义中的a的类型与下面选项中完全相同的是A、char*a;B、char(*a)[10];C、chara[10];D、char*a[10];标准答案:D503)若有以下程序#include 273",c);)则程序的输出结果是A、13B、5C、18D、15标准答案:A504、若有以下程序#include 274fread(&k,sizeof(int),1,fp);fclose(fp);printf(“%d”,k);)则程序的输出结果是A、6B、21C、123456D、1标准答案:D则在[]505)为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是指向结点的指针域)处应填入的选项是structlink{chardata;[]}node:datanextA、1ink*next;B、structlink*next;C、structlinknext;D、linknext;标准答案:B506)以下结构体说明和变量定义中,正确的是A、typedefstructabc{intn;doublein;}ABC;structstructABC{intABCx,n;y;doublem;}C、structstructabc{intabcx,n;y:doublem;)D、structabcxyabc{inty;n;doublein;)标准答案:A507)有以下程序#include 275”,*s);}程序运行后的输出结果是A、2B、10C、11D、1 276标准答案:D508)以下程序依次把终端输入的字符存放到f文件中,用#作为结束输入的标志,则在横线处应填入#include 277”,NUM);}程序运行后的输出结果是A、4B、6C、9D>8标准答案:D510、有以下程序#include 278",i);}程序运行后的输出结果是A、1B、8C、0D、-1标准答案:D511)有以下程序段int*p;p二malloc(sizeof(int));若要求使P指向一个int的动态存储单元,在横线处应填入的是A)int*B)intC)(*int)D)(int*)标准答案:D512)有以下程序#include 279^defineSUB(X,Y)(X+1)*Ymain(){inta=3,b=4;printf(a%d 280w,SUB(a++,b++));\}程序运行后的输出结果是A)25B)16012D)20标准答案:B513、有以下程序#include 281,s);)程序运行后输出的结果是A、4528B、9824C、6385D、6938标准答案:C514)若有以下程序段structst{intn;structst*next;};structsta[3]={5,&a[1],7,&a[2],9,>\0*},*p;p=&a[O];则以下选项中值为6的表达式是A)(*p).nB)p—>n++C)p->nD)++(p—>n)标准答案:D515)有以下程序#include 282.,i);\)程序运行后的输出结果是A)7B)-1C)1D)0标准答案:D516)以下程序用来统计文件中字符的个数(函数feof用以检查文件是否结束,结束时返回非零)#include 283fp=fopen("「name,dat","r");while(){fgerc(fp);num++;}printf("num=%d 284",num);fclose(fp);)程序运行后的输出结果是A)!feof(fp)B)feof(fp)C)feof(fp)==NULLD)feof(fp)==0标准答案:B517)下面选项中关于编译预处理的叙述正确的是A)预处理命令行不能出现在程序的最后一行B)凡是以#号开头的行,都被称为编译预处理命令行C)预处理命令行必须使用分号结尾D)预处理命令行的作用域是到最近的函数结束处标准答案:B518)以下叙述中正确的是A)使用typedef说明新类型名时,其格式是:typedef新类型名原类型名B)在使用typedef改变原新类型的名称后,只能使用新的类型名C)使用typedef说明新类型名时,后面不能加分号D)在程序中,允许用typedef来说明一种新的类型名标准答案:D519)以下叙述中正确的是A)结构体类型中各个成分的类型必须是一致的B)在定义结构体类型时,编译程序就为它分配了内存空间C)结构体类型中的成分只能是C语言中预先定义的基本数据类型D)一个结构体类型可以由多个称为成员(或域)的成分组成标准答案:D520)以下叙述中正确的是A)元素为结构体类型的数组,只能在声明过结构体类型之后,单独进行定义B)结构体类型中的各个成分均不能是数组或指针C)使用typedef定义新类型名后,新类型名与原类型名实际上是等价的D)结构体类型的变量,不能在声明结构体类型组成时一起定义标准答案:C521下而选项中关于位运算叙述中正确的是A)右移运算时,高位总是补0B)位运算的对象只能是整型或字符型数据C)左移运算的结果总是原操作数据2倍D)位运算符都需要两个操作数标准答案;B522)下面选项中关于“文件指针”概念的叙述正确的是A)文件指针就是文件位置指针,表示当前读写数据的位置B)把文件指针传给fscaf函数,就可以向文本文件中写入任意的字符C)文件指针指向文件在计算机中的存储位置D)文件指针是程序中用FILE定义的指针变量标准答案:D523)以下叙述中正确的是A)在包含文件中,不得再包含其他文件 285A)include命令行不能出现在程序文件的中间C)虽然包含文件被修改了,包含该文件的源程序也可以不重新进行编译和连接D)在-一个程序中,允许使用任意数量的#include命令行标准答案:D524)以下叙述中正确的是A)函数的返回值不能结构体类型B)结构体数组不能作为参数传给函数C)在调用函数时,可以将结构体变量作为实参传给函数D)函数的返回值不能是结构体指针类型标准答案:C525)以下叙述中正确的是A)结构体变量的地址不能作为实参传给函数B)结构体数组名不能作为实参传给函数C)即使是同类型的结构体变量,也不能进行整体赋值D)结构体中可以含有指向本结构体的指针成员标准答案:D526)设有如下的说明和定义struct{inta;char*s;}x,*p=&x;x,a=4;x,s=whellow;以下叙述中正确的是A)语句++p—>a;的效果是使成员a增1B)语句*p—〉s++;等价于(*p)—>s++;0(p++)-〉a与p++->a都是合语法的表达式,但二者不等价D)语句++p—>a;的效果是使p增1标准答案:A527)下面关于位运算符的叙述,正确的是A)||表示“按位或”的运算B)〜表示“按位异或”的运算C)#表示“按位异或”的运算D)&表示“按位与”的运算标准答案:D528)下面关于“EOF”的叙述,正确的是A)EOF的值等于0B)EOF是在库函数文件中定义的符号常量C)对于文本文件,fgetc函数读入最后一个字符时,返回值是EOFD)文本文件和二进制文件都可以用EOF作为文件结束标志标准答案:B529)有以下程序#include 286w,a); 287)程序运行后的输出结果是A)1B)9C)10D)0标准答案:A530)有以下程序#include 288w,z);)程序运行后的输出结果是A)0B)1C)8D)4标准答案:A531、有以下程序#include 289w)程序要求输出结构体重成员a数据,以下不能填入横线处的内容是A、*p.aB、p->aC、(*p).aDa.a标准答案:A532、有以下程序#include 290",*s);程序输出结果是A、1.10B、21.10C、12.10D、11.10正确答案:A533、若已建立以下链表结构,指针p、s分别指向如图所示结点 291abcNULL则不能将s所指结点插入到链表末尾的语句组是,PSA、s->next=\0';p=p->next;p->next=s;B、p=(*p).next;(*s).next;(*p).next=s;C、p=p->next;s->next=p->next;p->next=sD、p=p->next;s->next=p;p->next=s标准答案D534、若fp定义为指向某文件的指针,且没有读到该文件的末尾,则C语言函数feof(fp)的函数返回值是A、EOFB、0C、非0D、-1标准答案B535、有以下程序#include 292",*q);)程序运行后的输出结果是A、41B、0C、42D>1标准答案:D536、有以下程序 293#include 294w,c.[Olname,c[0].sex,c[0].score[0],c[0].score[1]);)程序的运行结果是A、Zhao,m,85,90,Qian,f,95,92B、Zhao,m,85,90,Sun,f,98,99C、Qian,f,95,92,Zhao,m,85,90D、Qian,f,95,92,Zhao,Sun,f,98,99标准答案:C537、以下叙述错误的是A、可以用typedef说明的新类型名来定义变量B、typedef说明的新类型名必须使用大写字母,否则会出编译错误C、用typedef可以说明一种新的类型名D、typedef的作用是用一个新的标识符来代表已存在的类型名标准答案:B538、以下叙述错误的是A、函数的返I可值类型不能是结构体类型,只能是简单类型B、函数可以返回指向结构体变量的指针C、可以通过指针变量来访问结构体变量的任何成员D、只要类型相同,结构体变量之间可以整体赋值正确答案:A539、若有定义语句intb=2:则表达式(b«2/(3||b)的值是A、4B、0C、2D、8标准答案:D540、有以下程序#include 295w,a[i]); 296rewind(fp);fscanf(fp,"%dw,a[5-i]);fscanf(%d 297,*,a[i]);for(i=0;i<6;i++)fclose(fp);for(i=0;i<6;i++)}程序运行后的结果是A、4,5,6,1,2,3,B、1,2,3,4,5,6,C、6,5,4,3,2,1,D、1,2,3,3,2,1,标准答案:C541i以下选项中不合法的标识符是()。A£&aB)FORC)printD)_00本题答案为:A542、以下选项中,能用作数据常量的是()。A£115LB)0118C)1.5el.5D)oll5本题答案为:A543、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()«A£连接符B)大写字母C)数字字符D)下划线本题答案为:A544、现有格式化输入语句:scanf("x=%d,sumy=%d,1inez=%dL”,&x,&y,&z);,已知在输入数据后,x、y、z的值分别是12、34、545、则下列选项中是正确的输入格式的是()。A)12,34,45 298上大学,选培ilHX就到新视野!A£4,8B)4,4C)2,4D)10,6本题答案为:A556、有以下程序段#include 299A£©0B)2C)1D)3本题答案为:A565、有以下程序ttinclude 300A)a<>b+cB)ch=getchar()C)a==b+cD)a++本题答案为:A575、如下程序的输出结果是()#include 301C)CE1X<回车)20口丫<回车)D)10X<回车)20丫<回车)本题答案为:D583、下面程序的运行结果是()。#include 302A)for(i=l,p=l;i<=5;i++)p*=i;B)for(i=l;i<=5;i++){p=l;p*=i;}C)i=l;p=l;while(i<=5){p*=i;i++;}D)i=l;p=l;do{p*=i;i++;}while(i<=5)本题答案为:B589、若变量已正确定义,以下while循环不断输出读入的字符,当读入回车符时结束循环,正确的程序段是()。A)while(ch=getchar(B)while(ch=getchar(C)while(ch=getchar(D)while(ch=getchar(本题答案为:D)=='\N')putchar(ch);)==, 303)putchar(ch);)!=='\N')putchar(ch);)!==, 304)putchar(ch);590、有以下程序:main(){chark;inti;for(i=l;i<3;i++){scanf&k);switch(k){case'O':printf(*another 305*);case'I,:printf("number'll");}))程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是()。A)anotherB)anotherC)anothernumbernumberanothernumbernumberD)numbernumber本题答案为:C591、若有说明语句:charc:'\72';,则变量c()。A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定本题答案为:AE£©有以下程序main(){inti;for(i=l;i<=40;i++){if(i++%5=0)if(++i%8==0)printfi);)printf("n");)执行后的输出结果是()oA)5B)24C)32D)40本题答案为:C592、有以下程序#include 306");case'G':printf("Goodmorning! 307*);default:printfC*Bye_Bye! 308*):}) 309A)Hello!B)HelloJGoodMoring!C)HelloJGoodmorning!Bye_Bye!D)Heilo!Bye_Bye!本题答案为:C595、下列选项中属于不合法C语言的字符串常量的是()»A£")1*B)'2yl'C)" 310 311"D)"ABCD\x6d”本题答案为:B596、有以下程序#include 312*,b-a);)程序运行后的输出结果是()oA)3,2B)50,2C)2,2D)2,50本题答案为:C601、有以下程序#include 313}程序运行后的输出结果是()OA£m=6B)m=2C)m=4D)m=5本题答案为:A602>已有定义:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是()oA)isupper(c)B)*A><=c<=*7!C)'A'<二c&&c<='Z'D)c<=(*z-32)&&(*a*-32)<=c本题答案为:B603、有以下程序main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}printf(*x=%dn*,x);}程序执行后的输出结果是()oA£x=4B)x=8C)x=6D)x=12本题答案为:B604、有以下for语句:for(intx=0,y=10;(y>0)&&(x<4);x++,y-){};则下面叙述中正确的是()«A£是无限循环B)循环次数不定C)循环执行4次D)循环执行3次本题答案为:C605、有以下程序:#include 314*,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始, 315*,b=a++);)程序运行后的输出结果是()oA£b,bB)b,cC)a,bD)a,c本题答案为:A610、有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case0:printfi);case2:printfi);default:printf(*%(!*,i);))程序运行后的输出结果是()oA)022111B)021021C)000122D)012本题答案为:C612、有以下程序#include 316for(;y>0;y-)}程序的运行结果是()oA£©852B)963C)741D)875421本题答案为:A613、有以下程序:#include 317”,c5,c6);)程序运行后,若从键盘输入(从第1列开始)123<回车)45678〈回车>则输出结果是()。A£©1267B)1256C)1278D)1245本题答案为:D614、有以下程序:#include 318){switch(c-*2*)case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf(* 319*);}从第一列开始输入以下数据(/代表一个回车符)。2743/程序的输出结果是()。A£66877B)678966C)6677877D)6688766本题答案为:A615、有以下程序#include 320618、当运行以下程序时,从键盘输入AhaMA(空格)Aha 321代表一个回车符)。2743/程序的输出结果是()。A)66877B)678966C)6677877D)6688766本题答案为:A624、运行下面程序时,从键盘输入字母H,则输出结果是()。#include 322cl=A+8-4;c2=A+8-5;printf(*%c,%dn*,cl,c2);)已知字母A的ASCII码为65,程序运行后的输出结果是()oA)E,68B)D,69C)E,DD)输出无定值本题答案为:A632、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。main(){int*p,*q,a,b;p=&a;printf(*inputa:");scanf*p);}A)*p表示的是指针变量p的地址B)*p表示的是变量a的值,而不是变量a的地址C)*p表示的是指针变量p的值D)*P只能用来说明P是一个指针变量本题答案为:B633、有以下程序#include 323”,*p,*q);)A)23B)34035D)45本题答案为:C637、有以下程序 324#include 325{intx=l,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf("%d,%d,%dn*»x,y,z);)执行后输出结果是()oA)1,2,3B)3,1,2C)1,3,2D)2,3,1本题答案为:C644、以下程序的运行结果是()。intk=0;voidfun(intm){m+=k;k+=m;printf(*m=%dk=%d*,m,k++);}main(){inti=4;fun(i++);printf(*i=%dk=%dn\i,k);)A)m=4k=5i=5k=5B)m=4k=4i=5k=5C)m=4k=4i=4k=5D)m=4k=5i=4k=5本题答案为:B645、下面的函数调用语句中func函数的实参个数是()func(f2(vl,v2),(v3,v4,v5),(v6,max(v7,v8)));A)3B)4C)5D)8本题答案为:A646、若有以下函数首部:intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是()。A)intfun(doublex,int*n);B)intfun(double,int);C)intfun(double*x,intn);D)intfun(double*,int*);本题答案为:D647、设函数fun的定义形式为:voidfun(charch,floatx){}则以下对函数fun的调用语句中,正确的是()。A)fun("123",3.0);B)t=fun(D,16.5);C)fun(65,2.8);D)fun(32,32);本题答案为:D648、下列函数的运行结果是()°main(){inti=2,p;intj,k;j=i;k=++i;p=f(j,k);printfp);}intf(inta,intb){intc;if(a>b)c=l;elseif(a==b)c=0;elsec=-l;return(c);}A)-1B)1C)2D)编译出错,无法运行本题答案为:A649、有以下程序#include 326程序运行后的输出结果是()oA)9B)10C)8D)7本题答案为:A650、有以下函数:intaaa(char*s){char*t=s;while(*t++);t—;return(t-s);)以下关于aaa函数的功能的叙述正确的是()。A)求字符串s的长度B)比较两个串的大小C)将串s复制到串tD)求字符串s所占字节数本题答案为:A651、设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是()oA)float*p=&x;B)int*p=(float)x;C)floatp=&x;D)float*p=1024;本题答案为:A652、有以下程序#include 327A)scanfa);B)scanf&pa);C)scanf*pa);本题答案为:A657、以下数组定义中错误的是()oA)intx[2][3]={(l,2},{3,4),{5,6)};B)intx[][3]={0};C)intx[][3]={{1,2,3},{4,5,6});D)intx[2][3]={1,2,3,4,5,6};本题答案为:A658、已有定义:inti,a[10],*p;,则合法的赋值语句是()。A)p=100;B)p=a[5]C)p=a[2]+2D)p=a+2;本题答案为:D659、若有定义:intw[3][5];,则以下不能正确表示该数组元素的表达式是()。A)*(*w+3)B)*(w+l)[4]C)*(*(w+l))D)*(&w[0][0]+D本题答案为:B660、有以下程序4include 328A)m[m[0]]B)m[m[i]]本题答案为:C664、有以下程序voidsum(inta[]){a[0]=a[-l]+a[l];}main(){inta[10]={l,2,3,4,5,6,7,8,9,10};sum(&a[2]);printfC%dn*,a[2]);}程序运行后的输出结果是()oA)6B)7C)5D)8本题答案为:A665、有以下程序main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9);for(i=0;i<9;i+=2)s+=*(t+i):printf(*%dn*,s);}程序执行后的输出结果是()。A)45B)20C)25D)36本题答案为:C666、有以下程序#include 329A)6B)9D)随机数本题答案为:B669、有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>0;j+=2)s=10*s+p[i][j]-0;printf(*%dn*,s);}该程序的输出结果是()。A)69862358B)5825C)6385D)693825本题答案为:C670、以下数组定义中错误的是()。A)intx[][3]={0};B)intx[2][3]={{1,2}»{3,4},{5,6}};C)intx[][3]={{1,2,3},{4,5,6}}:D)intx[2][3]={1,2,3,4,5,6);本题答案为:B671>若有定义:inia[2][3];,以下选项中对a数组元素正确引用的是()。A)a[2][!l]B)a[2][3]C)a[0][3]D)a[l>l][!l]本题答案为:D672、以下能正确定义一维数组的选项是()。A)inta[5]={0,1,2,3,4,5};B)inta[]={0,1,2,3,4,5);C)chara={A,B,C};D)inta[5]=*0123*本题答案为:B673、下列定义数组的语句中,正确的是()。A)#defineN10intx[N];B)intN=10;intx[N];C)intx[0..10];D)intx[];本题答案为:A674、有以下程序main(){inta[3][2]={0}»(*ptr)[2],i,j;for(i=0;i<2;i++)(ptr=a+i;scanfptr);ptr++;}for(i=0;i<3;i++){for(j=0;j<2;j++)printf(*%2d*,a[i][j]);printfW;})若运行时输入:123<回车),则输出结果为()。A)产生错误信息B)102000C)123000 330B)102030本题答案为:B675、下列选项中错误的说明语句是()«A)chara[]={t,o,y,o,u};B)chara[]={*toyouO*};C)chara[]=*toyouO*D)chara[]=toyouO;本题答案为:D676、有以下程序main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf(*%d*,t[2-i][i]);}程序执行后的输出结果是()oA)753B)3570369D)751本题答案为:B677、有以下程序^include 331{staticintsum=0,i;for(i=0;i 332for(i=0;i 333本题答案为:B692、有以下程序#include 334699、下列程序的运行结果为()。#include 335inti;for(i=0;i<3;i++)Ip=strcat(p,a[i]);}i=strlen(p);printf(*%dn*,i);}则程序段的输出结果是()。A)18B)19C)20D)21本题答案为:B705、有以下程序#include 336A)char*s;scanfs);本题答案为:C712、下面能正确进行字符串赋值操作的是()。A)chars[5]={"ABCDE"};B)chars[5]={A,b,C,D,E}:C)char*s;s=“ABCDE”D)char*s;scanfs);本题答案为:A713、设有如下程序段chars[20]=*Beijing*,*p;P=s;执行p=s;语句后,以下叙述正确的是()。A)可以用*p表示s[0]B)s数组中元素的个数和p所指字符串长度相等C)s和p都是指针变量D)数组s中的内容和指针变量p中的内容相同本题答案为:A714、有以下程序#include 337A)char*p;scanf(*%s*»p);B)charstr[20];scanf(*%s*,&str[2]);C)charstr[20],*p=str;scanf(*%s*,p[2]);本题答案为:C719、阅读下列程序,当运行函数时,输入asdafaaz67,则输出为()。ttinclude 338printf(袋isn",str);}A)asdafaaz67B)asdafaaz67C)asdD)z67本题答案为:A726、有以下程序main(){char*p[10]={*123*,*aabdfg*,*dcdbe*,*abbd*,*cd*};printf(*%dn*,strlen(p[4]));)执行后输出结果是()oA)2B)3C)4D)5本题答案为:A727、有以下程序(注:字符a的ASCII码值为97)#include 339chars[]=*anapple*;printf(*%dn*,strlen(s));A)7B)8C)9D)10本题答案为:C732、阅读下列程序,则在执行后,程序的运行结果为()。#include"stdio.h*#include“string,h”main(){chara[30]="nicetomeetyou!”;strcpy(a+strlen(a)/2,"you");printf(*%sn*,a);}A)nicetomeetyouyouB)nicetoC)meetyouyouD)nicetoyou本题答案为:D733、若有定义语句:chars[10]=<123456700*,则strlen(s)的值是()。A)7B)8C)9D)10本题答案为:A734、设有如下程序段chars[20]=*Beijing*,*p;P=s;执行p=s;语句后,以下叙述正确的是()。A)可以用*p表示s[0]B)s数组中元素的个数和p所指字符串长度相等C)s和p都是指针变量D)数组s中的内容和指针变量p中的内容相同本题答案为:A735、有以下程序main(){chara[7]=*a00a00*inti,j;i=sizeof(a);j=strlen(a);printf("%d%dn*,i,j);}程序运行后的输出结果是()oA)22B)76072D)62本题答案为:C736、有以下程序#include 340程序运行后的输出结果是()。A)10,One*Dream!B)9,0ne*Dream!C)9,0ne*WorldD)10,One*World本题答案为:A743、有以下程序段^include“stdio.h"4include“string,h”main(){chara[3][20]={{*china*)»{*isa*}»{*bigcountry!*));chark[100]={0},*p=k;inti;for(i=0;i<3;i++){p=strcat(p,a[i]);}i=strlen(p);printf("%dn",i);}则程序段的输出结果是()。A)18B)19C)20D)21本题答案为:B744、以下程序的输出结果是()。#include 341elsereturn(fun(-a,-b));)main(){printf(*%dn*,fun(4,2));}{序的运行结果是()oA)1B)2C)3D)4本题答案为:B748、有以下程序^include 342A)k=(*f)(a,b);B)k=f(a,b);本题答案为:A751、有以下程序voidf(intn,int*r){intrl=0;if(n%3=0)rl=n/3;elseif(n%5==0)rl=n/5;elsef(-n,&rl);*r=rl;}main(){intm=7,r;f(m,&r);printf(*%dn*,r);}程序运行后的输出结果是()oA)2B)1C)3D)0本题答案为:A752、有以下程序^include 343for(i=l;i<=3;i++)s*=fun();printf(*%dn*,s);)程序运行后的输出结果是()oA)30B)10C)0D)64本题答案为:D755>以下叙述中正确的是()A)static型局部变量,只能在编译时赋予值,程序运行期间不能更改B)static型局部变量,可以在程序运行期间更改其值C)全局变量说明为sialic存储类,其作用域将被扩大E£形参可以使用的存储类说明符与局部变量完全相同756、以下叙述中正确的是()oA)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同本题答案为:A757、以下关于宏的叙述中正确的是()oA)宏替换没有数据类型限制B)宏定义必须位于源程序中所有语句之前C)宏名必须用大写字母表示D)宏调用比函数调用耗费时间本题答案为:A758、阅读下列程序段,程序的输出结果为()。4include“stdio.h"ndefineM(X,Y)(X)*(Y)-defineN(X,Y)(X)/(Y)main(){inta=5,b=6,c=8,k;k=N(M(a,b),c);printfk);}A)3B)5C)6D)8本题答案为:A759、有以下程序#include 344a=b;printf(*%d,%d,%dn*,*a,*b,*c);)程序运行后的输出结果是()oA)3,3,3B)2,2,3C)1,2,3D)1,1,3本题答案为:A76k有以下程序:^include 345764、以下叙述中错误的是()oA)可以通过typedef增加新的类型B)可以用lypedef将已存在的类型用一个新的名字来代表C)用typedef定义新的类型名后,原有类型名仍有效D)用typedef可以为各种类型起别名,但不能为变量起别名本题答案为:A765、有以下程序#include 346A)10,2B)20,2本题答案为:C770、有以下程序#include
此文档下载收益归作者所有