期中考试试题

温柔似野鬼°
578次浏览
2020年08月03日 07:30
最佳经验
本文由作者推荐

五环的颜色-珍爱生命演讲稿


浙江大学2013-2014学年秋冬学期
《C程序设计及实验》课程期中测试试卷
诚信考试,沉着应考,杜绝违纪。
考生姓名: 学号: 所属院系: _

(
注意:答题内容必须写在下载的答题卡上,并上传至课程网站
)

试题一、单选题(每小题2分,共20分)
1. 以下正确的字符常量是______。
A.’412’ B.255 C.’08’ D.’’

2. 假设有定义:float x=1652.0, y=165.02; 则 x 和 y 的值分别为______。
A.1.5 1.6 B.1.6 1.6 C.1.5 1.5 D.1.6 1.5

3. 下列语句中, _____ 将输出%d。
A.printf(“%d”); B.printf(“%%d”); C.printf(“%d”); D.printf(“%%%d”)

4. 下列程序段输出结果为 _____。
int x=1, y=012;
printf(“%d”,y*x++);
A.12 B.10 C.20 D.24

5. 下列程序段输出结果为 _____。
int a=1,b=2,c=2,t;
while(aprintf(“%d,%d,%d”,a,b,c);
A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1

6. 在下图中,阴影部分区域可用表达式_______来表示。
//// ////
//// ////
X
a b c
A.(x<=a)&&(x>=b)&&(x<=c) B.(x<=a)||(b<=x<=c)
C.(x<=a)||(x>=b)&&(x<=c) D.(x<=a)&&(b<=x<=c)

《C程序设计及实验》期中考试试卷, 2013年11月19日 1 7


7. 下列程序段输出结果为 _____。
int x = -3, y = 2;
if(x>y);
x = -x;
if(x y = -y;
printf(
A.x=3,y=-2 B.x=3,y=2 C.x=-3,y=2 D.x=-3,y=-2

8. 对于循环while(!e) 语句,!e等价于_____。
A.e==0 B.e!=0 C.e==1; D.e!=1

9. 循环 for(i=0, j=5; ++i!=--j; ) printf(“%d %d”, i, j); 将执行_____。
A.6次 B.3次 C.0次 D.无限次

10. 下列程序段执行后s值为_____。
int i=5, s=0;
do if (i%2) continue; else s+=i; while (--i);
A.15 B.9 C.6 D.以上均不是

试题二、填空题(每小题2分,共20分)
1. 表达式 1+45+15<7+4%5+(8,10) 的值为 _____。

2. 表达式 !!5 的值为 _____。

3. 表达式 ~(10<<1)&4 的值为______。

4. 假设有定义:int x=10;则表达式 0<=x<=9 的值为 _____。

5. 下列 for循环语句将输出: 0 1 2 0 1 2 0 1 2.
for( i=1; i<=9; i++ ) printf(

6. 对于定义: int m=5, y=2; 当计算表达式y+=y-=m*=y 后,y的值为_____。

7. 对于char c; 若已知其值为小写字母, 则将其转换为相应大写字母的表达式为_____。

8. 下列语句的输出结果为_____。
printf(

9. 已知字符’a’的ASCII码为97,则下列语句的输出结果为_____。
《C程序设计及实验》期中考试试卷, 2013年11月19日 2 7


printf(’c’);

10. 下列程序段将输出_____。
unsigned char x=255,y=’1’;
switch(!!x) {
case 0: printf(
case 1:
switch(y) {
case 0: printf(
case 1: printf(
}
default: printf(
}



试题三、程序阅读题(每小题6分,共30分)
1. 下列程序将输出_____。
#include
void swap(int x, int y)
{
int t;

t=x; x=y; y=t;
return;
}
void main(void)
{
int a=3, b=2;

swap(a, b);
printf(
return;
}

2. 下列程序将输出_____。
# include
int s;
int f(int m)
{
《C程序设计及实验》期中考试试卷, 2013年11月19日 3 7


static int k=0;

for(; k<=m; k++) s++;
return s;
}
void main(void )
{
int s=1;

s=f(2)+f(2);
printf(
return;
}

3.
若输入:1273 <回车>,以下程序的输出结果是_______。

#include
void main(void)
{
int n, m;

scanf(“%d”, &n);
m=0;
while (n>0) {
m=m*10+n%10;
n=10;
}
printf(“%d”, m);
return;
}

4. 若输入 -6+15*35=<回车> , 以下程序的输出结果是_______。
#include
void main()
{
int m=0, sum=0;
char c, oldc='+';

do {
c=getchar();
if(c<='9'&&c>='0')
《C程序设计及实验》期中考试试卷, 2013年11月19日 4 7


m=10*m+c - '0';
else {
if(oldc=='+')
sum += m;
else
sum -= m;
m=0;
oldc=c;
printf(
}
} while(c!='=');
return;
}

5.
若输入:how are you? <回车>,以下程序的输出结果是_______。
#include
void main(void )
{
int word;
char ch;

word=0;
while((ch=getchar())!='?'){
if(ch==' ') word=0;
else if(word==0){
word=1;
if(ch<='z'&&ch>='a') ch=ch-'a'+'A';
}
putchar(ch);
}
return;
}

试题四、程序填空题(每空2分,共30分)
1. 输入正整数n,计算s = 11! + 12! + 13! + ……+ 1n!的值。
#include
void main( void)
{
int j, k, n;
double f, s;
《C程序设计及实验》期中考试试卷, 2013年11月19日 5 7



scanf(
(1)
for (k=1 k<=n; k++){
(2)
for(j=1; (3) j++)
(4)
s=s+1.0f;
}
printf( (5) ); s
return;
}

2. 输入一个整数,统计该数的位数。如:输入12534,输出5;输入-99,输出2;输入0,输出1。
#include
void main(void)
{
int count=0, number;

scanf(“%d”, (6) );
if (number < 0) number = (7)
do {
number = (8)
count++;
} while ( (9) );
printf(“%dn”, count);
return;
}

3. 下面程序验证“哥德巴赫猜想”:寻找6到1 000间满足“偶数=素数1+素数2”(如10=3+7)的所
有偶数。素数指只能被1和自身整除的 正整数,如2,3,17等;1不是素数。
#include
void main(void)
{
int i, j;
(10) *prime()函数声明*

for (i=3 i<=500; i++)
for (j=2; j++)
if ( (11) ) {
《C程序设计及实验》期中考试试卷, 2013年11月19日 6 7


printf(“%d = %d +%dn”, 2*i, j, 2*i-j); *若2*i为两个素数之和 *
break;
}
(12)
}
int prime(int n) * 判断n是否为素数:是返回1,不是返回0 *
{
int i;

if (n==1)
return (13)
for (i=2; i<=n2; i++)
if ( (14) )
return 0;
return (15)
}
《C程序设计及实验》期中考试试卷, 2013年11月19日 7 7


浙江大学2013-2014学年秋冬学期
《C程序设计及实验》课程期中测试试卷
诚信考试,沉着应考,杜绝违纪。
考生姓名: 学号: 所属院系: _

(
注意:答题内容必须写在下载的答题卡上,并上传至课程网站
)

试题一、单选题(每小题2分,共20分)
1. 以下正确的字符常量是______。
A.’412’ B.255 C.’08’ D.’’

2. 假设有定义:float x=1652.0, y=165.02; 则 x 和 y 的值分别为______。
A.1.5 1.6 B.1.6 1.6 C.1.5 1.5 D.1.6 1.5

3. 下列语句中, _____ 将输出%d。
A.printf(“%d”); B.printf(“%%d”); C.printf(“%d”); D.printf(“%%%d”)

4. 下列程序段输出结果为 _____。
int x=1, y=012;
printf(“%d”,y*x++);
A.12 B.10 C.20 D.24

5. 下列程序段输出结果为 _____。
int a=1,b=2,c=2,t;
while(aprintf(“%d,%d,%d”,a,b,c);
A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1

6. 在下图中,阴影部分区域可用表达式_______来表示。
//// ////
//// ////
X
a b c
A.(x<=a)&&(x>=b)&&(x<=c) B.(x<=a)||(b<=x<=c)
C.(x<=a)||(x>=b)&&(x<=c) D.(x<=a)&&(b<=x<=c)

《C程序设计及实验》期中考试试卷, 2013年11月19日 1 7


7. 下列程序段输出结果为 _____。
int x = -3, y = 2;
if(x>y);
x = -x;
if(x y = -y;
printf(
A.x=3,y=-2 B.x=3,y=2 C.x=-3,y=2 D.x=-3,y=-2

8. 对于循环while(!e) 语句,!e等价于_____。
A.e==0 B.e!=0 C.e==1; D.e!=1

9. 循环 for(i=0, j=5; ++i!=--j; ) printf(“%d %d”, i, j); 将执行_____。
A.6次 B.3次 C.0次 D.无限次

10. 下列程序段执行后s值为_____。
int i=5, s=0;
do if (i%2) continue; else s+=i; while (--i);
A.15 B.9 C.6 D.以上均不是

试题二、填空题(每小题2分,共20分)
1. 表达式 1+45+15<7+4%5+(8,10) 的值为 _____。

2. 表达式 !!5 的值为 _____。

3. 表达式 ~(10<<1)&4 的值为______。

4. 假设有定义:int x=10;则表达式 0<=x<=9 的值为 _____。

5. 下列 for循环语句将输出: 0 1 2 0 1 2 0 1 2.
for( i=1; i<=9; i++ ) printf(

6. 对于定义: int m=5, y=2; 当计算表达式y+=y-=m*=y 后,y的值为_____。

7. 对于char c; 若已知其值为小写字母, 则将其转换为相应大写字母的表达式为_____。

8. 下列语句的输出结果为_____。
printf(

9. 已知字符’a’的ASCII码为97,则下列语句的输出结果为_____。
《C程序设计及实验》期中考试试卷, 2013年11月19日 2 7


printf(’c’);

10. 下列程序段将输出_____。
unsigned char x=255,y=’1’;
switch(!!x) {
case 0: printf(
case 1:
switch(y) {
case 0: printf(
case 1: printf(
}
default: printf(
}



试题三、程序阅读题(每小题6分,共30分)
1. 下列程序将输出_____。
#include
void swap(int x, int y)
{
int t;

t=x; x=y; y=t;
return;
}
void main(void)
{
int a=3, b=2;

swap(a, b);
printf(
return;
}

2. 下列程序将输出_____。
# include
int s;
int f(int m)
{
《C程序设计及实验》期中考试试卷, 2013年11月19日 3 7


static int k=0;

for(; k<=m; k++) s++;
return s;
}
void main(void )
{
int s=1;

s=f(2)+f(2);
printf(
return;
}

3.
若输入:1273 <回车>,以下程序的输出结果是_______。

#include
void main(void)
{
int n, m;

scanf(“%d”, &n);
m=0;
while (n>0) {
m=m*10+n%10;
n=10;
}
printf(“%d”, m);
return;
}

4. 若输入 -6+15*35=<回车> , 以下程序的输出结果是_______。
#include
void main()
{
int m=0, sum=0;
char c, oldc='+';

do {
c=getchar();
if(c<='9'&&c>='0')
《C程序设计及实验》期中考试试卷, 2013年11月19日 4 7


m=10*m+c - '0';
else {
if(oldc=='+')
sum += m;
else
sum -= m;
m=0;
oldc=c;
printf(
}
} while(c!='=');
return;
}

5.
若输入:how are you? <回车>,以下程序的输出结果是_______。
#include
void main(void )
{
int word;
char ch;

word=0;
while((ch=getchar())!='?'){
if(ch==' ') word=0;
else if(word==0){
word=1;
if(ch<='z'&&ch>='a') ch=ch-'a'+'A';
}
putchar(ch);
}
return;
}

试题四、程序填空题(每空2分,共30分)
1. 输入正整数n,计算s = 11! + 12! + 13! + ……+ 1n!的值。
#include
void main( void)
{
int j, k, n;
double f, s;
《C程序设计及实验》期中考试试卷, 2013年11月19日 5 7



scanf(
(1)
for (k=1 k<=n; k++){
(2)
for(j=1; (3) j++)
(4)
s=s+1.0f;
}
printf( (5) ); s
return;
}

2. 输入一个整数,统计该数的位数。如:输入12534,输出5;输入-99,输出2;输入0,输出1。
#include
void main(void)
{
int count=0, number;

scanf(“%d”, (6) );
if (number < 0) number = (7)
do {
number = (8)
count++;
} while ( (9) );
printf(“%dn”, count);
return;
}

3. 下面程序验证“哥德巴赫猜想”:寻找6到1 000间满足“偶数=素数1+素数2”(如10=3+7)的所
有偶数。素数指只能被1和自身整除的 正整数,如2,3,17等;1不是素数。
#include
void main(void)
{
int i, j;
(10) *prime()函数声明*

for (i=3 i<=500; i++)
for (j=2; j++)
if ( (11) ) {
《C程序设计及实验》期中考试试卷, 2013年11月19日 6 7


printf(“%d = %d +%dn”, 2*i, j, 2*i-j); *若2*i为两个素数之和 *
break;
}
(12)
}
int prime(int n) * 判断n是否为素数:是返回1,不是返回0 *
{
int i;

if (n==1)
return (13)
for (i=2; i<=n2; i++)
if ( (14) )
return 0;
return (15)
}
《C程序设计及实验》期中考试试卷, 2013年11月19日 7 7

又是一年粽飘香-小学教科研工作计划


岗位评价-晚会策划案


推广普通话手抄报资料-高中毕业生自我鉴定


消防栓的使用方法-初中历史教学总结


山东英才学院分数线-夫妻笑话


咸阳师范学院-哈尔滨商业大学德强商务学院


上海民生银行-高校教师个人总结


会计基础-代沟作文