c语言试题及答案复习过程Word格式.docx
- 文档编号:20640405
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:21
- 大小:27.61KB
c语言试题及答案复习过程Word格式.docx
《c语言试题及答案复习过程Word格式.docx》由会员分享,可在线阅读,更多相关《c语言试题及答案复习过程Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
,*ps=s;
则不能代表字符g的表达式是
A)ps+3B)s[3]C)ps[3]D)ps+=3,*ps
10.当对两个字符串进行比较时,应该使用的函数是
A)strcatB)strcmpC)strcpyD)strlen
11.若i为整型变量,则以下循环的次数是
for(i=2;
i==0;
)printf(“%d”,i--);
A)无限次B)0次C)1次D)2次
12.以下关于数组的描述正确的是
A)数组大小固定,但是可以有不同类型的数组元素
B)数组大小可变,但是所有数组元素的类型必须相同
C)数组大小固定,所有元素的类型必须相同
D)数组大小可变,可以有不同类型的数组元素
13.以下能正确定义数组并正确赋初值的语句是
A)intN=5,b[N][N];
B)inta[1][2]={{1},{3}};
C)intc[2][]={{1,2},{3,4}};
D)intd[3][2]={{1,2},{34}};
14.设有定义inta[]={1,5,7,9,11,13},*p=a+3;
则*(p-2),*(a+4)的值是
A)511B)19C)59D)有错误
15.已知charb[5],*p=b;
,则正确的赋值语句是
A)b=“abcd”;
B)*b=“abcd”;
C)p=“abcd”;
D)*p=“abcd”;
16.用数组名作为函数调用时的实参,则实际传递给形参的是
A)数组的第一个元素值B)数组中全部元素值
C)数组的首地址D)数组的元素个数
17.以下叙述中不正确的是
A)在不同的函数中可以使用相同名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量在本函数范围内有效
18.当对两个字符串进行比较时,应该使用的函数是
A)strcatB)strcmpC)strcpyD)strlen
19.有如下定义:
longm;
charc;
floatx;
doubley;
则表达式c+m*x/y的值的类型是
A)longB)charC)floatD)double
20.假设已定义charc[8]="
test"
inti;
则下面的输出函数调用中错误的是
A)printf("
%s"
c);
B)for(i=0;
i<
8;
i++)printf("
%c"
c[i]);
C)puts(c)D)for(i=0;
i++)puts(c[i]);
21.若有以下定义:
A)ps+3B)s[3]C)ps[3]D)ps+=3,*ps
22.以下选项中不能正确赋值的是
23.有以下函数定义:
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是_________。
D)voidfun(10,12.5);
24.从变量的作用域来分,可分为全局变量和局部变量,形参是
A)局部变量B)全局变量C)静态变量D)动态变量
二、读程序,写出程序的执行结果
1.#include<
stdio.h>
voidmain()
{intx[]={1,2,3};
ints,i,*p=x;
s=1;
for(i=0;
3;
i++)
s*=*(p+i);
printf(“%d\n”,s);
}
答案6
2.#include<
charfun(char*s)
{if(*s>
='
a'
&
&
*s<
z'
)
*s=*s-32;
return*s;
{chara[20]="
Welcome"
*p,ch;
for(p=a;
*p!
='
\0'
;
p++)
{ch=fun(p);
putchar(ch);
答案WELCOME
3.#include<
{intx=26587,x1,r,sum=0;
x1=x;
while(x>
0)
{r=x%10;
sum+=r;
x/=10;
printf("
Sumofthedigitsin%dis%d"
x1,sum);
}答案Sumofthedigitsin26587is28
4.#include<
intfun(intx)
{inty=1;
staticintz=4;
z+=1;
++y;
return(x+y+z);
{inti;
for(i=1;
=3;
printf("
%3d"
fun(i));
81012
5.#include<
voidmain()
{intx=3,y=4;
intj;
for(j=1;
y>
0;
y--)j=j*x;
printf(“j=%d\n”,j);
运行结果:
j=81
6.#include<
{intx,y;
for(y=1,x=1;
y<
=20;
y++)
{if(x>
=8)break;
if(x%2==1){x+=5;
continue;
x-=3;
}
printf("
x=%d,y=%d\n"
x,y);
}
x=8,y=4
7.#include<
{charx[]="
language"
char*ptr=x;
while(*ptr)
{printf("
%c\n"
*ptr-32);
ptr++;
L
A
N
G
U
E
8.#include<
voidmain()
{intx[]={5,6,7};
ints=1,i,*p=x;
210
9.#include<
{return(x>
0?
x:
-x);
{inta=12;
printf(“%d,%d\n”,a,fun(a));
12,12
10.#include<
voidex()
{staticintx=3;
--x;
printf(“%d”,x);
voidmain()
{ex();
ex();
21
11.#include<
{inti=0,a=0;
while(i<
20)
{for(;
)
if((i%10)==0)break;
elsei--;
i+=11;
a+=i;
a);
32
12.#include<
{inta[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};
inti,j,row=0,colum=0,max;
max=a[0][0];
=2;
for(j=0;
j<
j++)
if(a[i][j]>
max)
{max=a[i][j];
row=i;
colum=j;
}
printf("
max=%d,row=%d,colum=%d"
max,row,colum);
max=10,row=1,colum=2
13.#include<
intf(intb[],intm,intn)
{inti,s=0;
for(i=m;
n;
i+=2)s+=b[i];
returns;
{intx,a[]={1,2,3,4,5,6,7,8,9,10};
x=f(a,3,8);
x);
18
14.#include<
voidswap(intb[])
{int*p,*p1,*p2;
p1=&
b[0];
p2=&
b[1];
p=p1;
p1=p1+1;
p2=p;
{inta[]={5,9};
%d,%d\n"
*a,*(a+1));
swap(a);
printf("
a[0],a[1]);
5,9
15.#include<
intb=3;
intfun(int*a)
{b+=*a;
return(b);
{inta=2,b=2;
b+=fun(&
a);
printf(“%d\n”,b);
7
16.#include<
{inta[10],*p,*s,i;
10;
i++)scanf(%d”,a+i);
for(p=a,s=a;
p-a<
p++)if(*p>
*s)s=p;
printf(“max=%d,index=%d\n”,*s,s-a);
简述上列程序完成的功能:
查找数组中最大值并记录元素下标
17.#include<
for(y=1,x=1;
{if(x>
if(x%2==1){x+=5;
x-=3;
printf(“x=%d,y=%d\n”,x,y);
}运行结果:
18.#include<
#defineN3
voidzz(intx[N][N])
{inti,j,t;
for(i=0;
N;
for(j=0;
i;
j++)
{t=x[i][j];
x[i][j]=x[j][i];
x[j][i]=t;
}
{intstr[N][N]={1,2,3,4,5,6,7,8,9},i,j;
zz(str);
i++)
{for(j=0;
j++)printf(“%3d”,str[i][j]);
\n"
);
147
258
369
19.#include<
voidmain()
{chara[20]="
abcXYZ"
c;
inti,j;
j=strlen(a)-1;
for(i=0;
j>
i++,j--)
{c=*(a+i);
*(a+i)=*(a+j);
*(a+j)=c;
puts(a);
}运行结果:
ZXYcba
20.#include<
inta=100,b=200;
voidf()
{printf(“%d,%d\n”,a,b);
a=1;
b=2;
{inta=5,b=7;
f();
printf(“%d,%d\n”,a,b);
5,7
21.#include<
intd=1;
intfun(intp)
{staticintd=3;
d+=p;
d);
return(d);
voidmain()
{printf("
%3d\n"
fun(2+fun(d)));
}运行结果:
5,12,12
22.#include<
123456789"
*p=x;
inti=0;
while(*p)
{if(i%2==0)*p='
*’;
p++;
i++;
puts(x);
*2*4*6*8*
三、编程题
1.编程输入实数x,计算下面函数的值,并输出y值。
x2x<
1
y=3x-11≤x≤10
x>
10
程序结果:
#include<
{
intx,y;
scanf(“%d”,&
x);
if(x<
1)
y=x*x;
else
if(x>
=1&
x<
=10)y=3*x-1;
elsey=x/5;
printf(“x=%d,y=%d\n”,x,y);
2.编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出统计结果。
#include<
conio.h>
voidmain()
/*主函数*/
charc;
/*定义变量*/
intm=0,n=0,a=0,b=0;
请输入任意字符串.\n"
);
/*输入提示部分,提示输入*/
while((c=getchar())!
\n'
)
/*循环语句,将由键盘输入的非'
字符赋值给c*/
if((c>
=65&
c<
=90)||(c>
=97&
=122))
/*第一个选择语句,统计英文字符个数*/
{
m=m+1;
elseif(c==32)
/*第二个选择语句,统计空格字符的个数*/
n=n+1;
elseif(c>
=48&
=57)
/*第三个选择语句,统计数字字符的个数*/
a=a+1;
else
/*统计其他字符的个数*/
b=b+1;
%d%d%d%d"
m,a,n,b);
/*输出最后统计结果*/
getch();
/*输出结果后屏幕停留*/
3.编写打印如下图形的程序(必须用循环语句实现)
*
**
***
****
*****
main()
intn,i,j;
printf(“n=%d\n”);
scanf(“%d”,&
n);
for(j=0;
n-1-i;
j++)Printf(“”);
i+1;
j++)Printf(“*”);
printf(“\n”);
4.编写程序,从键盘上任意输入20个整数,存入一个数组中,然后输出这些数中最大数及其下标以及最小数及其下标
voidmain()
inta[20],i,max,min,num1,num2;
20;
{printf(“inputthenumber%d:
”,i);
a[i]);
printf(“\n”);
If(a[i]<
=a[0])
{min=a[i];
Num1=i;
Else
{max=a[i];
num2=i;
printf(“min=%d,num1=%d\n”,min,num1);
printf(“max=%d,num2=%d\n”,max,num2);
5.编程打印下列的杨辉三角形。
(设8行)
1
11
121
1331
14641
15101051
#defineN11
inti,j,a[N][N];
/*数组为11行11列,0行0列不用*/
for(i=1;
a[i][1]=1;
/*使第1列元素的值为1*/
a[i][i]=1;
/*使对角线元素的值为1*/
for(i=3;
i++)/*从第3行开始处理*/
for(j=2;
=i-1;
a[i][j]=a[i-1][j-1]+a[i-1][j];
i++)/*输出数组各元素的值*/
{for(j=1;
=i;
printf(“%6d”,a[i][j]);
6.求分段函数的值
#inclde<
math.h>
main()
{doublex,y;
scanf(“%lf”,&
0)y=log(x*x);
elseif(x==0)y=1;
elsey=1+exp(x);
printf(“Y=%lf”,y);
7.编程打印以下图形(要求用循环控制语句实现)
程序结果#include<
inti,j;
=6;
for(j=1;
=6-i;
"
}:
《C语言》课程综合复习资料答案
一、单选题:
1D2D3A4A5D6B7C8B9A10B11B12C13D14A15C16C17D18B19D20D21A22B23C24A
二、读程序写出程序执行结果:
1、6
2、WELCOME
3、Sumofthedigitsin26587is28
4、81012
5、j=81
6、x=8,y=4
7、L
8、2109、12,1210、21
11、3212、max=10,row=1,colum=2
13、1814、5,915、716、查找数组中最大值并记录元素下标
17、x=8,y=4
18、14719、ZYXcba
25820、5,7
36921、5,12,12
22、*2*4*6*8*
1、#include<
2.#include<
voidmai
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题 答案 复习 过程