《C++程序设计试卷》
注意事项:1. 考前请将密封线内填写清楚;
2. 所有答案请答在试卷的答案栏上;
3.考试形式:闭卷
4. 本试卷共 五 大题,满分100分, 考试时间120分钟。
题 号 |
一 |
二 |
三 |
四 |
五 |
总分 |
得 分 |
||||||
评卷人 |
A)输入、处理、输出 B)树形、网形、环形
C)顺序、选择、循环 D)主程序、子程序、函数
解析:顺序,选择,循环
A) 8d B) ex3.12 C)1_2a D) _int
解析:完全没问题
A) 1 B) 2 C) 3 D) 4
显而易见
A)0 B)5 C)6 D)无限循环
A)局部变量和全局变量都被修改 B) 全局变量x
C)不确定 D) 局部变量 x
A)p++ B)a++ C)p-a D)a+1
数组无法做++操作
则正确的函数调用语句是( A )。
A) f(&x,m); B) f( x, &m); C) f(*x, &m); D) f (x,*m);
A) 数组存贮首地址 B) 数组的第一个元素值
C) 数组中全部元素的值 D) 数组元素的个数
A) *(a[0]+2) 与 a[0][2] B) a[0]+3 与 &a[0][3]
C) *a[1] 与 a[1][0] D) a[0][2] 与 a[0]+2
D应该为*(a[0]+2)
调用max函数的正确方法是( C )。
A) ( * p ) max ( a , b ) ; B) * p max ( a , b ) ;
C) ( * p ) ( a , b ) ; D) * p ( a , b ) ;
答案栏:
1、____ 2、____ 3、____ 4、____5、____ 6、____7、___ 8、____9、___ 10、____
答:yB\xB
int main()
{ unsigned short a=65535;
short int b;
b=a;
cout<<”b=”<
return 0;
}
答:-1
答:
6
4
答:&a[5]
a+5
main()
{ double s[10][22];
int n;
┆
fun(s);
┆
}
答:void fun(doubke **p)
struct person{char name[10]; int age;};
person class[10]={“Johu”, 17,
“Paul”, 19
“Mary”, 18,
“Adam 16,};
根据上述定义,写出能输出字母M语句。(3分)
答:6. class[2].name[0]
struct link{int data; link * next; };
link *head, *p;
……
p=head;
while(p!=NULL) {cout<
……
答:
答:void array_max_min(int *, int , int *,int *);
using namespace std;
int main ()
{ int x,n;
x=n=5;
x+=n++;
cout< return 0; } using namespace std; int main () { char s[6]="abcde", *p=s; cout<<*p<
return 0; } 2. aabcde
using namespace std;
int main()
{ int i,j;
for( i=1; i<=3; i++ )
{ j=1;
while (j
{ cout << i<<','< j++; } } return 0; } 3. 2,1 3,1 3,2 #include using namespace std; void incre(); int x=3; int main() { int i; for (i=1;i } void incre() { static int x=1; x*=x+1; cout < } using namespace std; void fun ( int , int , int * ) ; int main ( ) { int x , y , z ; fun ( 5 , 6 , &x ) ; fun ( 7 , x , &y ) ; fun ( x , y , &z ) ; cout << x << ","<< y << "," << z ; return 0; } void fun ( int a, int b , int * c ) { b+=a ; * c=b-a ; } #include using namespace std; int main() { float a, b, c ; cout<<"a,b,c="; cin>>a>>b>>c; if ( a+b>c && b+c>a && c+a>b ) { if ( 【1】 ) cout<<"等边三角形!\n"; else if ( 【2】 ) cout<<"等腰三角形!\n"; else cout<<"其它三角形!\n"; } else cout<<"不能构成三角形!\n"; return 0; } (1) a= =b && b= =c (2) a= =b || a= = c || b= =c #include using namespace std; int main ( ) { int i , j ; for ( i = 0 ; ___【3】___ ; i + + ) { j = i * 10 + 6 ; if ( ___【4】____ ) continue ; cout << j << ” ” ; } return 0; } (3) i <10 (4) j % 3 #include using namespace std; void swap(int *, int *); int main() { int a=3,b=8; swap(【5】 ); cout<<"a="<return 0; } void swap(int *x,int *y) { int temp= 【6】 ; *x=*y; *y=temp; } (5) &a, &b [提示:一个偶数n(n≥6)可以表示为 1+(n-1),2+(n-2),3+(n-3),… ] #include using namespace std; #include #include int isprime(int); int main() { int num,i,n; cout<<" 请输入一个偶数N(N>=6):"; cin>>num; for( n=6; n<=num; n+=2) for( i=3;i<=n/2;i+=2) if(____ 【7】_________) {cout< break;} return 0; } int isprime(int m) { int i, k=sqrt(m); for(i=2; i<=k; i++) if(____ 【8】_________) return 0 ; ____ 【9】_________ } (7) isprime(i) && isprime(n-i) (8) !( m%i) 答: using namespace std; #include int main() { int a,b,i; cout<<" 请输入第一个整数(>=0):"; cin>>a; cout<<" 请输入第二个整数(>第一个整数):"; cin>>b; cout< for( i=a;i<=b;i++) cout< return 0; } #include using namespace std; const int n=10; __________ //f函数原型 int main() {int a[n], i, max; for(i=0; i cin>>a[i]; max=f(a,n); cout<<"max="< return 0; } 答: int f(int *a,int n) {int i,max; max=a[0]; for(i=1;i if(a[i]>max) max=a[i]; return max; } #include using namespace std; ___ void separate(char *s, int &a, int &b) {int i; for(i=0;s[i]!='.';i++) a=a*10+s[i]-48; for(i++;s[i]!=0;i++) b=b*10+s[i]-48; }_________________________________________ //separate函数原型 int main() { char s[20]; int i=0, d=0; cout<<"请输入一个浮点数: "; cin>>s; separate(s, i, d); //调用函数 cout< cout< return 0; }