浙江工业大学2010/2011学年
第一学期期中试卷
课程 C++程序设计 I 姓名___________________________ 班级____________________________ 授课教师 题序 计分
试题一、选择题(每题1分,共20分) 1.C语言中最简单的数据类型包括__________。B A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型 2.C语言中,运算对象必须是整型的运算符是__________。A A) % B) / C) %和/ D) * 3.为表示关系x≤y≤z,正确的C语言表达式是__________。A A) (x<=y)&&(y<=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y)&(y>=z) 4. 若定义x和y为double类型,则表达式:x=2,y=x+5/2的值是__________。C A) 4 B) 4.5 C) 4.0 D) 3.0 5. 若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是__________。D A) read(a,b,c); B) scanf(“%d%d%d”,a,b,c); C) scanf(“%D%D%D”,&a,%b,%c); D) scanf(“%d%d%d”,&a,&b,&c); 6. 下面有关for循环的正确描述是_______。 D A) for循环只能用于循环次数已经确定的情况 B) for循环是先执行循环体语句,后判断表达式 C) 在for循环中不能用break语句跳出循环体 D) for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 7. 设int c=5和int a, a=2+(c+=c++,c+8,++c), 则a=__________。B A) 15 B) 14 C) 13 D) 16 8.以下程序的输出结果是__________。D int main() { int x=10,y=10; printf(“%d %d\\n”,x--,--y);
一 二 三 四 五 六 七 八 总评
return 0; } A) 10 10 B) 9 9 C) 9 10 D) 10 9 9. 不合法的八进制数是________ B A) 0 B) 028 C) 077 D)01 10. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为__________D A) a<>0 B) !a C) a=0 D) a 11. 以下程序的输出结果是( )。C int main( ) { int a=011; printf(“%d\\n”,++a);return 0; } A) 12 B) 11 C) 10 D) 9 12. 在C语言中,逻辑值“真”用__________表示。D A) true B) 大于0的数 C) 非0的整数 D) 非0的数 13. 下面程序的输出是__________ A int main() { unsigned a=32768; printf(“a=%d\\n”,a); return 0; } A) a=32768 B) a=32767 C) a=-32768 D) a=-1 14. 在C语言的if语句中,用作判断的表达式为__________ D A) 关系表达式 B) 逻辑表达式 C) 算术表达式 D) 任意表达式 15. 执行下面的程序后,a的值为 B int main() { int a,b; for (a=1,b=1;a<=100;a++) { if (b>=20) break; if (b%3==1){ b+=3; continue;} b-=5; } return 0;
1
} A) 7 B) 8 C) 9 D) 10 16. 表达式__________是满足:当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式 D A) (c=1)||(c=3)||(c=5) B) (c!=1)&&(c!=3)&&(c!=5) C) (c==1)&&(c==3)&&(c==5) D) (c==1)||(c==3)||(c==5) 17. 若变量已正确说明,则以下程序段输出为__________ A a=10;b=50;c=30; if (a>b) a=b,b=c; c=a; A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 18. 定义如下变量:B int n=10; 则下列循环的输出结果是 while (n>7) { n--; printf(“%d\\n”,n); } A) 10 B) 9 C) 10 D) 9 9 8 9 8 8 7 8 7 7 6 19. 在C语言中,while语句中的条件为__________时,结束该循环。A A) 0 B) 1 C) true D) 非0 20. 若k为整型,以下while循环__________次。C int k=10; while (k=0) k=k-1; A) 10次 B) 无限循环 C) 一次不执行 D) 执行一次 试题二、程序填空题(每空1 分,共20 分) 【程序说明】 1. 以下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出“yes”,否则输出“no”。请填 2
空。 #include (2) 求出m被n除后的余数r。 (3) 若余数为0则执行步骤(7);否则执行步骤(4)。 (4) 把除数作为新的被除数;把余数作为新的除数。 (5) 求出新的余数r。 (6) 重复步骤(3)到(5)。 (7) 输出n,n即为最大公约数。 int main() { int r,m,n; printf(“Enter m,n:”); scanf(“%d%d”,__________); &m,&n printf(“m=%d n=%d\\n”,m,n); if (m putchar(ch); } return 0; } 3.程序.3( ) 程序运行后,请写出输出结果。 9 #include 6 { int i; i=f(2); i=f(3); printf(“%d”,i+j); return 0; } 试题四、程序设计题(第一题12分,第二题14分,第三题14分,共40分) 1.C语言头文件math.h中提供了求绝对值的函数fabs(x),其功能是: x x≥0 fabs(x)= -x x<0 请你自定义一个函数,实现求整数的绝对值的功能,并编写main()函数进行测试。 2.编写一个函数,输入任意年份,判断该年是否是闰年。判断闰年的条件是: 1)公元年数如能被4整除,而不能被100整除,则是闰年; 2)公元年数能被400整除也是闰年。 并编写main()函数进行测试。如:输入2000,输出:“2000年是闰年”。输入2001,输出“2001年不是闰年”。 3.编写程序计算下式的值: 1-1/(1*2)+1/(2*3)-1/(3*4)…….+(-1)n*1/(n*(n+1)) 要求最后一项的绝对值小于0.001时,停止计算。 7 1. #include 8 因篇幅问题不能全部显示,请点此查看更多更全内容