第四章 最简单的C程序设计.docx
- 文档编号:8332097
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:25
- 大小:25.30KB
第四章 最简单的C程序设计.docx
《第四章 最简单的C程序设计.docx》由会员分享,可在线阅读,更多相关《第四章 最简单的C程序设计.docx(25页珍藏版)》请在冰豆网上搜索。
第四章最简单的C程序设计
第四章最简单的C程序设计——顺序程序设计
一单项选择题
B1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()。
A)从左起输出该字符串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
D2.已有定义inta=-2;和输出语句printf(“%8x”,a);以下正确的叙述是()。
A)整型变量的输出形式只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的
D)%8x不是错误的格式符,其中数字8规定了输出字段的宽度
D3.若x,y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是
()。
A)scanf(“%d%x,%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);(双精度型用%le,或者%lf)
D4.以下程序的输出结果是()。
main()
{intk=17;
printf("%d,%o,%x\n",k,k,k);
}
A)17,021,0x11 B)17,17,17
B)17,0x11,021 D)17,21,11
B5.下列程序的运行结果是()。
#include
main()
{inta=2,c=5;
printf("a=%d,b=%d\n",a,c);
}
A)a=%2,b=%5 B)a=2,b=5
C)a=d,b=d D)a=2,c=5
C6.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是()。
(说明:
'\b'是退格符)
A)a\bre\'hi\'y\\\bou B)a\bre\'hi\'y\bou
C)re'hi'you D)abre'hi'y\bou
B7.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()。
A)INPUTx、y、z; B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z); D)read("%d%d%d",&x,&y,&z);
B8.若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是():
A)10<回车> B)10.0,22.0,33.0<回车>
22<回车>
33<回车>
C)10.0<回车> D)1022<回车>
22.033.0<回车>33<回车>
A9.以下程序的输出结果是()。
main()
{
intn;
(n=6*4,n+6),n*2;
printf(“n=%d\n”,n);
}
A)24 B)12 C)26 D)20
B10.以下程序的输出结果是()。
main()
{
intx=2,y,z;
x*=3+1;
printf(“%d,”,x++);
x+=y=z=5;
printf(“%d,”,x);
x=y=z;
printf(“%d\n”,x);
}
A)8,14,1 B)8,14,5 C)8,13,5 D)9,14,5
C11.下面程序的输出结果是()。
main()
{
intx,y,z;
x=0;y=z=-1;
x+=-z---y;{(-z--)-y}
printf(“x=%d\n”,x);
}
A)x=4 B)x=0 C)x=2 D)x=3
B12.设x为int型变量,则执行语句x=10;x+=x-=x-x;后,x的值为()。
A)10 B)20 C)40 D)30
B13.只能向终端输出一个字符的函数是()。
A)printf函数 B)putchar函数
C)getchar函数 D)scanf函数
A14.下列程序执行后的输出结果是(小数点后只写一位)()。
main()
{doubled;floatf;longl;inti;
i=f=1=d=20/3;
printf("%d%ld%f%f\n",i,l,f,d);
}
A)666.06.0 B)666.76.7
C)666.06.7 D)666.76.0
C15.在下列叙述中,错误的一条是()。
A)printf函数可以向终端输出若干个任意类型的数据
B)putchar函数只能向终端输出字符,而且只能是一个字符
C)getchar函数只能用来输入字符,但字符的个数不限
D)scanf函数可以用来输入任何类型的多个数据
B16.以下程序的输出结果为()。
main()
{
charc1=‘a’,c2=‘b’,c3=‘c’;
printf(“a%cb%c\tc%c\n”,c1,c2,c3);
}
A)abcabcabc B)aabbcc C)abc D)aaaabb
B17.若输入12345和abc,以下程序的输出结果是()。
main()
{
inta;
charch;
scanf(“%3d%3c”,&a,&ch);
printf(“%d,%c”,a,ch);
}
A)123,abc B)123,4 C)123,a D)12345,abc
D18.以下程序的输出结果是()。
main()
{
unsignedx1;
intb=-1;
x1=b;
printf(“%u”,x1);
}
A)%u B)-1 C)%u-1 D)65535
B19.在printf函数中用来输出十六进制无符号整数的格式字符是()。
A)d格式符 B)x格式符 C)u格式符 D)o格式符
B20.设a=12、b=12345,执行语句printf(“%4d,%4d”,a,b)的输出结果为()。
A)12,123 B)12,12345 C)12,1234 D)12,123456
C21.以下程序的输出结果是()。
#include
#include
main()
{
inta=1,b=4,c=2;
floatx=10.5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
printf(“%f\n”,z);
}
A)14.000000 B)15.400000 C)13.700000 D)14.900000
D22.以下程序的输出结果是()。
main()
{
inta=2,c=5;
printf(“a=%%d,b=%%d\n”,a,c);
}
A)a=%2,b=%5 B)a=%2,c=%5
C)a=%%d,b=%%d D)a=%d,b=%d
C23.请读程序:
main()
{
inta;
floatb,c;
scanf(“%2d%3f%4f”,&a,&b,&c);
printf(“\na=%d,b=%f,c=%f\n”,a,b,c);
}
若运行时从键盘上输入9876543210
A)a=98,b=765,c=4321 B)a=10,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0
D24.若有定义:
intx,y;chara,b,c;并有以下输入数据(此处
1∪2
A∪B∪C
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是()。
A)scanf(“x=%d,y=%d”,&x,&y);a=getchar();b=getchar();c=getchar();
B)scanf(“%d%d”,&x,&y);a=getchar();b=getchar();c=getchar();
C)scanf(“%d%d%c%c%c”,&x,&y,&a,&b,&c);
D)scanf(“%d%d%c%c%c%c%c%c”,&x,&y,&a,&a,&b,&b,&c,&c);
C25.下列可作为C语言赋值语句的是()。
A)x=3,y=5; B)a=b=6 C)i--; D)y=int(x);
B26.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf(“i=%d,f=%f”,&i,&f);
为了把100和765.12分别赋给i和f,则正确的输入为()。
A)100<空格>765.12<回车> B)100,765.12<回车>
C)100<回车>765.12<回车> D)x=100<回车>y=765.12<回车>
D27.以下叙述中正确的是()。
A)输入项可以是一个实型常量,例如:
scanf(“%f”,3.5);
B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:
scanf(“a=%d,b=%d”);
C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scanf(“%4.2f”,&f);
D)当输入数据时,必须指明变量地址,例如:
scanf(“%f”,&f);
D28.设x和y均为int型变量,则以下语句:
x+=y;y=x-y;x-=y;的功能是()。
A)把x和y按从小到大排序 B)把x和y按从大到小排序
C)无确定结果 D)交换x和y中的值
二填空题
1.下面程序的运行结果是 i:
dec=-4,oct=17774,hex=ffffc,unsigned=65532 。
main()
{
shorti;
i=-4;
printf(“\ni:
dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);
}
2.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是5.0,4,c=3。
intb,c;floata;
scanf("%f,%d,c=%d",&a,&b,&c);
3.下列程序的输出结果是16.00,请填空。
main()
{inta=9,b=2;
floatx=6.6,y=1.1,z;
z=a/2+b*x/y+1/2;(1/2=0,a/2=4)
printf("%5.2f\n",z);
}
4.在printf格式字符中,只能输出一个字符的格式字符是%c;用于输出字符串的格式字符是%s;以小数形式输出实数的格式字符是%f;以标准指数形式输出实数的格式字符是%e。
C4.执行下列语句后a的值为(),b的值为()。
inta,b,c;
a=b=c=1;
++a||++b&&++c;
A)错误1 B)22 C)21 D)11
B6.设有:
inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值是()。
A)0 B)2 C)3 D)4
C21.以下程序的输出结果是()。
A)-11 B)01 C)10 D)00
main()
{inta=-1,b=1,k;
if((++a<0)&&!
(b--<=0))
printf("%d%d\n",a,b);
else
printf("%d%d\n",b,a);
}
C27.若有定义:
floatw;inta,b;则合法的switch语句是()。
A)switch(w) Bswitch(x)
{case1.0:
printf("*\n");{case1,2:
printf("*\n");
case2.0:
printf("**\n");case3:
printf("**\n");
}无default语句}
C)switch(b) D)switch(a+b);
{case1:
printf("*\n");{case1:
printf("*\n");
default:
printf("\n");case2:
printf("**\n");
case1+2:
printf("**\n");default:
printf("\n");
}}
A40.请读程序:
main()
{
intx=1,y=0,a=0,b=0;
switch(x)
{
case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
}
printf(“a=%d,b=%d\n”,a,b);
}
上面程序的输出结果是()。
A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2
D44.以下程序的输出结果是()。
main()
{
inta=-1,b=4,k;
k=(++a<0)&&!
(b--<=0);
printf(“%d%d%d\n”,k,a,b);
}
A)104 B)103 C)003 D)004
B46.假定所有变量均已正确说明,下列程序段运行后x的值是()。
a=b=c=0;x=35;
if(!
a)x--;
elseif(b);if(c)x=3;
elsex=4;
A)34 B)4 C)35 D)3
C52.以下程序的输出结果为()。
main()
{
inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++;
printf(“%d\n”,c);
}
A)0 B)1 C)2 D)3
4.如果运行时输入字符Q,则下面程序的运行结果是Q。
main()
{
charch;
scanf(“%c”,&ch);
ch=(ch>=‘A’&&ch<=‘Z’)?
(ch+32):
ch;
ch=(ch>=‘a’&&ch<=‘z’)?
(ch-32):
ch;
printf(“%c”,ch);
}
C1.下面程序段的运行结果是()。
intn=0;
while(n++<=2);
printf(“%d”,n);
A)2 B)3 C)4 D)有语法错
C5.对以下程序段描述正确的是()。
x=-1;
do
{x=x*x;}
while(!
x);
A)是死循环 B)循环执行二次
C)循环执行一次 D)有语法错误
B10.若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;)printf(“%d”,i--);
A)无限次 B)0次 C)1次 D)2次
C12.下面程序段的运行结果是()。
for(y=1;y<10;)y=((x=3*y,x+1),x-1);
printf(“x=%d,y=%d”,x,y);
A)x=27,y=27 B)x=12,y=13 C)x=15,y=14 D)x=y=27
D14.有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
下面程序是求这堆零件总数,请选择填空()。
#include
main()
{inti;
for(i=100;i<200;i++)
if((i-2)%4==0)
if(!
((i-3)%7))
if(______)
printf(“%d”,i);
}
A)i%9=5 B)i%9!
=5 C)(i-5)%9!
=0 D)i%9==5
B15.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空()。
#include
main()
{inti=0,j,k;
do{i++;k=316-13*i;}while(_k%11______);
j=k/11;
printf(“316=13*%d+11*%d”,i,j);
}
A)k/11 B)k%11 C)k/11==0 D)k%11==0
D16.下面程序的运行结果是()。
#include
main()
{inty=10;
do{y--;}while(--y);
printf(“%d\n”,y--);
}
A)-1 B)1 C)8 D)0
D17.若运行以下程序时,从键盘输入ADescriptor
#include
main()
{charc;
intv0=1,v1=0,v2=0;
do{
switch(c=getchar())
{case‘a’:
case‘A’:
case‘e’:
case‘E’:
case‘i’:
case‘I’:
case‘o’:
case‘O’:
case‘u’:
case‘U’:
v1+=1;
default:
v0+=1;v2+=1;
}
}while(c!
=’\n’);
printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);
}
A)v0=7,v1=4,v2=7 B)v0=8,v1=4,v2=8
C)v0=11,v1=4,v2=11 D)v0=12,v1=4,v2=12
B18.下面程序的运行结果是()。
#include
main()
{inta=1,b=10;
do
{b-=a;a++;}
while(b--<0);
printf(“a=%d,b=%d\n”,a,b);
}
A)a=3,b=11 B)a=2,b=8
C)a=1,b=-1 D)a=4,b=9
B19.以下程序的输出结果是()。
main()
{intnum=0;
while(num<=2)
{num++;printf(“%d\n”,num);}
}
A)1 B)1 C)1 D)l
2 2 2
3 3
4
20.设有程序段
intk=10;
while(k=0)k=k-1;
C则下面描述中正确的是()。
A)while循环执行10次 B)循环是无限循环
C)循环体语句一次也不执行 D)循环体语句执行一次
B21.设有以下程序段
intx=0,s=0;
while(!
x!
=0)s+=++x;
printf("%d",s);
则()。
A)运行程序段后输出0 B)运行程序段后输出1
C)程序段中的控制表达式是非法的 D)程序段执行无限次
A22.语句while(!
E);中的表达式!
E等价于()。
A)E==0 B)E!
=1 C)E!
=0 D)E==1
A23.下面程序段的运行结果是()。
a=1;b=2;c=2;
while(a
printf("%d,%d,%d",a,b,c);
A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1
D24.下面程序段的运行结果是()。
x=y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
A)20,7 B)6,12 C)20,8 D)8,20
B25.以下程序段的执行结果是()。
inta,y;
a=10;y=0;
do
{a+=2;y+=a;
printf("a=%dy=%d\n",a,y);
if(y>20)break;
}while(a=14);
A)a=12y=12 B)a=12y=12
a=14y=16 a=16y=28
a=16y=20
a=18y=24
C)a=12y=12 D)a=12y=12
a=14y=26
a=14y=44
B26.t为int类型,进人下面的循环之前,t的值为0,则以下叙述中正确的是()。
while(t=l)
{……}
A)循环控制表达式的值为0 B)循环控制表达式的值为1
C)循环控制表达式不合法 D)以上说法都不对
A27.有以下程序段
intk=0;
while(k=1)k++;
while循环执行的次数是()。
A)无限次 B)有语法错,不能执行
C)一次也不执行 D)执行1次
C28.以下程序执行后sum的值是()。
main()
{inti,sum;
for(i=1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 最简单的C程序设计 第四 简单 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)