专升本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)若干子程序组成6.若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32)A)4B)16C)32D)527.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:A)7B)8C)6D)28.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一种字符9.若有代数式3ae/bc,则不正确的C语言表达式是:A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*310.以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。11.以下正确的叙述是:A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符12.以下符合C语言语法的赋值表达式是A)d=9+e+f=d+9B)d=9+e,f=d+9C)d=9+e=e++,d+9D)d=9+e++=d+713.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为A)DB)68C)不确定的值D)C14.在C语言中,要求运算数必须是整型的运算符是。A)/B)++c)!=D)%15.若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为A)7B)8C)9D)1016.在C语言中,int、char和short种类型数据在内存中所占用的字节数A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定17.若有说明语句:charc='\72'则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定18.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000B)2.7500OOc)3.500000D)0.000000。19.sizeof(float)是:A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式20.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为A)intB)floatC)doubleD)不确定21.在C语言中,char型数据在内存中的存储形式是:A)补码B)反码C)原码D)ASCII码22.表达式18/4*sqrt(4.0)/8值的数据类型为:A)intB)floatC)doubleD)不确定23.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为:A)0~255B)0~32767C)0~65535D)0~214748364724.设有说明:charw;intx;f1oaty;doublez;则表达式w*x+z一y值的数据类型为:A)floatB)charC)intD)double25.若有以下定义,则能使值为3的表达式是:intk=7,x=12;A)x%=(k%=5)B)x%=(k一k%5)C)x%=k-k%5D)(x%=k)一(k%=5)26.设以下变量均为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+l,x=y,x+1)第四、五章复习题27.putchar函数可以向终端输出一个:A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值28.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按:A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息29.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式。A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息30.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:P83A)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);【scanf无精度】31.已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是inta1,a2;charc1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);A)10A20BCR(空格有没有都行,10和A之间不能有空格,否则c1为空格)B)10A20BCRC)10A20CRD)10A20BcR。32.已有定义intx;f1oaty;且执行scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据12345678(回车),则x的值为A)12345B)123C)45D)34533.已有定义intx;f1oaty;且执行scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据12345678(回车),则y的值为:A)无定值B)45.0000C)678.000000D)123.0000034.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是:inta1,a2;charc1,c2;scanf(%d%d,&a1,&a2);scanf(%c%c,&c1,&c2);A)1020ABCRB)1020CRABCRC)1020ABCRD)1020ABCR35.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为main(){inta;floatf;printf(\nInputnumber:);输入语句printf(\nf=%f,a=%d\n,f,a);}Inputnumber:4.52CRA)scanf(%d,%f,&a,&f);B)scanf(%f,%d,&f,&a)C)scanf(%d%f,&a,&f);D)scanf(%f%d,&f,&a);36.根据定义和数据的输入方式,输入语句的正确形式为:已有定义:floatfl,f2;数据的输入方式:4.523.5A)scanf(%f,%f,&f1,&f2);B)scanf(%f%f,&f1,&f2);C)scanf(%3.2f%2.1f,&f1,&f);D)scanf(%3.2f%2.1f,&f1,&f2);37.阅读以下程序,当输入数据的形式为25,13,10CR正确的输出结果为:main(){intx,y,z;scanf(%d%d%d,&x,&y,&z);printf(x+y+z=%d\n”,x+y+z);。}A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值38.阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是:main(){intx;floaty;printf(enterx,y:)输入语句;输出语句;}输入形式enterx,y:23.4输出形式x+y=5.40A)scanf(%d,%f,&x,&y);printf(\nx+y=%4.2f,x+y);B)scanf(%d%f,&x,&y);printf(\nx+y=%4.2f,x+y);C)scanf(%d%f,&x,&y);printf(\nx+y=%6.lf,x+y);D)scanf(%d%3.1f,&x,&y);printf(\nx十y=%4.2f,x+y);39以下说法正确的是:A)输入项可以为一实型常量,如scanf(%f,3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d,b=%d);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f);D)当输入数据时,必须指明变量的地址,如scanf(%f,&f);40.根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为:main(){charch1,ch2,ch3;输入语句printf(%c%c%c,ch1,ch2,ch3);}输入形式:ABC输出形式:AB(空格)A)scanf(%c%c%c,&ch1,&ch2,&ch3);B)scanf(%c,%c,%c,&ch1,&ch2,&ch3);C)scanf(%c%c%c,&ch1,&ch2,&ch3);D)scanf(%c%c,&ch1,&ch2,&ch3);41.有输入语句:scanf(a=%d,b=%d,c=%d,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是A)132(回车)B)1,3,2(回车)C)a=1b=3c=2(回车)D)a=1,b=3,c=2(回车)42.以下能正确地定义整型变量a,b和c并为其赋初值5的语句是A)inta=5,b=5,c=5;B)inta,b,c=5;C)a=5,b=5,c=5;D)a=b=c=5;43.已知ch是字符型变量,下面不正确的赋值语句是A)ch='a+b';B)ch='\0';C)ch='7'+'9';D)ch=5+9;44.若有以下定义,则正确的赋值语句是:inta,b;floatx;A)a=1,b=2,B)b++;C)a=b=5D)b=int(x);45.设x、y均为f1oat型变量,则以下不合法的赋值语句是A)++x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0;46.x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x、y和z的值是:A)x=10B)x=10C)x=10D)x=10y=15y=10y=10y=5z=10z=10z=15z=1047.逻辑运算符两侧运算对象的数据类型。A)只能是0或1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据48.以下关于运算符优先顺序的描述中正确的是:A)关系运算符算术运算符赋值运算符逻辑与运算符B)逻辑运算符关系运算符算术运算符赋值运算符C)赋值运算符条件运算符逻辑与运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符逻辑与运算符49.下列运算符中优先级最高的是:A)