2019春夏期中考试试题详解

发布 2022-09-24 22:58:28 阅读 7948

浙江大学2010-2011学年春夏学期。

程序设计基础及实验》课程期中考试试卷(a)

考试日期: 2011 年 5 月 4 日,考试时间: 90 分钟。

诚信考试,沉着应考,杜绝违纪。

考生姓名学号所属院系。

注意:答题内容必须写在答题卷上,写在本试卷上无效)

试题。一、单选题(每小题2分,共20分)

1. 以下正确的字符常量是___

解答】a. 八进制412超出了8位二进制所能表示的范围03ff;

b. 255是一个合法的整数,可以表示一个字节的值;

c. 8不是一个合法的八进制数字;

d. \是转义字符,\’表示单个单引号字符本身,所以。字符常量缺少右单引号。

2. 假设有定义:float x=16/5/2.0, y=16/5.0/2; 则 x 和 y 的值分别为___解答】

3. 下列语句中, _将输出%d。

解答】a.%d表示输出十进制整型量,但缺少相应的输出表达式,故输出结果是随机值;

b.%%表示输出一个%符号本身,d是普通字符,原样输出,所以输出%d;

c.\%表示符号%,%d表示输出十进制整型值,故输出结果是随机值;

d.%%表示输出符号%本身,%d表示输出十进制整型值。

4. 下列程序段输出结果为 __

int x=1, y=012;

printf(“%d”,y*x++)

解答】x++表达式的值是1,y*x++ y*1 y 012 10

5. 下列程序段输出结果为 __

int a=1,b=2,c=2,t;

while(a t=a; a=b; b=t; c--;

printf(“%d,%d,%d”,a,b,c);

解答】a=1,b=2,c=2

1) 表达式a(2) 表达式a(3) 表达式a6. 在下图中,阴影部分区域可用表达式___来表示。xabc

解答】x<=a)||x >=b) &x <=c)) x<=a)||x>=b) &x <=c)

7. 下列程序段输出结果为 __

int x = 3, y = 2;

if(x>y);

x = x;

if(x y = y;

printf("x=%d,y=%d", x, y);

解答】x=3,y=2;

请注意:if(x>y);

8. 对于循环while(!e) 语句,!e等价于___

解答】9. 循环 for(i=0, j=5; +i!=-j; )printf(“%d %d”, i, j); 将执行___

解答】1) i=0, j=5: +i 1 , j 4, i=1,j=4, 1 !=4成立;打印;i=1, j=4;

2) i=1,j=4: +i 2 , j 3, i=2,j=3, 2 !=3成立;打印;i=2, j=3;

3) i=2,j=3: +i 3, -j 2, i = 3, j=2, 3 !=2成立;打印;i=3,j=2;

10. 下列程序段执行后s值为___

int i=5, s=0;

do if (i%2) continue; else s+=i; while (-i);

解答】1) i=5,s=0: i%25%21成立:continue;--i4, i=4;

2) i=4,s=0: i%24%20不成立:s=0+4=4;--i3, i=3

3) i=3,s=4: i%23%21成立:continue;--i2, i=2

4) i=2,s=4: i%22%20不成立:s=4+2=6; -i1,i=1

5) i=1,s=6: i%21%21成立:continue;--i 0

试题。二、填空题(每小题2分,共20分)

1. 表达式 1+4/5+15<7+4%5+(8,10) 的值为 __解答】

2. 表达式 !!5 的值为 __解答】

3. 表达式 ~(10<<1)&4 的值为___解答】

00000000 即 0

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

解答】0<=x<=9 (0<=x)<=9 (0<=10) <9 1 <=9 1

5. 下列 for循环语句将输出: 0 1 2 0 1 2 0 1 2.

for( i=1; i<=9; i++ printf("%2d

解答】 (i-1)%3

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

解答】y+=y-=m*=y y +=y -=m *=y))

先计算m*=y: 由于m=5, y=2, 所以:m=m*y=5*210

再计算y-=10: 由于y=2,所以:y = y-10=2-10 -8

最后计算y +=8: 由于y=-8,所以:y = y+(-8)=(8)+(8)-16

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

解答】c-‘a’+’a’

8. 下列语句的输出结果为___

printf("%d#%x#

解答】#1b#

9. 已知字符’a’的ascii码为97,则下列语句的输出结果为___

printf("%c#%d#",98,’c’);

解答】b##

10. 下列程序段将输出___

unsigned char x=255,y=’\1’;

switch(!!x) {

case 0: printf("*0*#");break;

case 1:

switch(y) {

case 0: printf("*1*#");break;

case 1: printf("*2*#");break;

default: printf("*3*#

解答】#*3*#

试题。三、程序阅读题(每小题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("%d#%d#", a, b);

return;

解答】#2#

注:尽管在函数swap()里,形参x和y的值发生了交换,但根据函数参数的传递原则——“实参向形参单向传值(即x向a赋值,y向b赋值),形参的改变不影响实参”,实参变量a和b的值未发生交换!

2. 下列程序将输出___

# include <>

int s;

int f(int m

static int k=0;

for(; k<=m; k++)s++;

return s;

void main(void )

int s=100;

s=f(2)+f(2);

printf("%d#%d#", s, f(20));

return;

解答】输出结果为:6##

注:(1)全局变量s的初始值为0;

(2)在f函数中,s是全局变量有效,而在main函数中,s是局部变量有效;

(3)在f函数中,k是静态变量,每次函数f调用结束后,其内存单元和值仍然保留。

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;

解答】输出结果是:3721

期中考试试题

一 填空题。1 2006个1连续异或的结果是 而2007个1连续同或的结果是 2 已知某函数f的反函数为,则其原函数f而f的对偶函数则为f 3 试将函数,写成标准的积之和形式,即。二 选择题。1 已知某电路的输入a b和输出y的波形如下图所示,该电路实现的函数表达式为。a a bb ab cd 2 ...

2019期中考试试题

汕头市锦泰中学 2011 2012学年度第一学期。初一语文期中考试试题卷。一 语言积累与运用 37分 1 默写诗文名句 13分 乱花渐欲迷人眼白居易 钱塘湖春行 禅房花木深。常建 题破山寺后禅院 夕阳西下马致远 天净沙 秋思 似曾相识燕归来。晏殊 浣溪沙 夕阳西下马致远 天净沙秋思 老骥伏枥,志在千...

2019期中考试试题

软件测试随堂考试题目。procedure example a,b real x real beginif a 1 and b 0 then x x a if a 2 or x 1 then x x 1 end 一 根据此程序画出程序流程图及控制流图,计算环形复杂度,给出独立路径及测试用例。二 在某一...