您好,欢迎访问三七文档
《C语言程序设计》练习题第1章C语言程序设计基础1.C语言的特点是什么?2.举例说明什么是高级语言,什么是低级语言。3.写出C程序的一般构成。4.运行C程序的基本过程一般包括哪些步骤?各个步骤的作用是什么?5.C语言源程序文件的后缀是,经过编译后,生成文件的后缀是,经过连接后,生成文件的后缀是。6.分析下列程序的错误。#includestdio.h;intsum();{ints,n;s=0,n=1;while(n=10);s=s+n;n=n+1;};return(n);}:voidmain(){inttotal;total=sum();printf(sum=%d\n,total);}第2章C语言数据类型与基本操作一、选择题1.在C语言中,正确的int类型的常数是()。A.-2UB.059C.3aD.0xaf2.下列数据中,为字符的是()。A.'AB'B.AC.HOWD.'A'+23.下列算术运算符中,只能用于整型数据的是()。A.-B.+C./D.%4.下列用户定义的标识符不符合规定的是()。A.f2_g3B.ForC.5nD._n65.下列标识符中是C语言的保留字的是()。A.IntB.FLOATC.doubleD.Char6.下列变量定义正确的是()。A.intx_1;y;B.intx,y=5;C.intfor=4;D.printf=2,x_y=2;7.设x、y、z和k都是int型变量,则执行表达式x=(y=52,z=26,k=32)后,x的值为()。A.4B.26C.32D.528.设有如下变量定义:inti=8,k,a,b;unsignedlongw=5;doublex=1,y=5.2;则符合C语言语法的表达式是()。A.a+=a-=(b=4)*(a=3)B.x%(-3)C.a=a*3=2D.y=int(i)9.假设有以下变量定义:intk=7,x=12;则能使值为3的表达式是()。A.x%=(k%=5)B.x%=(x-k%5)C.x%=k+k%5D.(k%=5)–(x%=k)10.以下程序的输出结果是()。main(){inta=10,b=10;printf(d%d%\n,--a,++b);}A.1011B.1113C.911D.1112第2章C语言数据类型与基本操作8311.若有以下定义和语句:intu=010,v=0x10,w=10;printf(%d,%d,%d\n,u,v,w);则输出结果是()。A.8,16,10B.10,10,10C.8,8,10D.8,10,1012.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值为()。A.1.0B.1.5C.2.0D.2.513.若有如下定义和语句:charc1='a',c2='f';printf(%d,%c\n,c2-c1,c2-'a'+'B');则输出结果是()。A.2,MB.5,GC.2,ED.输出项与对应的格式控制符不一致,输出结果不确定14.语句printf(%d,(a=3)&&(b=-3));的输出结果为()。A.无输出B.输出结果不确定C.1D.-115.当c值不为0时,在下列选项中能正确地将c的值赋给变量a、b的是()。A.c=b=aB.(a=c)||(b=c)C.(a=c)&&(b=c)D.a=c=b16.下列变量定义中合法的是()。A.short_a=1-ae-1B.doubleb=1+5e2.5C.longao=0xfdalD.float2_and=1-e-317.设intx=2,y=1;表达式(!x||y--)的值是()。A.-2B.1C.2D.-118.下面程序的输出结果是()。#includestdio.hmain(){inta=-1,b=4,k;k=(a++=0)&&(!(b--=0));printf(%d%d%d,k,a,b);}A.003B.012C.103D.11219.设二进制数x的值是00110101,若想通过x&y运算使x中的低4位不变,高4位清零,则以下能实现此功能的是()。A.x=x|ox0fB.x=x&ox0fC.x=x|0xf0D.x=x&0xf020.设有以下语句,则c的二进制值是()。chara=3,b=6,c;c=a^b2;A.00011011B.00010100C.00011100D.00011000C语言程序设计上机指导与习题集解答84二、填空题1.一个C程序是由若干函数构成,其中必须有一个________。2.一个C语句中至少应该包含一个________。3.若采用十进制数的表示形式,则077可表示为________,0111可表示为________,0x29可表示为________,0xab可表示为________。4.表达式5%(-3)的值是________,表达式-5%(-3)的值是________。5.执行下列语句后,z的值是________。intx=4,y=25,z=2;z=(--y/++x)*z--;6.设x、y、z均为int型变量,且x=3,y=-4,z=5,请写出下面每个表达式对应的结果。(1)(x&&y)==(x||z)________(2)!(xy)+(y!=z)||(x+y)&&(y-z)________(3)x++-y+(++z)________7.设a=3,b=2,c=1,则ab的值为________,abc的值为________。8.设有变量定义inti=5,j=4;则条件表达式(--i==j++)?--i:++j的值为________。9.执行下列语句后,a的值为________,b的值为________,c的值为________。intx=10,y=9;inta,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;10.已知:inti,j,k;i=j=k=3;则下列表达式的结果为:(1)~i|i&j________(2)i∧=j∧=i________(3)j*k2&i________三、分析下列程序输出的结果1.写出下面程序执行后变量a,b,c的值。chara='2',b='a';intc;c=a+b;a=c;2.写出下列程序的输出结果。main(){intx;x=-4+5*6-7;printf(%d\n,x);x=3+4%5-6;printf(%d\n,x);x=-3*4%-6/5;printf(%d\n,x);x=(10+8)%5/2;printf(%d\n,x);第2章C语言数据类型与基本操作85}3.写出下列程序的输出结果。main(){intx=50,y=5,z=5;x=y==z;printf(%d\n,x);x=x==(y==z);printf(%d\n,x);}4.写出下列程序的输出结果。main(){intx,y,z;x=y=2;z=3;y=x++-1;printf(%d\t%d\t,x,y);y=++x-1;printf(%d\t%d\t,x,y);y=z--+1;printf(%d\t%d\t,z,y);y=--z+1;printf(%d\t%d\t,z,y);}5.写出下列程序的输出结果。main(){intx,y,z;x=y=z=0;++x||++y&&++z;printf(x=%d\ty=%d\tz=%d\n,x,y,z);x=y=z=0;++x||++y&&++z;printf(x=%d\ty=%d\tz=%d\n,x,y,z);x=y=z=0;++x&&++y||++z;printf(x=%d\ty=%d\tz=%d\n,x,y,z);x=y=z=0;++x&&++y&&++z;printf(x=%d\ty=%d\tz=%d\n,x,y,z);x=y=z=-1;++x&&++y&&++z;printf(x=%d\ty=%d\tz=%d\n,x,y,z);x=y=z=-1;++x&&++y||++z;printf(x=%d\ty=%d\tz=%d\n,x,y,z);x=y=z=-1;++x||++y&&++z;printf(x=%d\ty=%d\tz=%d\n,x,y,z);}6.写出下列程序的输出结果。main(){charc;shorti;C语言程序设计上机指导与习题集解答86c='A';i=65;printf(c:dec=%doct=%ohex=%xASCII=%c\n,c,c,c,c);printf(i:dec=%doct=%ohex=%xunsigned=%u\n,i,i,i,i);c='x';i=-4;printf(c:dec=%doct=%ohex=%xASCII=%c\n,c,c,c,c);printf(i:dec=%doct=%ohex=%xunsigned=%u\n,i,i,i,i);}第3章顺序结构程序设计一、选择题1.以下程序段的输出结果是()。inta=1234;printf(%2d\n,a);A.12B.34C.1234D.提示错误、无结果2.设x、y均为整型变量,且x=10,y=3,则下列语句的输出结果是()。printf(%d,%d\n,x--,--y);A.10,3B.9,3C.9,2D.10,23.x,y,z被定义为int,若从键盘给x,y,z输入数据,正确的输入语句是()。A.INPUTx、y、zB.scanf(%d%d%d,&x,&y,&z);C.scanf(%d%d%d,x,y,z);D.read(%d%d%d,&x,&y,&z);4.下列程序执行后的输出结果是()。main(){doubled;floatf;longl;inti;i=f=l=d=20/3;printf(%d%ld%f%f\n,i,l,f,d);}A.666.0000006.000000B.666.7000006.700000C.666.0000006.700000D.666.7000006.0000005.以下合法的赋值语句是()。A.x=y=100B.d--C.x+yD.c=int(a+b)6.若变量a、i已经正确定义,且i已经正确赋值,则合法的语句是()。A.a==1B.++iC.a=a++=5D.a=int(i)二、填空题1.下列语句的输出结果是________。chara=31;printf(%d,%o,%x,%u,a,a,a,a);答案:31371F312.若有下列定义(设整型变量占两个字节)inti=8,j=9;fioatx=123.456C语言程序设计上机指导与习题集解答88则下列各组语句的输出结果是:(1)printf(i=%u,j=%x\n,i,j);________(2)printf(i=%o,j=%o\n,i,j);________(3)printf(i=%d,j=%d\n,i,j);________(4)printf(i=%08d,j=%-8d\n,i,j)________(5)printf(i=%10.2f,j=%10.2e\n,x,x);________3.假设所有的变量均为整型,分析以下两组语句的输出结果:(1)a=3+5,a*4;printf(%d\n,a);________(2)x=11/3;printf(%d\n,x);________4.以下程序输入三个整型数据给a、b、c,程序把b中的值赋给a,把c中的值赋给b,把a中的值赋给c,交换后输出a、b、c的值。例如,读入后,a=10,b=20,c=30;交换后a=20,b=30,c=10请填空。#includestdio.hmain(){inta,b,c,d;scanf(%d%d%d,________);________;a=b;b=c;________;printf(a=%d,b=%d,c=%d\n,a,b,c);}5.指出下列语句中的错误:(1)printf(%s,'a');________(2)printf(%d%d,10,15);________(3)printf(%c,'hello');________(4)chara;scanf(%c,a);(5)main(){
本文标题:C语言练习题(1)
链接地址:https://www.777doc.com/doc-3358391 .html