1、《高级语言程序设计(C++I)》题库一.单项选择题(每题2分,共20分) 1.以下字符列中,合法的浮点型常量是: (A) 457(B) 6e5. 3(C) e7 (D) 123e62.字符串常量”w\x42\\\nx\103y”的长度是: (A) 7(B) 11(C) 15(D) 16.以下运算符中,自右向左结合的运算符是: (A) 口(B) <=(0 *=(D) «.表达式4/8*100/2.0的值是: (A) 25 (B) 25.0(C) 0(D) 0.0.设变量int a = 5;以下哪个表达式计算后,使得变量b的值不为2 ? (A) b=a/2(B) b=6- (—a)(C
2、) b=a%2(D) b=a<3?3:2.设a是整型变量,不能表达数学关系式n〈a〈15的C++表达式是: (A) a>ll&&a<15(B) a==12||a==13||a==14(C) ! (a<=ll)&&! (a>=15)(D) ll>sl;(B)char *sl, *s2="name";sl=s2;(C)char si [5]="name";(D)char si [5]=『name"}; 4 . 一个具有6个整型指针元素的一维数组的正确定义是: (A)int **p
3、[6](B)int *(p)[6](C)int *p[6](D)*(*(p)[6]) 5 .执行语句x=l; while (x++<7)cout〈〈'*';后输出结果是: (A) **(B) ****(C) ******(D) *******.假设用一维数组名作为调用函数时的实参,那么传递给形参的是: (A)数组首元素的地址(B)数组首元素的值(0数组元素的个数(D)数组中全部元素的值 二.简答题(每题2分,共20分).设整型变量X为任何一个整数,表达式-2〈X<2的值是? 1 .调用函数时,希望从提供的实参变量中得到函数的结果,那么对应的形 参应该是? 2 .设有变量定义 cha
4、r *s□={“Beijing","Shanghai", "Guangzhou”};执行 语句cout«*(s+l)+l;输出是?
3 .表述“变量x的值等于3”和“变量y的值等于5”其中有且只有一种 情况成立的表达式是?
4 .设有变量定义int a[4] [3], *p=a[2];表达式p+2指向的元素是?
5 .将字符串str2拷贝到字符数组strl 口中,应调用函数?
6 .说明语句char *w();的含义是?
ttinclude
5、s ;
})
void print (int w){ if( w )
{ print( w-1 );printN(w); cout << endl;
))
void main (){ print ( 5 ); }
1
1 2
1 2 3
12 3 4
1 2 3 4 5四.根据程序功能填空。(每空2分,共20分)
精度为le-6。
1.0
t>=le-6
t=t/n
1.本程序按以下公式计算e的值, t 111
6 = 1 H1F・・・HF …1!2!nl
#include
6、e=0;
t=n=(1);while ((2))
{ e+=t;(3);
n=n+l. 0;)
cout</e=//<
7、trl;
change(strl,str2);cout<
8、0,建立 的链表是5 4 3 2 lostruct node{int data; node * next;}; void create(node * &head){node *p; (8);p = new nodecin>>p->data; while(p->data!=0){if (head二二NULL) { head=p; head->next=NULL; } else{(9)p->next = head; (10) head = p;) p=new node;cin>>p->data; 五.程序设计(第1小题6分,第2、3小题各7分,共20分)4.编写函数输出以下形状的图形
9、其中构成图形的符号和输出的行数通 过参数传送。
甘# #
# #
# ##########
答案:
#include 10、
for (i=l; i<=2*row-l; i++)cout< 11、or (i=0; i 12、),计算表达式a op b的值。由主函数 输出结果。
答案:
#include 13、/< 14、功能是由参max, min, average返回整型数组a前num个元素中的最大值,最小值和平均 值。对应的函数原型是?
10 . 有说明 struct link{ int code; link *next; }; link *head, *p; head为单链表的头结点,在*head之后插入*p结点操作的语句是?
三.分析程序,写输出结果(每题5分,共20分)#include 15、<10;i++)if (a[i]>0) s+=a[i], count++;
else continue;
cout<<〃s=〃< 16、int r, a, b;
a=m; b=n; r=m; do {m=n; n=r; r=m%n;
}while (r);return a*b/n;
void main (){ cout< 17、void main()
{ print( 5 ); }四.根据程序功能填空。(每空2分,共20分)
1 .本程序按以下公式计算e的值,精度为le-6。
1 111C -1F・・・HF …
1! 2!nl#include 18、出转换后的字符串。
#include 19、一个以head为表头的单向链表。例如,输入序列为1 2 3 4 5 0,建立 的链表是5 4 3 2 lo
struct node{int data; node * next;};void create(node * &head)
{node *p;(8);
cin>>p->data;while (p->data!=0)
{if(head二二NULL)
{ head=p; head->next=NULL; } else{ (9)
(10)
p=new node; cin>>p->data;五.程序设计(第1小题6分,第2、3小题各7分,共20分)
1 .编写函数输出以下形状的图 20、形,其中构成图形的符号和输出的行数通 过参数传送。
# #
# #
# ##########
2 .编写一个程序,实现如下功能:
(1)输入k (<100)个整数到数组x[100]中;
(2)计算k个数的平均值及大于平均值的元素个数。
3 .编写一个程序,实现如下功能:
(1)从键盘输入a op bo其中a, b为数值;op为字符,限制为+、 -、*、/。
(2)调用函数count (op, a, b),计算表达式a op b的值。由主函数 输出结果。
《高级语言程序设计(C++I)》练习题参考答案一.单项选择题(每题2分,共20分)
1 .以下字符列中,合法的浮点型常量 21、是:
(A) 457(B) 6e5.3(C) e7(D)123e6 2.字符串常量”w\x42\\\nx\103y”的长度是:
(A) 7(B) 11(C) 15(D) 16.以下运算符中,自右向左结合的运算符是:
(A) 口(B) <=(C) *=(D) «.表达式4/8*100/2.0的值是:
(A) 25(B) 25.0(C) 0(D) 0.0.设变量int a = 5;以下哪个表达式计算后,使得变量b的值不为2 ?
(A) b=a/2(B) b=6- (—a)(C) b=a%2(D)b=a<3?3:2
6.设a是整型变量,不能表达数学关系式的C++表达式是:
(A) a>
void fun(); void main() {int i;for (i=l;i<5;i++)
fun();cout<






