c试题4Word文档下载推荐.docx
- 文档编号:22044418
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:15
- 大小:31.63KB
c试题4Word文档下载推荐.docx
《c试题4Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c试题4Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
x+=y;
y=x-y;
x-=y;
的功能是__d______。
A、把x和y按从大到小排列 B、把x和y按从小到大排列
C、无确定结果 D)交换x和y中的值
10、以下程序输出结果是_C______。
main()
{intm=5;
if(m++>
5)printf("
%d\n"
,m);
elseprintf("
,m--);
}
A、7B、6C、5D、4
11、下面程序段的运行结果是___d_____。
a=1;
b=2;
c=2;
while(a<
b<
c){t=a;
a=b;
b=t;
c--;
}
printf(“%d,%d,%d”,a,b,c);
A、1,2,0B、2,1,0C、1,2,1D、2,1,1
12、以下程序段__C_____。
x=-1;
do
{x=x*x;
while(!
x);
A、是死循环B、循环执行二次C、循环执行一次D、有语法错误
13、执行以下程序后,输出的结果是__D_____。
main()
{inty=10;
do{y--;
}while(--y);
printf("
,y--);
A、-1B、1 C、8 D、0
14、若i为整型变量,则以下循环执行次数是_________。
for(i=2;
i==0;
)printf(“%d”,i--);
A、无限次B、0次C、1次D、2次
15、有说明inta[10];
则对a数组元素的正确引用是___D____。
A、a[10]B、a[3.5]C、a(5)D、a[10-10]
16、运行以下程序后,如果从键盘上输入china#<
回车>
,则输出结果为_________。
#include<
stdio.h>
main()
{intv1=0,v2=0;
charch;
while((ch=getchar())!
='
#'
)
switch(ch)
{case'
a'
:
case'
h'
default:
v1++;
0'
v2++;
}
printf("
%d,%d\n"
,v1,v2);
}
A、2,0B、5,0C、5,5D、2,5
17、对两个数组a和b进行如下初始化
chara[]=”abcdef”;
charb[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’};
则以下叙述正确的是_________。
A、a与b数组完全相同B、a与b长度相同
C、a和b中都存放字符串D、a数组比b数组长度长
18、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为_______。
(假设a[0][0]位于数组的第1位置上,则a[0][1]位于数组的第2位。
)
A、i*m+jB、j*m+iC、i*m+j-1D、i*m+j+1
19、以下正确的函数定义形式是________。
A、doublefum(intx,inty)B、doublefum(intx;
inty)
C、doublefum(intx,inty);
D、doublefum(intx,y);
20、以下程序的功能是计算函数f(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。
#include<
stdio。
h>
#include<
math。
floatf(float,float);
main()
{floatx,y,z,sum;
scanf(“%f%f%f”,&
x,&
y,&
z);
sum=f
(1)+f
(2);
printf(“sum=”%f\n”,sum);
floatf(floata,floatb)
{floatvalue;
value=a/b;
return(value);
(1)A、x-y,x+yB、x+y,x-yC、z+y,z-yD、z-y,z+y
(2)A、x-y,x+yB、x+y,x-yC、z+y,z-yD、z-y,z+y
21、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是______。
A、int型B、float型C、long型D、double型
22、若有宏定义如下、
#defineX5
#defineYX+1
#defineZY*X/2
则执行以下printf语句后,输出结果是_________。
inta;
a=Y;
printf(“%d\n”,Z);
printf(“%d\n”,--a);
A、7B、12C、12D、7
6655
23、有如下语句inta=10,b=20,*p1,*p2;
p1=&
a;
p2=&
b;
如图1所示;
若要实现图2所示的存储结构,可选用的赋值语句为_________。
b
P2
P1
20
10
a
图1图2
A、*p1=*p2B、p1=p2C、p1=*p2D、*p1=p2
24、下面程序的运行结果是_______。
main()
{charch[7]={"
65ab21"
};
inti,s=0
for(i=0;
ch[i]>
ch[i]<
'
9'
;
i+=2)s=10*s+ch[i]-'
;
,s);
A、12ba56B、6521C、6D、62
25、以下程序运行后输出结果是________。
#include<
ss(char*s)
{char*p=s;
while(*p)p++;
return(p-s);
main()
{char*a="
abded"
inti;
i=ss(a);
,i);
A、8B、7C、6D、5
26、以下程序运行后,输出结果是_________。
#include<
#definePT5.5
#defineS(x)PT*x*x
main()
{inta=1,b=2;
%4.1f\n"
,S(a+b))}
A、49.5B、9.5C、22.0D、45.0
27、以下程序运行后,输出结果是_________。
main()
{staticchara[]="
ABCDEFGH"
,b[]="
abCDefGh"
charp1,p2;
intk;
p1=a;
p2=b;
for(k=0;
k<
7;
k++)
if(*(p1+k)==*(p2+k))printf("
%c"
,*(p1+k));
\n"
);
}
A、ABCDEFGB、CDGC、abcdefghD、abCDefGh
28、以下程序运行后,输出结果是_________。
intd=1;
fun(intp)
{intd=5;
d+=p++;
%d"
,d);
main()
{inta=3;
fun(a);
d+=a++;
d;
)
A、84B、99C、95D、44
29、设有如下定义:
inta=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:
(m=a>
b)&
(n=c>
d)后,n的值为_______。
A、1B、2C、3D、0
30、以下程序的输出结果是_______。
{inti,j,x=0;
for(i=0,i<
2;
i++)
{x++;
for(j=0;
j<
3;
j++)
{if(j%2)continue;
x++;
x++;
printf("
x=%d\n"
,x);
A、x=4B、x=6C、x=8D、x=12
31、以下程序运行后,如果从键盘上输入ABCDE<
#include<
string.h>
func(charstr[])
{intnum=0;
while(*(str+num)!
\0'
)num++;
return(num);
}
main()
{charstr[10],*p=str;
gets(p);
printf("
,func(p));
A、8B、7C、6D、5
32、假定a和b为int型变量,则执行以下语句后b的值为_________。
a=1;
b=10;
do
{b-=a;
a++;
while(b--<
0);
A、9B、-2C、-1D、8
33、设有以下宏定义:
#defineN3
#defineY(n)((N+1)*n)
则执行语句:
z=2*(N+Y(5+1));
后,z的值为________。
A、出错B、42C、48D、54
34、设有如下定义:
intarr[]={6,7,8,9,10};
int*ptr;
则下列程序段的输出结果为_________。
ptr=arr;
*(ptr+2)+=2;
printf("
%d,%d\n"
*ptr,*(ptr+2));
A、8,10B、6,8C、7,9D、6,10
35、以下程序的输出结果是_________。
main()
{
inti,k,a[10],p[3]:
k=5;
for(i=0;
i<
10;
i++)a[i]=i;
for(i=0;
i++)p[i]=a[i*(i+1)];
i++)k+=p[i]*2;
k);
A、20B、21C、22D、23
36、执行以下程序段后,m的值为_________。
inta[2][3]={{1,2,3},{4,5,6}};
intm,*p;
p=&
a[0][0];
m=(*p)*(*(p+2))*(*(p+4));
A、15B、14C、13D、12
37、有以下程序
structstu
{intnum;
charname[10];
intage;
};
voidfun(structstu*p)
{printf("
%s\n"
(*p).name);
{structstustudents[3]={{9801,"
Zhang"
20},{9802,"
Wang"
19},{9803,"
Zhao"
18}};
fun(students+2);
输出结果是_________。
A、ZhangB、ZhaoC、WangD、18
38、以下程序输出结果是_______。
{chara[]="
programming"
b[]="
language"
char*p1,*p2;
inti;
p1=a;
for(i=0;
if(*(p1+i)==*(p2+i))printf("
%c"
*(p1+i));
A、gmB、rgC、gaD、or
39、若有以下定义:
chara;
intb;
floatc;
doubled;
则表达式a*b+d-c值的类型为________。
A、floatB、intC、charD、double
40、fgetc()函数的作用是从指定文件读入一个字符,该文件的打开方式必须是___。
A、只写B:
追加C:
读或读写D:
答案B和C都正确
二:
填空题(20%)
1、在一个C程序中至少应包含__main______函数。
2、若有定义:
charc=’\010’;
则变量c中包含的字符个数是_________。
3、若有代数式
,则C语言表达式是_________。
4、在C语言中,表示逻辑“假”值用______0______。
5、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式
_____x<
z_________________________________________。
6、若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是
__12345______________。
chara[10],b;
scanf("
a=%sb=%c"
,a,&
b);
7、下面程序的输出结果是_ABCDCD_____________。
{charb[]="
ABCD"
*cHP;
for(cHP=b;
cHP+=2)printf("
%s"
,cHP);
8、下面程序的输出结果是__________。
#defineMAX3
inta[MAX];
{fun1();
fun2(a);
fun1()
{intk,t=0;
for(k=0;
k<
MAX;
k++,t++)a[k]=t+t;
}
fun2(intb[])
{intk;
k++)printf("
,*(b+k));
9、以下函数的功能是:
把两个整数指针所指的存储单元中的内容进行交换。
请填空。
exchange(int*x,int*y)
{intt;
t=*y;
y=__x______;
*x=___t_____;
10、以下程序实现:
输入圆半径r和运算标志m,按照运算标志进行指定运算。
请在____内填入
正确内容。
运算规则如下:
标志运算
a面积
b周长
c二者均计算
#definepi3.14159
main()
{
charm;
floatr,c,a;
printf(“inputmarka、corb&
r\n”);
scanf(“%c%f,&
m,&
r);
if(____________)
{
a=pi*r*r;
printf(“areais%f”,a);
if(______________)
c=2*pi*r;
printf(“circleis%f”,c);
{
printf(“area&
circleare%f%f”,a,c);
三、判断题(10%)
1、一个C程序的执行是从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
()
2、putchar函数是向终端输出一各字符串。
()
3、在switch语句中,每一个case的常量表达式的值必须不同。
4、continue语句只结束本次循环,而不是终止整个循环的执行。
5、函数的返回值是通过函数中的return语句获得的。
6、函数调用结束后,实参的存储单元被释放。
7、对于格式输入函数scanf,只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
8、判断char型变量cl是否为小写字母的正确表达式为(cl>
=’a’)||(cl<
=’z’)。
9、循环语句中表示循环条件的表达式必须是逻辑表达式。
()
10、任何未经赋值的指针变量均不能使用。
四、改错题(10%,每小题2分)
以下程序各有一处出错,试指出并更正。
1、设
if(a=3)
2、设
a=’xy’;
3、设
if(x>
0)
{x++,y--;
4、设
p=&
n;
scanf(“%d”,*p);
5、设
voidadd(floata,floatb)
{floatc;
c=a+b;
returnc;
1、main()
{inti;
for(i=1;
i<
=5;
i++)printf(“*”);
五、画出程序流程图(10%)
2、main()
{inta,b=0;
scanf(“%d”,&
a);
while(a<
=100)
{if(a%3==0){b++;
scanf(“%d”,&
else{printf(“不是3的倍数,重新输入:
”);
scanf(“%d”,&
printf(“1—100之间3的倍数的个数为:
”,b);
六、程序设计(10%)
1、从键盘输入一个大写字母,要求改写小写字母输出。
2、输入一行字符,分别统计出英文字母,空格,数字和其它字符的个数。
#include“stdio.h”
charc;
intletters=0,space=0,digit=0,other=0;
while((c=getchar())!
=’\n’)
if(c>
=’a’&
c<
=’z’||c>
=’A’&
C<
=’Z’)
letter++;
elseif(c==’‘)space++;
elseif(c>
=’0’&
=’9’)digit++;
elseother++;
printf(“letter=%d,space=%d,digit=%d,
other=%d\n”,letter,space,digit,other);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试题