资源描述:
《计算机二级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