C语言期末考试试题及答案Word格式.docx
- 文档编号:19044784
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:10
- 大小:21.45KB
C语言期末考试试题及答案Word格式.docx
《C语言期末考试试题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《C语言期末考试试题及答案Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
D>
chars[10];
s="
hello"
5.若以下变量均已正确定义和赋值,则正确的语句是________。
a=b==5;
B>
y=x%2.0;
C>
x+y=10;
n=8=2*4;
6.下面各组中与给出的程序段功能不等价的是________。
if(a>
0>
b=1;
elseif(a==0>
b=0;
elseb=-1;
if(a>
=0>
if(a==0>
elseif(a==0>
if(a<
b=-1;
elseb=-1;
if(a==0>
elseb=0;
7.运行下面程序段,若输入abc#<
CR>
,则程序输出是:
________。
charc;
intv1=0,v2=0;
while((c=getchar(>
>
!
='
#'
{switch(c>
{case'
a'
:
v1++;
default:
v2++;
case'
c'
}
printf("
v1=%d,v2=%d\n"
v1,v2>
2,2B>
3,5C>
3,4D>
2,5
8.对for(表达式1;
;
表达式3>
{…}可以理解为:
for(表达式1;
1;
{…}B>
for(表达式1;
表达式1;
{…}
0;
{…}D>
表达式3;
9.若有定义chara[]=”china”,b[]={’c’,’h’,’i’,’n’,’a’};
则下面正确的叙述为:
数组a的长度小于数组b的长度B>
数组a和b的长度相同
数组a的长度大于数组b的长度D>
数组a和数组b中存储的内容完全一样
10.已知a,b,m,n,c,d变量的定义如下,则执行完下列程序段后m,n的值为:
_____。
inta=3,b=4,m=0,n=0,c=3,d=4;
(m=a<
b>
||(n=c<
d>
m=1n=1B>
m=1n=0C>
m=0n=0D>
m=0n=1
11.下面程序的输出结果是:
voidmain(>
{chars[20]=”hello\0\t\\”;
printf(“%d”,strlen(s>
}
8B>
5C>
11D>
10;
12.若有定义inta[3][3]={1,2,3,4,5,6,7,8,9},(*p>
[3]=a;
则下面能正确引用数组元素的表达式为:
a[3][3]B>
*(p+2>
+2C>
p[2][1]D>
*(a+1+1>
13.下面正确的函数定义是:
doublefun(intx,inty>
intfun(intx,y>
{z=x+y;
returnz;
}{intz;
z=x+y;
doublefun(x,y>
fun(intx,inty>
{intx,y;
doublez;
{intz;
z=x+y;
14.若有定义int(*p>
(>
则下面叙述正确的是:
p是指向一维数组的指针变量
B>
p是指向整型数据的指针变量
p是一个函数名,该函数的返回值是指向整型数据的指针
D>
p是指向函数的指针变量,该函数的返回值是整型数据
15.设有如下定义语句,则下面的叙述不正确的是______。
structA
{inta;
floatx;
}s;
A)a和x都是结构体成员名B)s是用户定义的结构体类型名
C)structA是用户定义的结构体类型D)struct是结构体类型的关键字
共8页第2页
中国海洋大学2008-2009学年第一学期期末考试试卷
二、填空题<
每空2分,共20分)
1.若要定义一个变量x来存储数据,存储的数据都是正整数,最大值不超过65535,则变量x的定义为_【1】。
2.设floatx=3.5,y=4.8;
inta=8;
则表达式x+a%3*(int>
(x+y>
%2/4的值是___【2】。
3.当执行下述程序段,从键盘上输入hellojack!
<
后输出为__【3】__。
注:
表示回车符,表示空格。
chara[20];
%s"
a>
puts(a>
4.若i为整型变量,则循环语句for(i=0;
i==0;
--i>
的执行结果是____【4】____。
5.下面程序对从键盘输入的两个串进行比较,输出两个串中第一个不相同字符的ASCII值之差。
请将程序补充完整。
voidmain(>
{chara[20],b[20],c;
inti=0,s;
gets(a>
gets(b>
while((a[i]==b[i]>
&
(a[i]!
=__【5】__>
i++;
printf("
%d\n"
___【6】___>
6.下面程序的功能是调用find函数查找某个串中是否包含指定的字符。
若找到显示找到的第一个匹配字符的下标。
如输入字符串为:
hello,查找字符为l,则输出:
position=2请补充程序。
#include<
stdio.h>
char*find(char*s,charc>
{while(*s!
\0'
{if(*s==c>
___【7】___;
s++;
returnNULL;
{chara[80],ch,*p;
gets(a>
%c"
ch>
p=find(a,ch>
if(p==NULL>
nofind.\n"
elseprintf("
position=%d\n"
___【8】___>
7.下面程序的功能是统计从键盘输入的一行英文中的单词个数,单词之间用空格分隔。
请补充程序。
{inti,num=0,word=0;
chars[80];
gets(s>
for(i=0;
s[i]!
i++>
if(s[i]=='
'
___【9】___;
elseif(word==0>
{___【10】__;
num++;
}
num>
三、读程序写结果<
每题2分,共20分)
1.若系统为int型分配2个字节
{unsignedintx=0xFFFF;
x>
}
2.voidmain(>
{inti=1,j;
charch='
F'
j=!
ch&
i++;
i=%d,j=%d\n"
i,j>
3.voidmain(>
for(x=1,y=2;
y<
=20;
y++>
{if(x>
=10>
break;
if(x%2==1>
{x+=5;
continue;
x-=3;
%d,%d"
y,x>
4.voidmain(>
{inta[3],i,j,k;
for(i=0;
i<
3;
a[i]=0;
k=2;
k;
for(j=0;
j<
j++>
a[j]=a[i]+1;
a[1]>
5.voidswap(int*x,int*y>
{int*t;
t=x;
x=y;
y=t;
{inta=3,b=4;
swap(&
a,&
a=%d,b=%d"
a,b>
第4页
6.inta=1;
voidfun2(>
{staticintc=6;
a=c++;
a=%d,c=%d\n"
a,c>
{fun2(>
fun2(>
7.#defineN3
#defineY(n>
((N+1>
*n>
{ints;
s=2*(N+Y(5+1>
s=%d"
s>
8.#include<
voidf(char**,int>
{chara[2][10]={"
China"
"
America"
},*p[2];
p[0]=&
a[0][0];
p[1]=&
a[1][0];
f(p,2>
voidf(char**p,intn>
{inti;
n;
puts(*(p+i>
9.intfun1(intx,inty>
{returnx+y;
{inta=5,b=8,s;
int(*p>
(int,int>
p=fun1;
s=(*p>
(a,b>
10.structS{intx;
charn[10];
};
{structSa={1,"
fox"
};
%d,%s"
a.x,a.n>
计算
四、编程题<
分值依次为6、7、8、9分,共30分)
1.编写程序计算下面分段函数的值并输出。
注:
x和y都是整型,x通过键盘输入。
x+10(x<
y=3x+5(0≤x<
15>
2x-10(x≥15>
2.编写程序,将键盘输入的一个long型整数逆序构成一个新整数输出。
如输入654321,输出123456<
假设其逆序数值也在long范围之内)。
3.编写程序实现如下功能:
1)输入一个3阶方阵,
2)分别求出并输出该方阵两条对角线上元素之和。
例如如下3阶方阵的两条对角线之和分别为15和15。
123
456
789
4.下面程序的功能是从多个字符串中寻找最长串输出。
请根据给出的主函数内容补充find函数的函数声明和函数定义。
#include<
string.h>
/*find函数声明*/
{chara[6][20];
inti,row;
6;
gets(a[i]>
row=find(a,6>
longeststringis:
%s,atrow%d.\n"
a[row],row>
/*find函数定义*/
答案请答于答题卡上,答题卡上请写清楚考生个人信息与任课教师、选课时间。
任课教师按答题卡评分。
考试结束后请将答题卡与试卷分开上交。
《C程序设计》答案A2008.12
题号
一
二
三
四
总分
得分
每题2分,共30分)<
请将所选答案涂黑如ABCD)
1.ABCD2.ABCD3.ABCD4.ABCD
5.ABCD6.ABCD7.ABCD8.ABCD
9.ABCD10.ABCD11.ABCD12.ABCD
13.ABCD14.ABCD15.ABCD
每空2分,共20分)注意题号与空格号不一致,以空格编号为准
【1】___unsignedint__【2】_____3.5____________【3】_____hello______
【4】_______-1___________【5】_____’\0’___________【6】______a[i]-b[i]_____
【7】___returns___【8】___p-a_____【9】__word=0____【10】____word=1____
a=6,c=7
a=7,c=8
a=7,c=8
1._____-1_______2._____i=1,j=0____3.___7,10_________4.__3____________
China
America
5._____a=3,b=4_________6.______________________7._____s=48____________
8._____________________9.______s=13___________10.__________1,fox______
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 试题 答案