C语言程序设计复习与练习.docx
- 文档编号:6451072
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:27
- 大小:29.85KB
C语言程序设计复习与练习.docx
《C语言程序设计复习与练习.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习与练习.docx(27页珍藏版)》请在冰豆网上搜索。
C语言程序设计复习与练习
C语言程序设计复习与练习
2.6同步练习
一、选择题
1.以下选项中合法的用户标识符是()。
A.intB.a#C.5memD._243
2.C语言中的简单数据类型有()。
A.整型、实型、逻辑型B.整型、字符型、逻辑型
C.整型、实型、字符型D.整型、实型、字符型、逻辑型
3.以下选项中正确的整型常量是()。
A.-37B.32,758C.326D.6.
4.以下选项中合法C语言字符常量是()。
A.‘\t’B.“A”C.67D.A
5.以下选项中不正确的实型常量是()。
A..123B.1e4C.3.640E-1D.0.35
6.以下选项中合法的C语言赋值语句是()。
A.a=b=34B.a=34,b=34C.--i;D.m=(int)(x+y);
7.不合法的十六进制数是()。
A.0xffB.0X11C.0x1gD.0Xabc
8.在C语言中,char型数据在内存中是以()形式存储的。
A.原码B.补码C.ASCII码D.反码
9.设int类型的数据长度为两个字节,则unsignedint类型数据的取值范围是()。
A.0~255B.0~65535C.-32768~32767D.-256~255
10.以下()是不正确的转义字符。
A.‘\\’B.‘\’’C.‘020’D.‘\0’
11.在C语言中,数字029是一个()。
A.八进制数B.十六进制数C.十进制数D.非法数
12.为求出return语句返回计算100!
的结果,此函数的类型说明应为()。
A.intB.longC.unsignedlongD.选项A、B、C都不对
13.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符()。
A.必须为字母B.必须为下划线
C.必须为字母或下划线D.可以是字母、数字和下划线中任意一种字符
14.若有代数式
,则不正确的C语言表达式是()。
A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*3
15.若有定义:
intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为()。
(x+y)%2+(int)a/(int)b
A.1.0B.1C.2.0D.2
16.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为()。
x%=(n%2)
A.0B.1C.2D.3
17.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()。
A.7B.8C.9D.10
18.下列程序的输出结果是()。
#include
main()
{
doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf(“%d\n”,d*y);
}
A.3B.3.2C.0D.3.07
19.设intx=1,y=1;表达式(!
x||y--)的值是()。
A.0B.1C.2D.-1
20.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。
A.1B.2C.2.0D.2.5
21.若变量a,i已正确定义,且i已正确赋值,则合法的语句是()。
A.i=(int)aB.++i;C.a=a++=5;D.a=int(i);
22.若执行以下程序段后,c3的值为()。
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
A.0B.0.5C.1D.2
23.如下程序的运行结果是()。
#include
main()
{
inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
}
A.34B.42C.43D.33
24.能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是()。
A.a>=10ora<=0B.a>=10|a<=0C.a>=10&&a<=0D.a>=10||a<=0
25.若变量x、y、z均为double类型且已正确赋值,不能正确表示
的C语言表达式是()。
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z
26.设x、y、t均为int型变量,则执行语句:
x=y=3;t=++x||++y;后,y的值为()。
A.不定值B.4C.3D.1
27.设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。
A.0B.1C.2D.3
28.假设w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w w: x;m=(m m: y;m=(m m: x; 则该程序运行后,m的值是()。 A.4B.3C.2D.1 29.下列程序的输出结果是()。 #include main() { inta=0,b=0,c=0; if(++a>0||++b>0) ++c; printf(“\na=%d,b=%d,c=%d\n”,a,b,c); } A.a=0,b=0,c=0B.a=1,b=1,c=1 C.a=1,b=0,c=1D.a=0,b=1,c=1 30.以下程序的输出结果是()。 #include main() { inta=5,b=4,c=6,d; printf(“%d\n”,d=a>b? (a>c? a: c): (b)); } A.5B.4C.6D.不确定 31.在C语言中,如果下面的变量都是int类型,则输出的结果是()。 sum=pad=5;pad=sum++,pad++,++pad; A.8B.7C.6D.5 32.以下程序的输出结果是()。 #include main() { inti=010,j=10; printf(“%d,%d\n”,++i,j--); } A.11,10B.9,10C.010,9D.10,9 33.已知inti;floatf;,正确的语句是()。 A.(intf)%i;B.int(f)%i;C.int(f%i);D.(int)f%i; 34.已知intj,i=1;,执行语句j=-i++;后,j的值是()。 A.1B.2C.-1D.-2 35.已知inta=4,b=5;,则招待表达式a=a>b后,变量a的值为()。 A.0B.1C.4D.5 36.在C语言中,下列运算符的操作数必须是int类型的运算符是()。 A.%B./C.--D.++ 37.判断char类型数据c1是否为大写字母的最简单且正确的表达式为()。 A.‘A’<=c1<=‘Z’B.(c1>=‘A’)&(c1<=‘Z’) C.(‘A’<=c1)AND(‘Z’>=c1)D.(c1>=‘A’)&&(c1<=‘Z’) 38.已知各变量的类型说明如下: 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-=a*(a=3) 二、填空题 1.在C语言中,输入操作是由库函数完成的,输出操作是由库函数完成的。 2.用字符串的形式表示china。 3.字符串“ab\034\\\x79”的长度为。 4.在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为;一个double型数据在内存中所占的字节数为。 5.若s是int型变量,且s=6,则s%2+(s+1)%2表达式的值为。 6.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为,b值为,c值为。 7.若有定义: charc=’\010’;则变量c中包含的字符个数为。 8.C语言中的标识符只能由3种字符组成,它们是、和。 9.若a是int型变量,则执行表达式a=25/3%3后a的值为。 10.若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为,n的值为。 11.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为。 12.表达式pow(2.8,sqrt(double(x)))值的数据类型为。 13.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为。 14.若有定义intm=5,y=2;,则执行表达式y+=y-=m*=y后y的值是。 15.已知inty;floatx=-3;,执行语句y=x%2;后,变量y的值为。 16.已知inta=15,b=240;则表达式(a&b)&b||b的结果为。 17.表达式8.0*(1/2)的值为。 3.7同步练习 一、选择题 1.下面程序的输出结果是()。 #include main() { intx=5,y=3; printf(“%d\n”,y=x/y); } A.0B.1C.3D.不确定的值 2.若变量已正确定义,下面程序段的输出结果是()。 x=5.238794; printf(“%f\n”,(int)(x*1000+0.5)/(float)1000); A.5.239000B.输出格式说明与输出项不匹配,输出无定值 C.5.238000D.5.24 3.下面语句: printf(“|%8.5f|\n”,3461.45); 的输出结果是()。 A.|61.45000|B.|3461.450|C.|3461.45000|D.|3461.4500| 4.与数学公式 等价的C语言表达式是(),假定其中的x的单位是度数且不考虑 值的精度。 A.sqrt(cos(x))B.sqrt(abs(cos(x*3.14/180))) C.sqrt(abs(cos(x* /180)))D.sqrt(fabs(cos(x*3.14/180))) 5.下面的程序()。 #include main() { intx=3,y=0,z=0; if(x=y+z)printf(“****”); elseprintf(“####”); } A.有语法错误不能通过编译B.输出**** C.可以通过编译,但是不能通过连接,因而不能运行D.输出#### 6.执行下面程序中的输出语句后,a的值是()。 #include main() { inta; printf(“%d\n”,(a=3*5,a*4,a+5)); } A.65B.20C.15D.10 7.以下程序不用第三个变量,实现将两个数进行对调的操作。 请填空()。 #include main() { inta,b; scanf(“%d%d”,&a,&b); printf(“a=%db=%d”,a,b); a=a+b;b=a-b;a=; printf(“a=%db=%d\n”,a,b); } A.a+bB.a-bC.b*aD.a/b 8.以下程序的输出结果为()。 #include main() { intm=7,n=4; floata=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(“%f\n”,x); } A.27.000000B.27.500000C.28.000000D.28.500000 9.若变量都已正确说明,则以下程序段: a=2; b=3; printf(a>b? “***a=%d”: “###b=%d”,a,b); A.没有正确的输出格式控制B.输出为: ***a=2 C.输出为: ###b=2D.输出为: ***a=2###b=2 10.若已定义inta=256;,执行语句printf(“%x”,a);的结果是()。 A.100B.256C.ffeD.ff 11.执行下列程序时输入1234567,程序的运行结果为()。 #include main() { intx,y; scanf(“%2d%2ld”,&x,&y); printf(“%d\n”,x+y); } A.17B.46C.15D.9 12.已知chara;intb;floatc;doubled;,则表达式a*b+c-d结果为()型。 A.doubleB.intC.floatD.char 13.已知inta,b;,用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是()。 A.;B.空格C.回车D.【Tab】键 14.语句printf(“%d”,(a=2)&&(b=-2));的输出结果是()。 A.无输出B.结果不确定C.-1D.1 15.下述程序的输出结果是()。 #include main() {printf(“%f”,2.5+1*7%2/4); } A.2.500000B.2.750000C.3.375000D.3.000000 16.根据定义和数据的输入方式,输入语句的正确形式为()。 已有定义: floatfl,f2; 数据的输入方式: 4.52 3.5 A.scanf(“%f,%f”,&fl,&f2);B.scanf(“%f%f”,&fl,&f2); C.scanf(“%3.2f%2.1f”,&fl,&f2);D.scanf(“%3.2f,%2.1f”,&fl,&f2); 二、填空题 1.下面程序的输出是。 #include main() { inti=-200,j=25; printf(“%d,%d”,i,j); printf(“i=%d,j=%d\n”,i,j); printf(“i=%d\nj=%d\n”,i,j); } 2.使用强制转换方法将正整数转换成字符。 本题程序如下: #include main() { charc;inti; printf(“输入一个正整数(小于255): ”); scanf(“%d”,&i); c=(char)i; printf(“%c的ASCII码为%d\n”,c,i); } 本程序的执行结果为。 3.直接使用printf()的格式符输出八进制数和十六进制数。 本题程序如下: #include main() { inti; printf(“输入一个整数: ”); scanf(“%d”,&i); printf(“%d(10)<=>%o(8)\n”,i,i); printf(“%d(10)<=>%x(16)\n”,i,i); } 输入100的执行结果为和。 4.本题程序如下: #include main() { inti=560,h,m; h=i/60;/*计算小时数*/ m=i-60*h;/*计算余下的分钟*/ printf(“%d分钟<=>%d小时%d分钟\n”,i,h,m); } 本程序的执行结果为。 5.以下程序的输出结果为。 #include main() {printf(“*%f,%4.3f*\n”,3.14,3.1415);} 6.已有定义intd=-2;,执行以下语句后的输出结果是。 printf(“*d (1)=%d*d (2)=%3d*d(3)=%-3d*\n”,d,d,d); printf(“*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n”,d,d,d); 7.在scanf()函数调用语句中,可以在格式字符和%号之间加上一个星号,它的作用是;当输入以下数据时: 10203040<回车>,下面语句的执行结果是。 intal,a2,a3; scanf(“%d%*d%d%d”,&al,&a2,&a3); printf(“%d%d%d”,al,a2,a3); 8.执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=8.5,y=71.82,el=’A’,c2=’a’,正确的数据输入形式是。 #include main() { inta,b;floatx,y;charcl,c2; scanf(“a=%db=%d”,&a,&b); scanf(“x=%fy=%f”,&x,&y); scanf(“el=%cc2=%c”,&cl,&c2); printf(“a=%d,b=%d,x=%f,y=%f,el=%c,c2=%c”,a,b,x,y,cl,c2); } 4.6同步练习 一、选择题 1.下列程序的运行结果是()。 #include main() {inta=2,c=5; printf(“a=%d,b=%d\n”,a,c); } A.a=%2,b=%5B.a=2,b=5 C.a=d,b=dD.a=%d,b=%d 2.语句printf(“a\bre\’hi\’y\\\bou\n”);的输出结果是()。 A.a\bre\’hi\’y\\bouB.a\bre\’hi\’y\bou C.re’hi’youD.abre’hi’y\ou (说明: ‘\b’是退格符) 3.如下程序的输出结果是()。 #include main() {intx=1,a=0,b=0; switch(x) { case0: b++; case1: a++; case2: a++;b++; } printf(“a=%d,b=%d\n”,a,b); } A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2 4.如下程序的输出结果是()。 #include main() {floatx=2.0,y; if(x<0.0)y=0.0; elseif(x<10.0)y=1.0/x; elsey=1.0; printf(“%f\n”,y); } A.0.000000B.0.250000C.0.500000D.1.000000 5.如下程序的输出结果是()。 #include main() { inta=12,b=5,c=-3; if(a>b) if(b<0)c=0; elsec++; printf(“%d\n”,c); } A.0B.1C.-2D.-3 6.阅读以下程序: #include main() {intx; scanf(“%d”,&x); if(x--<5)printf(“%d”,x); elseprintf(“%d”,x++); } 程序运行后,如果从键盘输入5,则输出结果是()。 A.3B.4C.5D.6 7.以下程序的输出结果是()。 #include main() {inta=15,b=21,m=0; switch(a%3) {case0: m++;break; case1: m++; switch(b%2) {default: m++; case0: m++;break; } } printf(“%d\n”,m); } A.1B.2C.3D.4 8.下面的程序()。 #include main() {intx=3,y=0,z=0; if(x=y+z)printf(“****”); elseprintf(“####”); } A.有语法错误不能通过编译B.输出**** C.可以通过编译,但是不能通过连接,因而不能运行D.输出#### 9.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。 #include main() {intx; scanf(“%d”,&x); if(x++>5)printf(“%d”,x); elseprintf(“%d\n”,x--); } A.7和5B.6和3C.7和4D.6和4 10.以下程序的输出结果是()。 #include main() {inta=-1,b=4,k; k=(++a<0)&&! (b--<=0); printf(%d%d%d\n”,k,a,b); } A.104B.103C.003D.004 11.能正确表示a≥10或a≤0的关系表达式是()。 A.a>=10ora<=0B.a>=10|a<=0 C.a>=l0&&a<=0D.a>=10||a<=0 12.假定所有变量均已正确说明,下列程序段运行后x的值是()。 a=b=c=0;x=35; if(! a)x--; elseif(b); if(c)x=3; elsex=4; A.34B.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 复习 练习
![提示](https://static.bdocx.com/images/bang_tan.gif)