浙江大学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 一 根据此程序画出程序流程图及控制流图,计算环形复杂度,给出独立路径及测试用例。二 在某一...