选择题部分第一章C语言概述选择题1、一个C程序的执行是从______。A、本程序的main函数开始,到main函数的结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束C、本程序文件的main开始,到本程序文件的最后一个函数的结束D、本程序文件的第一个函数开始,到本程序文件的main函数的结束2、以下叙述正确的是______。A、在C程序中main函数必须位于程序的最前面B、C程序的每行中只能写一条语句C、C语言本身没有输入输出语句D、在对一个C程序进行编译的过程中,可发现注释中的错误3、以下叙述不正确的是______。A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面4、C语言规定,在一个源程序中,main函数的位置______。A、必须在最开始B、必须在系统调用的库函数的后面C、可以任意D、必须在最后5、一个C语言程序是由______。A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(ACDCB)第三章数据类型、运算符与表达式(红色显示的部分为参考答案)1、如果x、i、j和k都是int型变量,则计算下面表达式后,x的值为______。x=(i=4,j=16,k=32)A.4B.16C.32D.522、设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是______。A.7B.8C.6D.23、下列四组选项中,均不是C语言关键字的选项是______。A.defineIFtypeB.getccharprintfC.includescanfcaseD.whilegopow4、下列四组选项中,均是C语言关键字的选项是______。A.autoenumincludeB.switchtypedefcontinueC.signedunionscanfD.ifstructtype5、下列四组选项中,均是不合法的用户标识符的选项是______。A.AP_0doB.floatgoto_AC.b-agotointD._123tempINT6、C语言中的标识符只能由字母、数字、下划线三种字符组成,且第一个字符______。A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字、下划线中任意一种字符7、下列四组选项中,均是合法的整型常量的选项是______。A.160-0xffff011B.-0xcdf0170xeC.-01986,0120668D.-0x48a2e50x8、下列四组选项中,均是不合法的整型常量的选项是______。A.--0f10xffff0011B.-0xcdf01712,456C.-0189995e2D.-0x48eg-06803f8、下列四组选项中,均是不合法的浮点数的选项是______。A.160.0.12e3B.1232e4.2.e5C.-.18123e40.0D.-e3.2341e39、下列四组选项中,均是合法的浮点数的选项是______。A.+1e+15e-9.403e2B.-.6012e-4-8e5C.123e1.2e-.4+2e-1D.-e3.8e-45.e-010、下列四组选项中,均是合法的转义字符的选项是______。A.'\'''\\''\n'B.'\''\017''\'C.'\018''\f''xab'D.'\\0''\101''x1f'11、下列四组选项中,均是不合法的转义字符的选项是______。A.'\''\\''\xf'B.'\1011''\''\a'C.'\011''\f''\}'D.'\abc''\101''x1f'12、下面正确的字符常量是______。A.cB.'\\''C.'W'D.''13、下面四个选项中,均是不正确的8进制数或16进制数的选项是______。A.0160x8f018B.oabc0170xaC.010-0x110x16D.0a127ff-12314、下面四个选项中,均是正确的8进制数或16进制数的选项是______。A.-100x8f-011B.0abc-0170xcC.0010-0x110xf1D.0a12-0x123-0xa15、下面四个选项中,均为正确的数值或字符常量的选项是______。A.0.00f8.9e'&'B.a3.9E-2.51e1'\'C.'3'0110xff000aD.+0010xabcd2e250.16、下面不正确的字符串常量是______。A.'abc'B.12'12C.0D.17、已知各变量的类型说明如下:intk,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)18、已知各变量的类型说明如下:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是______。A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=float(i)19、以下不正确的叙述是______。A.在C程序中,逗号运算符的优先级最低B.在C程序中,APA和apa是两个不同的变量C.如果a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值保持不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值20、以下正确的叙述是______。A.在C程序中,每行只能写一条语句B.若a是实型变量,C程序允许赋值a=10,因此实型变量中允许存放整型数C.在C程序中,无论是整数还是实数,都能够准确无误地表示D.在C程序中,%是只能用于整数运算的运算符21、以下符合C语言语法的赋值表达式是______。A.d=9+e+f=d+9B.d=9+e,f=d+9C.d=9+e,e++,d+9D.d=9+e++=d+722、已知字母A的ASCII编码为10进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为______。A.DB.68C.不确定的值D.C23、在C语言中,要求运算数必须为整型的运算符是______。A./B.++C.!=D.%24、若以下变量均是整型,且num=sum=7,则计算表达式sUM=num++,sUM++,++num后,num的值为______。A.7B.8C.9D.1025、在C语言中,intcharshort三种类型数据在内存中所占用的字节数______。A.由用户自己定义B.均为2个字节C.是任意的D.由所用机器的机器字长决定26、若有说明语句charc='\72',则变量c______。A.包含一个字符B.包含两个字符C.包含3个字符D.说明不合法,C的值不能确定27、若有定义inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是______。A.2.500000B.2.750000C.3.500000D.0.00000028、sizeof(float)是______。A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式29、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为______。A.intB.floatC.doubleD.不确定30、下面四个选项中,均是非法常量的选项是______。A.'as'-0fff'\0xa'B.'\\''\01'12,456C.-0x18011770xfD.0xabc'\0'a31、若有代数式|x3+log10x|,则正确的C语言表达式为______。A.fabs(x*3+log(x)))B.abs(pow(x,3)+log(x))C.abs(pow(x,3.0)+log(x))D.fabs(pow(x,3.0)+log(x))32、在C语言中,char型数据在内存中的存储形式为______。A.补码B.反码C.原码D.ASCII码33、设变量n为float型,m为int类型,则以下能实现将n中的值保留小数点后两位,第三位进行4舍5入的表达式是______。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.034、表达式18/4*sqrt(4.0)/8值的数据类型为______。A.intB.floatC.doubleD.不能确定35、设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为______。A.0~255B.0~32767C.0~65535D.0~214748364736、设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为______。A.floatB.charC.intD.double37、若有以下定义,则能使值为3的表达式是______。intk=7,x=12;A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)38、设以下变量均为int类型,则值不等于7的表达式是______。A.(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+1,x=y,x+1)第四章最简单的C程序设计(红色显示的部分为参考答案)1、putchar函数可以向终端输出一个______A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值2、以下程序的输出结果是______(注:□表示空格)main(){printf(\n*s1=%15s*,chinabeijing);printf(\n*s2=%-5s*,chi);}A.*s1=chinabeijing□□□**s2=**chi*B.*s1=chinabeijing□□□**s2=chi□□*C.*s1=*□□chinabeijing**s2=□□chi*D.*s1=□□□chinabeijing**s2=chi□□□*3、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串的长度大于5,则输出按方式___B____,如果字符串长度小于5,则输出按方式___C___A.从左起输出该字符串,右补空格B.按原字符串长度从左向右全部输出C.右对齐输出该字符串,左补空格D.输出错误信息4、已有定义inta=-2;和输出语句:printf(%8lx,a);以下正确的叙述是______A.整型变量的输出格式符只有%d一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符的一种,其变量的值按16进制输出,但%8lx是错误的用法D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度5、以下程序的输出结果是______(注:□表示空格)main(){longy=-43456;printf(y=%-8ld\n,y);printf(y=%-08ld\n,y);printf(y=%08ld\n,y);printf(y=%+8ld\n,y);}A.y=□□-43456y=-□□43456y=-0043456y=-43456B.y=-43456y=-43456y=-0043456y=+□-43456C.y=-43456y=-43456y=-0043456y=□□-43456D.y=□□-43456y=-0043456y=00043456y=+434566、以下程序的输出结果是______(注:□表示空格)main(){inty=2456;printf(y=%3o\n,y);printf(y=%8o\n,y);printf(y=%#8o\n,y);}A.y=□□□2456y=□□□□□□□□2456y=#####