C语言题库1、一个C程序的执行是从___A__。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2、以下叙述正确的是:CA)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误3、以下叙述不正确的是。DA)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面4、C语言规定:在一个源程序中,main函数的位置C。A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后5、一个C语言程序是由BA)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成6、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为AA)charint1ongint=floatdoubleB)char=int1ongint=floatdoubleC)charint1ongint=float=doubleD)char=int=1ongint=floatdouble7、若x,i,j和k都是int型变量,则执行下面表达式后x的值为Cx=(i=4,j=16,k=32)A)4B)16C)32D)528、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:BA)7B)8C)6D)29、下列四组选项中,均不是C语言关键字的选项是AA)defineB)getcC)includeD)whileIFcharscanfgoTypeprintfcasepow10、下面四个选项中,均是C语言关键字的选项是BA)autoB)switchC)signedD)ifEnumtypedefunionstructIncludecontinuescanftype11、下面四个选项中,均是不合法的用户标识符的选项是。CA)AB)floatC)b-aD)-123P_01a0gototempDo-AintINT12、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符CA)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一种字符13、下面四个选项中,均是合法整型常量的选项是:AA)160B)-0xcdfC)-01D)-0x48a-0xffff01a986,0122e50110xe06680x14、下面四个选项中,均是不合法的整型常量的选项是:DA)-0f1B)-0XcdfC)-018D)-0x48eg-0xffff017999-068001112,4565e203f15、下面四个选项中,均是不合法的浮点数的选项是BA)160.B)123C)-.18D)-e30.122e4.2123e4.234e3.e50.01e316、下面四个选项中,均是合法浮点数的选项是BA)+le+1B)-.60C)123eD)-e35e-9.412e-41.2e-.4.8e403e2-8e5+2e-15.e-017、下面四个选项中,均是合法转义字符的选项是AA)'\''B)'\'C)'\018'D)'\\0''\\''\017''\f''101''\n''\''xab''xlf'18、下面四个选项中,均是不合法的转义字符的选项是BA)'\''B)'\1011'C)'\011'D)'\abc''\\''\''\f''\101''\xf''\a''\}''xlf'19、下面正确的字符常量是:CA)aB)'\\''C)'W'D)''20、下面四个选项中,均是不正确的八进制数或十六进制数的选项是。DA)016B)oabcC)010D)0a120x8f017-0x117ff0180x80x16-12321、下面四个选项中,均是正确的八进制数或十六进制数的选项是。CA)一10B)0abcC)0010D)0al20x8f一017一0x11-0xl23一0110xc0xf1一0x822、下面四个选项中、均是正确的数值常量或字符常量的选项是:DA)0.0B)aC)'3'D)十0010f3.9E-2.50110xabcd8.9elel0xFFOO2e2'&''\'''0a50.23、下面不正确的字符串常量是。AA)'abc'B)12'12C)0D)24、若有代数式3ae/bc,则不正确的C语言表达式是:CA)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*325、已知各变量的类型说明如下:Aintk,a,b;unsignedlongw=5;doublex=1.42;则以下不符合C语言语法的表达式是:A)x%(一3)B)w+=-2C)k=(a=2,b=3,a十b)D)a十=a一=(b=4)*(a=3)26、已知各变量的类型说明如下:Ainti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是:A)a十=a一=(b=4)*(a=3)B)a=a*3=2(不能连续赋值)C)x%(一3)D)y=f1oat(i)27、以下不正确的叙述是DA)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。28、以下正确的叙述是:DA)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符29、以下符合C语言语法的赋值表达式是BA)d=9+e+f=d+9B)d=9+e,f=d+9C)d=9十e,e++,d十9D)d=9十e++=d十730、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为AA)DB)68C)不确定的值D)C31、在C语言中,要求运算数必须是整型的运算符是。DA)/B)++c)!=D)%32、若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为AA)7B)8C)9D)1033、在C语言中,int、char和short种类型数据在内存中所占用的字节数DA)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定*34A34、若有说明语句:charc='\72'则变量cAA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定*35A35、若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是AA)2·500000B)2.7500OOc)3.500000D)0.000000。36、sizeof(float)是:BA)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式37、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为CA)intB)floatC)doubleD)不确定38、下面四个选项中,均是非法常量的选项是。AA)'as'B)'\\'c)-0xl8D)0xabc-0fff'\01'01177'\0''\0xa'12,4560xfa39、在C语言中,char型数据在内存中的存储形式是:DA)补码B)反码C)原码D)ASCII码40、设变量n为f1oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是B。A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.041、表达式18/4*sqrt(4.0)/8值的数据类型为:CA)intB)floatC)doubleD)不确定42、设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为:CA)0~255B)0~32767C)0~65535D)0~214748364743、设有说明:charw;intx;f1oaty;doublez;则表达式w*x+z一y值的数据类型为:DA)floatB)charC)intD)double44、若有以下定义,则能使值为3的表达式是:Dintk=7,x=12;A)x%=(k%=5)B)x%=(k一k%5)C)x%=k-k%5D)(x%=k)一(k%=5)45、设以下变量均为int类型,则值不等于7的表达式是CA)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y=6,y+l,x=y,x+1)46、putchar函数可以向终端输出一个:DA)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值47、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式BA)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息48、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式。CA)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息49、已有定义inta=-2;和输出语句:printf(%8lx,a);以下正确的叙述是:DA)整型变量的输出格式符只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度50、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:DA)scanf(%d%lx,%le,&x,&y,&z);B)scanf(%2d*%d%lf&x,&y,&z);C)scanf(%x%*d%o,&x,&y);D)scanf(%x%o%6.2f,&x,&y,&z);51、已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是Ainta1,a2;charc1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);A)10A20BCRB)10A20BCRC)10A20CRD)10A20BcR。52、已有定义intx;f1oaty;且执行scanf(%3d%f,&x,&y);语句,若从第一列开始输B入数据12345678(回车),则x的值为A)12345B)123。C)45D)34553、已有定义intx;f1oaty;且执行scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据12345678(回车),则y的值为:BA)无定值B)45.0000C)678.000000D)123.0000054、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是:Dinta1,a2;charc1,c2;scanf(%d%d,&a1,&a2);scanf(%c%c,&c1,&c2);A)1020ABCRB)1020CRABCRC)1020ABCRD)1020ABCR55、已有程序段和输入数据的形式如下,程序中输入语句的正确形式