c语言练习题Word格式文档下载.docx
- 文档编号:21043976
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:25
- 大小:29.53KB
c语言练习题Word格式文档下载.docx
《c语言练习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言练习题Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
printf(“%d%dn”,x-,-y);
A)1010B)99C)910D)10921、以下程序运行后的输出结果是()。
main()charm;
m=B+32;
printf(%cn,m);
A、BB、bC、98D、a22、若有以下程序main()chara;
a=H-A+0;
print(%cn,a);
执行后的输出结果是()23、若有以下定义和语句charc1=b,c2=e;
printf(%d,%cn,c2-c1,c2-a+A);
则输出结果是:
()A、2,MB、3,EC、2,ED、3,M24、若x,i,j和k都是int型变量,则执行下面表达式后x的值为()x=(i=4,j=16,k=32)A、4B、16C、32D、52025、执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是()。
inta;
floatb;
scanf(a=%d,b=%f,&
a,&
b);
A)252.5B)25,2.5C)a=25,b=5.5D)a=25b=2.526、若有inta,b;
scanf(“%d%d”,&
语句,输入数据时,不可以用()作为输入的分隔符。
A)TAB键B)空格C)回车D),27、.以下程序的输出结果是_main()inta=2,b=5;
printf(“a=%d,b=%d”,a,b);
A)a=%2,b=%5B)a=2,b=5C)a=%d,b=%dD)a=%d,b=%d28、以下程序的运行结果是。
#includemain()floata=3.1415;
printf(|%06.0f|n,a);
29、以下程序的运行结果是。
#includemain()intx=0177;
printf(%3d,%6d,%6o,%6x,%6un,x,x,x,x,x);
30、以下程序的运行结果是。
#includemain()chara,b;
a=a;
b=b;
a=a-32;
b=b-32;
printf(%c,%c,%d,%dn,a,b,a,b);
31、为表示关系x=y=z,应使用C语言表达式()A、.(y=z)B、(x=y)AND(y=z)C、(x=y=z)D、(x=y)&
(y=z)32、C语言中,逻辑“真“等价于()。
A、大于零的数B、大于零的整数C、非零的数D、非零的整数33、表达式0|6&
2&
1的值是(D)A、3B、0C、9D、134、表达式_是满足:
当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式A、(c=1)|(c=3)|(c=5)B、(c!
=1)&
(c!
=3)&
=5)C、(c=1)&
(c=3)&
(c=5)D、(c=1)|(c=3)|(c=5)35、判断char型变量c1是否为小写字母正确表达式为:
()A、a=cl=a)&
(cl=cl)|(z=a)&
(cl=z)36、设x,y和z是int型变量,且x=3,y=4,z=5则下面表达式中值为0的是()。
A、!
(xy)&
!
z|1)B、x&
yC、x|y+z&
y-zD、x=y=x)?
1:
0z=y&
y=xA、01B、11C、00D、101、C语言程序是由构成的,一个C源程序至少且仅包含一个函数,也可以包含一个main函数和若干个其他函数。
2、结构化程序设计方法规定程序或程序段的结构有三种:
、和。
3、C语言中基本的数据类型有:
、。
4、执行下列语句inta=8;
a+=a-=a*a;
后,a的值是。
5、用把一些语句括起来称为语句。
7、整型变量的类型说明符有:
_、_、_。
8、实型变量的类型说明符有:
_、_。
9、符号”a”和a的区别是”a”是_,而a是_。
10、赋值表达式和赋值语句的区别在于有无。
11、有如下输入语句:
scanf(“a=%d,b=%d,c=%d”,&
b,&
c);
为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是。
12、在printf函数的格式说明符为”%-m.nf”,其中m表示_,n表示_,-表示_。
13、C语言中getchar()函数的功能是_。
14、语言中putchar(c)函数的功能是___。
15、C语言编绎系统在判断一个量是否为“真”时,以0代表“假”,以代表“真”。
1、从键盘上出入一个大写字母,要求改成小写字母输出。
第三章第三章程序的控制结构程序的控制结构1、分析以下程序:
main()intx=5,a=1,b=0;
if(x=a+b)printf(“*n”);
elseprintf(“#n”);
以上程序()A、有语法错,不能通过编译B、通过编译,但不能连接C、输出*D、输出#2、分析以下程序:
以上程序()A、有语法错,不能通过编译B、通过编译,但不能连接C、输出*D、输出#3、分析以下程序:
main()intx=5,a=0,b=0;
以上程序()A、有语法错,不能通过编译B、通过编译,但不能连接C、输出*D、输出#4、执行下面的程序后,输出m为()。
main()intm=20;
swith(m)case19:
m+=1;
case20:
case21:
case22:
printf(%dn,m);
A.20B.21C.22D.235、.多重if_else语句嵌套使用时,寻找与else配套的if方法是()。
A.缩排位置相同的ifB.其上最近的ifC.下面最近的ifD.同行上的if6、当a=1,b=3,c=5,d=4时,则执行完下面一段程序后,x的值是()。
if(ab)if(cd)x=1;
elseif(ac)if(bb)a=b;
b=c;
c=a;
printf(“%d,%d,%d”a,b,c);
A、20,30,20B、20,40,20C、30,20,40D、20,30,408、设有说明语句:
inta=1,b=0;
则执行以下语句后输出为()。
switch(a)case1:
switch(b)case0:
printf(“*0*”);
break;
case1:
printf(“*1*”);
case2:
printf(“*2*”);
A.*0*B.*0*2*C.*0*1*2*D.有语法错误9、以下程序运行后的输出结果是。
main()inta=1,b=3,c=5;
if(c=a+b)printf(yesn);
elseprintf(non);
11、以下程序运行后的输出结果是。
12、有以下程序,执行后输出结果是。
main()intn=0,m=1,x=2;
if(!
n)x-=1;
if(m)x-=2;
if(x)x-=3;
printf(“%dn”,x);
13、有以下程序,执行后输出结果是()main()inti;
for(i=0;
i3;
i+)switch(i)case1:
printf(%d,i);
default:
A、011122B、012C、012020D、)12014、以下程序运行后的输出结果是。
main()inti,m=0,n=0,k=0;
for(i=9;
ibc)printf(%dn,d);
elseif(c-1=d)=1)printf(%dn,d+1);
elseprintf(%dn,d+2)A、2B、3C、4D、编译时有错,无结果17、语句while(!
x);
中的表达式!
x为真等价于()。
A、x=0B、x!
=1C、x!
=0D、x=118、对于循环语句while
(1);
下面()是正确的A、死循环B、循环一次C、不进入循环体D、编译有错19、设有程序段intk=10;
while(k=0)k=k-1;
以下描述正确的是()。
A.循环体语句一次也不执行。
B.循环是无限循环。
C.while循环语句执行十次。
D.循环体语句执行一次。
20、以下程序执行之后sum的值是()。
main()inti,sum;
for(i=1;
i6;
i+)sum+=i;
printf(%dn,sum);
A、15B、14C、不确定D、021、有以下程序,执行后输出结果是()main()inti=0,s=0;
doif(i%2)i+;
continue;
i+;
s+=i;
while(iy)
(1);
(2);
(3);
if((4))t=z;
z=x;
x=t;
if((5))t=y;
y=z;
z=t;
printf(smalltobig:
%d,%d,%dn,x,y,z);
2、以下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出“yes”,否则输出“no”。
请填空。
#includemain()intk;
printf(“Enteraintnumber:
”);
scanf(“%d”,&
k);
if_printf(“yesn”);
elseprintf(“_”);
3、以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。
用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。
main()_n,i,j;
printf(“EnterINTnumbers,with0toendn”);
i=j=0;
n);
while_if(n0)i=_;
if(n0)j=_;
_;
printf(“i=%4dj=%4dn”,i,j);
4、以下程序的运行结果是。
#includemain()inta=11,i;
i5;
i+)printf(%d,a+i);
5、执行以下程序后,输出#号的个数是。
#includemain()inti,j;
i+)for(j=2;
j=i;
j+)putchar(#);
6、填充下列程序,找出100200之间的全部素数#includemain()intm,k,i,n=0;
for(m=101;
m=200;
m=m+2)k=sqrt(m);
for(i=2;
(6)_;
i+)if(7)_)break;
if(8)_)printf(“%d”,m);
n=n+1;
if(n%10=0)printf(“n”);
printf(“n”);
7、有以下程序,程序运行后的输出结果是()#include#defineF(X,Y)(X)*(Y)main()inta=3,b=4;
printf(%dn,F(a+,b+);
A、12B、15C、16D、208、对下面程序段正确的判断()。
#defineA3#defineB(a)(A+1)*a)x=3*(A+B(7);
A.程序错误,不许嵌套宏定义B.x=21C.x=93D.程序错误,宏定义不许有参数9、在“文件包含“预处理语句的使用形式中,当#include后面的文件名用”“(双引号)括起时,寻找被包含文件的方式为()A、直接按系统设定的标准方式搜索目录B、仅仅搜索源程序所在的目录C、先在源程序所在目录搜索,再按系统设定的标准方式搜索D、仅仅搜索当前目录1、C语言共提供了三种用于实现循环结构的流程控制语句,它们、和。
2、在循环中,continue语句与break语句的区别是:
continue语句是语句的区别是:
continue语句是,break是。
3、while和dowhile的区别是。
4、求1到100所有奇数的和。
5、编写程序输出所有的水仙花数。
6、编写程序,输入一个整数,打印出它是奇数还是偶数。
第四章第四章数组数组1、若有说明:
inta10;
则对a数组元素的正确引用是()。
A.a10B.a10-10C.a(5)D.a3.52、合法的数组定义是()A、inta=string;
B、inta5=0,1,2,3,4,5;
C、vhsts=string;
D、chara=0,1,2,3,4,5;
3、以下程序运行后的输出结果是()main()inti,n=0,0,0,0,0;
i=4;
i+)ni=ni-1*2+1;
printf(%d,ni);
4、有以下程序,执行后输出结果是()main()intp7=11,13,14,15,16,17,18,i=0,k=0;
while(i7&
pi%2)k=k+pi;
printf(%dn,k);
A、58B、56C、45D、245、定义如下变量和数组:
inti;
intx33=1,2,3,4,5,6,7,8,9;
i+)printf(%d,xi2-i);
则下面语句的输出结果是()A.159B.147C.357D.3696、若有说明:
inta34=0;
则下面正确的叙述是()A、只有元素a00可得到初值0B、此说明语句不正确。
C、数组a中各元素都可得到初值,但其值不一定为0D、数组a中每个元素均可得到初值07、对以下说明的正确理解是()。
inta10=6,7,8,9,10A.将5个初值依此赋给a1至a5B.将5个初值依此赋给a0至a4C.将5个初值依此赋给a6至a10D.因长度与初值个数不同,故语句错误8、若有说明:
inta34;
则对a数组元素的正确引用是()A、a24B、a1,3C、a1+10D、a
(2)
(1)9、若有说明语句:
inta3=1,2,3,4,5,6,7,8,9;
则a数组的行数为()。
A、不确定B、1C、2D、310、有以下程序()main()intm3=1,4,7,2,5,8,3,6,9;
inti,j,k=2;
i+)printf(%d,mki);
执行后输出结果是A、456B、258C、369D、78911、对两个数组a和b进行如下初始化chara=ABCDEF;
charb=A,B,C,D,E,F;
则以下叙述正确的是()A、a与b数组完全相同B、a与b长度相同C、a和b中都存放字符串D、a数组比b数组长度长12、若有定义和语句:
chars10;
s=abcd;
printf(%sn,s);
则结果是(以下u代表空格)()A、输出abcdB、输出aC、输出abcduuuuuD、编译不通过13、下列语句的执行结果是()charstr10=“china”;
printf(“%d”,strlen(str);
A.10B.6C.5D.014、下面程序段的运行结果是()。
chara7=”abcdef”;
charb4=”ABC”;
strcpy(a,b);
printf(“%c”,a5);
A、空格B、.0C、eD、f15、有两个字符数组a,b,则以下正确的输入格式是()。
A.scanf(%s%s,&
b)B.gets(a,b)C.scanf(%s%s,a,b)D.gets(a);
gets(b)16、以下程序段运行的结果是()。
Charc5=a,b,0,c,0;
printf(%s,c);
A、abB、abcC、abcD、ab17、若有定义和语句:
则结果是(以下u代表空格)A、输出abcdB、输出aC、输出abcduuuuuD、编译不通过18、函数调用:
strcat(strcpy(str1,str2),str3)的功能是()A、将串str1复制到串str2中后再连接到串str3之后;
B、将串str1连接到串str2之后再复制到串str3之后;
C、将串str2复制到串str1中后再将串str3连接到串str1之后;
D、将串str2连接到串str1之后再将串str1复制到串str3中;
19、执行如下程序段,当输入为Iam时,输出的结果是()。
charstr80;
scanf(“%s”,str);
strcat(str,”sad!
printf(“%s”,str);
A、Iamsad!
B、Isad!
C、Isad!
D、sad!
20、数组inta34;
共定义了_个数组元素。
21、C语言中数组的下标下限为_。
22、能够构成一个数组的元素需满足的特点是_;
那么,构成结构体的成员可以是_。
23、若在程序中用到“putchar”,应在程序开头写上包含命令,若在程序中用到“strlen()”函数时,应在程序开头写上包含命令。
24、符号”a”和a的区别是”a”是,而a是。
第五章第五章指针指针1、变量I的值为3,I的地址为1000,使p为指向I的指针变量,则下列赋值正确的是()A.&
I=3B.*p=3C.*p=1000D.p=&
I2、下列说法中不正确的是()A.指针是一个变量B.指针中存放的是地址值C.指针可以进行加、减等算术运算D.指针变量不占用存储空3、若有定义:
int*p4;
则标识符p是()A.是一个指向整型变量的指针B.是一个指针数组名C.是一个指针,它指向一个含有四个整型元素的一维数组D.说明不合法4、以下程序中调用scanf函数给变量a输入数值的方法是错误的,因为()。
main()int*p,*q,a,b;
p=&
a;
printf(inputa:
);
scanf(%d,*p);
A.*p表示的是变量a的值,而不是变量a的地址。
B.*p表示的是指针变量p的地址。
C.*p表示的是指针变量p的值。
D*p只能用来说明p是一个指针变量。
5、已有定义intk=2;
int*p1,*p2,且p1和p2均已指向变量k,下面不能正确执行的赋值语句是()。
A.k=*p1+*p2;
B.p1=p2;
C.p2=k;
D.k=*p1*(*p2);
6、若有定义:
则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为()。
A.*(*(a+i)+j)B.(a+j)jC.*(a+i+j)D.*(a+i)+j7、若有以下定义,且0=i6,则正确的赋值语句是()。
ints46,t64,(*p)6;
A.p=t;
B.p=si;
C.p=s;
D.p=ti;
8、若有定义:
inta23则对a数值的第i行,第j列元素地址的正确引用为()。
A)*(ai+j)B.ai+jC.*(a+j)D.(a+i)9、下面选项中正确的赋值语句是(设chara5,*pa;
)()。
Ap=abcd;
Ba=abcd;
C*p=abcd;
D*a=abcd;
10、以下函数定义正确的形式是()。
A)fun(intx,int*y)B)fun(intx;
int*y)C)fun(intx,int*y=0);
D)fun(intx,*y)11、有如下程序,运行后的输出结果是。
main()chara10=“123456789”;
char*p;
inti=8;
p=a+i;
printf(“%sn”,p-3);
12、以下程序的输出结果是main()inti=3,j=2;
char*a=DCBA;
printf(%c%cn,ai,aj);
14、inty=1,x,*p,a=2,4,6,8,10;
a1;
for(x=0;
x3;
x+)y+=*(p+x);
printf(%dn,y);
程序的输出结果y的值是。
15、main()inta5=2,4,6,8,10,*P,*k;
p=a;
k=&
p;
printf(%d,*(p+);
printf(%dn,*k);
程序的输出结果是。
16写出下列程序的运行结果。
#include“stdio.h”Main()inta=1,2,3,-4,5;
intm,n,*p;
a0;
m=*(p+1);
n=*(p+4);
printf(“%d%d%d”,*p,m,n);
该程序的运行结果是__。
17.#include“stdio.h”main()inta=8,2,9,4,1,*p;
*(p+2)+=2;
printf(“
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习题