石油大学C语言在线考试附答案Word文件下载.docx
- 文档编号:16840650
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:20
- 大小:71.04KB
石油大学C语言在线考试附答案Word文件下载.docx
《石油大学C语言在线考试附答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《石油大学C语言在线考试附答案Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
B"
D)c=66;
13.设a=3,b=4,c=-5,则逻辑表达式:
a||b+c&
b==c的值是()
A)1B)0C)非0D)语法错
14.以下能正确定义数组并正确赋初值的语句是()
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}};
15.结构化程序设计的三种基本结构是()
20.
设有intx=11;
则表达式(x++*1/3)的值是(
21.若有:
intx=1,n=5;
则执行语句x%=(n%2)
A)3B)2C)1
22.结构化程序的3种基本控制结构是()
A)if-else结构、while结构、for结构
C)while结构、do-while结构、for结构
23.下面程序段的输出结果是()
intk=11;
printf(“%d,%o,%x”,k,k,k);
A)11,12,11B)11,13,13C)11,013,0xbD)11,13,b
24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是()
A)1B)2
C)3
D)4
25.以下非法的赋值语句是
()
B)j++;
C)++(i+1);
D)x=j>
26.语句:
printf("
%d"
(a=2)&
(b=-2));
的输出结果是(
A)无输出
B)结果不确定
C)1
D)2
27.设有定义语句:
charstr[][20]={"
Hello"
"
Beijing"
},*p=str;
()
则printf("
%d\n"
strlen(p+20));
输出结果是
A)0B)5C)7D)20
28.以下选项中,与k=++n完全等价的表达式是()
A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1
二、读程序,写出程序执行结果
1.#include<
stdio.h>
voidmain()
{inta=10,b=0;
if(a==12)
{a++;
b++;
}
else
{a=a+3;
b=b+3;
}
printf(“%d,%n”d,a,b);
2.#include<
{ints,i;
for(s=0,i=1;
i<
5;
i++,s+=i);
printf(“%n”d,s);
3.#include“stdio.h”
{charn=‘c'
switch(n++)
{default:
printf(“error!
”);
break;
case
‘a'
:
case‘
A'
case‘b'
case‘B'
printf(“good!
break;
‘c'
C'
printf(
“pass!
‘d'
D'
“warm!
4.#include<
voidmain(){intk=4,n=0;
for(;
n<
k;
)
{n++;
if(n%3!
=0)continue;
k--;
}printf("
%d,%d\n"
k,n);
5.#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);
printf(“%n”d,x);
6.#include<
voidcopy_str(charfrom[],charto[])
{intk=0;
while(from[k]!
=0'
‘){to[k]=from[k];
k++;
to[k]=0‘'
;
/*末尾加上串结束标志*/
{charstr1[80]=”red”,str2[80]=”;
greencopy_str(str1,str2);
puts(str2);
7.#include<
intd=1;
voidfun(intp){intd=5;
d+=p++;
printf(“%d”,d);
}voidmain()
{inta=3;
fun(a);
d+=a++;
d);
8.#include<
voidmain(){inti,j;
for(i=0;
i<
3;
i++)
{
for(j=0;
j<
=i;
j++)printf("
*"
);
\n"
9.#include<
{inti;
for(i=0;
3;
switch(i)
{case1:
%d"
i);
case2:
default:
printf("
10.#include<
intws(intx)
{if(x/100>
0)
return(3);
elseif(x/10>
0)
return
(2);
return
(1);
{inta=123;
%d是%d位数\n"
a,ws(a));
11.#include<
#include<
string.h>
{chara[10]="
abc"
;
charb[]="
defg"
puts(a);
puts(b);
puts(strcat(a,b));
12.#include<
{inti,n[]={1,2,3,4,5};
2;
i++)
{n[i]=n[4-i]+1;
n[i]);
5;
13.#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];
for(i=0;
=2;
for(j=0;
j<
=3;
j++)
if(a[i][j]>
max)
{max=a[i][j];
row=i;
colum=j;
max=%d,row=%d,colum=%d"
max,row,colum);
14.#include<
voidcopy_str(charfrom[],charto[])
while(from[k]!
‘)
{to[k]=from[k];
to[k]=‘0'
/*末尾加上串结束标志*/
{charstr1[80]="
good"
str2[80]="
abcdef"
copy_str(str1,str2);
15.
{inta=0;
a+=(a=8);
printf(“%n”d,a);
16.#include<
voidmain()
{intx=4;
if(x++>
=5)
printf(“n%”d,x);
printf(“%n”d,-x-);
17.#include<
#defineMAX(a,b)(a>
b?
a:
b)+1
{inti=6,j=8;
printf(“%n”d,MAX(i,j));
18.#include<
{inti,j,m=0,n=0,k=0;
for(i=6;
=9;
for(j=2;
j++)switch(i%j){case0:
m++;
case1:
n++;
k++;
default:
n++;
m++;
%d%d%d\n"
m,n,k);
19.#include<
voidmain(){inti;
for(i=1;
i++){if(i%2)
putchar(‘<
'
);
continue;
putchar(‘>
putchar(‘#'
20.#include<
{printf("
21.#include<
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);
{inta=7,b=5;
fun(a,b)/m);
22.#include<
{intn=2;
printf(“%d,%d,%nd”,++n,n+=2,--n);
23.#include<
{intx=1,a=0,b=0;
switch(x)
{case0:
a++;
case2:
b++;
printf(“a=%d,b=%nd”,a,b);
24.#include<
{ints,t,a=-2,b=6;
s=t=1;
if(a>
0)s=s+1;
b)t=s+t;
elseif(a==b)t=5;
elset=2*s;
t=%d"
t);
25.#include<
#defineS(a,b)(a)*(b)voidmain()
{inta=3,area;
area=S(a,a+3);
area=%d\n"
area);
26.#include<
{inti=0,a=0;
while(i<
20)
{for(;
if((i%10)==0)break;
elsei--;
i+=11;
a+=i;
a);
27.#include<
{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
inti,s=O;
4;
i++)s+=aa[i][2];
printf(“%”,s);
28.#include<
fun(inta,intb)
{if(a>
b)return(a);
elsereturn(b);
voidmain()
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf("
r);
三、编程题
1.
2•编程任意输入两个实数
a和b,计算下面函数的值,并输出
y值。
y=
a>
b
a*b
a<
a=b
x
2x-1
3x-11
设有分段函数:
(x<
1)
(1wx10)写一程序,输入x,输出y的值。
(x>
10)
3.编程序求如下分段函数的值
3x0
y
1
x20x1
2
Vxx1
4.写一个判断素数的函数。
要求在主函数中输入一个整数并输出相应的判断信息。
5.编程序计算s=1!
-2!
+3!
-4!
+……-10!
并输出结果。
6.编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。
要求字符串的输入与输出在主函数中完成。
7.编程计算:
s=1+12+123+1234+12345+123456(必须用循环控制语句实现)
8•编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。
例如输入是:
12345abcde,则输出为:
edcba54321
9•编程,在NXN矩阵中(即N行N列的数组),求主对角线和次对角线上的各元素之和。
10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分(平均
分)
《C语言》综合复习资料参考答案
题号
3
4
5
6
7
8
9
10
答案
C
D
A
11
12
13
14
15
16
17
18
19
20
B
21
22
23
24
25
26
27
28
、读程序写出程序执行结果题
1、13,3
2、14
3、pass!
warm!
4、3,3
5、18
6、red
7、84
8、
9、011122
10、123是3位数
11、
abc
defg
abcdefg
12、6565345
13、max=10,row=1,colum=2
14、good
15、16
16、5
17、9
18、431
19、<
>
<
#
20、
21、2
22、4,3,1
23、a=2,b=124、t=2
25、area=18
26、32
27、29
28、12
1.设有分段函数:
(1<
x10)
写一程序,输入x,输出y的值。
#include<
voidmain()
intx,y;
printf(输入x:
”);
scanf(“%d”,&
x);
if(x<
1)
{y=x;
printf(“x=%3d,y=x=%raT,x,y);
elseif(x<
10)
{y=2*x_1;
printf(“x=%3d,y=2*xn”,x,y);
{y=3*x-11;
printf(“x=%3d,y=3*xn”,x,y);
2.编程任意输入两个实数a和b,计算下面函数的值,并输出y值。
a-ba>
3a
y=—a<
a*ba=b
#include<
floata,b,y;
seanf(“%f,%f”,&
a,&
b);
if(a<
b)
y=a/b;
if(a==b)y=a*b;
elsey=a-b;
printf(“y=%f,y);
3•编程序求如下分段函数的值
x3x0
y1x0x12x“xx1
#include<
math.h>
floatx,y;
scanf(“%d,&
=0)
y=fabs(x)+3;
1&
x>
{y=1+x*x;
{y=2*x+sqrt(x);
printf(“x=%f,y=%'
f,x,y);
{intn,i;
printf(“pleaseenteraintegernumber,n=?
n);
for(i=2;
=n_1;
if(n%i==0)break;
if(i<
n)printf(“%disnotaprimenumber.,n);
elseprintf(“%disaprimenumbern.”,n);
}求素数的问题方法有很多,同学们可以到教材或网络上进行查找学习。
5•编程序计算s=1!
{inti,k=1,njie=1;
floatsum=0;
=10;
{njie=njie*i;
sum=sum+njie*k;
k=-1*k;
%f\n"
sum);
6•编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。
inti;
chara[80];
gets(a);
puts(a);
80;
if(a[i]>
=65&
a[i]<
=90)
a[i]=a[i]+32;
7.编程计算:
longintt=0,s=0,i;
for(i=1;
=6;
{t=i+t*10;
s=s+t;
printf(”s=%nl”d,s);
本题请注意s数据类型的定义。
8.编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。
例如输入是:
12345abcde,则输出为:
edcba54321
chara[100];
change(a);
#include<
voidchange(chara[])
inti,j,k;
chartemp;
k=strlen(a);
k;
for(j=i+1;
temp=a[i];
a[i]=a[j];
a[j]=temp;
#defineN10;
main()
inti,j;
inta[N][N];
intsum=0;
N;
j++)scanf("
&
a[i][j]);
i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 石油大学 语言 在线 考试 答案