二级C语言笔试题汇编及答案_第1页
二级C语言笔试题汇编及答案_第2页
二级C语言笔试题汇编及答案_第3页
二级C语言笔试题汇编及答案_第4页
二级C语言笔试题汇编及答案_第5页
已阅读5页,还剩161页未读 继续免费阅读

下载本文档

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

文档简介

C语言的结构一.单项选择题1.设d为字符变量,下列表达式不正确的是__________。(A)d=97(B)d='a'(C)d="a"(D)d='g'2.C语言的程序一行写不下时,可以________。A用逗号换行B用分号换号C在任意一空格处换行D用回车符换行3.在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码__________。(A)大32(B)大64(C)小32(D)小14.下列四个叙述中,错误的是________。A一个C源程序必须有且只能有一个主函数B在C源程序中注释说明必须位于语句之后C一个C源程序可以含零个或多个子函数DC源程序的基本结构是函数5.一个C程序可以包含任意多个不同名的函数,但有且仅有一个__________。(A)过程(B)主函数(C)函数(D)include6.C语言中,当复合语句多于一条时,要有一对________括起来。A方括号B圆括号C花括号D尖括号7.__________是C程序的基本构成单位。(A)函数(B)函数和过程(C)超文本过程(D)子程序8.C语言程序的基本单位是__________。(A)程序行(B)语句(C)函数(D)字符9.C语言规定,必须用__________作为主函数名。(A)function(B)include(C)main(D)stdio10.C语言规定,在一个C程序中,main()函数位置________。A必须开始B必须在最后C可以任意D必须在系统调用库函数之后11.下列说法正确的是__________。(A)在执行C程序时不是从main函数开始的(B)C程序书写格式严格限制,一行内必须写一个语句(C)C程序书写格式自由,一个语句可以分写在多行上(D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号12.以下说法中正确的是__________。(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main()函数中定义(C)C语言程序总是从main()函数开始执行(D)C语言程序中的main()函数必须放在程序的开始部分13.以下叙述不正确的是________。A分号是C语句的必要组成部分BC程序的注释可以写在语句的后面C函数是C程序的基本单位D主函数的名字不一定用main表示14.若有以下定义:floatx;inta,b;则正确的switch语句是__________。(A)switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}(B)switch(x){case1,2:printf("*n");case3:printf("**\n");}(C)switch(a+b){case1:printf("*\n");case"1+2":printf("**\n");}(D)switch(a+b){case1:printf("*\n");case2:printf("**\n");}15.一个c语言由若干个c函数组成,各个函数在文件中的书写位置为________。A任意B第一个函数必须是主函数,其他函数任意C必须完全按调用的顺序排序D其他函数必须在前,主函数必须在最后16.程序#defineNUM30+4main(){printf("NUM*20=%d",NUM*20);}的执行结果为__________。(A)NUM*20=110(B)NUM*20=680(C)NUM*20=604(D)以上都不对17.下面属于C语句的是________。Aprintf("%d\n",a)B#include<stdio.h>Ca=b;b=c;c=a;D/*thisisaprogram*/18.所谓微处理器的位数,就是计算机的__________。(A)字长(B)字(C)字节(D)二进制位19.C语言程序的基本单位是________。A程序行B语句C函数D字符20.以下叙述正确的是________。AC语言程序总是从第一个定义的函数开始执行BC语言程序中的main()函数开始执行CC语言程序中的main()函数必须放在程序的开始执行D一个C函数中只允许一对花括号21.机器语言是用__________编写的。(A)二进制码(B)ASCII码(C)十六进制码(D)国标码22.计算机只能识别机器语言,而人熟悉高级语言,故人机通信必须借助一种中间者,此中间者就是__________。(A)编译程序(B)编辑程序(C)连接程序(D)装入程序23.下面正确的赋值语句是________Ai++;Ba=1,b=2;Ca=b=5Dy=int(x)24.以下叙述中正确的是A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分?25.在C语言中,回车换行符是__________。(A)\n(B)\t(C)\v(D)\b26.__________不是C语言提供的合法关键字。(A)switch(B)print(C)case(D)default27.下面四个叙述中,错误的是________。AC语言中的关键字必须小写BC语言中的标识符必须全部由字母组成CC语言不提供输入输出语句DC语言中的注释行可以出现在程序的任何位置28.下面四个叙述中,正确的是________。AC程序中的所有字母都必须小写BC程序中的关键字必须小写,其他标识符不区分大小CC程序中的所有字母都不区分大小DC语言中的所有关键字必须小写29.在C语言中,每个语句和数据定义是用__________结束。(A)句号(B)逗号(C)分号(D)括号30.以下选项中可作为C语言合法整数的是A)10110BB)0386C)0XffaD)x2a231.在printf的格式字符中,g格式字符的作用是________.A以字符形式输出,且只输出了一个字符B输出一个字符串C用来输出实数,并根据数值的大小,自动选用f格式或e格式D以无符号十进制形式输出整数32.在c语言中,如果下面的变量都是int类型,则输出结果是________。Sum=pad=;pAd=sum++,pAd++,++pAd;Printf("%d\",pad);A7B6C5D433.结构化程序设计的三种基本逻辑结构为顺序、选择和__________。(A)随机(B)循环(C)相关(D)直接34.下列字符串是标识符的是__________。(A)_WL(B)3_3333(C)int(D)LINE335.C语言提供的合法关键字是__________。(A)break(B)print(C)funiton(D)end36.C语言提供的合法关键字是__________。(A)continue(B)procedure(C)begin(D)append37.在下面字符序列中,不可用作c语言标识符的是________。AwaterBpriceCa>bDa1238.下列字符串是标识符的是__________。(A)INT(B)5_student(C)long(D)!DF39.下面不正确的叙述是________。A在C程序中所应用变量必须先定义后使用B在程序中,XYZ和xyz是两个不同的变量C若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变D当输入数值型数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值40.下面各标识符中,合法的用户自定义标识符是________。AA#BB2BCvoidDprintf41.以下选项中,合法的C语言关键字是________。AVARBcherC2LDdefault42.以下选项中非法的表达式是?A)0<=x<100?B)i=j==0C)(char)(65+3)?D)x+1=x+143.下面正确的叙述是________。A在C程序中,语句之间必须用分号";"分隔B若a是实型变量,C程序中允许以下赋值a=10,因此实型变量中允许存放整型C在C程序中,无论是整数还是实数,都能准确无误地表示D在C程序中,%是只能用于整数运算的运算符44.以下不能定义为用户标识符的是A)scanf?B)Void?C)_3com_?D)int45.下列字符串是标识符的是__________。(A)_HJ(B)9_student(C)long(D)LINE1二.填空题1.以下函数用来求出两整数之和,并通过形参将结果传回,请填空。voidfunc(intx,inty,________z){*z=x+y;}2.主函数名后面的一对圆括号中间可以为空,但一对圆括号不能________。3.函数体一般包括__________、__________。4.函数体的范围是__________。5.在C语言中,输入操作是由库函数______完成的,输出操作是由库函数______完成。6.在一个C源程序中,注释部分两侧的分界符分别为和______。7.一个C源程序中至少应包括一个______。8.C源程序的基本单位是[_________]。.

第二章数据类型及其运算一.单项选择题1.在C语言中,逻辑真以________表示。AtrueB大于0的数C非零整数D非零数2.C语言中,文件由________。A记录组成B由数据行组成C由数据块组成D由字符序列组成3.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是_______#include<stdio.h>main(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}A)因输出格式不合法,输出错误信息B)65,90C)A,YD)65,894.如果inti=3;intj=4,则k=i+++j执行之后k,i和j的值分别为_________。(A)7,3,4(B)8,3,5(C)7,4,4(D)8,4,55.sizeof(double)是___________A)一种函数调用B)一个双精度型表达式C)一个整型表达式D)一个不合法的表达式6.在C语言中,下列类型属于基本类型的是__________。(A)整型、实型、字符型(B)空类型、枚举型(C)结构体类型、实型(D)数组类型、实型7.以下选项中,非法的字符常量是________。A'\t'B'\17'C"\n"D'\xaa'8.下列符号中,可以作为变量名的是__________。(A)+c(B)*X(C)_DAY(D)nextday9.下面C语言中非法的转义字符为________。A'\t'B'\108'C'\n'D'\xff'10.以下程序的输出结果是__________。main(){inti=010,j=10,k=0x10;printf("%d,%d,%d\n",i,j,k);}(A)8,10,16(B)8,10,10(C)10,10,10(D)10,10,1611.将十进制21转化为二进制为__________。(A)11111(B)10101(C)10011(D)1000112.以下程序的输出结果是__________。main(){inti=011,j=11,k=0x11;printf("%d,%d,%d\n",i,j,k);}(A)9,11,17(B)9,11,11(C)11,11,11(D)11,11,1613.在C语言中,合法的字符常量是________。A'\084'B'\x43'C'ab'D"\0"14.以下叙述正确的是________A可以把define和if定义为用户标识符B可以把define定义为用户标识符,但不能把if定义为用户标识符C可以把if定义为用户标识符,但不能把define定义为用户标识符Ddefine和if都不能定义为用户标识符15.在C语言中,以下合法的字符常量是__________。(A)'\084'(B)'\x43'(C)'0'(D)"\0"16.在C语言中,合法的长整型常数是________。A0LB4962710C0.054838743D2.1869e1017.下列符号中,可以作为变量名的是__________。(A)+a(B)12345e(C)a3B(D)5e+018.在C语言中,下列类型属于构造类型的是__________。(A)整型(B)字符型(C)实型(D)数组类型19.下列类型不属于基本类型的是__________。(A)结构体类型和整型(B)结构体类型、数组、指针(C)实型(D)空类型和枚举型20.下列常数中,不合法的C常量是__________。(A)-0x3bl(B)123e+2.3(C)'}'(D)6e+721.下列常数中,不合法的C常量是__________。(A)-0x2al(B)lg3(C)'['(D)"CHINA"22.C语言提供的合法的数据类型关键字是________。AdoublBshortCintegerDChar23.C语言中最简单的数据类型包括__________。(A)整型,实型,逻辑型(B)整型,实型,字符型(C)整型,字符型,逻辑型(D)整型,实型,逻辑型,字符型24.当执行下面两个语句后,输出的结果为________。charc1=97;c2=98;printf("%d%c",c1,c2);A9798B97bCa98Dab25.设d为字符变量,下列表达式正确的是__________。(A)d=678(B)d='a'(C)d="d"(D)d='gjkl'26.内存中每一个基本单位,都被赋予一个唯一的序号,称为__________。(A)容量(B)地址(C)编号(D)字节27.两个字节表示__________。(A)32位(B)16位(C)8位(D)4位28.以下可用作C语言用户标识符的一组标识符是__________。(A)void(B)a3_b3(C)For(D)2adefine_123-abcDOWORDIFCasesizeof29.下列数中,__________最小。(A)二进制数100(B)十进制数8(C)十六进制数12(D)八进制数1030.C语言提供的合法关键字是________。AswitchBchanCCaseDdefault31.下列字符串不是标识符的是__________。(A)sum(B)average(C)day_night(D)M.D.JOHN32.下列说法正确的是__________。(A)main函数必须放在C程序的开头(B)main函数必须放在C程序的最后(C)main函数可以放在C程序的中间部分,即在一些函数之前在另一些函数之后,但在执行C程序时是从程序开头执行的(D)main函数可以放在C程序的中间部分,即在一些函数之前在另一些函数之后,但在执行C程序时是从main函数开始的33.表达式(int)2.1416的值为__________。(A)2(B)2.1(C)0(D)334.C语言中能用来表示整常数的进制是__________。(A)十进制、八进制、十六进制(B)十二进制、十进制(C)六进制、八进制(D)二进制、十进制35.下列常数中,合法的C常量是__________。(A)"x-y"(B)'105'(C)'Be'(D)7ff36.下列常数中,合法的C常量是__________。(A)-0.(B)'105'(C)'AB'(D)3+537.下列常数中,合法的C常量是__________。(A)'\n'(B)e-310(C)'DEF'(D)'1234'38.以下程序的输出结果是_______。#include<stdio.h>main(){inti=011,j=11;printf("%d,%d\n",++i,j--);}(A)10,11(B)12,10(C)11,11(D)10,939.下面各运算符中,优先级别最低的是______A?:B--C&&D-=40.在C语言中,要求运算数必须是整型的运算符是__________。(A)%(B)/(C)<(D)!41.在以下一组运算符中,优先级最高的运算符是__________。(A)<=(B)=(C)%(D)&&42.下列运算符中优先级最高的是__________。(A)>>(B)+(C)&&(D)!=43.如果inti=3,则printf("%d",-i++)的结果为____________,i的值为__________。(A)-3,4(B)-4,4(C)-4,3(D)-3,344.设有语句inta=3;则执行了语句a+=a-=a*a;后,变量a的值是_________。A)3B)0C)9D)-1245.如果inti=3,则k=(++i)+(++i)+(i++)执行过后k的值为_________,i的值为__________。(A)15,6(B)12,5(C)18,6(D)15,546.C语言中,运算对象必须是整型数的运算符是__________。(A)%(B)/(C)%和/(D)**47.当运行以下程序时输入OPENTHEDOOR<CR>(此处<CR>代表Enter键),则输出结果是________。#include<stdio.h>charfun(char*c){if(*c<='Z'&&*c>='A')*c-='A'-'a';return*c;}main(){chars[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);p++;}putchar('\n');}(A)oPENtHEdOOR(B)openthedoor(C)OPENTHEDOOR(D)OpenTheDoor48.写出下面程序的输出结果__________。main(){intx=2,y=0,z;x+=3+2;printf("%d",x);x*=y=z=4;printf("%d",x);}(A)728(B)无法计算(C)74(D)8449.写出下面程序的输出结果__________。main(){intx,y,z;x=y=1;z=x++-1;printf("%d,%d\t",x,z);z+=-x+++(++y||++z);printf("%d,%d",x,z);}(A)2,03,-1(B)2,13,0(C)2,02,1(D)2,10,150.写出下面程序的输出结果__________。main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3*4%-6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}(A)11101B)11-321(C)12-321(D)1112151.下面程序的输出结果是__________。main(){intx=0x23;printf("%d\n",++x);}(A)36(B)35(C)23(D)2452.以下关于运算符优先级的描述中,正确的是__________。(A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算(B)&&(逻辑与)>算术运算>关系运算>赋值运算(C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算(D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)53.若已定义x和y为double类型,则表达试:x=1,y=x+3/2的值是________。A1B2C2.0D2.554.以下程序的运行结果是__________。main(){intc,x,y;x=0;y=0;c=0;c=x++&&y++;printf("\n%d%d%d\n",x,y,c);}(A)100(B)211(C)011(D)00155.为表示关系x>=y>=z,应使用C语言表达式__________。(A)(y<=x)&&(y>=z)(B)(x>=y)AND(y>=z)(C)(x>=y>=z)(D)(x>=y)&(y>=z)56.表达式(double)(20/3)的值为__________。(A)6(B)6.0(C)2(D)357.程序段:inti=65536:printf("%d\n",I);则输出结果是________。A65536B0C有语法错误,无输出结果D-158.在下面关于多种类型数据的混合运算的叙述中,正确的一条是___。A一个int整型与一个double型数据运算,先将double型转换成int型B一个int型与一个long型数据运算,先将int型转换成long型Cfloat型数据在运算时一律先转换成单精度型D一个int型与一个short型数据运算,先将int型转换成short型59.10+'a'+1.5-567.345/'b'的结果是__________型数据。(A)long(B)double(C)int(D)unsignedfloat60.对于下面的程序,说法正确的是__________。main(){intx=3,y=1,z=1;if(x=y+z)printf("x=y+z");elseprintf("x!=y+z");}(A)有语法错误不能通过编译(B)输出x=y+z(C)可以通过编译,但是不能通过连接,因而不能运行(D)输出x!=y+z61.语句inti=3;k=(i++)+(i++)+(i++);执行过后k的值为__________,i的值为__________。(A)9,6(B)12,5(C)18,6(D)15,562.假设所有变量均为整型,表达式a=2,b=5,a>b?a++:b++,a+b的值是_____。A7B8C9D263.分析以下程序#include<stdio.h>main(){inta,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}其输出结果是__________。(A)2,1(B)3,2(C)4,3(D)2,-164.若x=3,y=z=4,则下列表达式的值分别为__________。(1)(z>=y>=x)?1:0(2)z>=y&&y>=x(A)01(B)11(C)00(D)1065.设有如下定义:intx=10,y=3,z;则语句printf("%d/n",z=(x%y,x/y));的输出结果是__________。(A)3(B)0(C)4(D)166.设有语句chara='\72';则变量a__________A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法67.以下程序的运行结果是__________。main(){inta=5,b=6,c=7,d=8,m=2,n=2;printf("%d\n",(m=a>b)&&(n=c>d));}(A)0(B)1(C)2(D)368.下面程序的输出结果是__________。main(){inta,b,c;a=100;b=200;printf("%d",(a,b));}(A)200(B)100(C)100200(D)输出格式符不够,输出不确定的值69.在C语言中,如果下面的变量都是int类型,则输出的结果是____。sum=wa=10;wa=sum++,wa++,++wa;printf("%d\n",wa);(A)10(B)12(C)11(D)1370.若已定义inta=25,b=14,c=19;以下三项运算符(?:)所构成的语句的执行结果是__________。a++<=25&&b--<=2&&c++?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c)(A)(***a=25,b=14,c=19)(B)(***a=26,b=13,c=19)(C)(###a=25,b=14,c=19)(D)(###a=26,b=13,c=19)71.表达式:10!=9的值是__________。(A)true(B)非零值(C)0(D)172.表达式a<b||~c&d的运算顺序是________A~,&,<,||B~,||,&,<C~,&,||,<D~,<,&,||73.表达试:10!=9的值是_________。AtrueB非零值C0D174.逻辑运算符运算对象的数据类型__________。(A)只能是0或1(B)只能是.T.或.F.(C)只能是整型或字符型(D)任何类型的数据75.判断字符型变量ch为小写字母的表达式是__________。(A)'a'<=ch<='z'(B)(ch>=a)&&(ch<=z)(C)(ch>='a')||(ch<='z')(D)(ch>='a')&&(ch<='z')76.若t为double类型,表达试t=1,t+5,t++的值是________。A1B6.0C2.0D1.077.下面程序的输出是__________。main(){intx=10,y=3;printf("%d\n",y=(x/y,x%y));}(A)0(B)1(C)3(D)不确定的值78.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_______Aa<>0B!aCa=0Da79.若有以下函数关系x<0→y=2xx>0→y=xx=0→y=x+1下面程序段能正确表示以上关系的是__________。(A)y=2x;if(x!=0)if(x>0)y=x;elsey=x+1;(B)y=2x;if(x<=0)if(x==0)y=x+1;elsey=x;(C)if(x>=0)if(x>0)y=x;elsey=x+1;elsey=2x;(D)y=x+1;if(x<=0)if(x<0)y=2x;elsey=x;若有以下变量定义:floatx;inta,b;则正确的switch语句是__________。(A)switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}(B)switch(x){case1,2:printf("*\n");case.3:printf("**\n");}(C)switch(a+b){case1:printf("*\n");case2*a:printf("**\n");}(D)switch(a+b){case1:printf("*\n");case1+2:printf("**\n");}80.设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是__________。(A)'a'&&'b'(B)a<=b(C)a||b+c&&b-c(D)!((a<b)&&!c||1)81.设inta=12,则执行完语句a+=a-=a*a的值是_______A522B264C144D-26482.设intx=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y);)的输出结果是________。A1B0C4D383.下列赋面语句中符合C语言语法的是__________。(A)a=7+b+c=a+7;(B)a=7+b++=a+7;(C)a=7+b,b++,a+7(D)a=7+b,c=a+7;84.下面不正确的赋值语句是________Ai++;Bi=i=5;Ck=2*4,k*4Dy=float(i);85.以下程序的输出结果是_______main(){intx=10,y=10;printf("%d%d\n",x--,--y);}A1010B99C910D10986.以下程序的输出结果是__________。main(){intx=10,y=10;printf("%d%d\n",x--,--y);}(A)1010(B)99(C)910(D)10987.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为__________。(A)a<>0(B)!a(C)a=0(D)a88.以下程序的输出结果是_________#include<stdio.h>main(){inti=010,j=10;printf("%d,%d\n",++i,j--);}A)11,10B)9,10C)010,9D)10,989.设m、n、p、q为整形变量,则下面选项中不正确的赋值语句是_______Am=n=p=q=168;Bm+n;Cp++;Dp=m+n-(q=23);90.设有以下说明:charch='B',且有下面的表达式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch;则上面表达式的值是__________。(A)B(B)b(C)Z(D)z91.设有语句inta=5,b=6,c=7,d=8,m=2,n=2;(m=a>b)&&(n=(++c>d&&b<c));则执行完上述语句后n的值为__________。(A)1(B)2(C)3(D)092.设语句inta=3;,则执行了语句a+=a-=a*a;后,变量a的值是______A3B-12C9D093.设语句inta=3;,则执行了语句a-=a-=a*a;后,变量a的值是______A3B0C9D-1294.下面语句中为C语言中正确的赋值语句是_________Ax=1,y=2Bk++;Cx=y=2Dy=int(x)95.写出下面程序的输出结果__________。main(){intx=2,y=0,z;x*=3+2;printf("%d",x);x*=y=z=4;printf("%d",x);}(A)840(B)1040(C)104(D)8496.以下程序的输出结果是__________#include<stdio.h>#include<math..h>main(){inta=1,b=4,c=2;floatx=10..5,y=4.0,z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;pritnf("%f\n",z);}A)14.000000B)015.400000C)13.700000D)14.90000097.以下C语言赋值语句合法的是__________。(A)X=Y=58(B)j++;(C)X=58,Y=58(D)M=int(X+Y);98.下面程序的输出是__________。main(){inta=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf("%d%d%d\n",k,a,b);}(A)003(B)012(C)103(D)11299.以下程序的输出结果是______#include<stdio.h>main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}A)6,1B)2,1C)6,0D)2,0100.以下程序的运行结果是__________。main(){intc,x,y;x=1;y=1;c=0;c=x++||y++;printf("\n%d%d%d\n",x,y,c);}(A)110(B)211(C)011(D)001101.有以下程序main()?{?int?a;?char?c=10;float?f=100.0;?doubl?e?x;a=f/=c*=(x=6.5);printf("%d?%d?%3.1f??%3.1f\n",a,c,f,x);}程序运行后的输出结果是A)1?65?1?6.5?B)1?65?1.5?6.5C)1?65?1.0?6.5?D)2?65?1.5?6.5102.执行下面程序中的输出语句后,a的值是__________。main(){inta;printf("%d\n",(a=3*5,a*4,a+5));}(A)65(B)20(C)15(D)10103.如果inti=3,则k=(++i)+(++i)+(++i)执行过后k的值为_________,i的值为__________。(A)9,6(B)12,5(C)18,6(D)15,5104.若已知a=10,b=20,则表达式!a<b的值为__________。(A)10(B)20(C)1(D)0105.能正确表示x的取值范围在[-10,-5]和[0,100]内的表达式是_______。(A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)(B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)(C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)(D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)106.写出下面程序的输出结果__________。main(){intx=4,y=0,z;x*=3+2;printf("%d",x);x*=(y==(z=4));printf("%d",x);}(A)1440(B)200(C)204(D)144二.填空题1.以下程序的输出结果是__________#defineMAX(x,y)(x)>(y)?(x):(y)main(){inta=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf("%d\n",t);}2.在C语言中,程序运行期间,其值不能被改变的量叫____3.在一个变量定义语句中可以同时定义多个变量,变量之间用__________隔开。4.在TURBOC中,单精度实数的数值范围约在_____~_____之间。5.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以__________输出,也能以__________输出。6.C的字符常量是用__________括起来的一个字符。7.在C语言中,系统在每一个字符串的结尾自动加一个"字符串结束标志符"即__________,以便系统据此判断字符串是否结束。8.十进制数153转化为二进制数为__________。9.C语言的关键字都用__________{大写或小写}。10.符号常量是指__________。11.在C语言中,实数有两种表示形式,即__________和__________。12.在一个整常量后面加一个字母__________或__________,则认为是longint型常量。13.在C语言中,常量有不同的类型,包括___________、___________、___________和_____________等。14.在C语言中,习惯上符号常量名用__________,变量用__________。{大写或小写}15.整型常量和实型常量也称为__________,它们有正负值之分。16.C语言基本数据类型包括__________、__________、__________、__________。17.实型变量分为__________和__________,即float和duble型。18.int型的取值范围是_____~_____。19.C语言中规定,在变量定义的同时也可以给变量赋初值,叫做__________。20.C语言数据类型中构造类型包括三种,它们是__________、__________、__________。21.若想通过以下输入语句a使中存放字符串1234,b中存放字符5,则输入数据的形式应该是──.chara[10],b;scanf("a=%sb=%c",a,&b);22.C的字符串常量是用__________括起来的字符序列。23.位无符号二进制数能表示的最大十进制数是______。24.C语言中逻辑运算符的优先级是__________高于__________高于__________。25.C语言中运算符的优先级最小的是__________运算符。26.在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码大__________。27.在C语言中,算术运算符的结合性是__________。28.在C语言中,算术运算符有加、减、乘、除等,这些运算符需要两个运算对象,称为__________运算符。29.一个C源程序至少包含一个__________,即__________。30.sizeof用于计算出各个数据类型使用多少内存空间(以bytes为单位),若有语句:i=sizeof(int);和j=sizeof(char);则:i=_________;j=_________。31.在C语言中,变量是指__________。32.在C语言中,可以利用__________将一个表达式的值转换成指定的类型。33.sizeof用于计算出各个项数据类型使用多少内存空间(以bytes为单位),若有语句:i=sizeof(float);和j=sizeof(double);则:i=_______;j=________。34.与八进制小数0.1等值的十六进制小数为__________。35.下面的程序main(){floatx;inti;x=3.6;i=(int)x;printf("x=%f,i=%d",x,i);}运行结果为__________。36.下面的程序main(){charc1,c2;c1='A';c2='B';c1=c1-32;c2=c2-32;printf("%c%c",c1,c2);}运行结果为__________。37.下面程序main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}运行后i,j,m,n的值是__________。38.表达式10+'a'+1.5-0.5*'B'的结果是__________。39.表达式10+'a'+1.5-567.345/'b'的结果是__________型数据。40.表达式x=(a=3,6*3)和表达式x=a=3,6*a分别是__________表达式和_________表达式,两个表达式执行完的结果是__________和__________。两个表达式执行完后x的值是__________,__________。41.如果inti=3,则printf("%d",-i++)执行后的输出以及i的结果分别是__________。42.写出以下数学式的C语言表达式_________。ab·c43.若已知a=10,b=20,则表达式!a<b的值为________。44.设x和y均为int型变量,且x=1,y=2,则表达式2.0+y/x的值为______。45.下面程序的执行结果是__________。main(){inta=5,b=4,c=9;printf("###%d",(a<c)?c*b:a*b);}46.若x=3,y=2,z=1,求下列表达式的值分别为:(1)________(2)________(3)__________(1)x<y?y:x(2)x<y?x++:y++(3)z+=x<y?x++:y++47.表示"整数x的绝对值大于5"时值为"真"的C语言表达式是________48.以下程序的输出结果是_________voidfun(){staticinta=0;a+=2;printf("%d",a);}main(){intcc;for(cc=1;cc<4;cc++)fun()printf("\n");}49.逗号表达式如下:表达式1,表达式2则逗号表达式的结果是__________的值。

第三章基本语句一.单项选择题1.以下程序的输出结果是________#include<stdio.h>main(){inti;for(i=1;i<=5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}A)*#*#*#$B)#*#*#*$C)*#*#$D)#*#*$2.以下程序的输出结果是_________#include<stdio.h>main(){inta=2,c=5;printf("a=%%d,b=%%d\n",a,c);}A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d3.设k为int变量,下面语句将输出_____k=1988;printf("|%-06d|\n",k);A输出格式描述符不合法B输出为|001988|C输出为|1988|D输出为|-01988|4.若欲表示在if后a不等于0的关系,则能正确表示这一关系的表达式为__________。(A)a<>0(B)!a(C)a=0(D)a5.判断字符型变量ch为大写字母的表达式是__________。(A)'A'<=ch<='Z'(B)(ch>='A')&(ch<='Z')(C)(ch>='A')&&(ch<='Z')(D)(ch>='A')AND(ch<='Z')6.以下程序的输出结果是__________。main(){inta=-1,b=4,k;k=(++a<=0)&&!(b--<=0);printf("%d%d%d\n",k,a,b);}(A)104(B)004(C)103(D)0037.有以下程序main(){inta=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a);printf("%d,%d\n",k,m);}程序运行后的输出结果是A)0,0B)0,1C)1,0D)1,18.若int类型数据占两个字节,则下列语句的输出为________。intk=-1;Printf("%d,%u,\n",k,k);A-1,-1B-1,32767C-1,32768D-1,655359.若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:int*p;p=__________malloc(sizeof(int));则应填入__________。(A)int(B)int*(C)(*int)(D)(int*)10.设a为float变量,下面语句将输出_____floata=271.828;printf("%-4.2f\n",a);A输出格式描述符的域不够宽,不能输出B输出为271.83C输出为271.82D输出为-271.8211.在下列选项中,不正确的赋值语句是_______A++t;Bn1=(n2=(n3=0));Ck=i=j;Da=b+c=1;12.若有以下定义各语句:charc1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+'A');则输出结果是_______A2,MB3,EC2,ED输出结果不确定13.以下程序的输出结果是__________。main(){charc1='6',c2='0';printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);}(A)因输出格式不合法,输出出错信息(B)6,0,6,102(C)6,0,7,6(D)6,0,5,714.若k为int变量,则以下语句________。k=8567;printf("|%-06d|\n",k);A输出格式描述符不合法B输出为0085671C输出为|8567|D输出为|-08567|15.分析程序片段(字符串内没有空格字符):printf("%d\n",strlen("ATS\n012\1\\"));上面程序片段的输出结果是__________。(A)11(B)10(C)9(D)816.分析程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若运行时从键盘上输入9876543210<CR>(<CR>表示回车),则上面程序的输出结果是__________。(A)a=98,b=765,c=4321(B)a=10,b=432,c=8765(C)a=98,b=765.000000,c=4321.000000(D)a=98,b=765.0,c=4321.017.当输入为"quert?"时,下面程序的执行结果是__________。#include<stdio.h>main(){charc;c=getchar();while(c!='?'){putchar(c);c=getchar();}}(A)quert(B)Rvfsu(C)quert?(D)rvfsu?18.printf函数中用到格式符"%4s",其中数字4表示输出的字符串占用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为__________。(A)左对齐输出该字符串,右补空格(B)按原字符长从左向右全部输出(C)右对齐输出该字符,左补空格(D)输出错误信息19.以下程序的输出结果是_____#include<stdio.h>main(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(a,b)inta,b;{staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}A)8,17B)8,16C)8,20D)8,820.已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是________。#include<stdio.h>main(){charch1='A',ch2='b';printf("%d,%d\n",ch1,ch2);}(A)因输出格式不合法,输出错误信息(B)65,98(C)A,b(D)65,8921.有定义语句:int?x,?y;,若变量x得到数值11,变量y得到数值12,下面四组输入要通过scanf("%d,%d",&x,&y);语句使变量x得到数形式中,错误的是A)11?12<回车>?B)11,?12<回车>C)11,12<回车>?D)11?,<回车>12<回车>?22.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为______。main(){charx,y;x='0';y='9';printf("%d,%d\n",x,y);}(A)因输出格式不合法,输出错误信息(B)48,57(C)0,9(D)48,5823.已知在ASCII集中,字母A的序号是65,以下程序的输出结果是__________。main(){charc1='B',C2='Y';printf("%d,%d\n",++c1,--c2);}(A)输出格式不合法,输出错误信息(B)67,88(C)66,89(D)C,X24.分析程序片段:inti=65536;printf("%d\n",i);上面程序片段的输出结果是__________。(A)65536(B)0(C)-1(D)有语法错误,无输出结果25.根据题目中已给出的数据输入和输出形式,程序中输入输出语句的正确内容是__________。main(){inta;floatx;printf("inputa,x:");输入语句输出语句}输入形式inputa,x:32.1输出形式a+x=5.10(A)scanf("%d,%f",&a,&x);printf("\na+x=%4.2f",a+x);(B)scanf("%d%f",&a,&x);printf("\na+x=%4.2f",a+x);(C)scanf("%d%f",&a,&x);printf("\na+x=%6.1f",a+x);(D)scanf("%d%3.1f",&a,&x);printf("\na+x=%4.2f",a+x);26.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为_______。main(){charc='A';inti=10;c=c+10;i=c%i;printf("%c,%d\n",c,i);}(A)75,7(B)75,5(C)K,5(D)因存在非图形字符,无法直接显示出来27.下面程序段运行时输出结果是________。chars[18]="abook!";printf("%.4s",s);Aabook!BaboCabook!D格式描述不正确,没有确定输出28.如a为整形变量,以下语句_________.printf("%d\n",a);A赋值不合法B输出为不确定值C输出值为-2D输出值为229.在scanf函数的格式控制中,格式说明的类型与输入项的类型应该一一对应匹配。如果类型不匹配,系统将__________。(A)不予接收(B)并不给出出错信息,但不可能得到正确数据(C)能接收到正确输入(D)给出出错信息,不予接收输入30.若有定义:intx,y;chara,b,c;并有以下输入数据(此处,<cr>代表换行符)12<cr>ABC<cr>则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是__________。(A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();(B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();(C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);(D)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);31.在C语言中,退格符是__________。(A)\n(B)\t(C)\v(D)\b32.有以下程序?main()?{?int?x=3,?y=2,?z=1;?printf("%d\n",x/y&~z);?}?程序运行后的输出结果是?A)3?B)2?C)1?D)033.以下程序的输出结果是________。#include<stdio.h>main(){inta=2,c=5;printf("a=%%d,b=%%d\n",a,c);}Aa=%2,b=%5Ba=2,b=5Ca=%%dDa=%d,b=%d34.写出下面程序的输出结果__________。main(){intx=40,y=4,z=4;x=y==z;printf("%d",x);x=x==(y-z);printf("%d",x);}(A)40(B)41(C)11(D)1035.下面程序的输出结果是__________。main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}(A)k=11,k=12,k=11(B)k=11,k=13,k=13(C)k=11,k=013,k=0xb(D)k=11,k=13,k=b36.下列说法正确的是__________。(A)输入项可以是一个实型常量,如scanf("f%",4.8);(B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");(C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);(D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);37.下面程序的输出结果是__________。main(){charx=060;printf("%d\n",x=x>>1);}(A)96(B)160(C)24(D)4838.设有如下程序段?:?int?x=2002,?y=2003;?printf("%d\n",(x,y));?则以下叙述中正确的是?A)输出语句中格式说明符的个数少?于输出项的个数,不能正确输出?B)运行时产生出错信息?C)输出值为2002??D)输出值为2003?39.下列程序的输出是_________main(){charch='A';ch--;printf("%d\n",a);}A18B9C-18D-940.若x是int型变量,且有下面的程序片段:for(x=3;x<6;x++)printf((x%2)?("**%d"):("##%d\n"),x);上面程序片段的输出结果是__________。(A)**3(B)##3(C)##3(D)**3##4##4**4**4##5**5**5##541.若k是int型变量,且有下面的程序片断:k=-3;if(k<=0)printf("####")elseprintf("&&&&");上面程序片断的输出结果是_______.A####

温馨提示

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

评论

0/150

提交评论