答案:值是1。
2. 调用函数时,希望从提供的实参变量中得到函数的结果,则对应的形
参应该是?
答案:对应的形参应该是引用参数。
3. 表述“变量x的值等于3”和“变量y的值等于5”其中有且只有一
种情况成立的表达式是?
答案:x==3 && ! (y==5)|| !(x==3) && y==5
4.设有变量定义int a[4][3],*p=a[2]; 表达式 p+2 指向的元素是?
高级语言程序设计 第 1 页 共 6 页
答案:表达式 p+2 指向的元素是a[2][2] 5、变量定义 char * w() 的含义是?
答案:含义是w函数的返回值类型是字符指针类型 6. 函数调用 new int[10] 的含义是?
答案:含义是申请一个10个整型元素的动态数组并返回该数组的首地址。
7.有说明 struct link{ int code; link *next; }; link *head,*p;已知 *head为单链表的头结点,在*head之后插入*p结点操作的语句是? 答案:p->next=head->next; head->next=p;
三.分析程序,写输出结果 1. #include
void main()
{ int a[10]={2,4,0,-5,10,6,-8,9,6,7}; int i,s=0,count=0; for(i=0;i<10;i++)
if(a[i]>0) s+=a[i],count++; else continue;
cout<<\}
输出结果: s=44 count=7
2. #include
void fun(); void main() {int i;
for(i=1;i<5;i++) fun(); cout<void fun() {static int a; int b=2;
cout<<(a+=3,a+b)<<'\\t'; //逗号表答式 }
输出结果:
5 8 11 14
3. #include
int lcm(int m, int n)
高级语言程序设计 第 2 页 共 6 页
{ 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<
4. #include
void printN(int n) { if(n) { printN(n-1); cout << n << ends ;
} }
void print(int w) { if( w ) { print( w-1 ); printN(w); cout << endl;
} }
void main() { print( 5 ); }
输出结果: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
高级语言程序设计 第 3 页 共 6 页
四.根据程序功能填空。(每空2分,共20分) 1.本程序按以下公式计算e的值,精度为1e-6。
e?1?111??...??... 1!2!n!#include void main() { double e,t,n; e=0;
t=n=_____(1)_ 1____; while((_____(2)_ t>1e-6 ____) { e+=t;
_____(3)_ t=t/n ; n=n+1.0; }
cout<<\}
2.本程序由主函数输入一字符串,调用函数,把该字符串中的数字0~9
转换成小写字母a~j;所有小写字母转换成大写字符。然后在主函数输出转换后的字符串。
#include #include
______(4)_____// void change(char *s1, char *s2) ; void main()
{char str1[20], str2[20]; cin>>str1;
change(str1,str2); cout<void change(char *s1, char *s2) { while(_____(5)_____) // *s1 !='\\0' {if(*s1>='0'&&*s1<='9')
*s2=_____(6)_____;// ('a'-'0')+*s1 else *s2=toupper(*s1);
_____(7)_____ // s1++; s2++; }
*s2='\\0'; }
3.函数create从键盘输入整数序列,以输入0为结束。按输入逆序建立一个以head为表头的单向链表。例如,输入序列为1 2 3 4 5 0,建立的链表是5 4 3 2 1。
高级语言程序设计 第 4 页 共 6 页