高级语言程序设计1期末考试试题(A卷)

  • 格式:doc
  • 大小:48.00 KB
  • 文档页数:12

《高级语言程序设计1》期末考试试题(A卷) 姓名: 学号: 专业(系):一、标记出如下程序中的语法错误,并简单说明出错原因(6分)。

#include<>void main(){int d[10], abc[6] = {2,4,0,-5,10,6,-8}, count=0;for(i=0; i<10; i++)if(d[i]=i) count++;else count -;cout<<” count=”<<count<<endl;switch( d[i] ){case 1,2: cout<<”1,2\n”; break;case 3: cout<<”3\n”; break;default: cout<<”others\n”;}1+2, 2+=3, count+=5;}二、选择题(14分)(共7题,每题2分)1.以下程序的输出结果是_____。

#include<>main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;}cout<<a<<","<<b<<endl;}A. 2,1 ,1 ,0 ,22.以下能正确计算1*2*3*...*10的程序段是()。

A)do {i=1;s=1; B)do {i=1;s=0;s=s*i; i++;} s=s*i;i++;}while(i<=10); while(i<=10);C) i=1;s=1; D)i=1;s=0;do {s=s*i; do{s=s*i;i++;} i++;}while(i<=10); while(i<=10);3. int a=1,b=2,c=2;while(a<b<c) {t=a;a=b;b=t;c--;}cout<<a<<”,”<<b<<”,”<<c;运行结果为()。

A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,14.下面程序段的运行结果为()。

for(y=1;y<10;) y=((x=3*y,x+1),x-1);cout<<“x=”<<x<<”y=”<<y;A)x=27,y=27 B)x=12,y=13C)x=15,y=14 D)x=y=275.设有代码“int a=5;”,则执行了语句“a+=a-=a*a;”后,变量a的值是()。

A)3 B) 0 C)-40 D)-126.在下面的一维数组定义中,哪一个有语法错误。

A. int a[ ]={1,2,3};B. int a[10]={0};C. int a[ ];D. int a[5];7.要定义一个int型二维数组a,并使其各元素具有初值: 2 3 0 04 05 00 0 0 0则正确的定义语句是。

A.int a[][]={2,3,0,0,4,0,5,0,0,0,0,0};B.int a[][4]= {2,3,0,0,4,0,5,0,0,0,0,0};C.int a[3][4]= {{2,3},{4,,5}};D.int a[][]={{2,3,0,0},{4,0,5,0},{0,0,0,0}};三、读程序写结果(30分)1.(5分)从键盘输入edrftgu$,则输出什么结果#include<>void main( ){ char ch;int sum=1;while(sum){ cin>>ch;if(ch=='$') break;if(ch>='a'&&ch<='z') sum++;}cout<<"sum="<<sum-1<<endl;}2.(5分)该程序的运行结果#include<>void main( ){ int m,sum=0;for(m=10;m<=20;m++){ if(m%3==0||m%2==0) continue;cout<<m<<'\t';}cout<<endl;}3.(5分)键盘输入1 4 6 3,则程序的运行结果为#include <>main(){char c;int i,data=0;cout<<"Input char : ";for (i=0;i<4;i++){ cin>>c; if (c<'0'||c>'9')break;data=data*10+c-'0';}cout<<"data="<<data+1;}4.(5分)程序的运行结果为#include <>main ( ){ int i,j;for (i=2;i<5;i++){ for(j=2;j<5;j++)cout<<i*j;if(j==5)cout<<“\n”;}}5.(5分)程序的运行结果为#include <>void main ( ){int a[6] = {1, 3, 5, 0, -5, 2};for (int i=0; i<5; i++) {int m=i ;for (int j=i+1; j<6; j++)if (a[j]<a[m]) m=j ;if (i!=m) {int t=a[i]; a[i]=a[m]; a[m]=t;}}for (i=0; i<6; i++)cout<<a[i]<<" ";}6.(5分)程序的运行结果为#include <>void main ( ){char str[3][50] = {"123 abc +-*/ ABC","Hello! OK! 9+7=15","We are students."};int a[3] = {0, 0, 0};for (int i=0; i<3; i++)for (int j=0; str[i][j]!='\0'; j++)if (str[i][j]>='0' && str[i][j]<='9')a[i]++;for (i=0; i<3; i++)cout<<a[i]<<" ";}四、程序填空题(30分)1.(6分) 程序功能:求出100以内所有奇数的和并输出#include <>void main(){①for(int i=1; i<100 ; ② )s += ③ ;cout<<"s="<<s<<endl;}填写答案①:②:③:2.(6分) 程序功能:键盘输入10个正整数,求出其中的最大者mx并输出。

#include <>void main() {int ①for(int i=1; i<=10 ; i++){cin>>d;if ( ② )③}cout<<"mx="<<mx<<endl;}填写答案①:②:③:3.(6分) 程序功能:将字符串str中的大写字母转换为小写,最后输出结果串。

#include <>void main() {char str[50] = "I am a student. OK!";①while( ② ) {if ③i++;}cout<<str<<endl;}填写答案①:②:③:4.(6分) 程序功能:在任意输入的字符串str中的凡是’c’字母后添加“><”,然后输出结果串。

#include<>void main(){char s[60],str[30];①for(int i=0,j=0; ② ;i++){ if( ③ ){ s[j++]='>';s[j++]='<';}}cout<<"The New string is:"<<s<<endl;}5.(6分) 程序功能:求下述序列的累加和(序列累加n项,正整数n通过cin从键盘输入)。

sum= 2/1 + 3/2 + 5/3 + 8/5 + 13/8 + 21/13 + 34/21 + …#include <>void main( ){int n,i=1,a=1,term31=2,term32=1;float sum=0;cin>>n;while(i<=n){ ①a=term31;② ;③ ;i++;}cout<<"sum="<<sum<<endl;}五、编程题(20分)(2题)1.(10分)编程序,按照如下方式说明二维数组:int a[10][10];并通过键盘为a输入数据;而后找出a数组内处于“四边”的36个元素(0行与9行、0列与9列的那些元素)中满足如下条件的所有数据d并显示在屏幕上 -- d是3的倍数但并非偶数。

2.(10分)编程序,解决搬砖问题。

有36块砖,由成年男、女和小孩共36人来搬,男子每人搬4块,女子每人搬3块,两个小孩抬一块,要求一次全搬完,问需要男、女、小孩各几人。