C语言习题级答案2Word格式文档下载.docx
- 文档编号:7116602
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:25
- 大小:20.05KB
C语言习题级答案2Word格式文档下载.docx
《C语言习题级答案2Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言习题级答案2Word格式文档下载.docx(25页珍藏版)》请在冰点文库上搜索。
D、"
\\\"
7.C语言中,char类型数据占(C)。
A、8个字节
$
B、4个字节
C、1个字节
D、2个字节
8.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表
示的字符常量'
\101'
是____D__。
A、非法的常量
B、字符a
C、字符e
D、字符A
¥
9.以下函数的类型是(D)
fff(floatx)
{
return5;
}
A、与参数x的类型相同
B、void类型
C、无法确定
~
D、int类型
10.以下叙述中正确的是(A)。
A、静态(static)类别变量的生存期贯穿于整个程序的运行期间
B、全局变量的作用域一定比局部变量的作用域范围大
C、函数的形参都属于全局变量
D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值
11.下列运算符中是C语言关系运算符的是(C)。
A、&
[
B、~
C、!
=
D、!
12.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用
八进制表示的字符常量'
是(D)。
A、字符e
C、非法的常量
:
13.若有floatx=;
,则执行下列程序段的输出结果为(B)。
printf("
%3d"
(int)x);
A、
B、213
C、
D、
14.全局变量的定义不可能在(A)。
A、函数内部
B、文件外面
《
C、最后一行
D、函数外面
15.C语言中函数调用的方式有(A)。
A、函数调用作为语句、函数表达式或函数参数三种
B、函数调用作为语句一种
C、函数调用作为函数表达式一种
D、函数调用作为语句或函数表达式两种
16.字符串"
WWW\123\xCC\t"
的长度为(A)
A、8
B、9
C、10
D、14
17.若有double*p,x[10];
inti=5;
使指针变量p指向元素x[5]的语句为(D)。
A、p=x;
B、p=x[i];
C、p=&
(x+i)
D、p=&
x[i];
,
18.以下程序的执行结果是___A____.
main()
{intnum=0;
while(num<
=2){num++;
printf("
%d,"
num);
}}
A、1,2,3,
B、1,2,3,4,
C、1,2,
D、0,1,2
`
19.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数D
feof(fp)的值为()。
A、一个非0值
B、-1
C、1
D、0
20.以下对枚举类型名的定义中正确的是(D)。
A、enuma{"
sum"
"
mon"
tue"
};
*
B、enuma={sum,mon,tue};
C、enuma={"
D、enuma{sum=9,mon=-1,tue};
21.在执行fopen函数时,ferror函数的初值是(D)。
A、TRUE
B、1
C、-1
22.以下能正确进行字符串赋值的语句是D
A、chars[5]=“good!
”;
B、chars[5]={‘a’,‘e’,‘i’,‘o’,‘u’};
C、chars[5];
s=“good!
D、char*s;
23.已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中
不正确的是(C)。
A、p=&
a[j];
B、p=a;
C、p=10;
j,p=p1;
24.若有intx,y,z;
,则执行以下程序段后的输出结果为:
C
x=1;
y=5;
z=3;
if(x>
y)x=y;
y=z;
x=%d,y=%d,z=%d"
x,y,z);
A、x=5,y=3,z=5
B、x=1,y=5,z=3
、
C、x=1,y=3,z=3
D、x=5,y=3,z=3
25.当顺利执行了文件关闭操作时,fclose函数的返回值是(D)。
26.以下能正确定义数组并正确赋初值的语句是(D)。
A、intc[2][]={{1,2},{3,4}};
B、inta[1][2]={{1},{3}};
C、intN=5,b[N][N];
D、intd[3][2]={{1,2},{34}};
27.以下程序的执行结果是_____B___.
main()
{intw=1,x=2,y=3,z=4;
w=(w<
x)x:
w;
y)y:
z)z:
%d"
w);
A、2
B、4
D、1
28.以下for循环的执行次数是for(x=0,y=0;
(y=123)&
&
(x<
4);
x++);
(A)。
A、4次
B、是无限循环
C、3次
D、循环次数不定
29.以下函数的类型是__B____。
>
A、无法确定
B、int类型
C、与参数x的类型相同
D、void类型
30.关于建立函数的目的,以下正确的说法是(C)。
A、减少程序文件所占内存
B、提高程序的执行效率
C、提高程序的可读性
D、减少程序的篇幅
判断
1.若有intⅰ=10,j=0;
则执行完语句
if(j=0)ⅰ++;
elseⅰ--;
ⅰ的值为11。
F
2.inti=20;
switch(i/10){case2:
A"
);
case1:
B"
}的输出结果为A。
3.C语言的函数可以嵌套定义.F
4在程序中定义了一个结构体类型后,可以多次用它来定义具有
该类型的变量。
T
5.在C语言中,对于数组的定义chara[8]="
computer"
是错误的.T
6.结构体类型只有一种。
7.函数中的形式参数是局部变量.T
8.在C语言中charstr[6]="
hello"
可以将字符串"
正确赋给数组.T
9.C语言中只能逐个引用数组元素而不能一次引用整个数组。
10.在C语言中charstr[]={'
h'
'
e'
l'
o'
}不能将字符串"
正确赋给数组.T
程序设计1
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
给定n个数据,求最小值出现的位置(如果最小值
出现多次,求出第一次出现的位置即可)。
-
------------------------------------------------*/
#include<
voidbky();
intstation(ints[],intn)
/**********Begin**********/
inti,k;
k=0;
(
for(i=1;
n;
i++)
if(s[i]<
s[k])k=i;
return(k);
/**********End**********/
程序设计2
请编一个函数voidfun(inttt[M][N],intpp[N]),
tt指向一个M行N列的二维数组,求出二维数组每列
中最小元素,并依次放入pp所指一维数组中。
二维
数组中的数已在主函数中赋予。
#include<
#defineM3
#defineN4
voidfun(inttt[M][N],intpp[N])
inti,j;
for(j=0;
N;
j++)
{
pp[j]=tt[0][j];
M;
if(tt[i][j]<
pp[j])
pp[j]=tt[i][j];
}
main()
intt[M][N]={{22,45,56,30},
{19,33,45,38},
【
{20,22,66,40}};
intp[N],i,j,k;
printf("
Theoriginaldatais:
\n"
for(i=0;
%6d"
t[i][j]);
fun(t,p);
?
\nTheresultis:
for(k=0;
k<
k++)printf("
%4d"
p[k]);
bky();
voidbky()
{
inti,j,array[3][4],p[4];
FILE*rf,*wf;
rf=fopen("
"
"
r"
);
wf=fopen("
w"
for(i=0;
i<
3;
i++)
for(j=0;
j<
4;
j++)
fscanf(rf,"
%d"
&
array[i][j]);
fun(array,p);
fprintf(wf,"
%7d"
p[j]);
?
}
fclose(rf);
fclose(wf);
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
为一维数组输入10个整数;
将其中最小的数与第一个数
对换,将最大的数与最后一个数对换,输出数组元素。
------------------------------------------------------*/
inta[10];
voidinput();
voidoutput();
voidmax_min();
input(a,10);
max_min(a,10);
output(a,10);
voidinput(int*arr,intn)
int*p,i;
p=arr;
pleaseenter10integers:
/**********ERROR**********/
scanf("
p);
voidmax_min(int*arr,intn)
int*min,*max,*p,t;
min=max=arr;
for(p=arr+1;
p<
arr+n;
p++)
if(*p<
*max)
max=p;
elseif(*p<
*min)min=p;
t=*arr;
*arr=*min;
*min=t;
/**********ERROR**********/
if(max=arr)max=min;
t=*(arr+n-1);
*(arr+n-1)=*max;
*max=t;
voidoutput(int*arr,intn)
Thechangedarrayis:
while(i=0;
*p++);
【改错1】错误
【学生答案】
scanf("
【参考答案】
p★++);
arr[i]);
p+i);
arr+i);
============================================================
【改错2】错误
if(*p<
if(*p>
*max)
if(*max<
*p)
【改错3】错误
if(max=arr)max=min;
if(max==arr)
if(arr==max)
'
【改错4】错误
while(i=0;
for(i=0;
n>
i;
for(p=arr;
)
=n-1;
n-1>
=i;
=arr+n-1;
arr+n-1>
=p;
有n个整数,使其前面各数顺序向后移m个位置,最后m个
—
数变成最前面的m个数。
#include"
intnumber[20],n,m,i;
thetotalnumbersis:
&
n);
backm:
m);
n-1;
number[i]);
number[n-1]);
move(number,n,m);
number[i]);
number[n-1]);
》
move(array,n,m)
intn,m,array(20);
int*p,array_end;
array_end=(array+n-1);
for(p=array+n-1;
p>
array;
p--)
*p==*(p-1);
*array=array_end;
m--;
if(m>
0)move(array,n,m);
·
intn,m,array[20];
<
array_end=(array+n-1);
array_end=*(array+n-1);
*p==*(p-1);
*p=*(p-1);
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
\
从键盘输入若干行字符,输入后把他们存储到一磁盘文件
中。
在从该文件中读出这些数据,将其中的小写字母转换
成大写字母后在屏幕上输出。
-------------------------------------------------------*/
#include"
#defineN100
FILE*fp;
charc,*p,s[N][20];
inti,n;
n="
/**********FILL**********/
if(n<
1_____n>
N)exit(0);
Input%dstring:
n);
i++)
%s"
s[i]);
fp=fopen("
text"
_____);
p=s[i];
while(*p!
='
\0'
if(!
ferror(fp))fputc(_____,fp);
%
fclose(fp);
while((c=fgetc(fp))!
=EOF)
if(c>
a'
c<
z'
)c-+32;
putchar(c);
【空1】错误
if(n<
||
【空2】错误
fp=fopen("
#
【空3】错误
while(*p!
*p++
【空4】错误
数组名作为函数参数,求平均成绩。
floataver(floata[])/*定义求平均值函数,形参为一浮点型数组名*/
inti;
floatav,s=a[0];
5;
s+=_____[i];
av=s/5;
return_____;
voidmain()
floatsco[5],av;
\ninput5scores:
%f"
av=aver(_____);
averagescoreis%\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)