C语言期末笔试AWord文档格式.docx
《C语言期末笔试AWord文档格式.docx》由会员分享,可在线阅读,更多相关《C语言期末笔试AWord文档格式.docx(12页珍藏版)》请在冰点文库上搜索。
%c%c%c%c\n"
a,b,c,d);
}
A)1234 B)12 C)12D)12
334
6.设有如下程序段,则描述中正确的是______。
inti=5;
while(i=0)i=i-1;
A)while循环执行5次B)循环是无限循环
C)循环体语句一次也不执行D)循环体语句只执行一次
授课教师命题教师或命题负责人签字
年月日
院系负责人签字
年月日
7.以下不正确的一组语句是________。
A)chara[10]="
hello"
;
B)char*p="
C)chara[10];
a="
D)char*p;
p="
8.若有structcomplex
{intreal,unreal;
}data1={1,8},data2;
则以下赋值语句中错误的是________。
A)data2=9;
B)data2.real=9;
C)data2.real=data1.real;
D)data2.real=data1.unreal;
9.若有定义:
doublea=22;
inti=0,k=18;
,则不符合C语言规定的赋值语句是________。
A)a=a++,i++;
B)i=(a+k)<
=(i+k);
C)i=a%11;
D)i=!
a;
10.下列对C语言字符数组的描述中错误的是________。
A)字符数组可以存放字符串
B)字符数组中的字符串可以整体输入、输出getsputs
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行大小比较
11.以下不正确的if语句形式是______。
A)ifx>
y&
&
x<
zx++;
B)if(x==y)x+=y;
C)if(x!
=y)scanf("
%d"
x);
elsescanf("
&
y);
D)if(x<
y){m=x;
}
12.以下能对二维数组a进行正确初始化的语句是:
________。
A)inta[2][]={{1,0,1},{5,2,3}};
B)inta[][3]={{1,2,3},{3,2,1}};
C)inta[2][4]={{1,2,3},{4},{5,6}};
D)inta[12]={{1,2},{},{5,2,3}};
13.设有定义doublea[10],*s=a;
,以下能够代表数组元素a[3]的是________。
A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3
14.若有定义int(*p)[3];
,则下列说法正确的是________。
A)定义了类型为int的三个指针变量
B)定义了类型为int的具有三个元素的指针数组p
C)定义了一个名为*p、具有三个元素的int型数组
D)定义了一个名为p的指针变量,可用它指向每行有三个int元素的二维数组
15.下面程序运行后的结果是________。
voidmain()
{charc[5]={'
a'
'
b'
\0'
c'
};
%s"
c);
}
A)'
'
B)abC)abcD)ab0c0
共8页第2页
二、填空题(每空2分,共20分)
1.若有定义unsignedlongx=200;
chara[10]="
;
则语句
printf("
___【1】___"
x,a);
将两个数据按x=200,a=hello的形式输出。
2.若a=1,b=3,c=’A’,则表达式!
a<
b||0&
(c+=3)的结果是___【2】___
3.语句printf("
strlen("
ab021\n\\\t"
));
的输出结果是___【3】__
4.下面程序段的输出是___【4】__
inti,j;
for(i=1;
i<
3;
i++)
for(j=1;
j<
j++)
{if(i==j)continue;
i=%d,j=%d\n"
i,j);
5.下面find函数的功能是查找字符串s中是否包含字符c,若有,返回该字符在串中第1次出现的位置;
若无,返回空指针。
请完善程序
char*find(char*s,charc)
{while(*s!
='
)
{if(*s==c)___【5】___;
s++;
returnNULL;
{chara[20],key,*p;
gets(a);
%c"
key);
p=find(a,key);
if(p==NULL)printf("
nofind.\n"
);
elseprintf("
Thefirstpositionis%d"
p-a);
6.下面程序中main函数调用output函数将二维数组的两个字符串输出,请补充完整函数output形参部分。
#include<
string.h>
voidoutput(___【6】___,intn)
{inti;
for(i=0;
n;
puts(*(p+i));
{chara[2][10]={"
china"
"
japan"
};
output(a,2);
专业年级学号姓名授课教师选课班上课时间周第节
)共8页第3页
7.以下程序的功能是输出100-300之间所有的素数。
函数isprime()用于判断形参a是否为素数。
若a是素数,返回1,否则返回0。
请完善程序。
#include<
math.h>
intisprime(inta)
for(i=2;
=sqrt(a);
if(a%i==0)【7】;
return1;
{intm;
for(m=101;
m<
300;
m+=2)
if(【8】)printf("
%d"
m);
\n"
8.下面fun函数的功能是:
首先对a所指的N行N列的二维数组,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。
stdio.h>
#defineN100
intfun(int(*a)[N])
{introw,col,max,min;
for(row=0;
row<
N;
row++)
{for(max=a[row][0],col=1;
col<
col++)
if(____【9】____)max=a[row][col];
if(row==0)min=max;
elseif(____【10】____)min=max;
returnmin;
三、读程序写结果(每题2分,共20分)
1.#include<
{inta=11,b=22,t=33;
if(a>
b)t=a;
a=b;
b=t;
a=%d,b=%d\n"
a,b);
2.voidmain()
{chara[10]={"
12and34"
inti,s=0;
for(i=0;
a[i]>
0'
a[i]<
9'
i++)
s=10*s+a[i]-'
%d\n"
s);
共8页第4页
)共8页第5页
3.下面程序运行若输入china<
则输出是:
______。
{charc;
inta=0,b=0;
while((c=getchar())!
='
\n'
switch(c)
{case'
:
case'
a++;
break;
default:
b++;
4.#include<
voidf()
{staticinta=1;
intb=1;
b++;
%5d"
a+b);
{f();
f();
5.#defineSUB(a)(a)-(a)
{inta=2,b=3,c=5,d;
d=SUB(a+b)*c;
d);
6.#include<
voidmain()
{charb[]="
ABCDEFG"
char*p=&
b[3];
while(--p>
b[0])
putchar(*p);
7.structA{intno;
charname[10];
intlevel;
};
{structAa[3]={{1,"
tiger"
3},{2,"
pig"
2},{3,"
sheep"
1}},*p=a;
for(;
p<
a+3;
p++)
if(p->
level==1)
%d,%s\n"
p->
no,p->
name);
8.#include<
intswap(int*x,int*y)
{int*t;
t=x;
x=y;
y=t;
{inta=4,b=3;
swap(&
%d%d\n"
9.voidmain()
{chara[]="
YouAndMe"
*p=a;
p+=3;
puts(p);
10.voidmain()
{chara[20]="
open"
b[10]="
the"
*c="
window"
strcpy(b,c);
strcat(a+4,b);
puts(a);
四、编程题(分值依次为6、7、8、9分,共30分)
1.编写程序实现功能:
运行程序用户输入任意三个整数后,程序求出其中最小值并显示。
2.编写程序,输入一个整数x,按下式输出对应的y值。
3.函数voidmystrcpy(char*s1,char*s2)的功能是:
将s2所指向的数组中的串复制到s1所访问的数组中,请完成函数体的补充。
(禁止使用任何库函数)
voidmystrcpy(char*s1,char*s2)
{}
4.编写程序,要求用户输入一个分数,然后将其约分为最简分式。
输入输出如下所示:
Enterafraction:
6/12
Inlowestterms:
1/2
提示:
为了把分数约分为最简分式,首先计算分子和分母的最大公约数,然后分子和分母分别都除以最大公约数。
答案请答于答题卡上,答题卡上请写清楚考生个人信息与任课教师、选课时间。
任课教师按答题卡评分。
考试结束后请将答题卡与试卷分开上交。
共8页第6页
中国海洋大学2009-2010学年第二学期期末考试试卷
《C程序设计》答题卡A2010.7
本课程为闭卷考试,可携带书写与修正文具,满分为:
题号
一
二
三
四
总分
得分
一、单选题(每题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】____________________【2】___________________【3】__________________
【4】____________________【5】____________________【6】____________________
【7】____________________【8】____________________【9】____________________
【10】____________________
1.__________________2.____________________3.________________________
4._________________5._____________________6.________________________
7._________________8._____________________9._________________________
10.__________________________________________
(写于右侧,与反面。
请写清楚题号)
)共8页第7页
共8页第8页
中国海洋大学2009-2010学年第二学期期末考试答案
计算机基础部《C程序设计》课程试题(A卷
)共2页第1页
《C程序设计》答题卡A2010.7
一、单选题(每题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】x=%lu,a=%s【2】1【3】8
【4】i=1,j=2<
【5】returns【6】char(*p)[10]
i=2,j=1<
【7】return0【8】isprime(m)==1【9】max<
a[row][col]
【10】max<
min(或者小于等于)
三、读程序,写结果(每题2分,共20分)
1._a=22,b=33_2.__12____3.__a=4,b=4____
4.__45____5.__-20_____6.____CB_____
7.____3,sheep____8.____43_____9.___AndMe_____
10.____openwindow____
共2页第2页