班 级 学 号 姓 名 2009-2010学年第二学期
2009级本科机械制造及其自动化、电气工程及其自动化专业
《计算机应用技术II(C)》
期末考试试卷(A卷) 考试时间:120分钟
题 号 分 数 实得分 评卷人
一 20 二 20 三 12 四 48 总分 100 复核人 得 分 一、单选题(每小题2分,共20分)
1、在C程序中,用( )表示逻辑值“真”。
A、1 B、 非0的数 C、 非1的数 D、大于0的数 2、若从键盘输入58,则以下程序输出的结果是( )。
main() { int a;
scanf(“%d”,&a);
if(a>50) printf(“%d”,a); if(a>40) printf(“%d”,++a); else printf(“%d”,--a); }
A、58 B、5858 C、5859 D、5857 3、以下的for循环是( )。
for(x=0,y=0; y!=123&&(x<4); x++);
A、是无限循环 B、循环次数不定 C、执行4次 D、执行3次
4、设有数组定义: char array[ ]=“China”; 则数组array所占的内存空间为( )。 A、 4个字节 B、 5个字节 C、 6个字节 D、 7个字节 5、若有说明:int a[10];则对a数组元素的正确引用是( ) A、a[10] B、A[3.5] C、a(5) D、a[10-10] 6、有如下程序,该程序的输出结果是( )。
main() {
int n[5]={0,0,0},i,k=2; for(i=0; i 《计算机应用技术II(C)》试卷(A卷) 第1页,共8页 } A、不确定的值 B、2 C、1 D、0 7、对以下说明语句的正确理解是( ) int a[10]={6,7,8,9,10}; A、将5个初值依次赋给a[1]至a[5] B、将5个初值依次赋给a[0]至a[4] C、将5个初值依次赋给a[6]至a[10] D、此语句不正确 8、以下程序的输出结果是( )。 #include return n+1; } main() { int i,j=0; for(i=1;i<3;i++) j+=f(i); printf(“%d\\n”,j); } A、 3 B、 4 C、 5 D、6 9、C语言中函数返回值类型由( )决定。 A、 return语句中的表达式类型 B、 定义函数时所指明的返回值类型 C、 实参类型 D、 调用函数类型 510、华氏温度和摄氏温度的关系是: C=(F32)。已知:float C,F;由华氏求摄氏 9的正确的赋值表达式是____。 A 、C=5/9(F-32) B、 C=5*(F-32)/9 C、 C=5/9*(F-32) D、以上三个表达式都正确 得 分 二、程序填空题(每空2分,共20分) 1、 以下程序的功能是:任意输入一个整数m,判断是否是素数。 说明:素数就是只能被1和它自己整除的数。 #include int m,i; 《计算机应用技术II(C)》试卷(A卷) 第2页,共8页 ____________; for(i=2; i if(_____________) printf(“%d is a prime number\\n ”,m); else printf(“%d is not a prime number\\n”,m); } 2、以下程序的功能是:编程求算式xyz+yzz=542中x、y、z的值(其中xyz和yzz分别表示一个三位数)。 #include int x,y,z,i,result=542; for(x=1;x<10;x++) for(y=1;y<10;y++) for( ;z<10;z++) { i=100*x+10*y+z+100*y+10*z+z; if( ) printf(\"x=%d,y=%d,z=%d\\n\ } } 3、以下程序的功能是:从键盘输入5个整数,找出最大数和最小数所在的位置,并把两者对调,然后输出调整后的5个数。 #include int a[5],max,min,i,j,k,t; for(i=0;i<5;i++) scanf(\"%d\ k=j=0; ; for(i=1;i<5;i++) 《计算机应用技术II(C)》试卷(A卷) 第3页,共8页 if(a[i] ; } max=a[0]; for(i=1;i<5;i++) if(a[i]>max) { max=a[i]; ; } t=a[j]; ; a[k]=t; printf(\"最大值的下标:%d\\n\ printf(\"最小值的下标:%d\\n\ for(i=0;i<5;i++) ; } 得 分 三、程序阅读题(根据程序,写出该程序的运行结果。每题3分,共12分) 1、以下程序的输出结果是______ ________ #include { int x=1,y=2; printf(“x=%d y=%d sum=%d\\n”,x,y,x+y); printf(“10 Squared is :%d\\n”,10*10); } 2、若运行时输入:et13rt56<回车>,则以下程序的运行结果是 。 #include int main(int argc, char *argv[]) { int count=0,i; char str[80] ; gets(str); 《计算机应用技术II(C)》试卷(A卷) 第4页,共8页 班 级 学 号 姓 名 for(i=0;i } 3、以下程序的运行结果是: #include z=x*x+y*y; } main() { int a=31; fun(5,2,a); printf(\" %d \ } 4、以下程序的运行结果是: #include { int a[5]={1,2,3,4,5},i,j,t; for(i=0,j=4;i for(i=0;i<5;i++) printf(\"%d \} 得 分 四、程序设计题(根据题目要求写出程序,任选6题;每题8分,共48分) 1、输入一个正整数n,求它的各位数字之和及位数(例如输入2346,各位数 字之和为15,位数为4;) 《计算机应用技术II(C)》试卷(A卷) 第5页,共8页 班 级 学 号 姓 名 2、编程,根据以下关系,对输入的每个x值,计算出相应的y值,并输出(结果保留1位小数)。 x y x<0 0 0 4、编程从键盘任意输入十个整数,用冒泡法将其从小到大的排序;最终将排序结果输出。 |ab|25、编程计算以下表达式(注:可c的值,要求a、b、c的值从键盘输入。 2a(bc)以调用数学库函数:平方根函数sqrt(),实数绝对值函数fabs()和幂函数 pow()。) 6、编程从键盘输入20个学生的成绩,统计输出及格率、优秀率(85分以上为优秀),并输出所有不及格的分数。 《计算机应用技术II(C)》试卷(A卷) 第7页,共8页 7、编程从键盘输入一个英文字母,如果输入的是小写字母,则将其转换成大写输出,反之,如果输入的是大写字母,则将其转换成小写字母输出,如果输入不是字母,则输出“输入数据有误”。 《计算机应用技术II(C)》试卷(A卷) 第8页,共8页 因篇幅问题不能全部显示,请点此查看更多更全内容