考前C语言选择题复习选择题

考前C语言选择题复习选择题

ID:83041093

大小:438.21 KB

页数:148页

时间:2023-09-20

上传者:无敌小子
考前C语言选择题复习选择题_第1页
考前C语言选择题复习选择题_第2页
考前C语言选择题复习选择题_第3页
考前C语言选择题复习选择题_第4页
考前C语言选择题复习选择题_第5页
考前C语言选择题复习选择题_第6页
考前C语言选择题复习选择题_第7页
考前C语言选择题复习选择题_第8页
考前C语言选择题复习选择题_第9页
考前C语言选择题复习选择题_第10页
资源描述:

《考前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、有以下程序ttincludemain(){intx,y,z;x=y=l;z=x++,y++,++y;printf(*%d,%d,%d

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、有以下程序#includeMainO{inta=0,b=0;/*给a赋值b=20;/*给b赋值*/printf("a+b=%d

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、若有以下程序ttincludemain()(intb=10,a=-ll;a%=b%=4;printf(M%d%d

7”,a,b);}则程序的输出结果是(A)12(B)-12(C)1-2(D)-1-2标准答案:B55、若有以下程序^includemain()(inta=0,b=0,c=0;c=(a-=++a),(a+=b,b+=4);printf(u%d,%d,%d

8,>,a,b,c):}则程序的输出结果是(A)0,4,0(B)0,4,4(C)1,4,4(D)1,4,1标准答案:A56、若有以下程序#includemainO

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、若有以下程序^includemain()inta=-ll,b=10;a/=b/=4;printf(M%d%d

11w,a,b);}(A)4-3(B)5-3(C)-1-2(D)5-2标准答案:D60、^includemain(){inta=0,b=0,c=0;c=(a+=++b,b+=4);printf("%d,%d,%d

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、SincludemainO(inta=3;printf("%d

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、^includemain()intsum,pad,pAd;sum=pad=5;pAd=++sum,pAd++,++pad;printf(“猊

18",pad);}程序的输出结果是(A)7(B)5(C)8(D)6标准答案:D82、以下四个程序中,完全正确的是(A)ttincludemainO;{/*/programming/*/printf(*programming!

19*);}(B)^includemainO{/*programming*/printf(*programming!

20*);}(C)ttincludemainO{/*/*programming*/*/printf(*programming!

21*);}(D)includemainO{/*programming*/printf("programming!

22");}标准答案:B83、有以下程序^includemain(){inta=l,b=0;printf(*%d,*,b=a+b);printf(*%d

23*,a=2*b);)程序运行后的输出结果是(A)1,0(B)0,0(C)1,2(D)3,2标准答案:C84、有以下程序4includemainO{chara,b,c,d;scanf("%c%c”,&a,&b);c=getchar();d=getchar();printf(*%c%c%c%c

24*,a,b,c,d);)当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234

25则输出结果是(A)12(B)123(C)1234(D)1234标准答案:B85、有以下程序#includemain(){charcl,c2;cl='A'+'8'-'4’;c2='A'+'8'」5';printf(*%c,%d

26*,cl,c2);}己知字母A的ASCII码为65,程序运行后的输出结果是(A)输出无定值(B)E,D(C)D,69(D)E,68标准答案:D86、有以下程序4includemain(){intal,a2;charcl,c2;scanf(**d%c%d%c*,&al,&cl,&a2,&c2);printf(飞d,%c,%d,%c”,al,cl,a2,c2);)若想通过键盘输入,使得al的值为12,a2的值为34,cl的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是(以下口代表空格,代表回车)(A)12a34b(B)12Ua34Llb(C)12,a,34,b(D)12UaiJ34LJb标准答案:A87、若变量已正确定义为int型,要通过语句Scanf("%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中语法错误的是(注:口代表一个空格符)(A)□□□1,2,3〈回车》(B)1口2口3〈回车〉(C)1,2,3〈回车〉(D)1,口口口2,口口口3〈回车>标准答案:B88、设变量均已正确定义,若通过scanf("%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量al和a2赋数值10和20,为变量c和c2赋字符X和Y,以下所示的输入形式正确的是(A)10OX〈回车)20口丫〈回车〉(B)105口20口丫〈回车〉(C)10X〈回车〉20YC回车〉(D)10DX20(ZIY〈回车)标准答案:C

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、阅读以下程序#includemainO{intcase;floatprintF;printf(“请输入2个数:”);scanf(w%d%fw,&case,fiprintF);printf(M%d%f

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)有以下程序main()intsum,pad,pAd;sum=pad=5;pAd="H-sum,pAd++,++pad;printfpad);xiaoyuan.com程序的输出结果是7586}r.\JZ\/ABcDooooyuan.comxiaoy标准答案:D

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.eoyuan.com{chara,b,c,d;scanf(*%c%c*,la,&b);c=getchar();d=getchar();printf("%c%c%c%c

36”,a,b,c,d);)yuan.com■yuan.com当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符1234则输出结果是Oa)12xiaoy3an.comxiacyuan.comxiaoyuan.comOB)1234OO12Od)1234标准答案:A

37110)以下关于逻辑运算符两禽运箕对象的氧Oa)可以是任意合法的表达式源恩•新视野教育考试复习资料,仅供复习参考,切勿带入考场,否则后果自负Ob)只能是整数o或1Oc)可以是结构体类型的数据Od)只能是整数。期Eo整数标准答案:Ain)有以下程序mainO{inta=0,b=0,c=0,d=0;if(a=l)b=l,c=2;elsed=3;}printf("%d,%d,%d,%d

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^yuan.comfor(i=o/i<8;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,yuan.com{charcl,c2;cl='A'+'8'-'4';c2='A'+'8'-'5';printf(%d

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)有以下程序#includemlinU{intx=l,y=0;if(Jx)y++;elseif(x==0)if(x)产2;elsey^=3;}Printf—硕薪恋程序运行后的输出结果是OA)2Ob)3OC)1yuan.comOd)0标准答案:D118)若有定义:脑部黑=2;y则正确的switch语句是Oa)switch(x){case1.0:printf;case2.0:yipanintf;}Ob)switch((int)x);{case1:printf(^*

44*);case2:printf;}cicasec:printf(**

45);}Od)switch(a+b){case1:printf(^*

46*);case2+1:printf(;}标准答案:D119)有以下程序m£nt?deyuan.«x{inty=9;for(;y>0;y-)if(y%3==0)printfC%d",—y):1程序的运行结果是ABcDoooo251357468879yuan.com标准答案:A

47120)有以下程序#哄&护demainU{inti,for(i=l;i<3;i++){for(j=3;j>0;j—){if(i*j>3)break;*i*j;}yuan.eomprintf(*m=%d

48*,m);}程序运行后的输出结果是OA)m=4Ob)m=6yuan.comOc)m=5OD)m=2标准答案:B121)有以下程序m^int?deyuan.comyuan.com{intal,a2;charcl,c2;scanf「%d%c%d%c”,&al,&cl,&a2,&c2);printf("%d,%c,%d,%c”,al,cl,a2,c2);|若想通过隆盘输入七废得al的值为12,a2的值为34,j;谓值为字符a,c2的值为字符b确的输入格式是(以卡司代表空格,代表回车),'川5OA)12,a,34,bOB)12a34bOC)12na34DbOD)12DaD34Qb标准答案:B输出结臬是:12.a.34.b则iF122)若变量已正确定义,在if(W)printf("%d

49",k);中,以下不可替代W的是Oa)b+c标准答案:D123)有以下程序段舞曲强:stgio.h>yuan.eora=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf(*a=%db=%dc=%d

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)有以下程序#includemainU{intc=0,k;for(k=l;k<3;k++)switch(k){default:c+=k;case2:c++?break;}case4:break;printfc);}程序运行后的输出结果是Oa)?Ob)9yuan.comOc)5Od)3标准答案:D127)以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)OA)priM^n(:%d

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)有以下程序:黑杷\yuan.c{inty=10;while(y—);printf('y=%d

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)有以下程序嚣潸yuan.e0m{inti=5;do{if(i%3==l)if(i%5==2){printfi);break;}■।।.}jhiie(我即产printf("Xn");}程序的运行结果是OA)*5Ob)*2*fiuan・8myuan.comOC)*3*5Od)*7标准答案:D133)以下选项中不能作为C语言合法常量的是Oa)“\aguan.eom■yuOb)0.le+6Oc)"XOll1Od)'cd,标准答案:Dioyuan.com।yuan.com

58134)if语句的基本形式是:江(表达式)语句,以下关于“表达式”值的叙述中正确的是OA)必须是整凝值yuan.comyuan.comOb)可以是任意合法的数值Oc)必须是逻辑值Od)必须是正数标准答案;B135)有加下法套的江语句药嘲裂c)k=a;yelsek=c;elseif(bc)?b:c);标准答案:A136)有以下程序#iaiSr,,yuan.{intk=5;while(-k)printf(@%d"k-=3);printf('

59*);}执行后的输出结果是41羽2\J-XJZABcDooooU8n.co{inti,j;for(i=3;i>=l;i){for(j=l;j<=2;j++)printf(飞n");xiaoyuan.comjcioyu3n.comprintf('%d”,i+j);yuan程序的运行结果是Oa)432543Ob)4534yuan.com

60yuanyuan.comOc)345343234232\7标准答案:B138)有以下程序#班日世非main。{intk=5,n=0;do{switch(k){case1:yuan.comcase3:n+=l;k-;break;default:n=0;k-;case2:case4:n+=2;k-;break,}yuan.comyuanprintf(*%d

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©mainU{inty=10;while(y-);printf(*y=%d

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)有以下程序:据/乐,yuan.com{ints;scanf('%d。&s);while(s>0){switch(s){case1:printfs+5);case2:printfs+4);break.case'3:'printf('%d。s+3);default:printf('%d',s+1);break;)scanf('%d。&s);}}IXkBETK10E运行时卜若输入123450<回车为则输出结果是OA)66666OB)66656OC)6566456Od)6666656标准答案:C145)已知字符“'的ASC:[工代码值是65,字符变量cl的值是‘A',c2的值是'D'・则执行语句printf("%d,%d\cl,c2-2);yuan..yuan.com的输出结果是OA)A,68OB)65,68OC)A,BOd)65,66yuan.com,:yuan.«>m•、y标准答案:D146)以下选项中,当x为大于1的奇数时,值为0的表达式是Oa)x%2ymn.a»myuan.comOb)x%2=1Oc)x%2!=0Od)x/2标准答案:A

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)有以下程序#墩£.将8main。{inta=7;while(a-一);printfa);}程序运行后的输出结果是Oa)iOb)-iOC)7Od)o标准答案:B149)有以下程序:黑惮/stdio.h>,ncharb,c;inti;&;y摘;/fif(i%2)putchar(i+b);elseputchar(i+c);}printf(*

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)有以下程序{inta=l,b=2;for(;a<8;a++){b+=a;a+=2;}printf('%2%d

73*,a,b);}程序运行后的输出结果是yUaii»cofnOa)7,11Ob)8,iiOc)9,18Od)10,14标准答案:D155)有以下程序*inc为像{inti,j,m=55;for(i=l;i<=3;i-H-)for(j=3;j仁i;jH)m=m%j;printf(*%d

74*,m);)程序的运行结果是yuan"”3120\J*\1/\)zV17ABcDoooo标准答案:B

75#哄瞅.独mlinUyuarif(x%3));yuar衽况业("%d,",x-continue;}printf(*%dj0一x);程序的运行结果是ABcDoooo7,4,2,&7,5,2,%7,6,4,vuan.com8,5.4g2,标准答案;D157)有以下程序:黑用水stdmh>yuan.comcharcl,c2jc3,c4,c5,c6;scanf("%c%c%c%c[&cl,&c2j阮3,&c4);c5=getchar();c6=getchar();putchazjcll^^putchar(c2);printfc5,c6);}程序运行后,若从键盘输入(从第1列开始)123〈回车>456幅〈曲车,yuan.com则输出结果是OA)126?Ob)1278Oc)1256Od)1245vuan.com标准答案:D158)以下选项中,当x为大于1的苛数时,值为。的表达式是0a)X%25rGBn.comyuan.comOb)x%2==0Oc)x%2!=0Od)x/2标准答案:B

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^(mainOyuan.inta=l,b=2,c=3,d=O;if(a=l她b-H==2)if(bl=2||c—J=3)printf('%d,%d,a,b,c);elseprintf('%d,%d,%d

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)有以下程序*^^mamO{intx=l,y=2,z=3;if(x>y)if(y

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?dSniyuan.coc{inta=l,b=2,c=3,d=4;if((a=2)||(b=l))c=2;if((c==3)tA(d=-l))a=5;printf("%d,%d,%d,%d

90',a,b,c,d);}则程序的输出结果是“标团Oa)5,i,2,-1Ob)2,2,2,4Oc)2,1,2,-1Od)1,2,3,4标准答案:B170)若有以下程序twfrlude{inta=l,b=2,c=3,d=4,r=0;if(aJ=l);elser=l;if(b==2)r七=2;else;if(cJ=3)r+=3;else;if(d==4)]七4;则程序的输出结果是OA)7Ob)6°C)3yuan.comOd)10标准答案:A171)若有以下程序mdinO{ints=0,n;

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)若有以下程序#联/为@emlinO{inta=2,b=0;while(a++)++b;printf(*%d,%d

93*,a,b);}则程序的输出结果是yuan.comOa)o,2Ob)1,3Oc)2,3Od)1,2标准答案:D173)若有以下程序maint?^"yuan.com{inta=6,b=0,c=0;for(;a;){b+=a;a~=++c;}printf(*%d,%d,%d

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?deyuan.2{inta=l,b=2,c=3,d=4;

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)若有以下程序mainU{inta=l,b=2,c=3,d=4,r=0;if(aJ=l);elser=l;if(b==2)r+=2;if(cJ=3);”=3;if(d==4)r+=4;}printf(飞脸恋则程序的输出结果是Oa)6Ob)ioOc)3yuan.comOd)7标准答案:B177)若有以下程序*蝌痣,“mainO{ints=0,n;for(n=0;n<4;n++){switch(n){default:s+=4;case1:s+=l;break;cas%g4ns七2;break;case^o?6例3;}printf(s);}则程序的输出结果是—yuan.cocnOa)hOb)15Oc)13Od)io标准答案:A178)若有以下程序多懈嘏&nmainO{inta=~2,b=0;do{++b;}while(a-H-);

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^{charcljc2;cl=JCJ+J8'3';c2='9'0*;printf("%c焦d

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)有以下程序鬻就加yuan.com{intx=l,y=0,a=0,b=0;switch(x){case1:switch(y){case0:break;case1:b++;break;case,a^prb-h--break;printf(*a=%d,b=%d

103

104188)有以下程序#斑小眼“丫酬mainU{intx=35,B;charz=,B*;B=((x)&&(z=y)&&(y>=z)Oc)(x>=y)||(y>=x)Od)(x>=y)J(y>=z)标准答案:B190)有以下程序yuan.一{doublex=2.0,y;if(x<0.0)y=0.0;elseif((x<5.0)&&(lx))y=1.0/(x+2.0);elseif(x<10.0)y=1.0/x;elsey=10.0;}PrintfC¥的工”);yuan.5程序运行后的输出结果是Oa)o.25ooooOb)o.500000°C)1.yuan.comOd)o.oooooo标准答案:B191)有以下程序#include{inti,sum;for(i=l;i<6;i++)sum-i;printfsum);)程序运行后的输出结果是yU<3II.COfnOa)随机值Ob)15Oc)16Od)o标准答案:A192)有以下程序

105#短碉命mainU{inta=3;do{printf("%d,",a~=2);}while(I(—a));printf;xia

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、有以下程序#includemain(){charcl=,A',c2=,Y*;printf(M%d,%d

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、有以下程序^includemain(){intx;for(x=3;x<6;x++)printf((x%2)?(M*%dw):(“假d”),x);printf("

108"):)

109程序输出结果是A)#3*4#5B)*3#4#5C)*3*4#5D)*3#4*5标准答案:D210、有以下程序#includemain(){inta,b:for(a=l,b=l;a<=100;a++){if(b>=20)break;if(b%3==1){b=b+3;continue;}b=b+5;)printf(M%d

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、有以下程序^includemain(){inta=-2,b=0;while(a++&&++b);printf(u%d,,%d

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、有以下程序^includeintf(intx);main(){intn=l,m;m=f(f(f(n)));printf(*%d

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、有以下程序ttincludeintf(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;

117printf(*%d

118*»fun(2*a,fun(b,c)));)程序运行后的输出结果是A)6B)8C)3D)12标准答案:A224、有以下程序#includeintadd(inta,intb){return(a+b);}mainO{intk,(*f)(),a=5,b=10;f二add;)则以下函数调用语句错误是A)k=(*f)(a,b)B)k=f(a,b)C)k=add(a,b)D)k=*f(a,b)标准答案:D225、有以下程序main(){intn,*p=NULL;*p=&&n;printf(*Inputn:*);scanf("%d”,&&p);printfC/outputn:");printf(*%d

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、有以下程序4includemainO{inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]一;}break;case1:a[i]=0;}printf(*

121*);03344D)3040for(i=0;i<4;i++)printf(*%d*,a[i]);}程序运行后的输出结果是A)2050B)0304标准答案:D228、有以下程序^includemain(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=l;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf(*%d

122*»t);)

123程序运行后的输出结果是A)3B)1C)9D)4标准答案:D229、有以下程序ttincludeintf(intx»inty){return(y-x)*x;}mainO{inta=3»b=4»c=5»d;d=f(f(a,b),f(a,c));printf(*%d

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、有以下程序^includevoidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={l,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+二2)fun(c[i],c[i+l]);源恩•新视野教育考试复习资料,仅供复习参考,切勿带入考场,否则后果自负for(i=0;i<10;i++)printf(*%d,c[i]);printf('

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^defineN4voidfun(inta[][N],intb[])(inti;for(i=0;i

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;im)m=s[i][k];returnm;}main(){inta[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24),(31,32,33,34}};printf(w%d

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)有以下程序^&§myuan.com,,■yuan.一:ininta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;for(i=0;i<3;i++)for(k=i+l;k<4;k++)if(a[i][i]yt?1ninta=l,b=3,c=5;int*pl=&a,*p2=&b,*p=&c;*p=*pl*(*p2);printfc);jyuan.com执行后的输出结果是A)2B)4C)1D)3标准答案:D261)有以下程序#includevoicff(int*p,int*q);main()(intm=l,n=2,*r=&jn;f(r,4n);printf('%d,%d',m,n);voidf(int*p^ini*q)(p=p+1;*q=*q+l;}程序运行后的输出结果是A)1,4B)1,2C)2,3D)1,3标准答案:D

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;ib[j]:b[i]yuan.com:inints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++)c[s[i]]++;for(i=l;i<5;i++)printf(*%d",c[i]);__printf(*

142*)'yuan.com程序的运行结果是

143A)1123B)433201234D)2344标准答案:B

144265)有以下程序#include,,inffuni(doublea){return(int)(a^a);)intfun2(doublex,doubley){端"蜉b=fxml(y);return(int)(a+b);1main(){doublew:yu案例12(1.1,2.0);yprintf("%4.2f”,w);1程序执行后输出结果是A)5.00B)0.0C)5.21D)5标准答案:A266)设有定义语琳,*则以下叙述Oa)f是基类WOb)f是,晌]Oc)f总晌]Od)f是函数;标准答案:cA)3,5,5,3B)5,3,5,3C)5,3,3,5D)3,5,3,5标准答案:D267)有以下程序州南1五。5>yuan.—voidfun(intint*b){int*c;)c=a,a=b,b=c,mainO{intx=3,尸5.;fun(p,q),printf(*%d,%d,忤,*q),funt&x,&y),piintf(*%d,%d

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^mainOyuan.com{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)369yuan.comOb)751OO753OD)357标准答案:D276)有以下程序voi5^^un(int■intn)/*f而嫩的功能是将新指数组元素肥墙小排序*/{intt,i,j;for(i=0;icharf(charxj{returnx*x+'a';}mainO{chara,b=0;for(a=0;a<4;a+=l){b=f(a);putchar(b);yuan.com则程序的输出结果是A)ABEJB)ABCDC)abedD)abej标准答案:D

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;ia[iltjl):8啮金却力)11'」,yimain(){intx[N][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},y[N],i;fun(x,y,1);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;ia[j]){t=a[i];a[i]=a[j];a[j]=t;}}■aln0{intc[10]=在8/招7,6,5,4,3,2,1},i;fun(c,10);for(i=0;i<10;i++)printf('%d,c[i]);printf(*

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、若有以下程序#includerchaTl7charx){returnx*x%10+’0';}main(){chara;intb=0;for(a=0;a<5;a+1){b=f(a),putchar(b);}则程序的输出结果是(A)00000(B)01496(C)014916

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、若有以下程序^includeint*f(int*s,int*t){intk;if(*s<*t){k=*s;*s=*t;*t=k}returns;)mainO{inti=3,j=5,*p=&I,*q=&j,*r;r=f(p,q);printf("%d,%d,%d,%d

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、有以下程序ttincludettdefineN4voidfun(inta[][M],intb[],intflag){inti,j;for(i=0;ia[j][i]):(b[i]voidfun(inta[],intn){intt,i,j;for(i=0;ia[j])]{t=a[i];a[i]=a[j];a[j]=t;}main(){intc[10]={10,9,8,7,6,5,4,3,2,1},i;fun(c,10);for(i=0;i<10;i++)B由报畤)则程序的输出结果是(A)1,10,3,8,5,6,7,4,9,2,(B)10,9,8,7,6,5,4,3,2,1,(C)10,1,8,3,6,5,4,7,2,9,(D)2,9,4,7,6,5,8,3,10,1标准答案:D289、有以下程序

160ttincludeintfuna(inta,intb){returna+b;}mainO{intx=6,y=7,z=8,r;r=fun(fun(x,y),z―);printf(“%d

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、有以下程序includemain(){inty=l,x,a[6]={2,4,6,8,10),*p;P=&a[l];for(x=0;x<3;x++)y=y+*(p+x);printf(u%d

162w,y);)程序运行后的输出结果是(A)19(B)18(C)20(D)17标准答案:A292、有以下程序#includevoidfun(int*s,intn,int*k){inti;for(i=0,*k=i;is[*k]);)mainO{inta[5]={l,6,2,8,0},k;fun(a,5,&k);printf(M%d%d

163w,k,a[k]);)在横线处应填入的内容是(A)k=i-s(B)*k=i-s(C)k=i(D)*k=i标准答案:D293、有以下程序^includemainO{inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]=a,i,i,k=0;上大学,选培训,就到新视野!

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、有以下程序#includeintfuna(inta,intb){returna+b;}intfunb(inta,intb){returna-b;}intsss(int(*t)(),intx,inty){return输出x,y))J{intx;x=sss(funa,9,3);x+=sss(funb,8,3);}printf(M%d

167w,x);程序运行后的输出结果是(A)17(B)22(C)24(D)23标准答案:A295、有以下程序^includevoidfun(inta,intb,intc){a=b;b=c;c=a;}mainO{inta=10,b=20,c=30;fun(a,b,c);printf(M%d,%d,%d

168”,c,b,a);)程序运行后的输出结果是(A)30,20,10(B)0,0,0(C)20,30,10(D)10,20,30标准答案:A296、有以下程序#includemain(){intc[6]={10,20,30,40,50,60),*p,*s;p=a;s=&c[5];printf(“%d

169",s-p);)程序运行后的输出结果是(A)5(B)60(C)6(D)50标准答案:A297、有以下程序#includemain(){inta[3]={0},i,j,k=2;for(i=0;i

170)程序运行后的输出结果是(A)1(B)2(C)3(D)0标准答案:C298、有以下程序#includemainO{inta[5]={2,4,6,8,10),*p,**k;p=a;k=&p;printf(4<%dw,*(p++));printf(“%d

171",**k);)程序运行后的输出结果是(A)46(B)44(C)22(D)24标准答案:D299、有以下程序ttincludemainO{intaa国]国64&]沁{6}},i,*p=&a[0][0];{if(i==0)aa[i][i+l]=*p+l;else++p;printf(M%d",*p);))程序运行后的输出结果是(A)46(B)43(C)26(D)23标准答案:D300以下函数返回数组中最大值的下标#includeintfun(int*s,intn){inti,k:for(i=0,k=i;is[k]);return(k);)在横线处应填入的内容是Ak=IB++kCk++Di=k答案A301以下叙述中正确的是A实用的C语言源程序总是有一个或多个函数组成B不同函数的形式参数不能使用相同名称的标识符C用户自定义的函数只能调用库函数D在C语言的函数内部,可以定义局部嵌套函数答案:A302以下叙述中正确的是Aint*pl.int**p2.int*p3;都是合法的定义指针变量语句

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有以下程序^includeviodfun(intx,inty,int*c,int*d)(*c=x+y;*d=x-y;)main()(inta=4,b=3,c=0,d=0;fun(a,b,&c,&d);printf(w%d%d

174w,c,d);}程序的输出结果是A71BOOC34D43答案:A314有以下程序^includevoidfun(int*p»int*q)(t=*p;*p=*q;*q=t;*q=*p;)main(){inta=0,b=3;fun(&a,&b);printf(“%d%d”,a,b);程序的输出结果是A90B09COOD99答案:D315有以下程序#includemain(){inta[]={2,4,6,8,10},x*P,y=l;P=&a[l];for(x=0;x<3;x++)y+=*(p+x);printf(a%d

175M,y);}程序的输出结果是A13B15C11D19答案:D316有以下程序^includemain(){inti,x[3][3]={1,2,3,4,5,6,7,8,9);for(i=0;i<3;i++)print(<4%dn,x[i][2-i]);printf(u

176n);}程序的输出结果是A369B147C150D357答案:D317有以下程序#includemain()(inta[]={2,4,6,8},*p=a,i;for(i=0;i<4;i++)a[i]=*p++;

177printf(M%d

178w,a[2]);}程序的输出结果是A8B2C4D6答案:D318有以下程序ttincludecharfun(char*c){if(*c<='V&&*c>二'A')*c=9A'-'a';returm*c;)mainOchars[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);p++;printf('

179');}}若从键盘输入OPENTHE。00x回车),程序的输出结果是AOPENTHEDOORBOpenTheDoorCoPENtHEdOORDopenthedoor答案:D319有以下程序^includemainO(chara=,H';a=(a>=,A'Z')?(a+32):a;printf("%C

180”,a);}程序的输出结果是AHBACaDh答案:D320有以下程序^includeintf(intx);main(){inta,b=0;for(a=0;a<3;a+=l){b+=f(a);putchar(,A'+b);}}intf(intx){returnx*x+l;)程序的输出结果是ABDIBBCFCABEDBCD答案:A

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有以下程序#includemain(){inta[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;P++;}printf(w%d

182M,a[2]);}程序的输出结果是A20B10C40D30答案:D324有以下程序^include^defineN3viodfun(inta[][N],intb[]){inti,j;for(i=0;i

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#includemainO{charstr[][20]={"0ne*world","0ne*Dream!w},*p=str[l];printf(M%d,w,strlen(p));printf("%s

187”,p);)程序的输出结果是A9,0ne*Dream!B9,0ne*wor1dC10,0ne*worldD10,0ne*Dream!答案:D328有以下程序^includemainO{chars[]=w012xy\08s34f4w2”;intI,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=>O'&&s[i]<='9')n++;printf(0%d

188n);)程序的输出结果是A8C3D0答案:C329有以下程序^includefun(intx,inty){staticintm=0,i=2;i+=m+l;m=i+x+y;returnm;)main(){intj=l,m=l,k;k=fun(j,m);printf(44%d,”,k);k=fun(j,m);printf(M%d

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有以下程序#includevoidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}mainO{char*sl=wabc”,*s2=w123M;swap(si,s2);printf(“%s,%s

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);ivoidfun(char*p,intn){charb[6]="ab=bcde”;inti;for(i=0,p=b;i

193w,a);)程序运行后的输出结果是A)abcdeB)EDCBAC)edcbaD)ABCDE标准答案:D402)有以下程序^includefun(inta,intb){intstaticm=0,i=2;i=i+m+l;m=i+a+b;returnm;)mainO{intk=4,m=l,p;p=fun(k,m);printf(“%d,”,p);p=fun(k,m);printf(a%d

194w,p);}程序运行后的输出结果是A)8,8B)8,1707,17D)7,16标准答案:B

195403)有以下程序^includeintfun(chars[])(char*p=s;while(*p!=0)p++;return(p-s);}mainO{printf(“%d

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#includevoidfun(char*s)(chara[10];strcpy(a,"STRING");s=a;}main(){char*p二"PROGRAMW;fun(p);printf("%s

198",p);|D)PROGRAM程序运行后的输出结果是(此处代表空格)A)STRINGB)STRINGC)STRING标准答案:D406)有以下程序#includevoidfun(intn,int*s){intf;if(n==1)*s=n+l;else(fun(n-l,&f);*s=f;))main()intx=0;fun(4,&x);printf("%d

199w,x);)程序运行后的输出结果是A)3B)2C)1D)4标准答案:B407)有以下程序#includemain()charc⑵[5]={“6938”,"8254w},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=c[i];for(i=0;i<2;i++)for(j=0;p[i][j]>0;j+=2)s=10*s+p[i][j]-'O';printf(M%d

200M,s);}

201程序运行后的输出结果是A)9284B)6982C)9824D)6385标准答案:D408)有以下程序#includevoidfun(int*s)(staticintj=0;dos[j]+=s[j+l];while(++j<2);)main()(inti,a[10]={l,2,3,4,5};for(i=l;i<3;i++)fun(a);for(i=l;i<5;i++)printf("%d",a[i]);printf(“

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)有以下程序#includeintfun(char*s){char*p=s;while(*p!=0)p++;return(p二s);}mainO{printf(“刎

205",fun("goodbye!"));}程序的输出结果是A)8B)7C)0D)6标准答案:A423)有以下程序#includeintfun(intn){inta;if(n==1)return1;a=n+fun(n-l);return(a);)main(){printf(M%d

206M,fun(5));}程序的输出结果是A)9B)14C)10D)15标准答案:D424)有以下程序#includeintd=l;{intd=5;d+=p++;printf("%d",d);}main(){inta=3;fun(a);d+=a++;printf(**%d

207w,d);}

208程序的输出结果是A)96B)85084D)94标准答案:C425)有以下程序#includeintfun(inta){intb=0;staticintc=3;a=(c++,b++);return(a);}main(){inta=2,i,k;for(i=0;i<2;i++)k=fun(a++);printf("%d

209",k);)程序的输出结果是A)4B)0C)1D)2标准答案:B426)有以下程序#includemain(){charc[2][5]=f,6934wJ8254”},*p⑵;inti,j,s=0;for(i=0;i<2;i++)p[i]=c[i];for(i=0;i<2;i++)for(j=0;p[i][j]>0&&p[i][j]<=,9';j+=2)s=10*s+p[i][j]-'O';printf("%d

210",s);程序的输出结果是A)69825B)6385C)693825D)63825标准答案:B427)有以下程序(strcpy为字符串复制函数,strcal为字符串连接函数)#include#includemainO{chara[10]="abc",b[10]=wO12M,c[10]=wxyzM;strcpy(a+1,b+2);puts(strcat(a,c+1));}程序的输出结果是D)bc2yzA)a2yzB)al2xyzC)12yz标准答案:A428)以下选项中,没有编译错误的是有以下程序#include程序的输出结果是A)charstrl[5]passM,str2[6],str2=strl;B)charstr4[];str4=whelloworldw;C)charstr3□:{‘d','e','b','u','g','\0'D)charname[10];name=Mchina”;标准答案:C429)有以下程序#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)有以下程序#includemainO{chara[5][10]={jgnf”two",,"three""four“,“five”};chart;for(i=0;i<2;i++)for(j=i+l;j<5;j++)if(a[i][0]>a[j][0]){t=a[i][0];a⑴[0]=a[j][0];a[j][0]=t;)puts(a[l]);}程序的输出结果是A)twoB)owoC)fwoD)fix标准答案:C431)有以下程序#includeinta=l,b=2:voidfunl(inta,intb){printf(**%d%dw,a,b);)voidfun2()(a=3;b=4;}main(){funl(5,6);fun2();printf(“%d%d

213w,a,b);}

214程序运行后的输出结果是A)5612B)125603456D)5634标准答案:D432)有以下程序#includevoidfunc(intn){staticintnum=1;num+=n;printf(,num);}main(){func(3);func(4);printf(u

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)有以下程序#includetypedefstruct{intb,p;)A;voidf(Ac)/*注意:c结构变量名*/main(){inti;Aa={1,2};f(a);printf(M%d,%d

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#includeintfun(intn){int*p;p=(int*)malloc(sizeof(int));

217*p=n;return*p;)main(){inta;a=fun(10);printf(a%d

218w,a+fun(10));)程序运行后的输出结果是A)10B)出错C)20D)0标准答案:C437)有以下程序#includemain(){unsignedchara=8,c;c=a»3;\printf(M%d

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)有以下程序#includestructS{inta,b;)data[2]={10,100,20,200};mainO{structSp=data[l];printf(u%d

220ft,++(p,a));}程序运行后的输出结果是A)10B)20C)11D)21标准答案:D441)有以下程序#include^definePT3.5;^defineS(x)PT*x*x;mainO{inta=l,b=2;printf(u%4.lf

221r,,S(a+b));)

222程序运行后的输出结果是A)31.5B)程序有错无输出结果C)14.0D)7.5标准答案:B442)有以下程序#includemainO{unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf(w%d

223",d);}程序运行后的输出结果是A)3B)6C)5D)4标准答案:D443)有以下程序#include#includemainO{int*a,*b=2,*c;a=b=bc=(int*)malloc(sizeof(int));*a=l;*b=2,*c=3;a=b;printf("%d,%d,%d

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)有以下程序#includestructS{intn;inta[20];};voidf(structS*p){inti,j,t;for(i=0;ipa[j]){t=pa[i];pa[i]=pa[j];pa[j]=t;})

225main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9});f(&s);for(i=0;i#includetypedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa){STUb={“Zhao”,V,85,90);

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>有以下程序#includemain(){FILE*fp;inta[10]={l,2,3},i,n;fp=fopen(wdl.datn,www);for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);fprintf(fp,w

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#defineS(x)4*(x)*x+lmain(){intk=5,j=2;printf("%d\",S(k+j))}程序运行后的输出结果是A、143B、28C、33

231D、197标准答案:A454、若有以下程序段intr=8printf(**%d

232w,r»l);输出结果是A,4B、2C、16D,8答案A455、以下叙述中错误的是A、fwrite函数用于以二进制形式输出数据到文件B、fputs函数用于把字符串输出到文件C、gets函数用于从终端读入字符串D、getchar函数用于从磁盘文件读入字符答案:D456、有以下程序#includemainO{FILE*pfchar*sl=wchina*,*s2=wBeijing”;pf=fopen(uabc.dat","wb+”);fwrite(as2,7,l,pf);rewind(pf);fwrite(sl,5,1,pf);fclose(pf);}以上程序执行后abc.dal文件的内容是A、ChinaBeijingB、BeijingChinaC、ChinaD、Chinang答案:D

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#includeStructA{inta;charb[10]doublec;};structAf(stuctAt):mianO(structAa={1001,nzhangda”,1098.0);printf("%d,%s,%6.lf

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、有以下程序#includeMainO(Inta=l,b=2,c=3,x;X=(a'b)&c;Printf(w%d

236w,x);)程序运行的结果是A、0B、1C、2D、3标准答案:D462、有以下程序#includemain()(FILE*fp;intk,n*a[6]={l,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,w%d%d

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、有以下程序#includestructord{intx,y:}dt[2]={1,2,3,4};main(){structord*p=dt;printf(M%d,",++(p->x));printf(M%d

241,++(p->x));}程序运行后的输出结果是A、2,3B、3,4C、4,1D、1,2标准答案A465#include4defineSUB(a)(a)-(a)mainO{inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d

242",d);}

243程序运行后输出的结果是A、10B>0C>-12D-20标准答案D466、有以下程序#includemain(){inta=2,b:b=a<<2;printf("%d

244",b);}程序运行后的输出结果是A、6B、2C、4D、8标准答案:D467、下列关于c语言文件的叙述中正确的是A、文件由结构序列组成,可以构成二进制文件或者文本文件B、文件由一系列数据依次排列组成,只能构成二进制文件C、文件由字符序列组成,其类型只能是文本文件D、文件由数据序列组成,可以构成二进制文件或者文本文件标准答案:D468、有一下程序#includemain(){FILE*fp;inta[10]={l,2,3,0,0},I;fp=fopen(Md2.dat","wb");fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp)fp=fopen("d2.dal","rb");fread(a,sizeof(int),10,fp);fclose(fp):for(i=o;i<10;i++)printf("%d,",a[i]);)运行结果是A、1,2,3,1,2,3,0,0,0,0,B、1,2,3,0,0,0,0,0,0,0,0,C、123,0,0,0,0,123,0,0,0,0D、1,2,3,0,0,1,2,3,0,0,标准答案:D469、有以下程序structst{intx,int*y;}*pt;inta[]={l,2},b[]={3,4};structstc[2]={10,a,20,b);pt=c;

245以下选项中表达式的值为11的是A、pt->xA、(pt++)->xB、++pt~>xC、*pt->y标准答案:c470、有以下程序#includestructS{intn;inta[20];};voidf(int*a,intn){intifor(i=0;i#includetypedefstruct{charname[9];charsex;floatscore[2];}STU;voidf(STUa)STUb={“zhao",'m',85.0,90.0};inti;strcpy(a.name,b.name);a.sex=b.sex;b.for(i=0;i<2;i++)a.score[i]=b.score[i];}main(){STUc={“Qian“,'f',95.0,92.0};f(c);printf(a%s,%c,%2.Of,%2.0f

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#definef(x)x*x*xmainO{inta=3,s,t;s=f(a+1);t=f(a+l);printf(4<%d,%d

248w,s,t);}程序运行后的输出结果是A、10,64B、64,64C、10,10D、64,10标准答案:A473、有以下程序#includemain()datanextheadchara=4;printf(M%d

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#includestructA■Iinta;charb[10];doublec;);viodf(structAt);mainO(StructAa={1001,nZhangDa”,1098.0};f(a);printf(M%d,%s,%6.lf

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^defineN5^defineMN+l^definef(x)(x+M)main(){inti1»i2;il=f(2);i2=f(1+1)printf(“加%d

252”,il,12);

253)程序的运行结果是A、127B、117C、1111D、1212标准答案:B479)有以下程序#includemainO{inta=5,b=l,t;t=(a«2)|b;printf("%d

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、有以下程序#includemain()(structSTU{charname[9];charsex;doublescore[2];};structSTUa={“Zhao",'m'85.0,90.0},b={“Qian",'f',95.0,92.0};b二a;printf(a%s,%c,%2.0f

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)有以下程序#includemainO{FILE*ff=fopen("filea.txt",'w');fprintf(f,"abc");fclose(f);)若文本文件filea.ixt中原有内容为:hello,则运行以上程序后,文件filea.Ixl中的内容为:A、abcB、helloabcC、abchelloD、abclo标准答案:A487)设有定义:

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#includestructA{inta;charb[10];doublec;};voidf(structAt)main(){structAa={1001,“ZhangDa**,1098.0}:f(a);printf(44%d,%s,%6.lf

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#includetypedefstruct{charname[9];charsex;floatscore[2];}STU;STUf(STUa){STUb={“Zhao",'m',85.0,90.0};inti;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];returna;)mainO{STUc={uQianw,'f',95.0,92.0},d;d=f(c);printf("%s,%c,%2.Of,%2.0f

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)有以下程序#incluedemain(){FILE*fp:charstr[10];fp=fopen("myfile.dat","w");fputs(uabcw9fp);fclose(fp);fp=fopen("myfile.dat”,“a+”):fprintf(fp,%d,28);rewind(fp);fscanf(fp,"%s”,str);puts(str);fclose(fp);)程序运行后的输出结果是A、因类型不一致而出错B、abcC、28cD^abc28标准答案:I)493)若以下程序#include#defineS(x)x*x4defineT(x)S(x)*S(x)mainO{intk=5tj=2;printf("%d,%d

261”,S(k+j),T(k+j))}则程序的输出结果是A、17,37B、17,289C、49,289D、49、2401标准答案:A

262494)有以下程序#include#include#includestructstu{char*name,gender;intscore;);main(){structstua={NULL,'m',290},b;a.name二(char*)malloc(10);strcpy(a.name,"Zhao");b=a;b.gender='f';b.score=350;strcpy(b.name,“QianM)printf("%s,%c,%d”,a.name,a.gender,a.score);printf(<4%s,%c,%d

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#include#includetypestructstu{char*name,gender;intscore;}STU;voidf(char*p)(p=(char*)ma11oc(10);strcpy(p,"Qian");}main(){STUa={NULL,'m',290},b;a.name=(char*)malloc(10);strcpy(a.name,"Zhao");b=a;f(b.name);b.gender='f';b.score=350;printf(M%s,%c,%d0,a.name,a.gender,a.score);printf(a%s,%c,%d

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)如有以下程序:#includemain(){intc;c=105;printf("%d

266”,c);}则程序的输出结果是A、5B、105C、10000D、15标准答案:D498、若有以下程序#includemain(){FILE*fp;inti;a[6]={l,2,3,4,5,6},k;fp=fopen(wdata.dat","w+”);for(i=0;i<6;i++){fseek(fp,0L,0);fprintf(fp,0%d

267w,a[i]);}rewind(fp);fscanf(fp,%d,&k);fclose(fp);printf("%d'n",k);}则程序的输出结果是A、6B、1C、123456D、21标准答案:A499、若有以下程序4include4defineS(x)(x)*(x)defineT(x)S(x)/S(x)+1

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、若有以下程序#includetypedefstructstu{charname[10],gender;intscore;}STU;viodf(STUa,,STUb){b=a;printf(M%s,%c,%d,w,b.name,b.gender,b.score);)main(){STUa={“Zhao",'m',290),b={“Qian",'f',350};f(a,b);printf(u%s,%c,%d

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#includetypedefstructstu{charname[10],gender;intscore;}STU;viodf(char*p){strcpy(p,“Qian");}main(){STUa={“Zhao”Jm*,290},b;b=a;f(b.name);b.gender二'fb.score=350;printf("%s,%c,%d,”,a.name,a.gender,a.score);printf("%s,%c,%d

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)若有以下程序#includemain(){intc;c=13|5;printf("%d

273",c);)则程序的输出结果是A、13B、5C、18D、15标准答案:A504、若有以下程序#includemain(){FILE*fp;inti,a[6]={l,2,3,4,5,6},k;fp二fopen(“data,dat","w+b");for(i=0:i<6;i++){fseek(fp,0L,0);fwrite(&a[5-i],sizeof(int),1,fp);}rewinf(fp);

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#includeviodfun(int*pl,int*p2,int*s){s=(int*)malloc(sizeof(int));*s=*pl+*(p2++);}main(){inta[2]={l,2},b[2]={10,20},*s=a;fun(a,b,s);printf("%d

275”,*s);}程序运行后的输出结果是A、2B、10C、11D、1

276标准答案:D508)以下程序依次把终端输入的字符存放到f文件中,用#作为结束输入的标志,则在横线处应填入#includemain(){FILE*fp;charch;fp二fopen("fname","w");while((ch=getchar())!=,#')fputc();fclose(fp);}A、ch,“fname”B、ch,fpC、chD、fp,ch标准答案:B509、有以下程序#include^defineN2^defineMN+l#defineNUM(M+l)*M/2main(){printf(“%d

277”,NUM);}程序运行后的输出结果是A、4B、6C、9D>8标准答案:D510、有以下程序#includemain(){inti=0;i=i;printf("%d

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、有以下程序#includemainO{charc[2][5]={“6938”,“8254”},*p[2];inti,j,s=o;for(i=0;i<2;i++)p[i]=c[i];for(i=0;i<2;i++)for(j=0;p[i][j]>0;j+=2)s=10*s+p[i][j]-'O';printf(Md%

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)有以下程序#includemainO{inti=l;1=1i;printf(*'%d

282.,i);\)程序运行后的输出结果是A)7B)-1C)1D)0标准答案:D516)以下程序用来统计文件中字符的个数(函数feof用以检查文件是否结束,结束时返回非零)#includemainO{FILE*fp;longnum=0;

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^defineSQR(X)X*XmainO(inta=10,k=2,m=l;a/=SQR(k+m)/SQR(k+m);printf(a%d

286w,a);

287)程序运行后的输出结果是A)1B)9C)10D)0标准答案:A530)有以下程序#includemainO{charx=2,y=2,z;z=(y«l)&(x»l);printf(M%d

288w,z);)程序运行后的输出结果是A)0B)1C)8D)4标准答案:A531、有以下程序#includestructS{inta;intb;};mainO{structSa,*p=&a;a.a=99;printf(M%d

289w)程序要求输出结构体重成员a数据,以下不能填入横线处的内容是A、*p.aB、p->aC、(*p).aDa.a标准答案:A532、有以下程序#include#includevoidfun(double*pl,double*p2,double*s){doublea[2]={l.1,2.2,},b[2]={10.0,20.0},*s=a;fun(a,b,s);printf(“%5.2f

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#includevoidfun(int*pl,int*p2,int*s){s=(int*)calloc(l,sizeof(int));*s=*pl,+*p2;free(s);}mainO{inta[2]={l,2},b[2]={40,50),*q=a;fun(a,b,q);printf("%

292",*q);)程序运行后的输出结果是A、41B、0C、42D>1标准答案:D536、有以下程序

293#includestructSTU{charname[9];charsex;floatscore[2];};voidf(structSTUa口){structSTUb二{“zhao”,,85,90);a[l]=b;}main(){structSTUc[2]={{"qian",'f',95,92},{“Sun",'mf,98,99));f(c)printf(M%s,%c,%d,%dw,c.[0]name,c[0].sex,c[0].score[0],c[0].score[1]);printf(a%s,%c,%d,%d

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、有以下程序#includemainOFILE*fp:inti,a[6]={l,2,3,4,5,6);fp=fopen(ad2.dat","w+");for(i=0;i<6;i++)fscanf(fp,w%d

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,45B)x=12,y=34,z=45C)x=12,sumy=34,z=45〈Enter>D£x=12,sumy=34,linez=45本题答案为:D546、若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是()A£i=a%ll;B)i=(a+k)<=(i+k);C)a=a++,i++;D)i=!a;本题答案为:A547、设有定义:inta;floatb;,执行scanf(飞2d%f”,&a,&b);语句时,若从键盘输入876543.0〈回车>,a和b的值分别是().A)876和543.000000B)87和6.000000C)87和543.000000D)76和543.000000本题答案为:B548、设有定义:intx=2;,以下表达式中,值不为6的是().A£2*x,x+=2B)x++,2*xC)x*=(l+x)D)x*=x+l本题答案为:A549、若变量已正确定义为int型,要通过语句scanf(飞d,%d,%d",&a,&b,&c);给a赋值l、给b赋值2、给c赋值3,以下输入形式中错误的是()。(u代表一个空格符)A)uuul,2,3〈回车>B)Iu2u3〈回车〉C)I,uuu2,uuu3〈回车>D)1,2,3〈回车>本题答案为:B550、若有定义语句:intx=10;,则表达式x-=x+x的值为().A£-10B)-20C)0D)10本题答案为:A551、以下选项中,能用作用户标识符的是().A)_0_B)8_8C)voidD)unsigned本题答案为:A552、设变量已正确定义并赋值,以下正确的表达式是()。A£x=y+z+5,++yB)int(15.8%5)C)x=y*5=x+zD)x=25%5.0本题答案为:A553、以下4个选项中,不能看成一条语句的是()。A£;B)a=5,b=2,5,c=3.6;C)if(a<5);D)if(b!=5)x=2;y=6;本题答案为:D554、以下选项中,合法的一组C语言数值常量是()。A)12.0Xa234.5e0B)028.5e-3-OxfC).1774el.5OabcD)0x8A10,0003.e5本题答案为:A555、有以下程序ftincludemain(){ints,t,A=10;doubleB=6;s=sizeof(A);t=sizeof(B);printf(*%d,%dn*»s,t);)在VC6平台上编译运行,程序运行后的输出结果是()。

298上大学,选培ilHX就到新视野!A£4,8B)4,4C)2,4D)10,6本题答案为:A556、有以下程序段#includeintj;floaty;charname[50];scanf(*%2d%f%s*,&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为()。566.0B)55566.0C)7777.0D)566777.0本题答案为:A557、有以下程序#includemain(){intx,y,z;x=y=l;z=x++,y++,++y;printf("%d,%d,%drT,x,y,z);}程序运行后的输出结果是()。A£2,3,1B)2,3,2C)2,3,3D)2,2,1本题答案为:A558、有以下程序ttincludemain(){inta=l,b=0;printf(<%d,*,b=a+b);printf(*%dn*,a=2*b);}程序运行后的输出结果是()oA£1,2B)1,0C)3,2D)0,0本题答案为:A559、有以下程序#includemain(){intal,a2;charcl,c2;scanf(*%d%c%d%c*,&al,&cl,&a2,&c2);printf(*%d,%c,%d,%c*,al,cl,a2,c2);)若想通过健盘输入,使得al的值为12,a2的值为34,cl的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是()。A)12a34bB)12UaU34UbB£12,a,34,bD)12Ua34Ub本题答案为:A560、下列程序的运行结果是()。ttinclude“stdio.h"main(){intx=-9,y=5,z=8;if(x若有定义:floatx=l.5;inta=l,b=3,c=2;则正确的switch语句是()。A)switch(a+b){case1:printf("*n');case2+1:printf(***n');}B)switch((int)x);{case1:printf(**n*);case2:printf(***n*);}C)switch(x){case1.0:printf(**n*);case2.0:printf(***n*);}D)switch(a+b){case1:printf(**n');casec:printf(***n*);}本题答案为:A562、以下程序的输出结果是()。#includemain(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;)}printf(*%dn\m);}A)1B)2C)3D)4本题答案为:A563、有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=l.0/x;elsey=l.0;printfy);}该程序的输出结果是()oA)0.000000B)0.250000C)0.500000D)1.000000本题答案为:C564、有以下程序^includemain(){intx=l,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;printf(*%dn*,y);程序运行后的输出结果是()o

299A£©0B)2C)1D)3本题答案为:A565、有以下程序ttincludemain(){intx=l,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;)case2:a++;b++;break;case3:a++;b++;)printf(*a=%d,b=%dn”,a,b);)程序的运行结果是()。A£a=2,b=lB)a=2,b=2C)a=Lb=lD)a=Lb=0本题答案为:A566、有以下程序段inta,b,c;a=10;b=50;c=a;if(a>b)a=b,b=c;c=a;printf(*a=%db=%dc=%dn”,a,b,c);程序的输出结果是()oA)a=10b=50c=10B)a=10b=50c=30B£a=10b=30c=10D)a=50b=30c=50本题答案为:A567、有以下程序#includemain(){intx=l,y=2,z=3;if(x>y)if(ymain(){inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf(*a=%db=%dc=%dn*,a,b,c);)程序的输出结果是()。A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=50本题答案为:A569、下列条件语句中,功能与其他语句不同的是()。A)if(a)printf(*%dn*,x);elseprintf(*%dn*,y);B)if(a==0)printf(*%dn*,y);elseprintfx);C)if(a!=0)printf(<%dn*,x);elseprintf(*%dn*»y);D)if(a—0)printf(*%dn*,x);elseprintf(*%dn*,y);本题答案为:D570、若整型变量a、b、c>d中的值依次为1、4、3、2,则条件表达式ab)a=b;c=a;if(c!=a)c=b;printf(*%d,%d,%dn*,a,b,c);其输出结果是()。A£程序段有语法错B)3,5,3C)3,5,5D)3,5,7本题答案为:B573、若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()oA£(x-y<0||x-y>0)B)(x-y<0)C)(x-y>0)D)(x-y=0)本题答案为:A574、若变量已正确定义,在if(W)printf(线dn",k);中,以下不可替代W的是()。

300A)a<>b+cB)ch=getchar()C)a==b+cD)a++本题答案为:A575、如下程序的输出结果是()#includemain(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=l.0/x;elsey=l.0;0.000000B)0.250000C)0.500000D)1.000000本题答案为:C576、请阅读以下程序#includemain(){intx=l,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;}case2:a++,b++;break;}printf("a=%d,b=%dn*,a,b);)上面程序的输出结果是()。A)a=2,b=lB)a=l,b=lC)a=l,b=0D)a=2,b=2本题答案为:A577、有以下程序段intk=0,a=l,b=2,c=3;k=ac?c:k;执行该程序段后,k的值是()oA£©3B)2C)1D)0本题答案为:B578、有以下程序#includemain(){intx=l,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;)case2:a++;b++;break;case3:a++;b++;)printf("a=%d,b=%dn”,a,b);}程序的运行结果是()oA£a=l,b=0B)a=2,b=2C)a=l,b=lD)a=2,b=l本题答案为:D579、设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句:if(ab?(b>c?l:0):0;功能等价的是()。A)if((a>b)&&(b>c))k=l;elsek=0;B)if((a>b)||(b>c))k=l;elsek=0;C)if(a<=b)k=0;elseif(b<=c)k=l;D)if(a>b)k=l;elseif(b>c)k=l;elsek=0;本题答案为:A581、以下选项中不属于字符常量的是()oA)'C'B)"C"C)*\xCCD),\072,本题答案为:BC£©以下程序段中的变量已正确定义for(i=0;i<4;i++,i++)for(k=l;k<3;k++);printf(**");程序段的输出结果是()oA£*B)****C)**D)********本题答案为:A582、设变量均已正确定义,若要通过scanf("%d%c%d%c”,&al,&cl,&a2,&c2);语句为变量al和a2赋数值10和20,为变量cl和c2赋字符X和丫。以下所示的输入形式中正确的是()。(注:口代表空格字符)A)10口乂口20口丫<回车)B)10口乂20口丫〈回车》

301C)CE1X<回车)20口丫<回车)D)10X<回车)20丫<回车)本题答案为:D583、下面程序的运行结果是()。#includemain(){inti;for(i=l;i<5;i++){if(i%3==0)break;printf(*%d",i);}}A£©123B)12C)23D)12345本题答案为:B584、有以下程序main()(inti,s=0;for(i=l;i<10;i+=2)s+=i+l;printf(*%dn*,s);}程序执行后的输出结果是()。A)自然数「9的累加和B)自然数「10的累加和C)自然数广9中奇数之和D)自然数1~10中偶数之和本题答案为:DD£©有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输入语句是()。A)gets(&s[0]);B)scanfs+1);C)gets(s);D)scanfs[l]);本题答案为:D585、有以下程序main(){inti,s=l;for(i=l;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf(*%dn*,s);}程序的输出结果是()oA)409B)277C)1D)91本题答案为:D586、已知字符'A'的ASCII码值是65,字符变量cl的值是'A',c2的值是'D'。执行语句printf(飞d,%d”,cl,c2-2);后,输出结果是()。A£A,BB)A68C)65,66D)65,68本题答案为:C587、有以下程序#includemain(){inty=9;for(;y>0;y-)if(y%3==0)printf(*%d*,—y);}程序的运行结果是()oA£C741B)963C)852D)875421本题答案为:C588、若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()o

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、有以下程序#includemain(){inti=5;do{if(i%3==l)if(i%5==2){printfi);break;}i++;}while(i!=0);printf("n");}程序的运行结果是()oA£*7B)*3*5C)*5D)*2*6本题答案为:A593、以下选项中不能作为C语言合法常量的是()oA£'cd'B)0.le+6C)”\a"D)''0U'本题答案为:A594、运行下面程序时,从键盘输入字母H,则输出结果是()o#includemain(){charch;ch=getchar();switch(ch){case'H':printf("Hello!

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、有以下程序#includemain(){inty=9;for(;y>0;y-)if(y%3=0)printf—y);}程序的运行结果是()。A£C741B)963C)852D)875421本题答案为:C597、下列选项可以正确表示字符型常量的是()。A£,\rB)"a"C)"\897"D)296本题答案为:A598、有以下程序段#includemain()(inti,n;for(i=0;i<8;i++){n=rand()%5;switch(n){case1:case3:printfC/%dn*,n);break;case2:case4:printf(*%dn*,n);continue;case0:exit(0);)printf(*%dn*,n);)以下关于程序段执行情况的叙述,正确的是()。A)当产生的随机数n为。时结束程序运行B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)for循环语句固定执行8次本题答案为:A599、以下不能将s所指字符串正确复制到t所指存储空间的是()0A)do{*t++=*s++;)while(*s);B)for(i=0;t[i]=s[i];i++);C)while(*t=*s){t++;s++;}D)for(i=0,j=O;t[i++]=s[j++];);本题答案为:A600、数字字符0的ASCII值为48,若有以下程序:main()(chara=T',b='2';printf(*%c,*,b++);printf(*%d

312*,b-a);)程序运行后的输出结果是()oA)3,2B)50,2C)2,2D)2,50本题答案为:C601、有以下程序#includemain(){inti,j,m=l;for(i=l;i<3;i++){for(j=3;j>0;j-){if(i*j>3)break;m*=i*j;)}printf("m=%dn”,m);

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、有以下程序:#includemain(){chara,b,c,d;scanf&a,&b);c=getchar();d=getchar();printf(*%c%c%c%c

314*,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是()oA£©1234B)12C)123D)1234本题答案为:C606、以下不构成无限循环的语句或语句组是()。A)n=0;do{++n;}while(n<=0);B)n=0;while(l){n++;)C)n=10;while(n);{n—;}D)for(n=0,i=l;;i++)n+=i;本题答案为:A607>有以下程序#includemain(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){caseO:a[i]++;break;case1:a[i]一;}break;case1:a[i]=O;}for(i=0;i<4;i++)printf(*%da[i]);printf(*n*);}程序运行后的输出结果是()oA)3040B)205003344D)0304本题答案为:A608、以下不合法的字符常量是()。A£'\018'B)C)'\\'D)'\xcc'本题答案为:A609、有以下程序:main(){chara='a',b;printf(*%c,++a);printf(*%c

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、有以下程序#includemain(){inty=9;

316for(;y>0;y-)}程序的运行结果是()oA£©852B)963C)741D)875421本题答案为:A613、有以下程序:#includemain()charcl,c2,c3,c4,c5,c6;scanf(*%c%c%c%c*,&cl,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(cl);putchar(c2);printf("%c%c

317”,c5,c6);)程序运行后,若从键盘输入(从第1列开始)123<回车)45678〈回车>则输出结果是()。A£©1267B)1256C)1278D)1245本题答案为:D614、有以下程序:#includemain(){intc;while((c=getchar())!=>

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、有以下程序#includemain(){intc=O,k;for(k=l;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf(*%dn*,c);}程序运行后的输出结果是()OA£©3B)5C)7D)9本题答案为:A616、以下程序的输出结果是()。main(){inta,i;a=0;for(i=l;i<5;i++){switch(i)(case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf(*%dn*,a);}A£©31B)13C)10D)20本题答案为:A617>有如下程序main(){inti;for(i=0;i<3;i++)switch(i){case0:printi++);case2:printfi);default:printfi);))程序运行后的输出结果是()。A)022111B)021021C)000122D)01122本题答案为:D

320618、当运行以下程序时,从键盘输入AhaMA(空格)Aha,则下面程序的运行结果是()。#includemain(){chars[80],c=,a;inti=0;scanf(*%s*»s);while(s[i]!='\0'){if(s[i]==c)s[i]=s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;)puts(s);}A)ahAMaB)AbAMaC)AhAMa[空格]ahAD)ahAMa[空格]ahA本题答案为:A619、有以下程序main(){inti;for(i=l;i<=40;i++){if(i++%5==0)if(++i%8==0)printf(*%d*,i);1printf(*n*);}执行后的输出结果是()。A)5B)24C)32D)40本题答案为:C620、有以下程序:^includemain(){charcl=*T,c2=,2*;cl=getchar();c2=getchar();putchar(cl);putchar(c2);)当运行时输入a<回车)后,以下叙述正确的是()。A)变量cl被赋予字符a,c2被赋予回车符B)程序将等待用户输入第2个字符C)变量cl被赋予字符a,c2中仍是原有字符2D)变量cl被赋予字符a,c2中将无确定值本题答案为:A621、设变量已正确定义,则以下能正确计算f=n!的程序段是()oA)f=0;for(i=l;i<=n;i++)f*=i;B)f=l;for(i=l;il;i++)f*二i;D)f=l;for(i=n;i>=2;i-)f*=i;本题答案为:D622、有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输入语句是()。A)gets(&s[0]);B)scanfs+1);C)gets(s);D)scanfs[l]);本题答案为:DF£C以下选项中不属于字符常量的是()oA)CB)C)xCCD)072本题答案为:B623、有以下程序#includemain(){intc;while((c=getchar())!=n){switch(c-2){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf(*n*);}从第一列开始输入以下数据(/

321代表一个回车符)。2743/程序的输出结果是()。A)66877B)678966C)6677877D)6688766本题答案为:A624、运行下面程序时,从键盘输入字母H,则输出结果是()。#includemain(){charch;ch=getchar();switch(ch){caseH:printf(*Hello!n*);caseG:printf("Goodmorning!n");default:printf(*Bye_Bye!n*);}}A)Hello!B)Hello!GoodMoring!C)Hello!Goodmorning!ByeBye!D)Hello!Bye_Bye!本题答案为:C-625、有以下程序#includemain(){chara,b,c,d;scanf(*%c%c*,&a,&b);c=getchar();d=getchar();printf(*%c%c%c%cn*,a,b,c,d);)当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是()oA)123B)12C)1234D)1234本题答案为:A626、当运行以下程序时,从键盘输入AhaMA(空格)Aha,则下面程序的运行结果是()。#includemain(){chars[80],c=ainti=0;scanf(*%s*,s);while(s[i]!=0){if(s[i]==c)s[i]=s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;}puts(s):}A)ahAMaB)AbAMaC)AhAMa[空格]ahAD)ahAMa[空格]ahA本题答案为:A627、下列选项中属于不合法C语言的字符串常量的是()。A)TB)2ylC)"nrTD)"ABCDx6d”本题答案为:B628、以下不合法的字符常量是()oA)018B)”C)D)xcc本题答案为:A629>有以下程序#includemain(){chara,b,c,d;scanf(*%c%c*,&a,&b);c=getchar();d=getchar();printf(*%c%c%c%cn*,a,b,c,d);)当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是()。A)1234B)12C)123D)1234本题答案为:C630、有以下程序#includemain(){charcl,c2,c3,c4,c5,c6;scanf(*%c%c%c%c*»&cl,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(cl);putchar(c2);printf(*%c%cn*,c5,c6);}程序运行后,若从键盘输入(从第1列开始)123<回车>45678c回车)则输出结果是()。A)1267B)1256C)1278D)1245本题答案为:D631、有以下程序#includemain(){chare1,c2;

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、有以下程序#includeintfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);)main(){inta=4,b=5,c=6;printf("%dn”,fun(2*a,fun(b,c)));)程序运行后的输出结果是()oA)6B)3C)8D)12本题答案为:A634、有以下函数intfun(char*x,char*y){intn=O;while((*x==*y)&&*x!=0){x++;y++;n++;}returnn;)函数的功能是()OA)统计x和y所指字符串中最前面连续相同的字符个数B)查找x和y所指字符串中是否有0C)将y所指字符串赋给x所指存储空间D)统计x和y所指字符串中相同的字符个数本题答案为:A635、若程序中定义了以下函数:doublemyadd(doublea,doubleb){return(a+b);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。A)doublemyadd(doublea,b);B)doublemyadd(double,double);C)doublemyadd(doubleb,doublea);D)doublemyadd(doublex,doubley);本题答案为:A636、以下程序的输出结果是()o4includevoidswap(int*a,int*b){int*t;t=a;a=b;b=t;)main(){inti=3,j=5,*p=&i,*q=&j;swap(p,q);printf(*%d%d

323”,*p,*q);)A)23B)34035D)45本题答案为:C637、有以下程序

324#includevoidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={l,2,3,4,5,6,7,8,9,0),i;for(i=0;i<10;i+=2)fun(c[i],c[i+l]);for(i=0;i<10;i++)printf(*%d,c[i]);printf(*n*);}程序的运行结果是()。A)1,2,3,4,5,6,7,8,9,0,B)2,1,4,3,6,5,8,7,0,9,C)0,9,8,7,6,5,4,3,2,1,D)0,1,2,3,4,5,6,7,8,9,本题答案为:A638、设有如下函数定义#includeintfun(intk){if(kintf(intx);main(){intn=l,m;m=f(f(f(n)));printf("%dn",m);)intf(intx){returnx*2;}程序运行后的输出结果是()oA)8B)2C)4D)1本题答案为:A642、有以下函数intfun(char*s){char*t=s;while(*t++);return(t-s);)该函数的功能是()oA)计算s所指字符串占用内存字节的个数B)比较两个字符串的大小C)计算s所指字符串的长度D)将s所指字符串复制到字符串t中本题答案为:C643、有以下程序voidf(intv,intw){intt;t=v;v=w;w=t;}main()

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、有以下程序#includeintf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(*%dn>»d);)

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、有以下程序#includemain(){intn,*p=NULL;*p=&n;printf(*lnputn:*);scanf&p);printf(*outputn:*);printf(*%dn*,p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是()。A)intn,*p=NULL;B)*p=&n;C)scanf&p)D)printf(*%dn*,p);本题答案为:A653、若有说明语句:double*p,a;,则能通过scanf语句正确给输入项读入数据的程序段是()。A)*p=&a;scanfp);B)*p=&a;scanf(*%f*,p);C)p=&a;scanf*p);D)p=scanfp);本题答案为:D654、有以下程序main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf(飞d,%d,%d,%drT,*p,*q,a,b);)程序运行后的输出结果是()oA)8,7,8,7B)7,8,7,8C)8,7,7,8D)7,8,8,7本题答案为:C655、以下叙述中错误的是()oA)可以给指针变量赋一个整数作为地址值B)函数可以返回地址值C)改变函数形参的值,不会改变对应实参的值D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL本题答案为:A656、设有定义:inta,*pa=&a;,以下scanf语句中能正确为变量a读入数据的是()«A)scanf('%d”,pa);

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、有以下程序4includeintfun(int(*s)[4],intn,intk){intm,i;m=s[O][k];for(i=l;im)m=s[i][k];returnm;}main(){inta[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};printf(*%dn*,fun(a,4,0));}程序的运行结果是()。A)4B)34C)31D)32本题答案为:C661>以下能正确定义二维数组的是()oA)inta[][3];B)inta[][3]={2*3};C)inta[][3]={};D)inta[2][3]={{1},{2},{3,4}};本题答案为:B662、有以下程序#includevoidfun(inta,intb){intt;t=a;a=b;b=t;)main(){intc[10]={l,2,3,4,5,6,7,8,9,0),i;for(i=0;i<10;i+=2)fun(c[i],c[i+l]);for(i=0;i<10;i++)printf(*%d,*,c[i]);printf(*n*);)程序的运行结果是()oA)1,2,3,4,5,6,7,8,9,0,B)2,1,4,3,6,5,8,7,0,9,C)0,9,8,7,6,5,4,3,2,1,D)0,1,2,3,4,5,6,7,8,9,本题答案为:A663、若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。A)m[—i]B)m[2*2]

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、有以下程序#includevoidfun(int*s,intnl,intn2){inti,j,t;i=nl;j=n2;while(ivoidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到小排序*/{intt,i,j;for(i=0;i

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、有以下程序^includevoidfun(inta[],intn){inti,t;for(i=0;i

331{staticintsum=0,i;for(i=0;i2][!1]本题答案为:D683、以下错误的定义语句是()oA)intx[][3]={{0},{1},{1,2,3});B)intx[4][3]={{1,2,3),(1,2,3},{1,2,3},{1,2,3});C)intx[4][]={{1,2,3},{1,2,3},{1,2,3),{1,2,3});D)intx[][3]={1,2,3,4);本题答案为:C684、若有定义语句:doublex[5]={l.0,2.0,3.0,4.0,5.0},*p=x;,则错误引用x数组元素的是()。A)*pB)x[5]C)*(p+l)D)*x本题答案为:B685、以下定义数组的语句中错误的是()oA)intnum[2][4]={{1,2},{3,4),{5,6}};B)intnum[][3]={{1,2},3,4,5,6};C)intnum[]={1,2,3,4,5,6);D)intnum[][4]={1,2,3,4,5,6};本题答案为:A686、下面程序中有错误的行是(每行程序前面的数字表示行号)()。1main()2{3inta[3]={1};4inti;5scanf("&a);6for(i=l;i<3;i++)a[0]=a[0]+a[i];7printf(*a[0]=%dn*,a[0]);8)A)3B)6C)7D)5本题答案为:D687、有以下程序#include#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i

332for(i=0;i{defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i{3,5};swapl(a);swap2(b[0],b[l]);printf(*%d%d%d%dn*,a[0],a[l],b[0],b[l]);)程序运行后的输出结果是()oA)5353B)533503535D)3553本题答案为:B691、下列程序的输出结果是()。4include*stdio.h*#defineN3#defineM3voidfun(inta[M][N]){printf(*%dn*,*(a[1]+2));}main(){inta[M][N];inti,j;for(i=0;i

333本题答案为:B692、有以下程序#includemain(){intx[3][2]={0}»i;for(i=0;i<3;i++)scanfx[i]);printf(*%3d%3d%3dn*»x[0][0],x[0][1],x[l][0]);)若运行时输入:246<回车),则输出结果为()。A)204B)2000240D)246本题答案为:A693、有以下程序voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={l,2,3,4,5},i;f(a);for(i=0;i<5;i++)printf(*%d,a[i]);}程序运行后的输出结果是()oA)2,2,3,4,5,B)6,2,3,4,5,C)1,2,3,4,5,D)2,3,4,5,6,本题答案为:B694、有以下程序main(){charslr[][10]二{"China","Beijing"},*p二*str;printf(*%sn*,p+10);)程序运行后的输出结果是()oA)ChinaB)BeijingC)ngD)ing本题答案为:B695、若有定义语句:inta[2][3],*p[3];,则以下语句中正确的是()。A)p=a;B)p[0]=a;C)p[0]=&a[l][2];D)p[l]=&a;本题答案为:C696、有以下程序main(){inti,s=O,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf(*%dn*,s);}程序执行后的输出结果是()oA)45B)20C)25D)36本题答案为:C697、若有定义语句:intk[2][3],*pk[3];,则以下语句中正确的是()。A)pk=k;B)pk[0]=&k[l][2];C)pk=k[O];D)pk[l]=k;本题答案为:B698、以下语句中存在语法错误的是()oA)charss[6][20];ss[l]="right?”B)charss[][20]={*right?*);C)char*ss[6];ss[l]="right?”D)char*ss[]={"right?”};本题答案为:A

334699、下列程序的运行结果为()。#includevoid123(char*str){inta,b:for(a=b=0;str[a]!=0;a++)if(str[a]!=c)str[b++]=str[a];str[b]=0;}voidmain(){charstr[]=*123def*;_123(str):printf(*str[]=%s*,str);)A)str[]=abdefB)str[]=123defC)str[]=aD)str[]=ab本题答案为:B700、下面程序段的运行结果是()°chars[]=<123defgh*,*p=s:P+=3;printf(*%dn*,strlen(strcpy(p,*ABCD")));A)8B)12C)4D)7本题答案为:C701、若有定义:char*st="howareyou”,下列程序段中正确的是()。A)chara[ll],*p;strcpy(p=a+l,&st[4]);B)chara[ll];strcpy(++a,st);C)chara[ll];strcpy(a,st);D)chara[],*p;strcpy(p=&a[l],st+2);本题答案为:A702、有以下程序#includemain(){charp[20]={a,b,c,d},q[]=*123*,r[]=*123de*strcat(p,r);strcpy(p+strlen(q),q);printf(*%dn*,strlen(p));)程序运行后的输出结果是()oA)9B)6C)11D)7本题答案为:B703、下面程序的输出结果是()。#include#includemain(){charpl[20]=*123*,*p2=*ABC*tstr[50]="xyz"strcpy(str+2,strcat(pl,p2));printf(*%sn*,str);}A)xyzabzacB)bAcBACBCC)xyl23ABCD)yzl23ABC本题答案为:C704、有以下程序段ttinclude"stdio.h*ttinclude"string,h*main(){chara[3][20]={{*china*),{*isa*)»{*bigcountry!*}};chark[100]={0},*p=k;

335inti;for(i=0;i<3;i++)Ip=strcat(p,a[i]);}i=strlen(p);printf(*%dn*,i);}则程序段的输出结果是()。A)18B)19C)20D)21本题答案为:B705、有以下程序#includemain(){charp[]={a,b,c),q[10]={a,b,c);printf(*%d%dn*,strlen(p),strlen(q));}以下叙述中正确的是()oA)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B)由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C)由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D)由于p和q数组中都没有字符串结束符,故长度都不能确定本题答案为:B706、有以下程序main(){chara[7]=*a00a00*inti,j;i=sizeof(a);j=strlen(a);printf(*%d%dn*,i,j);)程序运行后的输出结果是()oA)22B)76072D)62本题答案为:C707、有以下程序4includevoidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t:}main(){char*sl="abc",*s2="123"swap(si,s2);printf(*%s,%sn*»si,s2);}程序执行后的输出结果是()oA)Ibc,a23B)123,123C)123,123D)321,cba本题答案为:A708、设已执行预编译命令#include,以下程序段的输出结果是(chars[]=*anapple*;printf(*%dn”,strlen(s));A)7B)8C)9D)10本题答案为:c709、若有定义:char*st="howareyou",下列程序段中正确的是()。A)chara[l1],*p;strcpy(p=a+l,&st[4]);B)chara[l1];strcpy(++a,st);C)chara[l1];strcpy(a,st);D)chara[],*p;strcpy(p=&a[l],st+2);本题答案为:A710、对下述程序的判断中,正确的是()。#includevoidmain(){char*p,s[128];P=s;while(strcmp(s,"End")){printf(*Inputastring:*);gets(s);p=s;while(*p)putchar(*p++);}}A)此程序循环接收字符串并输出,直到接收字符串"End"为止B)此程序循环接收字符串,接收到字符串"End"则输出,否则程序终止C)此程序循环接收字符串并输出,直到接收字符串“End”为止,但因代码有误,程序不能正常工作D)此程序循环接收字符串并将其连接在一起,直到接收字符串“End”为止,输出连接后的字符串本题答案为:A71k下面能正确进行字符串赋值操作的是()。A)chars[5]={*ABCDE*};B)chars[5]={A,b,C,D,E};C)char*s;s="ABCDE”

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、有以下程序#includemain(){chars[]=*012xy08s34f4w2*inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=0s[i]<=9)n++;printf(*%dn*,n);)程序运行后的输出结果是()oA)3B)0C)7D)8本题答案为:A715、下面程序的输出结果是()。#include#includemain(){charpl[20]=*123*,*p2=*ABC*,str[50]="xyz"strcpy(str+2,strcat(pl,p2));printf(*%sn*,str);}A)xyzabzacB)bAcBACBCC)xyl23ABCD)yzl23ABC本题答案为:C716、有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输入语句是()。A)gets(&s[0]);B)scanfs+1);C)gets(s);D)scanfs[l]);本题答案为:D717、以下正确的程序段是()«A)charstr[20];scanf&str);B)char*p;scanfp);C)charstr[20];scanf&str[2]);D)charstr[20],*p=str;scanfp[2]);本题答案为:D718、以下正确的程序段是()oA)charstr[20];scanf(*%s*,&str);

337A)char*p;scanf(*%s*»p);B)charstr[20];scanf(*%s*,&str[2]);C)charstr[20],*p=str;scanf(*%s*,p[2]);本题答案为:C719、阅读下列程序,当运行函数时,输入asdafaaz67,则输出为()。ttincludettinclude4includevoidfun(char*str){inti,j=0;for(i=0;str[i]!=0;i++)if(str[i]!=)str[j++]=str[i];str[j]=0}main(){charstr[81];printf(*Inputastring:");gets(str);fun(str);printf(*%sn*»str);)A)asdafaaz67B)asdafaaz67C)asdD)z67本题答案为:A720、下列程序的运行结果为()。#includevoid_123(char*str){inta,b;for(a=b=0:str[a]!=0;a++)if(str[a]!=c)str[b++]=str[a];str[b]=0;}voidmain(){charstr[]=T23def”;123(str)?printfC*str[str);}A)str[]=abdefB)str[]=123defC)str[]=aD)str[]=ab本题答案为:B721、以下正确的程序段是()0A)charstrl()=*12345*,str2()=*123def*strcpy(strl,str2);B)charstr[10],*st=*123de*strcat(str,st);C)charstr[10]=**.*st=#123de*streat(str,st);D)char*stl=”12345”,*st2=z,123de*strcat(st1,st2);本题答案为:C722、下列语句组中,正确的是()oA)char*s;s="Olympic”B)chars[7];s="Olympic”C)char*s;s={“Olympic"};D)chars[7];s={*01ympic*};本题答案为:A723、阅读下列程序,则在执行后,程序的运行结果为()。ttinclude“stdio.h*#include“string,h"main(){chara[30]—nicetomeetyou!”;strcpy(a+strlen(a)/2,*you");printf(*%sn*,a);}A)nicetomeetyouyouB)nicetoC)meetyouyouD)nicetoyou本题答案为:D724、以下正确的程序段是()oA)charstrl()=*12345*,str2()="123def"strcpy(strl,str2);B)charstr[10],*st=#123de#strcat(str,st);C)charstr[10]=**.*st=*123de*strcat(str,st);D)char*stl=”12345”,*st2=*123de*strcat(st1,st2);本题答案为:C725、阅读下列程序,当运行函数时,输入asdafaaz67,则输出为()。ttincludettincludettincludevoidfun(char*str){inti,j=0;for(i=0;str[i]!=0;i++)if(str[i]!=)str[j++]=str[i];str[j]=0}main(){charstr[81];printf("Inputastring:");gets(str);fun(str);

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)#includemain(){char*s={"123"};do{printf*s%10);++s;}while(*s);)程序运行后的输出结果是()oA)789B)123C)7890D)979899本题答案为:A728、有以下程序(注:字符a的ASCII码值为97)#includemain(){char*s={"123”};do{printf*s%10);++s;}while(*s);)程序运行后的输出结果是()oA)789B)123C)7890D)979899本题答案为:B729、有以下程序voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main(){charsl[]=*abc*,s2[]="123”swap(si,s2);printf(*%s,%sn*,si,s2);}程序执行后的输出结果是()oA)123,123B)123,123C)Ibc,a23D)321,cba本题答案为:C730、当用户要求输入的字符串中含有空格时,应使用的输入函数是()。A)scanf()B)getchar()C)gets()D)getc()本题答案为:C731、设已执行预编译命令#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、有以下程序#includemain(){charp[]={a,b,c},q[10]={a,b,c);printf("%d%dn”,strlen(p),strlen(q));}以下叙述中正确的是()oA)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B)由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C)由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D)由于p和q数组中都没有字符串结束符,故长度都不能确定本题答案为:B737、以下程序执行后的输出结果是()。#includettinclude〈string.h>voidf(charp[][10],intn)/*字符串从小到大排序*/{chart[10];inti,j;for(i=0;i0)(strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[5][10]={"abc","aabdfg","abbd","dcdbe","cd"};f(P,5);printf(*%dn*»strlen(p[O]));}A)2B)4C)6D)3本题答案为:C738、有以下程序voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main(){charsl[]=*abc*,s2[]=<123*swap(si,s2);printf(*%s,%sn*,si,s2);}程序执行后的输出结果是()oA)123,123B)123,123C)Ibc,a23D)321,cba本题答案为:C739、对下述程序的判断中,正确的是()。#includevoidmain(){char*p,s[128];p=s;while(strcmp(s,"End"))(printf(*Inputastring:*);gets(s);p=s;while(*p)putchar(*p++);}}A)此程序循环接收字符串并输出,直到接收字符串"End"为止B)此程序循环接收字符串,接收到字符串"End"则输出,否则程序终止C)此程序循环接收字符串并输出,直到接收字符串"End”为止,但因代码有误,程序不能正常工作D)此程序循环接收字符串并将其连接在一起,直到接收字符串"End”为止,输出连接后的字符串本题答案为:A740、若有定义语句:chars[10]=*123456700*,则strlen(s)的值是()。A)7B)8C)9C£10741、下面程序段的运行结果是()。chars[]=*123defgh*,*p=s;P+=3;printf(*%dn*,strlen(strcpy(p,*ABCD")));A)8B)12C)4D)7本题答案为:C742、有以下程序ttinclude#includemain(){charstr[][20]={*0ne*World*,*0ne*Dream!*),*p=str[l];printf(飞d,”,strlen(p));printf(飞sn",p);)

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、以下程序的输出结果是()。#includevoidfun(intn,int*s){intfl,f2;if(n==0|ln==l)*s=l;else{fun(n-l,&fl);fun(n-2,&f2);*s=fl+f2;}}voidmain(){intx;fun(6,&x);printf(*n%d*,x);}A)7B)13C)9D)10本题答案为:B745、有以下程序intfun(intn){if(n==l)return1;elsereturn(n+fun(n-l));)main(){intx;scanf&x);x=fun(x);printf(*%dn*,x);}执行程序时,给变量x输入10,程序的输出结果是()oA)55B)54C)65D)45本题答案为:A746、以下程序的输出结果是()。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-l);returns;}main(){printf(*%Idn*,fun(3));}A)1B)2C)3D)4本题答案为:A747、有以下程序{includeCstdio.h>intfun(inta,intb){if(b-0)returna;

341elsereturn(fun(-a,-b));)main(){printf(*%dn*,fun(4,2));}{序的运行结果是()oA)1B)2C)3D)4本题答案为:B748、有以下程序^includeintf(intx){inty;if(x==0||x==l)return(3);y=x*x-f(x-2);returny;}main(){intz;z=f(3);printf(*%dn*»z);}程序的运行结果是()oA)0B)9C)6D)8本题答案为:C748、有以下程序intf(intn){if(n==1)return1;elsereturnf(n-l)+l;}main(){inti,j=0;for(i=l;i<3;i++)j+=f(i);printf(*%dn”,j);}程序运行后的输出结果是()oA)4B)3C)2D)1本题答案为:B749、有以下程序fun(intx){intp;if(x=0||x=l)return(3);p=x-fun(x_2);returnp;}main(){printf(*%dn*»fun(7));}执行后的输出结果是()»A)7B)3C)2D)0本题答案为:C750、有以下程序#includeintadd(inta,intB){return(a+b);}main(){intk,(*f)(),a=5,b=10;f=add;)则以下函数调用语句错误的是()。A)k=*f(a,b);B)k=add(a,b);

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、有以下程序^includeintf(intn);main(){inta=3,s;s=f(A);s=s+f(A);printf("%dn”,s);)intf(intn){staticinta=l;n+=a++;returnn;)程序运行后的输出结果是()oA)9B)8C)7D)10本题答案为:A753、在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。A)auto和registerB)extern和registerC)auto和staticD)static和register本题答案为:AD£有以下程序4includeinta=2;intf(int*a){return(*a)++;}main(){ints=0;{inta=5;s+=f(&a);}s+=f(&a);printf(*%dn*,s);}执行后输出结果是()oA)10B)9B£7D)8754、有以下程序ttincludeintfun(){staticintx=l;x*=2;returnx;)main(){inti,s=l;

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^includeintfun(intn){int*p;p=(int*)malloc(sizeof(int));*p=n;return*p;)main(){inta;a=fun(10);printf(*%dn*,a+fun(10));)程序的运行结果是()。A)20B)10C)0D)出错本题答案为:A760、有以下程序#include^includemain(){int*a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=l;*b=2,*c=3;

344a=b;printf(*%d,%d,%dn*,*a,*b,*c);)程序运行后的输出结果是()oA)3,3,3B)2,2,3C)1,2,3D)1,1,3本题答案为:A76k有以下程序:^includettincludetypedefstruct{charname[9];charsex;floatscore[2];}STU;voidf(STUa){STUb={"Zhao",'m',85.0,90.0};inti;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];)main()(STUc={"Qian",'f',95,92};f(c);printf("%s,%c,%d,%d*,(int)c.name,c.sex,(int)c.score[0],c.score[1]);)程序运行后的输出结果是()oA)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,90本题答案为:A762、若有以下说明和定义:uniondt{inta;charb;doublec;)data;以下叙述中错误的是()»A)data的每个成员起始地址都相同B)变量data所占内存字节数与成员c所占字节数相等C)程序段data,a=5;printf(*%fn*,data.C);输出结果为5.000000D)data可以作为函数的实参本题答案为:D763、以下程序的运行结果是()。#includestructSTU{charname[10];intnum;{;voidfl(structSTUc){structSTUb={"LiSiGuo”,2042};c=b;)voidf2(structSTU*c){structSTUb={*SunDan*»2044);*c=b;)main(){structSTUa={*YangSan*»2041},b={*WangYin*,2043};fl(a);f2(&b);printf(*%d,%dn*,a.num,b.num);)A)20412044B)20412043C)20422044D)20422043本题答案为:A

345764、以下叙述中错误的是()oA)可以通过typedef增加新的类型B)可以用lypedef将已存在的类型用一个新的名字来代表C)用typedef定义新的类型名后,原有类型名仍有效D)用typedef可以为各种类型起别名,但不能为变量起别名本题答案为:A765、有以下程序#includetypedefstruct{intb,p;}A;voidf(Ac)/*c是结构变量名*/{c.b+=l;c.p+=2;}main(){Aa={l,2};f(a);printf(*%d,%dn”,a.b,a.p);}程序运行后的输出结果是()oA)2,3B)2,4C)1,4D)1,2本题答案为:D766、以下程序的输出结果是()。4include“stdio.h"structHAR{intx,y;structHAR*p;}h[2];main(){h[0].x=l;h[0].y=2:h[l].x=3;h[l].y=4;h[0].p=&h[1]p=h;printf(*%d%dn*»(h[0].p)->x,(h[l].p)->y);)A)12B)23C)14D)32本题答案为:D767、下列程序的输出结果为()。itinclude*stdio.h*main(){unionu{char*name;intage;intincome;}s;s.name="WANGLIONG";s.age=28;s.income=1000;printf(*%dn”,s.age);)A)28B)1000C)0D)不确定本题答案为:B768、设有如下定义:structsk{intn;floatx;}data,*p;若要使P指向data中的n域,正确的赋值语句是()。A)p=&data.n;B)*p=data.n;C)p=(structsk*)&data.n;D)p=(structsk*)data,n;本题答案为:C769、有以下程序^includestructst{intx,y;}data[2]={l,10,2,20};main(){structst*p=data;printf(*%d,*,p->y);printf(*%dn*,(++p)->x);}程序的运行结果是()oA)10,1B)20,1

346A)10,2B)20,2本题答案为:C770、有以下程序#includestructS{inta.b;}data[2]={10,100,20,200};main()structSp=data[l];printf(*%dn*,++(p.A));)程序运行后的输出结果是()oA)21B)11C)20D)10本题答案为:A771、以下scanf函数调用语句中对结构体变量成员的引用不正确的是()。structpupil{charname[20];intage;intsex;)pup[5],*p;p=pup;A)scanf(*%s*,pup[O].name);B)scanf(*%d*,&pup[O].age);C)scanf(*%d*,&(p->sex));D)scanf(*%d*,p->age);本题答案为:D772、在位运算中,操作数每右移一位,其结果相当于()A)操作数乘以2B)操作数除以2C)操作数除以16D)操作数乘以16本题答案为:B773、设有以下语句inta=l,b=2,c;c=a"(b«2);执行后,c的值为()。A)9B)7C)8D)6本题答案为:A774、设有定义语句:charcl=92,c2=92;,则以下表达式中值为零的是()。A)cCc2B)cl&c2C)~c2D)cl|c2本题答案为:A775、变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是()。A)a-bB)a|bC)a&bD)a«4本题答案为:A776、设有以下语句:charx=3,y=6,z;z=x>«2;则Z的二进制值是()oA)00010100B)00011011C)00011100D)00011000本题答案为:B

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭