计算机二级c语言选择试题库带答案

计算机二级c语言选择试题库带答案

ID:68978779

大小:213.50 KB

页数:138页

时间:2024-02-06

上传者:赏心悦目
计算机二级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〕o115〔B〕0118〔C〕115L〔D〕1.5e1.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语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中〔D〕C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件5、按照C语言规定的用户标识符命名规那么,不能出现在标识符中的是___________。〔标准答案:D〕〔A〕大写字母〔B〕下划线〔C〕数字字符〔D〕连接符6、以下选项中,合法的一组C语言数值常量是__________。〔标准答案:D〕〔A〕0x8A10,0003.e5〔B〕.1774e1.50abc〔C〕028.5e-3-0xf〔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%11;〔D〕i=!a;标准答案:C11、设有定义:intx=2;,以下表达式中,值不为6的是〔A〕x*=(1+x)〔B〕x*=x+1-.word.zl. -.〔C〕x++,2*x〔D〕2*x,x+=2标准答案:D12、有以下程序#includemain(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d ",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-.word.zl. -.标准答案:A18、以下关于构造化程序设计的表达中正确的选项是〔A〕一个构造化程序必须同时由顺序、分支、循环三种构造组成〔B〕有三种根本构造构成的程序只能解决小规模的问题〔C〕在C语言中,程序的模块化是利用函数实现的〔D〕构造化程序使用goto语句会很便捷标准答案:C19、对于一个正常运行的C程序,以下表达中正确的选项是〔A〕程序的执行总是从main函数开场,在程序的最后一个函数中完毕〔B〕程序的执行总是从程序的第一个函数开场,在main函数完毕〔C〕程序的执行总是从main函数开场〔D〕程序的执行总是从程序的第一个函数开场,在程序的最后一个函数中完毕标准答案:C20、以下选项中能表示合法常量的是〔A〕1.5E2.0〔B〕“07〞〔C〕1,200〔D〕‘’标准答案:B21、以下定义语句中正确的选项是〔A〕floata=1,*b=&a,*c=&b;〔B〕inta=b=0;〔C〕doublea=0.0;b=1.1;〔D〕charA=65+1,b=’b’;标准答案:D22、假设变量x、y已正确定义并赋值,以下符合C语言语法的表达式是〔A〕double(x)/10〔B〕x=x+10=x+y〔C〕x+1=y〔D〕++x,y=x--标准答案:D23、计算机能直接执行的程序是〔A〕可执行程序〔B〕目标程序〔C〕源程序〔D〕汇编程序标准答案:A24、以下表达中正确的选项是〔A〕C语言规定必须用main作为主函数名,程序将从此开场执行〔B〕C语言程序将从源程序中第一个函数开场执行〔C〕main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等〔D-.word.zl. -.〕可以在程序中由用户指定任意一个函数作为主函数,程序将从此开场执行标准答案:A25、以下选项中可用作C程序合法实数的是〔A〕E9〔B〕9.12E〔C〕3.0e1.2〔D〕.1e0标准答案: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〕算确的程序可以有零个输入〔C〕算确的程序可以有零个输出〔D〕算确的程序最终一定会完毕--3-标准答案:C29、以下表达中正确的选项是〔A〕C语言程序中的注释必须与语句写在同一行〔B〕简单C语句必须以分号完毕〔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+1;〔C〕x+n=i;〔D〕x=n%2.5;标准答案:-.word.zl. -.A33、以下选项中关于程序模块化的表达错误的选项是〔A〕把程序分成假设干相对独立的模块,可便于编码和测试〔B〕可采用自顶向下、逐步细化的设计方法把假设干独立模块组装成所要求的程序〔C〕把采用分成假设干相对独立、功能单一的模块,可便于重复使用这些模块〔D〕可采用自顶向上、逐步细化的设计方法把假设干独立模块组装成所要求的程序标准答案:D34、以下表达中正确的选项是〔A〕C程序中的注释只能出现在程序的开场位置和语句的后面〔B〕C程序书写格式严格,要求一行只能写一个语句〔C〕用C语言编写的程序只能放在一个程序文件中〔D〕C程序书写格式自由,一个语句可以写在多行上标准答案:D35、以下不合法的数值常量是〔A〕1e1〔B〕0xabcd〔C〕8.0E0.5〔D〕011标准答案:C36、以下关于C语言数据类型使用的表达中错误的选项是〔A〕假设只处理“真〞和“假〞两种逻辑值,应使用逻辑类型〔B〕假设要保存带有多位小数的数据,可使用双精度类型〔C〕整数类型表示的自然数是准确无误差的〔D〕假设要处理“人员信息〞等含有不同类型的相关数据,应自定义构造体类型标准答案:A37、设有定义intk=0;以下选项的四个表达式中与其他三个表达式的值不一样的是〔A〕++k〔B〕k++〔C〕k+1〔D〕k+=1标准答案:B38、以下表达中错误的选项是〔A〕C程序在运行过程中所有计算都以二进制方式进展〔B〕C程序在运行过程中所有计算都以十进制方式进展〔C〕C程序中字符变量存放的是字符的ASCII值〔D〕所有C程序都需要编译无误后才能运行标准答案:B39、以下关于C语言的表达中正确的选项是〔A〕C语言中的注释不可以夹在变量名或关键字的中间〔B〕C语言中的变量可以再使用之前的任何位置定义〔C〕在C-.word.zl. -.语言算数表达式的书写中,运算符两侧的运算数类型必须一致--4-〔D〕C语言的数值常量中夹带空格不影响常量值的正确表示标准答案:A40、以下不合法的字符常量是〔A〕‘18’〔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=1;以下选项中错误的赋值表达式是〔A〕a=(b=4)=3;〔B〕a=1+(b=c=4);〔C〕a=(b=4)+c;〔D〕a=b=c+1;标准答案: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;-.word.zl. -.那么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;那么以下选项中正确的表达式是〔A〕a=x<>y〔B〕a%(int)(x-y)〔C〕y=x+y=x〔D〕(a*y)%b标准答案:B51、有以下程序#includeMain()--5-{inta=0,b=0;/*给a赋值b=20;/*给b赋值*/printf(“a+b=%d 〞,a+b);/*输出计算结果*/}程序运行后的输出结果〔A〕出错〔B〕a+b=0〔C〕a+b=30〔D〕a+b=10标准答案:D52、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令,关于转换以下说法错误的选项是〔A〕一条C语句可能会被转换成零条机器指令〔B〕某种类型和格式的C语句被转换成机器指令的条数是固定的〔C〕一条C语句可能会被转换成多条机器指令〔D-.word.zl. -.〕一条C语句对应转换成一条机器指令标准答案:D53、关于C语言的符号常量,以下表达中正确的选项是〔A〕符号常量在整个程序中其中都不会被重新定义〔B〕符号常量的符号名是标识符,但必须大写〔C〕符号常量的符号名必须是常量〔D〕符号常量是指在程序过宏定义用一个符号名来代表一个常量标准答案:D54、假设有以下程序#includemain(){intb=10,a=-11;a%=b%=4;printf(“%d%d 〞,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(“%d,%d,%d 〞,a,b,c);}那么程序的输出结果是〔A〕0,4,0〔B〕0,4,4〔C〕1,4,4〔D〕1,4,1标准答案:-.word.zl. -.A56、假设有以下程序#includemain(){inta=0,b=0,c=0,d;c=(a+=b,,b+=a);/*第4行*/d=c;;/*第5行*/;/*第6行*/--6-printf(“%d,%d,%d 〞,a,b,c);/*第7行*/}编译时出现错误,你认为出错的是〔A〕第6行〔B〕第5行〔C〕第7行〔D〕第4行标准答案:D57、关于算法,以下表达中错误的选项是〔A〕一个算法对于某个输入的循环次数是可以事先估计出来的〔B〕同一个算法对于一样的输入必须得出一样的结果〔C〕某个算法可能会没有输入〔D〕任何算法都能转换成计算机高级语言的程序,并在有限时间运行完毕标准答案:D58、关于C语言的变量,以下表达中错误的选项是〔A〕由三条下划线构成的符号名是合法的变量名〔B〕所谓变量是指在程序运行过程中其值可以被改变的量〔C〕程序中用到的所有变量都必须先定义后才能使用〔D〕变量所占的存储单元地址可以随时改变标准答案:D59、假设有以下程序-.word.zl. -.#includemain(){inta=-11,b=10;a/=b/=4;printf(“%d%d 〞,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 〞,a,b,c);}那么程序的输出结果是〔A〕1,5,1〔B〕-1,4,-1〔C〕-1,4,4〔D〕1,5,5标准答案:D61、以下选项中不属于C语言标识符的是〔A〕关键字〔B〕预定义标识符〔C〕用户标识符〔D〕常量标准答案:D62、以下选项中不属于C语言程序运算符的是〔A〕&&〔B〕〔〕〔C〕sizeof〔D〕<>标准答案:D63、假设变量已正确定义并赋值,以下不能构成C语句的选项是〔A〕A=a+b;〔B〕B++;〔C〕A?a:b;〔D〕a=a+b标准答案:D64、假设有以下程序段doublex=5.16894;printf(“%f “,(int)(x*1000+0.5)/(double)1000);-.word.zl. -.那么程序段的输出结果是〔A〕5.169000〔B〕5.175000〔C〕5.170000〔D〕5.168000--7-标准答案: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、#includemain(){inta=3;printf(“%d 〞,a+=a-=a*a);}-.word.zl. -.程序运行后的输出结果是〔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类型数据占字节数为〔A〕12〔B〕8〔C〕4〔D〕16标准答案:B73、以下表达中正确的选项是〔A〕用户自定义标识符必须“见名知意〞,如果随意定义,那么会出编译错误〔B〕语言中的关键字不能作变量名,但可以作为函数名〔C〕标识符的长度不能任意长,最多只能包含16个字符〔D〕标识符总是有字母、数字和下划线组成,且第一个字符不得是数字--8-标准答案:D74、以下表达中正确的选项是〔A〕空语句就是指程序中的空行〔B〕花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的〔C〕复合语句在语法上包含多条语句,其中不能定义局部变量〔D〕当用scanf从键盘输入数据时,每行数据在没有按下回车键〔Enter键〕前,可以任意修改标准答案:D75、以下表达中正确的选项是〔A〕程序必须包含所有三种根本构造才能成为一种算法〔B〕如果算法非常复杂,那么需要使用三种根本构造之外的语句构造,才能准确表达〔C-.word.zl. -.〕只有简单算法才能在有限的操作步骤之后完毕〔D〕我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令标准答案:D76、以下表达中正确的选项是〔A〕在C语言程序设计中,所有函数必须保存在一个源文件中〔B〕构造化程序必须包含所有的三种根本构造,缺一不可〔C〕只要包含了三种根本构造的算法就是构造化程序〔D〕在算法设计时,可以把复杂任务分解成一些简单的子任务标准答案:D77、以下表达中正确的选项是〔A〕预定义的标识符是C语言关键字的一种,不能另作他用〔B〕只能在函数体定义函数,其他地方不允许定义变量〔C〕常量的类型不能从字面形式上区分,需要根据类型名来决定〔D〕整型常量和实型常量都是数值型常量标准答案:D78、以下表达中正确的选项是〔A〕八进制数的开头要使用英文字母o,否那么不能与十进制区分开〔B〕英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符〔C〕在C程序中的八进制和十进制,可以是否点数〔D〕整型变量可以分为int型、short型、long型、unsigned型四种标准答案:D79、以下表达中正确的选项是〔A〕C语言程序总是从main函数开场执行〔B〕C语言程序所调用的函数必须放在main函数的前面〔C〕C语言程序中main函数必须放在程序开场位置〔D〕C语言程序总是从最前面的函数开场执行标准答案:A80、C语言程序中,运算对象必须是整型数的运算符是〔A〕%〔B〕/〔C〕*〔D〕&&标准答案:A81、-.word.zl. -.#includemain(){intsum,pad,pAd;sum=pad=5;pAd=++sum,pAd++,++pad;printf(“%d 〞,pad);}程序的输出结果是〔A〕7〔B〕5〔C〕8〔D〕6标准答案:D--9-82、以下四个程序中,完全正确的选项是〔A〕#includemain();{/*/programming/*/printf("programming! ");}〔B〕#includemain(){/*programming*/printf("programming! ");}〔C〕#includemain(){/*/*programming*/*/printf("programming! ");}〔D〕includemain(){/*programming*/printf("programming! ");}-.word.zl. -.标准答案:B83、有以下程序#includemain(){inta=1,b=0;printf("%d,",b=a+b);printf("%d ",a=2*b);}程序运行后的输出结果是〔A〕1,0〔B〕0,0〔C〕1,2〔D〕3,2标准答案:C84、有以下程序#includemain(){chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();printf("%c%c%c%c ",a,b,c,d);}当执行程序时,按以下方式输入数据〔从第1列开场,代表回车,注意:回车也是一个字符〕1234那么输出结果是〔A〕12〔B〕123-.word.zl. -.〔C〕1234〔D〕1234标准答案:B85、有以下程序#includemain(){charc1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf("%c,%d ",c1,c2);}字母A的ASCII码为65,程序运行后的输出结果是〔A〕输出无定值〔B〕E,D〔C〕D,69〔D〕E,6810标准答案:D86、有以下程序#includemain(){inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}假设想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b那么正确的输入格式是(以下ㄩ代表空格,代表回车)-.word.zl. -.〔A〕12a34b〔B〕12ㄩa34ㄩb〔C〕12,a,34,b〔D〕12ㄩaㄩ34ㄩb标准答案: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);语句为变量a1和a2赋数值10和20,为变量c和c2赋字符X和Y,以下所示的输入形式正确的选项是〔A〕10□X<回车>20□Y<回车>〔B〕10□X□20□Y<回车>〔C〕10X<回车>20Y<回车>〔D〕10□X20□Y<回车>标准答案:C89、设有定义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-.word.zl. -.标准答案: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;11通过语句scanf(“%d;%d〞,&a,&b);能把整数3赋值给变量a,5赋值给变量b的输入数据是〔A〕35〔B〕35〔C〕3,5〔D〕3;5标准答案:D92、阅读以下程序#includemain(){intcase;floatprintF;printf(“请输入2个数:〞);scanf(“%d%f〞,&case,&printF);printf(“%d%f 〞,case,printF);}该程序在编译时产生错误,其出错原因是〔A〕定义语句出错,case是关键字,不能用作用户自定义标识符〔B〕定义语句出错,scanf不能作为输入函数使用〔C〕定义语句出错,printf不能输出擦色的值〔D〕定义语句出错,printF不能用作用户自定义标识符标准答案:-.word.zl. -.A93、假设有定义inta;floatb;doublec;程序运行时输入:345<回车>能把3输入给变量a、4输入给变量b、5输入给变量c的语句是〔A〕scanf(“%d%f%f〞,&a,&b,&c);〔B〕scanf(“%d%lf%lf〞,&a,&b,&c);〔C〕scanf(“%lf%lf%lf〞,&a,&b,&c);〔D〕scanf(“%d%f%lf〞,&a,&b,&c);标准答案:D94、设有定义doublea,b,c;假设要求通过分别给a、b、c输入1、2、3,输入形式如下〔注:此处□代表一个空格〕那么能进展正确输入的语句是〔A〕scanf(“%f%f%f〞,&a,&b,&c);〔B〕scanf(“%lf%lf%lf〞,a,b,c);〔C〕scanf(“%5.11lf%5.11lf%5.11lf〞,&a,&b,&c);〔D〕scanf(“%lf%lf%lf〞,&a,&b,&c);标准答案:D95、以下表达中正确的选项是〔A〕scanf和printf是C语言提供的输入和输出语句〔B〕由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定〔C〕由printf输出的数据都隐含左对齐〔D〕赋值语句是一种执行语句,必须放在函数的可执行局部标准答案:D96、以下表达中正确的选项是〔A〕在使用scanf-.word.zl. -.函数输入整型或实数时,输入数据之间只能用空格来分隔12〔B〕在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上〔C〕使用printf函数无法输入百分号%〔D〕在printf函数中,各个输出项只能是变量标准答案:B97、以下表达中正确的选项是〔A〕复合语句也被称为语句块,它至少要包含两条语句〔B〕在scanf函数的格式中,必须有与输出项一一对应的格式转换说明〔C〕scanf函数中的字符串,是提示程序员的。输入数据时不必管它〔D〕只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度标准答案:B13141516116、假设有定义intx,y;并已正确给变量赋值,那么以下选项中与表达式〔x-y〕?〔x++〕:〔y++〕中条件表达式〔x-y〕等价的是A〕〔x-y<0〕||x-y>0)B)(x-y==0)C)〔x-y<0〕D)(x-y>0)标准答案:A17181920212223242526272829303132333435363738200、以下表达中正确的选项是A〕if语句只能嵌套一层B〕不能在else子句中在嵌套if语句C〕改变if-else语句的缩进格式,会改变程序的执行流程D〕if子句和else子句中可以是任意合法的C语句标准答案:D201、以下表达中正确的选项是A〕对于“for(表达式1;表达式2;表达式3)循环体〞,只在个别情况下才能换成whileB)〕对于“for(表达式1;表达式2;表达式3)循环体〞首先要计算表达式2的值,以便决定C〕如果根据算法血药使用无限循环〔即通常说的“死循环〞〕,那么只能使用while语句D〕只要适当地修改代码,就可以将do-while与while相互转换标准答案:D202、以下表达中正确的选项是A〕在while语句和do-while语句中无法使用continue语句B〕当break出现在循环体中的switch语句体时,其作用是跳出该switch-.word.zl. -.语句体,并终止循环C〕continue语句的作用是:在执行完本次循环体中剩余语句后,终止循环D〕只能在循环体和switch语句体使用break语句标准答案:D203、以下表达中正确的选项是A〕‘〞’是非法的B〕’’表示字符0C〕〞a〞表示一个字符常量D〕表达式:’a’>’b’的结果是“假〞39标准答案:D204、以下表达中正确的选项是A〕字符常量可以参与任何整数运算B〕转义字符用符号开头C〕字符变量在定义时不能赋初值D〕同一英文字符的大写和小写形式代表的是同一字符常量标准答案:A205、假设有定义语句:chara=’82’;那么变量aA〕包含3个字符B〕包含2个字符C〕包含1个字符D〕说明不合法标准答案:D206、有以下程序#includemain(){charc1=’A’,c2=’Y’;printf(〞%d,%d 〞,c1,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标准答案:-.word.zl. -.A209、有以下程序#includemain(){intx;for(x=3;x<6;x++)printf((x%2)?(“*%d〞):(“#%d〞),x);printf(“ 〞);}程序输出结果是A〕#3*4#5B)*3#4#5C)*3*4#5D)*3#4*5标准答案:D210、有以下程序#includemain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b=b+3;continue;}b=b+5;}printf(“%d 〞,a);}40程序输出结果是A)10B)8C)7D)9标准答案:B211、C语言中char类型数据所占字节数为A〕3B〕4C〕2D〕1-.word.zl. -.标准答案:D212、以下关系表达式中,结果为“假〞的是A〕〔3<4〕==1B〕3<=4C〕〔3+4〕>6D)〔3!=4〕>2标准答案:D213、假设以下选项中的变量a,b,y均已正确定义并赋值,那么语确的switch语句是A〕switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}B〕switcha*b{case10:y=a+b;default:y=a-b;}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;}-.word.zl. -.标准答案:A214、有以下程序#includemain(){inta=-2,b=0;while(a++&&++b);printf(“%d,,%d 〞,a,b);}程序输出结果是A)1,3B〕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=1,m;m=f(f(f(n)));-.word.zl. -.printf("%d ",m);}intf(intx){returnx*2;}程序运行后的输出结果是________。41A〕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;标准答案:D220、以下数组定义中错误的选项是________。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}};标准答案:D221、有以下程序voidfun(inta[],intn){inti,t;for(i=0;iintf(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);-.word.zl. -.42}main(){inta=4,b=5,c=6;printf("%d ",fun(2*a,fun(b,c)));}程序运行后的输出结果是A〕6B〕8C〕3D〕12标准答案:A224、有以下程序#includeintadd(inta,intb){return(a+b);}main(){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);printf("outputn:");printf("%d ",p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的选项是A〕printf("%d ",p);B〕scanf("%d",&p)C〕*p=&n;D〕intn,*p=NULL;标准答案:-.word.zl. -.D226、以下定义数组的语句中,正确的选项是A〕#defineN10intx[N];B〕intx[0..10];C〕intN=10;intx[N];D〕intx[];标准答案:A227、有以下程序#includemain(){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;}for(i=0;i<4;i++)printf("%d",a[i]);printf(" ");}--43-程序运行后的输出结果是A〕2050B〕0304C〕3344D〕3040标准答案:-.word.zl. -.D228、有以下程序#includemain(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf("%d ",t);}程序运行后的输出结果是A〕3B〕1C〕9D〕4标准答案:D229、有以下程序#includeintf(intx,inty){return(y-x)*x;}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d ",d);}程序运行后的输出结果是A)9B)7C)8D)10标准答案:A230、假设有定义语句:doublea,*p=&a;以下表达中错误的选项是A〕定义语句中的*号是一个说明符B〕定义语句中的*号是一个间址运算符C〕定义语句中,*p=&a把变量a的地址作为初值赋给指针变量pD〕定义语句中的p只能存放double类型变量的地址标准答案:-.word.zl. -.B231、假设有定义语句:doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是A〕scanf("%lf%lf",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]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);--44-printf(" ");}程序的运行结果是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,标准答案:-.word.zl. -.B234、有以下程序main(){intx[3][2]={0},i;for(i=0;i<3;i++)scanf("%d",x[i]);printf("%3d%3d%3d ",x[0][0],x[0][1],x[1][0]);}假设运行时输入:246<回车>,那么输出结果为A〕246B〕240C〕200D〕204标准答案:D235、有以下程序doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf("3.0f ",a);}doublef(doublex){returnx*x+1;}程序的运行结果是A)500B)1404C)401D)503标准答案:D236、假设有以下函数首部: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、有以下程序-.word.zl. -.main(){doublem=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d ",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 ",s);}--45-程序的运行结果是A)20B〕25C〕36D〕45240、有以下程序#include#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;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(“%d 〞,fun(a,4.0));}程序的运行结果是A〕4B〕34C〕31D〕32标准答案:C247、以下表达中错误的选项是A〕用户定义的函数中假设没有return-.word.zl. -.语句,那么应当定义函数为void类型B〕函数的return语句中可以没有表达式C〕用户定义的函数中可以没有return语句D〕用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值标准答案:D248、有以下程序voidfun(char*c,intd){*c=*c+1;d=d+1;printf(“%c,%c,〞,*c,d);}main(){charb=’a’,a=’A’;fun(&b,a);printf(“%c,%c 〞,b,a);}程序的运行结果是A〕a,B,B,aB)b,B,b,AC)a,B,a,BD)b,B,B,A标准答案:B249、以下选项中,能正确定义数组的语句是A〕intnum[0...2021];B)intnum[];C)intN=2021;intnum[N];C)#defineN2021;intnum[N];标准答案:D250、以下函数实现每行8个输出w所指数组中的数据voidfun(int*w,intn){int-.word.zl. -.;for(i=0;i=’a’&&*c<=’z’)*c=*c-(‘a’-‘A’);c++;}}main(){chars[81];gets(s);fun(s);puts(s);}当执行程序时从键盘上输入HelloBeijing<回车>,那么程序的输出结果是A〕HELLOBEIJING-.word.zl. -.B〕hellobeijingC)HelloBeijingD)hElloBeijing标准答案:A252、有以下程序main(){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(“%d,〞,a[i][i]);}程序的运行结果是A)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,-.word.zl. -.char);pf=&fun;C)void*pf();*pf=fun;D〕viod(*pf)(int,char*);pf=fun;标准答案:D255假设要求定义具有10个int型元素的一维数组a,那么以下定义语句中错误的选项是--48-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(“%d〞,t[2-i][i]);}程序输出结果是A〕369B〕751C〕753D〕357标准答案:DA〕0987651234B〕0987654321C〕4321098765D〕5678901234标准答案:D--49-A〕2B〕4C〕1D〕3标准答案:DA〕1,4B〕1,2C〕2,3D〕1,3标准答案:D262、假设有定义语句:inta[2][3],*p[3];那么以下语句中正确的选项是A〕p[0]=&a[1][2];B)p[1]=&a;C)p=a;D)p[0]=a;-.word.zl. -.标准答案:AA〕1,2,3,4,5,6,7,8,9,10,B〕3,4,5,6,7,2,1,8,9,10,--50-C)19,9,8,7,6,5,4,3,2,1,D)5,4,3,2,1,6,7,8,9,10,标准答案:BA〕1123B〕4332C〕1234D〕2344标准答案:BA〕5.00B〕0.0C〕5.21D〕5标准答案:AA〕3,5,5,3B〕5,3,5,3C〕5,3,3,5D〕3,5,3,5--51-标准答案:DA〕1,2,6,8,10,12,14,16,9,10,B〕1,2,3,4,5,6,7,8,9,10,C〕1,2,3,4,10,12,14,16,9,10,D〕1,2,6,8,10,12,7,8,9,10,标准答案:DA〕9B〕5C〕61490D〕61标准答案:D272、假设有定义语句:intyear=2021,*p=&year;以下不能使变量year中的值增加至2021的语句是--52-A〕++〔*p〕B)*p+=1C〕〔*p〕++D)*p++;标准答案:D273、假设有定义语句:inta,b,c,*p=&c;接着执行以下选项中的语句,那么能正确执行的语句是A〕scanf(“%d〞,&p);B〕scanf(“%d〞,a,b,c);C〕scanf(“%d%d%d〞,a,b,c);D〕scanf(“%d〞,p);--53-A)ABEJB)ABCDC)abcdD)abej-.word.zl. -.标准答案:D278、假设有以下程序〔A〕6,6,6〔B〕6,3,6〔C〕4,3,4〔D〕4,3,3标准答案:D279、假设有以下程序那么程序的输出结果是〔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假设有以下程序--54-那么程序输出结果是〔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假设有以下程序那么程序的输出结果是〔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、假设有以下程序那么程序的输出结果是〔A〕00000〔B〕01496〔C〕014916〔D〕01234标准答案:B284、假设有以下程序那么程序的输出结果是〔A〕9,4,9〔B〕6,12,12〔C〕6,4,4〔D〕6,4,6-.word.zl. -.标准答案:D285、假设有以下程序那么程序的输出结果是--55-〔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;}main(){inti=3,j=5,*p=&I,*q=&j,*r;r=f(p,q);printf(“%d,%d,%d,%d 〞,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标准答案:D287、有以下程序#include#defineN4voidfun(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;}}--.word.zl. -.-56-main(){intc[10]={10,9,8,7,6,5,4,3,2,1},i;fun(c,10);for(i=0;i<10;i++)printf(“%d〞,c[i]);printf(“ 〞);}那么程序的输出结果是〔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、有以下程序#includeintfuna(inta,intb){returna+b;}main(){intx=6,y=7,z=8,r;r=fun(fun(x,y),z--);printf(“%d 〞,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、有以下程序-.word.zl. -.#includemain(){inty=1,x,a[6]={2,4,6,8,10},*p;p=&a[1];for(x=0;x<3;x++)y=y+*(p+x);printf(“%d 〞,y);}程序运行后的输出结果是〔A〕19〔B〕18〔C〕20〔D〕17标准答案:A292、有以下程序#includevoidfun(int*s,intn,int*k){inti;for(i=0,*k=i;is[*k]);}main(){inta[5]={1,6,2,8,0},k;fun(a,5,&k);printf(“%d%d 〞,k,a[k]);}在横线处应填入的容是〔A〕k=i-s〔B〕*k=i-s〔C〕k=i〔D〕*k=i--57-标准答案:D293、有以下程序-.word.zl. -.#includemain(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]=a,i,j,k=0;for(i=0;i<3;i++)for(j=0;j<2;j++)k=k+*(*(p+i)+j);printf(“%d 〞,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((*t)(x,y));}main(){intx;x=sss(funa,9,3);x+=sss(funb,8,3);printf(“%d 〞,x);}程序运行后的输出结果是〔A〕17〔B〕22〔C〕24〔D〕23标准答案:A295、有以下程序#includevoidfun(inta,int-.word.zl. -.b,intc){a=b;b=c;c=a;}main(){inta=10,b=20,c=30;fun(a,b,c);printf(“%d,%d,%d 〞,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 〞,s-p);}程序运行后的输出结果是〔A〕5〔B〕60〔C〕6〔D〕50标准答案:A297、有以下程序#includemain()--58-{inta[3]={0},i,j,k=2;for(i=0;imain(){inta[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf(“%d〞,*(p++));printf(“%d 〞,**k);}程序运行后的输出结果是〔A〕46〔B〕44〔C〕22〔D〕24标准答案:D299、有以下程序#includemain(){intaa[3][3]={{2},{3},{6}},i,*p=&a[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;printf(“%d〞,*p);}}程序运行后的输出结果是〔A〕46〔B〕43〔C〕26〔D〕23标准答案:D300、以下函数返回数组中最大值的下标#include-.word.zl. -.intfun(int*s,intn){inti,k;for〔i=0,k=i;is[k])___________;return(k);}在横线处应填入的容是A〕k=IB++kCk++Di=k答案A301以下表达中正确的选项是A实用的C语言源程序总是有一个或多个函数组成B不同函数的形式参数不能使用一样名称的标识符C用户自定义的函数只能调用库函数D在C语言的函数部,可以定义局部嵌套函数答案:A302以下表达中正确的选项是Aint*p1,int**p2,int*p3;都是合法的定义指针变量语句--59-B语句p==NULL;与p==是等价的语句Cp==NULL;执行后,指针p指向地址为0的存储单元D指针变量只能通过求指针运算符〔&〕获得地址值答案:A303以下表达中正确的选项是A即使不进展强制类型转换,在进展指针赋值运算时,指针变量的基类型也可以不同B指针变量之间不能用关系运算符进展比拟C设置p是一个指针变量,那么语句p==0;是非法的,应使用p==NULL;D如果企图通过一个空指针来访问一个存储单元,将会得到一个错误信息答案:D304以下表达中正确的选项是A在引用数据元素时,下标表达式可以使用浮点数B数组说明符的一对方括号只能使用整型变量,不能使用表达式C一条语句定义一个数组D每一数组包含具有同一类型的变量,这些变量在存中占连续的存储单元答案:D305以下表达中正确的选项是A数组下标的下限由数组中第1个被赋值元素的位置决定B数组下标的下限是-.word.zl. -.1C数组元素的下标下限由第一个非零元素的位置决定Dcharc1,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,那么p+1将指针p移动8个字节B函数的形参类型不能使指针类型C基类型不同的指针变量可以相互混用D函数的类型不能是指针类型答案:A310如果定义floata[10],x;那么以下表达中正确的选项是--60-A三个表达式a[1]、*〔a+1〕和*&a[1]表示的意思完全不同B表达式*&a[1]是非法的,应该写成*〔&a[1]〕C表达式a+1是非法的D表达式a=&x是非法的答案:D311int*func〔inta[10],intn〕;那么以下表达中正确的选项是A说明中的a[10]改为a[]或*a效果完全一样Bfunc函数中不能对a进展移动指针〔如a++〕的操作C只有指向10个整数存单元的指针,才能作为实参传递给形参D形参a对应的实参只能是数组名答案:-.word.zl. -.A312以下表达中正确的选项是A语句inta[][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(“%d%d 〞,c,d);}程序的输出结果是A71B00C34D43答案:A314有以下程序#includevoidfun(int*p,int-.word.zl. -.*q){t=*p;*p=*q;*q=t;*q=*p;}main(){inta=0,b=3;fun(&a,&b);printf(“%d%d〞,a,b);}程序的输出结果是A90B09C00D99答案:D315有以下程序#includemain(){inta[]={2,4,6,8,10},x*P,y=1;--61-p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf(“%d 〞,y);}程序的输出结果是A13B15C11D19答案:D316有以下程序#includemain(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)print(“%d〞,x[i][2-i]);printf(“ 〞);}-.word.zl. -.程序的输出结果是A369B147C150D357答案:D317有以下程序#includemain(){inta[]={2,4,6,8},*p=a,i;for(i=0;i<4;i++)a[i]=*p++;printf(“%d 〞,a[2]);}程序的输出结果是A8B2C4D6答案:D318有以下程序#includecharfun(char*c){if(*c<=’Z’&&*c>=’A’)*c=’A’-‘a’;returm*c;}main(){char-.word.zl. -.s[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);p++;printf(‘ ’);}}假设从键盘输入OPENTHEDOOR<回车>,程序的输出结果是--62-AOPENTHEDOORBOpenTheDoorCoPENtHEdOORDopenthedoor答案:D319有以下程序#includemain(){chara=’H’;a=(a>=’A’&&a<=’Z’)?(a+32):a;printf(“%C 〞,a);}程序的输出结果是AHBACaDh答案:D320有以下程序#includeintf(int-.word.zl. -.x);main(){inta,b=0;for(a=0;a<3;a+=1){b+=f(a);putchar(‘A’+b);}}intf(intx){returnx*x+1;}程序的输出结果是ABDIBBCFCABEDBCD答案:A321设有定义:intx[2][3];那么以下关于二维数组x的表达错误的选项是Ax[0]和x[1]是数组名,分别代表一个地址常量B元素x[0]可以看作是由三个整形元素组成的一位数组C数组x可以看作是由x[0]和x[1]两个元素组成的一位数组D可以用x[0]=0;的形式为数组所有元素赋初值0答案:D322设p是指针变量,语句p=NULL;等价于Ap=0Bp=’0’Cp=〞〞Dp=’’答案:A323有以下程序#includemain(){inta[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;P++;}printf(“%d 〞-.word.zl. -.,a[2]);}程序的输出结果是A20B10C40D30--63-答案:D324有以下程序#include#defineN3viodfun〔inta[][N],intb[]〕{inti,j;for(i=0;i#includemain(){charstr[][20]={“One*world〞,〞One*Dream!〞},*p=str[1];printf(“%d,〞,strlen(p));printf(“%s 〞,p);}程序的输出结果是A9,One*Dream!B9,One*worldC10,One*worldD10,One*Dream!答案:D328有以下程序#includemain()--64-{chars[]=〞012xy8s34f4w2〞-.word.zl. -.;intI,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’0’&&s[i]<=’9’)n++;printf〔“%d “,n〕;}程序的输出结果是A8B7C3D0答案:C329有以下程序#includefun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printf(“%d,〞,k);k=fun(j,m);printf(“%d 〞,k);}程序的输出结果是A11,5B5,11C11,11D5,5答案:B330在C语言中,只有在使用时才占用存单元的变量,其存储类型是Aauto和staticBstatic和registerCextern和registerDauto和register答案:-.word.zl. -.D331以下语句中错误的选项是Achar*ss[6];ss[1]=〞right?〞;Bchar*ss[]={“right?〞};Ccharss[6][20];ss[1]=〞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;}main(){char*s1=〞abc〞,*s2=〞123〞;swap(s1,s2);printf(“%s,%s 〞,s1,s2);}程序执行后的输出结果是A321,cbaBabc,123C123,abcD1bc,a23答案:D334、有以下函数intfun〔char*x,char*y〕--65-{intn=0;while〔〔*x==*y〕&&*x!=’’〕{x++;y++;n++;}returnn;}函数的功能是A统计x和y所指字符串中一样的字符个数B将y-.word.zl. -.所指字符串赋给想、所指存储空间C统计x和y所指字符串中最前面连续一样的字符个数D查找x和y所指字符串中是否有’’答案:C--66---67---68---69-350,假设有定义语句:char*s1=〞OK〞,*s2=〞ok〞;以下选项中,能够输出〞OK〞的语句是Aif(strcmp(s1,s2)==1)puts(s1);Bif(strcmp(s1,s2)!=1)puts(s2);Cif(strcmp(s1,s2)==0)puts(s1);Dif(strcmp(s1,s2)!=0)puts(s1);标准答案:D351,有以下程序#includevoidfun〔char**p〕{++pprintf〔〞%s\n〞,*p〕;}main(){char*a[]={“Morning〞,〞Afternoon〞,〞Evening〞,〞Night〞}-.word.zl. -.;fun(a);}程序的运行结果是A)AfternoonB)EveningC〕MorningD〕Afternoon标准答案:D352,有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母--70-#include#includevoidfun(char*p){inti=0;while(p[i]){if(p[i]==’‘&&islower(p[i-1]))p[i-1]=p[i-1]-‘a’+’A’;i++;}}main(){chars1[100]=〞abcdEFG!〞;fun(s1);printf(“%s 〞-.word.zl. -.,s1);}程序运行后的输出结果是AAbCdEFg!BabcdEFg!CaBcDEFG!DabcdEFG!标准答案:C353,有以下程序#includeIntf(intx){inty;if(x==0||x==1)return(3);y=x*x–f(x-2);returny;}main(){intz;z=f(3);printf(“%d 〞,z);}程序的运行结果是A9B8C0D6标准答案:D354,有以下程序-.word.zl. -.#includeintfun(intx[],intn){staticintsum=o,i;for(i=0;i#includemain(){chara[20]=〞ABCDEFG〞,B[]=〞IJK〞;strcat(a,b);printf(“%s 〞,a)}-.word.zl. -.程序运行后的输出结果是AABCDIJKBABCDEFGIJKCEFGIJKDIJK标准答案A356,下程序段charname[20];intnumscanf(“name=%snum=%d〞,name&num);当执行上述程序段,并从键盘输入:name=Lilinum=1001<回车>后,name的值为ALiliBname=Lilinum=1001Cname=LiliDLilinum=标准答案A357,有以下程序#includename(){charch[]=〞uvwxyz〞,*pc;pc=ch;peintf(“%c 〞,*(pc+5));}程序运行后的输出结果是AzB字符y的地址C元素ch[5]的地址D0标准答案A358,有以下程序#includemain(){chars[]={“012xy〞}-.word.zl. -.;inti,n=0;for(i=0;s[i]!=0;i++);if(s[i]>=’a’&&s[i]<=’z’);printf(“%d 〞,n);程序运行后的输出结果是A2B0C3D5--72-标准答案A359,有以下程序#includeintfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf(“%d〞,&n);x=fun(x);printf(“%d 〞,x);{执行程序时,给变量x输入10,程序的输出结果是A65B54C45D55标准答案-.word.zl. -.D360,有以下程序#includeintf(intm){staticintn==0;n+=m;returnn;}main(){intn=0;printf(“%d〞,f(++n));printf(“%d 〞,f(++n));}程序运行后的输出结果是A1,1B3,3C2,3D1,2标准答案D361,以下选项中正确的语句组是Achar*s;s={“BOOK!〞};Bchars[];s=“BOOK!〞;Cchar*s;s=“BOOK!〞;Dchars[10];s=“BOOK!〞;标准答案C362,假设是以下定义和语句#includechars1[10]=〞abcd!〞,*s2=〞 123\〞;printf(“%d%d 〞,strlen(s1),strlen(s2));那么输出结果是A107B55C58D105标准答案B363,有以下程序-.word.zl. -.#includevoidfun1(char*p)--73-{char*pq=pwhile(*q!=‘、0’){〔*q〕++;q++;}}main(){chara[]={“Program〞},*p;p=&a[3];fun1(p);printf(“%s 〞,a);}程序执行后的输出结果是AProgsbnBProhsbnCProgramDPrphsbn标准答案B364,有以下函数intaaa(shar*s){-.word.zl. -.char*t=s;while(*t++);t--;return(t-s);}以下关于aaa函数功能表达正确的选项是A将串s复制到串tB求字符串s所占字节数C求字符串s的长度D比拟两个串的大小标准答案C365,有以下程序#includeintfun(inta,intb);{if(b==0)returna;elsereturn(fun(--a,--b));}main(){printf(“%d 〞,fun(4,2));}程序的运行结果是A1B4C2D3标准答案C366,以下选项中表达错误的选项是AC程序函数中定义的自动变量,系统不自动赋确定的初值BC程序函数的形参不可以说明为static型变量CC程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值D在C程序的同一函数中,各复合语句可以定义变量,其作用域仅限本复合语句标准答案C367,以下能正确定义字符串的语句是Acharstr[]={‘64’};Bcharstr=〞x43〞;--74-Ccharstr[]=〞〞;Dcharstr=’‘;标准答案C368,以下关于字符串的表达中正确的选项是A-.word.zl. -.两个字符串中的字符个数一样时才能进展字符串大小的比拟BC语言中有字符串类型的常量和变量C空串比空格打头的字符串小D可以用关系运算符对字符串的大小进展比拟标准答案C369,有以下程序#includevoidfun(char*a,char*b){while(*a==’*’)a++;while(*b=*a){b++;a++:}}main(){char*s=〞*****a*b****〞,t[80];fun(s,t);puts(t);}程序的运行结果是Aa*b****BabC*****a*bDa*b标准答案A370,以下函数的功能是voidfun(char*a,char*b){while(*b=*a)!=’’){a++;b++;}}A将a所指字符串和b所指字符串进展比拟B检查a和b所指字符串中是否有’’C使指针b指向a所指字符串D将a所指字符串赋给a所指空间标准答案D371,有以下程序#includeintfun(int-.word.zl. -.x){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf(“%d 〞,fun(7));}执行后的输出结果是A3B0C7D2标准答案D372,有以下程序#include--75-intfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=2;i++)s=fun();printf(“%d 〞-.word.zl. -.,s);}程序运行后的输出结果A1B4C8D0标准答案B373,假设要求从键盘读入含有空格字符的字符串,应该使用函数Agetchar()Bget()Cscanf()Dgets()标准答案D374,设有如下程序段#includechars[20]=〞Beijing〞,*p;p=s;那么执行p=s;语句后,以下表达正确的选项是A数组s中的容和指针变量p中的容一样Bs数组中元素的个数和p所指字符串长度相等Cs和p都是指针变量D可以用*p表示s[0]标准答案D375,有以下程序#includemain(){chars[]=〞abcde〞;s+=2;printf(“%d 〞,s[0]);}执行后的结果是A输出字符c的ASCII码B输出字符a的ASCII码C输出字符cD程序出错标准答案D376,有以下程序-.word.zl. -.#include#includevoidfun(char*s[],intn){char*t;inti,j;for(i=0;istrlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;}}main(){char*ss[]={“bcc〞,〞bbcc〞,〞xy〞,〞aaaacc〞,〞aabcc〞};fun(ss,5);printf(“%s,%s 〞,ss[0],ss[4]);}程序的运行结果是--76-Aaaaacc,xyBbcc,aabccCaabcc,bccDxy,aaaacc标准答案D377,有以下程序#includeinta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t+=a++;}else{inta=7;t+=a++;}returnt+-.word.zl. -.a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf(“%d 〞,s);}程序运行后的输出结果是A32B36C28D24标准答案C378,有以下程序#includeintf(intn){intt=0;staticinta=5;if(n%2){inta=6;t+=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf(“%d 〞,s);}程序运行后的输出结果是A32B36C28D24标准答案D379,以下正确的字符串常量是A01ympicGamesB“\〞C‘abc’D““标准答案-.word.zl. -.D380,以下选项中,能够满足“只要字符串s1等于字符串s2,那么执行STS〞要求的是Aif(strcmp(s2,s1)==0)ST;Bif(strcpy(s2,s1)==0)ST;Cif(s1==s2)ST;Dif(s1-s2==0)ST;标准答案A381,有以下程序#includeintfun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][0]==’T’)n++;returnn;--77-}main(){charstr[][10]={“Mon〞,〞Tue〞,〞Wed〞,〞Thu〞,〞Fri〞,〞Sat〞,〞Sun〞};printf(“%d 〞,fun(str));}程序执行后的输出结果是A0B2C3D1标准答案B382有以下程序#includevoidfun(char*t,char*s){while(*t!=0)-.word.zl. -.t++;While((*t++=*s++)!=0);}main(){charss[10=〞acc〞,aa[10]=〞bbxxyy〞;fun(ss,aa);printf(“%s,%s 〞,ss,aa);}程序的运行结果是Aacc,bbxxyyBaccxyy,bbxxyyCaccxxyy,bbxxyyDaccbbxxyy,bbxxyy标准答案D383,有以下程序#include#includevoidfun(char*w,intm){chars,*p1,*p2;p=w;p2=w+m-1;while(p1intb=2;intfun(int*k){b=*k+b;return(b);}main(){inta[10]={1,2,3,4,5,6,7,8},i;for(i=2;i<4;i++){b=fun(&a[i]+b;printf(“%d〞,b);}printf(“ 〞);--78-}程序运行后的输出结果是A1028B1016C810D1012标准答案A385,假设有以下程序#includemain(){inti,j=0;chara[]=〞Howareyou!〞;for(i=0;a[i];i++)if(a[i]!=‘‘)a[j++]=a[i];a[j]=’’;printf(‘%s 〞,a);}-.word.zl. -.那么程序的输出结果是AHay!BHowareyou!CHowareyouDHowareyou!标准答案D386,如有以下程序#includechar*a=〞you〞;charb[]=〞WeleyoutoChina!〞;main(){inti,j=0;char*p;for(i=0;b[i]!=‘’;i++){if(*a==b[i]){p=a;for(j=i;*p!=‘’;i++){if(*p!=b[j])break;P++;}if(*p==‘’)break;}}Printf(“%s〞,&b[i]);}那么输出结果是AChina!BmeyoutoChina!CtoChina!DyoutoChina!-.word.zl. -.标准答案D387,假设有以下程序#includemain(){chara[20],b[]=〞Theskyisblue.〞;inti;for(i=0;i<7;i++)scanf(“%c〞,&b[i]);gets(a);printf(“%s%s 〞,a,b);}执行时假设输入:〔其中表示回车符〕Figflowerisred.那么输出结果是--79-Awerisred.figfloisblue.BFigflowerisred.Theskyisblue.Cwerisred,FigfloDwerisred.Theskyisblue.标准答案A388,假设有以下程序#includemain(){charw[20],a[5][10]={〞abcdef〞,〞ghijkl〞,〞mnopq〞,〞rstuv〞,〞wxyz〞};intp[6][2]={{0,1},{1,5},{0,0},{0,2},{1,4},{4,4}},i;for(i=0;i<6;i++)w[i]=a[p[i][0]][p[i][i]];puts(w);}那么程序的输出结果是AblackBcatisCckbdlDababj标准答案A389,假设有以下程序-.word.zl. -.#includevoidf(intx){if(x>=10){printf(“%d-〞,x%10);f(x/10);elseprintf(“%d〞,x);}main(){intz=123456;f(z);}那么程序的输出结果是A6-5-4-3-2-1B1-2-3-4-5-6-C6-5-4-3-2-1-D1-2-3-4-5-6标准答案A390假设有以下程序#includeinta=2;intf(intm){staticintn;n=0;n++;a++;returnn+m+a;}main(){int-.word.zl. -.k;for(k=0;k<4;k++)printf(“%d,〞,f(k));}那么程序输出结果是A4,7,10,13,B4,6,8,10,C3,5,7,9,D4,5,6,7,标准答案B391,假设有以下程序#includemain(){intI,j=0;chara[]=〞Howareyou!〞,b[10];--80-for(i=0;a[i];i++)if(a[i]==‘‘)b[j++]=a[i+];b[j]=‘’;printf(“%s 〞,b);}那么程序的输出结果是AHay!BHowareyou!CHowareyouDay标准答案D392,假设有以下程序#includechar*a=〞you〞,b[]=〞wele#you#to#China!〞;main(){inti,j=0;char*p;for(i=0;b[i]!=‘’;i++){if(*a==b[i]){-.word.zl. -.p=&b[i];for(j=0;a[j]!=‘’;j++){if(a[j]!=*p)break;p++;}if(a[j]==‘’)break;}printf(“%s 〞,p);}}那么程序的输出结果是A#you#to#China!Bme#you#to#China!C#China!D#to#China!标准答案D393,假设有以下程序#includemain(){chara[20],b[]=〞Theskyisblue.〞;inti;for(i=0;i<10;i++)scanf(“%c〞,&a[i]);a[i]=‘’;gets(b);printf(“%s%s 〞,a,b);}执行时假设输入:Figflowerisred.<回车>那么输出结果是AFigflowerisred.isblue.BFig-.word.zl. -.flowerisCFigflowerisred.DFigflowerisred.标准答案D394,假设有以下程序#includemain(){charw[20]=〞dogs〞,a[5][10]={〞abcdef〞,〞ghijkl〞,〞mnopq〞,〞rstuv〞,〞wxyz.〞};inti,j,k;for(i=0;w[i];i++)--81-{for(j=0;j<5;j++){for(k=0;a[j][k];k++)if(w[i]==a[j][k])break;if(w[i]==a[j][k])break;}Printf(“%d,%d,〞mj,k);}}那么程序的输出结果是A6,7,6,7,6,7,6,7,B0,3,2,2,1,0,3,1,C5,6,5,6,5,6,5,6,D1,4,3,3,2,1,4,2,标准答案B395假设有以下程序#includeIntf(inta[],int-.word.zl. -.n){if(n>1){intt;t=f(a,n-1);returnt>a[n-1]?t:a[n-1];}elsereturna[0]}main(){inta[]={8,2,9,1,3,6,4,7,5};Printf(“%d 〞,f(a,9));}那么程序的输出结果是A5B1C8D9标准答案D--82-400〕以下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;ifun(inta,intb){intstaticm=0,i=2;i=i+m+1;m=i+a+b;returnm;}main(){-.word.zl. -.intk=4,m=1,p;p=fun(k,m);printf(“%d,〞,p);p=fun(k,m);printf(“%d 〞,p);}程序运行后的输出结果是A)8,8B)8,17C)7,17D)7,16标准答案:B403)有以下程序#includeintfun(chars[]){char*p=s;while(*p!=0)p++;return(p-s);}main(){printf(“%d 〞,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[0]标准答案:C405)有以下程序-.word.zl. -.#include#include--84-voidfun(char*s){chara[10];strcpy(a,〞STRING〞);s=a;}main(){char*p=〞PROGRAM〞;fun(p);printf(“%s 〞,p);}程序运行后的输出结果是〔此处代表空格〕A〕STRINGB〕STRINGC〕STRINGD〕PROGRAM标准答案:D406)有以下程序#includevoidfun(intn,int*s){intf;if(n==1)*s-.word.zl. -.=n+1;else{fun(n-1,&f);*s=f;}}main(){intx=0;fun(4,&x);printf(“%d 〞,x);}程序运行后的输出结果是A〕3B〕2C〕1D〕4标准答案:B407〕有以下程序#includemain(){charc[2][5]={“6938〞,〞8254〞},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=c[i];for(-.word.zl. -.i=0;i<2;i++)for(j=0;p[i][j]>0;j+=2)s=10*s+p[i][j]-‘0’;--85-printf(“%d 〞,s);}程序运行后的输出结果是A〕9284B〕6982C〕9824D〕6385标准答案:D408〕有以下程序#includevoidfun(int*s){staticintj=0;dos[j]+=s[j+1];while(++j<2);}main(){inti,a[10]={1,2,3,4,5};for(i=1;i<3;i++)fun(a);for(i=1;i<5;i++)printf(“%d〞,a[i]);printf(“ 〞);}程序运行后的输出结果是A〕5795B〕35745C〕34756D〕5745标准答案:D409〕下面选项中的程序段,没有编译错误的选项是A〕char*sp,s[10];sp=〞Hello〞;B〕charstr1[10]=〞puter〞,str2=-.word.zl. -.str1;C〕charmark[];mark=〞PROGRAM〞;D〕char*sp,s[10];s=〞Hello〞;标准答案:A410〕以下表达中正确的选项是A〕字符串常量“str1〞的类型是:字符串数据类型B〕有定义语句:charstr1[]=“str1〞;数组str1将包含4个元素C〕字符数组的每个元素可存放一个字符,并且最后一个元素必须是‘’字符D〕下面的语句用赋初值方式来定义字符串,其中‘’是必须的charstr1[]={‘s’,’t’,’r’,’1’,’’};标准答案:D411〕以下表达中正确的选项是A〕char*ca[3]={“A〞,〞B〞,〞CCC〞};是不合语法的B〕charca[3][5]={“A〞,〞B〞,〞CCC〞};是不合语法的C)字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组D〕charca[][5]={“A〞,〞B〞,〞CCC〞};;是不合语法的标准答案:D412〕以下表达中正确的选项是A〕函数调用strlen(s);会返回字符串s实际占用存的大小〔以字节为单位〕B〕当拼接两个字符串时,结果字符串占用的存空间是两个原串占用空间C〕两个字符串可以用关系运算符进展大小比拟D〕C语言本身没有提供对字符串进展整体操作的运算符标准答案:D413)以下表达中正确的选项是A〕函数体中的语句不能出现对自己的调用B〕如果函数带有参数,就不能调用自己--86-C〕函数名代表函数的入口地址D〕所有函数均不能承受函数名作为实参传入标准答案:C414〕以下表达中正确的选项是A〕只要是用户定义的标识符,都有一个有效的作用域B〕局部变量不能被说明为staticC〕只有在函数部定义的变量才是局部变量D-.word.zl. -.〕只有全局变量才有自己的作用域,函数中的局部变量没有作用域标准答案: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〕65C〕56D〕55标准答案:B418〕在32位编译器上,设有定义char*str1=“Hello〞,str2[]=〞Hello〞;那么以下语句printf〔〞%d%d〞,sizeof(str1),sizeof(str2)〕;的输出结果是A〕56B〕45C〕66D〕55标准答案:B419〕以下表达中正确的选项是A〕任何情况下都不能用函数名作为实参B〕简单递归不需要明确的完毕递归的条件C〕函数的递归调用不需要额外开销,所以效率很高D〕函数既可以直接调用自己,也可以间接调用自己标准答案:D420〕以下表达中正确的选项是A〕在复合语句中不能定义变量B〕对于变量而言,“定义〞和“说明〞这两个实际上同一个意思C〕函数的形式参数不属于局部变量D-.word.zl. -.〕全局变量的存储类别可以是静态类标准答案:D421〕设有定义语句:char*aa[a]={“abcd〞,〞ABCD〞};那么以下表达正确的选项是A〕aa是指针变量,它指向含有两个元素的字符型数组--87-B〕aa数组的值分别是字符串“abcd〞和“ABCD〞C〕aa数组的两个元素只能存放含有4个字符的一维数组的首地址D〕aa[0]存放字符串“abcd〞的首地址标准答案:D422〕有以下程序#includeintfun(char*s){char*p=s;while(*p!=0)p++;return(p=s);}main(){printf(“%d 〞,fun(“goodbye!〞));}程序的输出结果是A〕8B〕7C〕0D〕6标准答案:A423〕有以下程序#includeintfun(intn){inta;if(n==1)return1;a=n+fun(n-1);return(a-.word.zl. -.);}main(){printf(“%d 〞,fun(5));}程序的输出结果是A〕9B〕14C〕10D〕15标准答案:D424〕有以下程序#includeintd=1;{intd=5;d+=p++;printf(“%d〞,d);}main(){inta=3;fun(a);d+=a++;printf(“%d 〞,d);}程序的输出结果是A〕96B〕85C〕84D〕94标准答案:C425)有以下程序#includeintfun(inta){intb=0;--88-staticint-.word.zl. -.c=3;a=(c++,b++);return(a);}main(){inta=2,i,k;for(i=0;i<2;i++)k=fun(a++);printf(“%d 〞,k);}程序的输出结果是A〕4B〕0C〕1D〕2标准答案:B426)有以下程序#includemain(){charc[2][5]=〞6934〞,〞8254〞},*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&&p[i][j]<=’9’;j+=2)s=10*s+p[i][j]-‘0’;printf(“%d 〞,s);程序的输出结果是A〕69825B〕6385C〕693825D〕63825标准答案:B427)有以下程序〔strcpy为字符串复制函数,strcat为字符串连接函数〕-.word.zl. -.#include#includemain(){chara[10]=〞abc〞,b[10]=〞012〞,c[10]=〞xyz〞;strcpy(a+1,b+2);puts(strcat(a,c+1));}程序的输出结果是A〕a2yzB〕a12xyzC〕12yzD〕bc2yz标准答案:A428)以下选项中,没有编译错误的选项是有以下程序#include程序的输出结果是A〕charstr1[5]=〞pass〞,str2[6],str2=str1;B〕charstr4[];str4=〞helloworld〞;C〕charstr3[]={‘d’,’e’,’b’,’u’,’g’,’’};D〕charname[10];name=〞china〞;标准答案:C429)有以下程序#includemain(){char*s=〞12134〞;intk=0,a=0;while(s[k+1]){k++;--89-if(k%2==0){a=-.word.zl. -.a+(s[k]-‘0’+1);continue;}a=a+(s[k]-‘0’);}printf(“k=%da=%d 〞,k,a);}程序的输出结果是A〕k=4a=12B〕k=6a=11C〕k=3a=14D〕k=5a=15标准答案:A430)有以下程序#includemain(){chara[5][10]={“one〞,〞two〞,,〞three〞〞four〞,〞five〞};inti,j;chart;for(i=0;i<2;i++)for(j=i+1;j<5;j++)if〔a[i][0]>a[j][0]〕{t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}puts(a[1]);}程序的输出结果是A〕twoB〕owoC〕fwoD〕fix-.word.zl. -.标准答案:C431)有以下程序#includeinta=1,b=2;voidfun1(inta,intb){printf(“%d%d〞,a,b);}voidfun2(){a=3;b=4;}main(){fun1(5,6);fun2();printf(“%d%d 〞,a,b);}程序运行后的输出结果是A〕5612B〕1256C〕3456D〕5634标准答案:D432〕有以下程序#includevoidfunc(intn){staticintnum=1;num+=n;printf(“%d〞,num);--.word.zl. -.-90-}main(){func(3);func(4);printf(“ 〞);}程序运行后的输出结果是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;标准答案:A434〕有以下程序#includetypedefstruct{intb,p;}A;voidf(Ac)/*注意:c构造变量名*/main(){inti;Aa={1,2};f(a);printf(“%d,%d 〞,a.b,a.p);}程序运行后的输出结果是A〕2,4B〕1,4C〕2,3D〕1,2标准答案:D435)以下表达中正确的选项是A〕#include必须放在C程序的开头B〕C语言的预处理不能实现宏定义和条件编译的功能C〕预处理命令行必须位于C源程序的起始位置D〕在C语言中,预处理命令行都以“#〞开头标准答案:D436〕有以下程序-.word.zl. -.#include#includeintfun(intn){int*p;p=(int*)malloc(sizeof(int));*p=n;return*p;}main(){inta;a=fun(10);printf(“%d 〞,a+fun(10));}程序运行后的输出结果是A〕10B〕出错C〕20D〕0标准答案:C437〕有以下程序#includemain(){unsignedchara=8,c;c=a>>3;--91-printf(“%d 〞,c);}程序运行后的输出结果是A〕16B〕0C〕32D〕1标准答案:D438)读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);-.word.zl. -.其中buffer代表的是A〕一个文件指针,指向待读取的文件B〕一个存块的首地址,代表读入数据存放的地址C〕一个存块的字节数D〕一个整型变量,代表待读取的数据的字节数标准答案:B439〕以下表达中错误的选项是A〕用typedef可以为各种类型起别名,但不能为变量起别名B〕用typedef可以新的类型明后,原有类型名仍有效C〕可以通过typedef增加新的类型D〕可以用typedef将已存在的类型用一个新的名字来代表标准答案:C440〕有以下程序#includestructS{inta,b;}data[2]={10,100,20,200};main(){structSp=data[1];printf(“%d 〞,++(p,a));}程序运行后的输出结果是A〕10B〕20C〕11D〕21标准答案:D441)有以下程序#include#definePT3.5;#defineS(x)PT*x*x;main(){inta=1,b=2;printf(“%4.1f 〞,S(a+b));}程序运行后的输出结果是A〕31.5B〕程序有错无输出结果C〕14.0D〕7.5标准答案:B442〕有以下程序-.word.zl. -.#includemain(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf(“%d “,d);}程序运行后的输出结果是A〕3B〕6C〕5D〕4标准答案:D443〕有以下程序#include#include--92-main(){int*a,*b=2,*c;a=b=bc=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf(“%d,%d,%d 〞,*a,*b,*c);}程序运行后的输出结果是A〕2,2,3B〕1,1,3C〕1,2,3D〕3,3,3标准答案:D444)以下表达中正确的选项是A〕当对文件的读〔写〕操作完成之后,必须将它关闭,否那么可能导致数据丧失B)在一个程序中当对文件进展了写操作后,必须先关闭该文件然后再翻开,才能读到第1个数据C)翻开一个已存在的文件并进展了写操作后,原有文件中的全部数据必定被覆盖D)C语言中的文件是流式文件,因此只能顺序存取数据标准答案:A445〕设有定义:-.word.zl. -.structplex{intreal,unreal;}data1={1,8},data2;那么以下赋值语句中错误的选项是A)data2=data1;B)data2.real=data1.unreal;C)data2.real=data1.realD)data2=(2,6);标准答案:D446)有以下程序#includestructS{intn;inta[20];};voidf(structS*p){inti,j,t;for(i=0;ip�a[j]){t=p�a[i];p�a[i]=p�a[j];p�a[j]=t;}}main(){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〞,‘m’,85,90};--93-inti;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(“%s,%c,%d,%d〞,d.name,d.sex,d.score[0],d.score[1]);printf(“%s,%c,%d,%d 〞,c.name,c.sex,cscore[0],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〕设有以下语句int-.word.zl. -.a=1,b=2,c;c=a(b<<2);执行后,c的值为A〕7B)8C〕6D)9标准答案:D450、有以下程序#includemain〔〕{FILE*fp;inta[10]={1,2,3},i,n;fp=fopen(“d1.dat〞,〞w〞);for(i=0;i<3;i++)fprintf(fp,〞%d〞,a[i]);fprintf(fp,〞 〞);fclose(fp);fp=fopen(“dl.dat〞,〞r〞);fclose(fp);printf(“%d 〞,n);}程序运行的结果是A、12300B、123C、321D、1标准答案:B451、以下关于typedef的表达错误的选项是〔〕A、用typedef可以为各种类型说明一个,但不能用来为变量说明一个新名B、用typedef为类型说明一个新名,通常可以拯救程序的可读性C、typedef只是将已存在的类型用一个新的名字来代表D、用typedef可以增加新类型标准答案:D452、程序中已构成如以下图所示的不带点结点的单向链表构造,指针变量s、p、q-.word.zl. -.均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。--94-假设有以下程序段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+1main(){intk=5,j=2;printf〔“%d〞,S(k+j)〕}程序运行后的输出结果是A、143B、28C、33D、197标准答案:A454、假设有以下程序段intr=8printf(“%d 〞,r>>1);输出结果是A、4B、2C、16D、8答案A455、以下表达中错误的选项是A、fwrite函数用于以二进制形式输出数据到文件B、fputs函数用于把字符串输出到文件C、gets函数用于从终端读入字符串D、getchar函数用于从磁盘文件读入字符答案:D456、有以下程序-.word.zl. -.#includemain(){FILE*pfchar*sl=〞china〞,*s2=〞Beijing〞;pf=fopen(“abc.dat〞,〞wb+〞);fwrite(“s2,7,1,pf);rewind(pf);fwrite(s1,5,1,pf);fclose(pf);}以上程序执行后abc.dat文件的容是A)ChinaBeijingB)BeijingChinaC)ChinaD)Chinang答案:D457、有以下构造体说明、变量定义和赋值语句StructSTD{charname[10];intage;Charsex;abcNULL--95-}s[5],*ps;Ps=&s[0];那么以下scanf函数调用语句有错误的选项是A)scanf(“%d〞,&s[0].age);B)scanf(%c〞,&(ps->sex));C)scanf(“%s〞,s[0].name);D)scanf(“%d〞,ps->age);标准答案:-.word.zl. -.D458、假设有以下语句typedefstructS{intg;charh;}T;以下表达中正确的选项是A)T是structS类型的变量B〕可用S定义构造体变量C〕S是srurct类型的变量D)可用T定义构造体变量标准答案:D459、#include#includeStructA{inta;charb[10]doublec;};structAf(stuctAt);mian(){structAa={1001,〞zhangda〞,1098.0};printf(“%d,%s,%6.1f 〞,a.a,a.b,a.c);}structAf(strucrAt){t.a=1002;strcpy〔t.b,〞ChangRong〞〕-.word.zl. -.;t.c=1202.0returnt;}程序运行后的输出结果是A、1002,ZhangDa,1202.0B、1001,ChangRong,1098.0C、1001,Zhangda,1098.0D、1002,ChangRong,1202.0标准答案:D460、设有宏定义:#defineIsDIV(k,n)((k%n==)?1: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、有以下程序#includemain()--96-{inta=1,b=2,c=3,x;x=(a^b)&c;printf(“%d 〞,x);}程序运行的结果是A、0B、1C、2D、3标准答案:D462、有以下程序#includemain〔〕{-.word.zl. -.FILE*fp;intk,n,a[6]={1,2,3,4,5,6};fp=fopen(“d2.dat〞,〞w〞);fprintf(fp,〞%d%d 〞,a[0],a[1],a[2]〕;fprintf(fp,〞%d%d 〞,a[3],a[4],a[5]〕;fclose〔fp〕fp=fopen〔“d2.dat〞,〞r〞〕;fscanf(fp,〞%d%d〞,&k,&n);printf(“%d%d 〞,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(“%d,“,++〔p->x〕);printf(“%d ,++(p->x〕);}程序运行后的输出结果是A、2,3B、3,4C、4,1D、1,2-.word.zl. -.标准答案A465、#include#defineSUB〔a〕〔a〕-(a)--97-main(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(“%d 〞,d);}程序运行后输出的结果是A、10B、0C、-12D-20标准答案D466、有以下程序#includemain〔〕{inta=2,b;b=a<<2;printf(“%d 〞,b);}程序运行后的输出结果是A、6B、2C、4D、8标准答案:D467、以下关于c语言文件的表达中正确的选项是A、文件由构造序列组成,可以构成二进制文件或者文本文件B、文件由一系列数据依次排列组成,只能构成二进制文件C、文件由字符序列组成,其类型只能是文本文件D、文件由数据序列组成,可以构成二进制文件或者文本文件标准答案:D468、有一下程序-.word.zl. -.#includemain〔〕{FILE*fp;inta[10]={1,2,3,0,0},I;fp=fopen(“d2.dat〞,〞wb〞);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp)fp=fopen〔〞d2.dat〞,〞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[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;--98-以下选项中表达式的值为11的是A〕pt->xB〕(pt++)->xC〕++pt->xD〕*pt->y标准答案:c470、有以下程序#includestructS{intn;inta[20];};voidf(int*a,int-.word.zl. -.n){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(“%s,%c,%2.0f,%2.0f 〞,c.name,c.sex,c.score[0],-.word.zl. -.c.score[1]);}程序的运行结果是A、Qian,m,85,90B、Zhao,m,85,90C、Qian,f,95,92D、Zhao,f,95,92标准答案:C472、有以下程序#include--99-#definef〔x〕x*x*xmain(){inta=3,s,t;s=f(a+1);t=f(a+1);printf(“%d,%d 〞,s,t);}程序运行后的输出结果是A、10,64B、64,64C、10,10D、64,10标准答案:A473、有以下程序#includemain〔〕-.word.zl. -.{chara=4;printf(“%d 〞,a=a<<1);}程序的运行结果是A、8B、4C、40D、16标准答案:A474、设文件指针fp已定义,执行语句fp=fopen(“file〞,〞w〞);后,以下针对文本文件file操作表达的选项中正确的选项是A、写操作完毕后可以从头开场读B、可以随意读和写C、只能写不能读D、可以再原有容后追加写标准答案:C475、以下构造体类型说明和变量定义中正确的选项是A、struct{intn;charc;}REC;RECt1,t2;B、typedefstruct{intn;charc;}REC;RECt1,t2;C、structREC{intn;charc;};RECt1,t2;D、typedefstructREC;{intn=0;charc=‘A’;}t1,t2;标准答案:B476、假定已建立以下链表构造,且指针p和q已指向如下图的结点:那么以下选项中可将q所指结点从链表中删除并释放该结点的语句组是A、p=q->next;free(q);--100-B、(*p).next=(*q).next;free(p);C、p->next=q->next;free(q);D、p=q;free(q);标准答案:C477、有以下程序#include-.word.zl. -.#includestructA{inta;charb[10];doublec;};viodf(structAt);main(){StructAa={1001,〞ZhangDa〞,1098.0};f(a);printf(“%d,%s,%6.1f 〞,a.a,a.b,a.c);}viodf(structAt){t.a=1002;strcpy(t.b,〞ChangRong〞);t.c=1202.0;}程序运行后的输出结果是:A、1002,ChangRong,1202.0B、1002,ZhangDa,1202.0C、1001,ChangRong,-.word.zl. -.1098.0D、1001,ChangRong,1098.0标准答案:D478、有以下程序#include#defineN5#defineMN+1#definef(x)(x+M)main〔〕{inti1,i2;i1=f〔2〕;i2=f〔1+1〕printf〔“%d%d 〞,i1,i2〕;}程序的运行结果是A、127B、117C、1111D、1212标准答案:B--101-479〕有以下程序#includemain(){inta=5,b=1,t;t=(a<<2)|b;printf(“%d 〞,t);}程序运行后的输出结果是A、11B、21C、-.word.zl. -.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可以为各个类型其别名,但不能为变量起别名标准答案:-.word.zl. -.A483〕有以下程序#include<.stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+317,a};main(){inti;p=a;--102-for(i+1;i<=2;i++){printf(“%d,〞,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(“%s,%c,%2.0f 〞,b.name,b.sex,b.score[0],b.score[1]);}-.word.zl. -.程序的运行结果是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〕有以下程序#includemain(){FILE*ff=fopen(“filea.txt〞,’w’);fprintf(f,〞abc〞);fclose(f);}假设文本文件filea.txt中原有容为:hello,那么运行以上程序后,文件filea.txt中的容为:A、abcB、helloabcC、abchelloD、abclo标准答案:-.word.zl. -.A487〕设有定义:struct{charmark[12];intnum1;doublenum2;}t1,t2;假设变量均已正确赋初值,那么以下语句中错误的选项是A〕t2,mark=t1.mark;B〕t2,num2=t1.num2;C〕t1=t2--103-D〕t2.num1=t1.num1;标准答案:A488〕有以下程序#include#includestructA{inta;charb[10];doublec;};voidf(structAt)main(){structAa={1001,〞ZhangDa〞,1098.0};f(a);printf(“%d,%s,%6.1f 〞,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,ChangRong。1202.0标准答案:B489〕有以下程序-.word.zl. -.#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;}main(){STUc={“Qian〞,’f’,95.0,92.0},d;d=f〔c〕;printf〔“%s,%c,%2.0f,%2.0f 〞,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那么以下表达中正确的选项是A、在运行时用100替换标识符NB、宏定义行中定义了标识符N的值为整数100C、上述宏定义实现将100赋值给标识符ND、在编译程序对C源程序进展预处理时用100替换标识符N--104-标准答案:-.word.zl. -.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〔“abc〞,fp〕;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标准答案:D493〕假设以下程序#include#defineS〔x〕x*x#defineT〔x〕S〔x〕*S(x)main(){intk=5,j=2;printf(“%d,%d 〞,S〔k+j〕,T〔k+j〕-.word.zl. -.)}那么程序的输出结果是A、17,37B、17,289C、49,289D、49、2401标准答案:A494)有以下程序#include#include#includestructstu{char*name,gender;--105-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,〞Qian〞)printf(“%s,%c,%d〞,a.name,a.gender,a.score);printf(“%s,%c,%d 〞,b.name,b.gender,b.score);}}-.word.zl. -.程序运行后的输出结果是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*)malloc(10);strcpy(p,〞Qian〞);}main(){STUa={NULL,’m’,290},b;a.name=(char*)malloc(10);strcpy(a.name,〞Zhao〞-.word.zl. -.);b=a;f(b.name);b.gender=‘f’;b.score=350;printf(“%s,%c,%d〞,a.name,a.gender,a.score);printf(“%s,%c,%d 〞,b.name,b.gender,b.score);}}程序运行后的输出结果是A〕Zhao,m,290,Qian,f,350B〕Qian,f,350,Qian,f,350C〕Zhao,m,290,Zhao,f,350D〕Qian,m,290Qian,f,350标准答案:C--106-496)假设有定义typedefint*T;Ta[10];那么a的定义与下面哪个语句等价A)int*a[10];B)inta[10];C)int(*a)[10];D)int*a;标准答案:A497〕如有以下程序:#includemain(){intc;c=10^5;printf(“%d 〞,c);}那么程序的输出结果是A、-.word.zl. -.5B、105C、10000D、15标准答案:D498、假设有以下程序#includemain(){FILE*fp;inti;a[6]={1,2,3,4,5,6},k;fp=fopen(“data.dat〞,〞w+〞);for(i=0;i<6;i++){fseek(fp,0L,0);fprintf(fp,〞%d 〞,a[i]);}rewind(fp);fscanf(fp,%d,&k);fclose(fp);printf(“%d 〞,k);}那么程序的输出结果是A、6B、1C、123456D、21标准答案:A499、假设有以下程序-.word.zl. -.#include#defineS(x)(x)*(x)defineT(x)S(x)/S(x)+1main(){intk=3,j=2;printf(“%d,%d 〞,S(k+j),T(k+j));--107-}那么程序的输出结果是A、11,12B、11,2C、25,2D、25,26标准答案:D500、假设有以下程序#includetypedefstructstu{charname[10],gender;intscore;}STU;viodf(STUa,,STUb){b=a;printf(“%s,%c,%d,〞,b.name,b.gender.b.score);}main(){STUa={“Zhao〞,’m’,290},b={“Qian〞-.word.zl. -.,’f’,350};f(a,b);printf(“%s,%c,%d 〞,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〞,’m’,290},b;b=a;f(b.name);b.gender=’f’;b.score=350;printf(“%s,%c,%d,〞-.word.zl. -.,a.name,a.gender,a.score);printf(“%s,%c,%d 〞,b.name,b.gender,b.score);}那么程序的输出结果是A、Zhao,m,290,Zhao,f,350B、Zhao,m,290,Zhao,m,290C、Qian,f,350,Qian,f,350--108-D、Zhao,m,290,Qian,f,350标准答案:D502)假设有定义typedefcharT[10];T*a;上述定义中的a的类型与下面选项中完全一样的是A、char*a;B、char〔*a〕[10];C、chara[10];D、char*a[10];标准答案:D503〕假设有以下程序#includemain〔〕{intc;c=13|5;printf〔“%d 〞,c〕;}那么程序的输出结果是A、13B、5C、18D、15标准答案:A504、假设有以下程序#include-.word.zl. -.main〔〕{FILE*fp;inti,a[6]={1,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);fread(&k,sizeof(int),1,fp);fclose(fp);printf(“%d〞,k);}那么程序的输出结果是A、6B、21C、123456D、1标准答案:D505〕为了建立如下图的存储构造〔即每个结点含两个域,data是数据域,next是指向结点的指针域〕,那么在【】处应填入的选项是structlink{chardata;【】}node;--109-datanextA、link*next;B、structlink*next;C、structlinknext;D、linknext;标准答案:B506〕以下构造体说明和变量定义中,正确的选项是A、typedefstructabc{intn;doublem;}ABC;B、structABC{intn;doublem;}structABCx,y;C、structabc{intn;doublem;}structabcx,y;D、structabc{intn;doublem;}abcx,y;标准答案:-.word.zl. -.A507〕有以下程序#include#includeviodfun(int*p1,int*p2,int*s){s=(int*)malloc(sizeof(int));*s=*p1+*(p2++);}main(){inta[2]={1,2},b[2]={10,20},*s=a;fun(a,b,s);printf〔“%d 〞,*s〕;}程序运行后的输出结果是A、2B、10C、11D、1标准答案:D508〕以下程序依次把终端输入的字符存放到f文件中,用#作为完毕输入的标志,那么在横线处应填入#includemain(){FILE*fp;charch;fp=fopen(“fname〞,〞w〞);while((ch=getchar())!=’#’)fputc(-.word.zl. -.);fclose(fp);}A、ch,“fname〞B、ch,fpC、chD、fp,ch标准答案:B509、有以下程序#include#defineN2#defineMN+1--110-#defineNUM〔M+1〕*M/2main〔〕{printf〔“%d 〞,NUM〕;}程序运行后的输出结果是A、4B、6C、9D、8标准答案:D510、有以下程序#includemain〔〕{inti=0;i=~i;printf〔“%d 〞,i〕;}程序运行后的输出结果是A、1B、-.word.zl. -.8C、0D、-1标准答案:D511)有以下程序段int*p;p=___________malloc(sizeof(int));假设要求使p指向一个int的动态存储单元,在横线处应填入的是A〕int*B)intC)(*int)D)(int*)标准答案:D512〕有以下程序#include#defineSUB(X,Y)(X+1)*Ymain(){inta=3,b=4;printf(“%d 〞,SUB(a++,b++));}程序运行后的输出结果是A)25B〕16C)12D)20标准答案:B513、有以下程序#includemain(){charc[2][5]={“6938〞,〞8254〞},*p[2];inti,j,s=o;for(i=0;i<2;i++)-.word.zl. -.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]-‘0’;printf(“d% ,s);--111-}程序运行后输出的结果是A、4528B、9824C、6385D、6938标准答案:C514〕假设有以下程序段structst{intn;structst*next;};structsta[3]={5,&a[1],7,&a[2],9,''},*p;p=&a[0];那么以下选项中值为6的表达式是A)〔*p〕.nB)p-->n++C)p-->nD)++(p-->n)标准答案:D515)有以下程序#includemain(){inti=1;i=i^i;printf(“%d .,i〞);}程序运行后的输出结果是A〕7B〕-1C〕1D〕0标准答案:D516)以下程序用来统计文件中字符的个数〔函数feof用以检查文件是否完毕,完毕时返回非零〕#includemain()-.word.zl. -.{FILE*fp;longnum=0;fp=fopen(“fname.dat〞,〞r〞);while(_________){fgerc(fp);num++;}printf(“num=%d 〞,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语言中预先定义的根本数据类型--112-D〕一个构造体类型可以由多个称为成员〔或域〕的成分组成标准答案:D520〕以下表达中正确的选项是A)元素为构造体类型的数组,只能在声明过构造体类型之后,单独进展定义B〕构造体类型中的各个成分均不能是数组或指针C〕使用typedef定义新类型名后,新类型名与原类型名实际上是等价的D)构造体类型的变量,不能在声明构造体类型组成时一起定义标准答案:-.word.zl. -.C521下面选项中关于位运算表达中正确的选项是A)右移运算时,高位总是补0B〕位运算的对象只能是整型或字符型数据C〕左移运算的结果总是原操作数据2倍D)位运算符都需要两个操作数标准答案:B522〕下面选项中关于“文件指针〞概念的表达正确的选项是A)文件指针就是文件位置指针,表示当前读写数据的位置B〕把文件指针传给fscaf函数,就可以向文本文件中写入任意的字符C〕文件指针指向文件在计算机中的存储位置D)文件指针是程序中用FILE定义的指针变量标准答案:D523〕以下表达中正确的选项是A)在包含文件中,不得再包含其他文件B〕#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=〞hello〞;以下表达中正确的选项是A)语句++p—>a;的效果是使成员a增-.word.zl. -.1B)语句*p—>s++;等价于〔*p〕—>s++;C)(p++)—>a与p++—>a都是合语法的表达式,但二者不等价D)语句++p—>a;的效果是使p增1--113-标准答案:A527〕下面关于位运算符的表达,正确的选项是A)||表示“按位或〞的运算B)~表示“按位异或〞的运算C)#表示“按位异或〞的运算D)&表示“按位与〞的运算标准答案:D528〕下面关于“EOF〞的表达,正确的选项是A)EOF的值等于0B)EOF是在库函数文件中定义的符号常量C)对于文本文件,fgetc函数读入最后一个字符时,返回值是EOFD)文本文件和二进制文件都可以用EOF作为文件完毕标志标准答案:B529〕有以下程序#include#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf(“%d 〞,a);}程序运行后的输出结果是A〕1B〕9C〕10D〕0标准答案:A530〕有以下程序-.word.zl. -.#includemain(){charx=2,y=2,z;z=(y<<1)&(x>>1);printf(“%d 〞,z);}程序运行后的输出结果是A〕0B〕1C〕8D〕4标准答案:A531、有以下程序#includestructS{inta;intb;};main(){structSa,*p=&a;a.a=99;printf(“%d 〞______)程序要求输出构造体重成员a数据,以下不能填入横线处的容是A、*p.aB、p->aC、〔*p〕.aDa.a标准答案:A532、有以下程序--114-#include#includevoidfun(double*p1,double*p2,double*s){doublea[2]={1.1,2.2,},b[2]={10.0,20.0},*s=a;fun(a,b,s);printf〔“%5.2f 〞,*s〕;}-.word.zl. -.程序输出结果是A、1.10B、21.10C、12.10D、11.10正确答案:A533、假设已建立以下链表构造,指针p、s分别指向如下图结点那么不能将s所指结点插入到链表末尾的语句组是A、s->next=’’;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*p1,int*p2,int*s){s=〔int*〕calloc(1,sizeof(int));*s=*p1,+*p2;free(s);}main(){inta[2]={1,2},b[2]={40,50},*q=a;fun(a,b,q);printf(“% 〞-.word.zl. -.,*q);}程序运行后的输出结果是A、41B、0C、42D、1abcNULLps--115-标准答案:D536、有以下程序#includestructSTU{charname[9];charsex;floatscore[2];};voidf(structSTUa[]){structSTUb={“zhao〞,‘m’,85,90};a[1]=b;}main(){structSTUc[2]={{“qian〞,’f’,95,92},{“Sun〞,’m’,98,99}};f(c)printf(“%s,%c,%d,%d〞,c.[0]name,c[0].sex,c[0].score[0],c[0].score[1]);printf(“%s,%c,%d,%d 〞,c.[0]name,c[0].sex,c[0].score[0],c[0].score[1]);}程序的运行结果是A-.word.zl.

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

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

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