当前位置:首页 > C++I练习题1带答案(06级)
《高级语言程序设计(C++)》练习题1
一.单项选择题
1.下列字符列中,合法的浮点型常量是:
(A) 457 (B) 6e5.3 (C) e7 (D) 123e6 2.字符串常量 ”w\\x41\\\\\\nx\\103y” 的长度是:
(A) 7 (B) 11 (C) 15 (D) 16 3.以下运算符中,自右向左结合的运算符是:
(A) [] (B) <= (C) *= (D) << 4.表达式4/8*100/2.0的值是:
(A) 25 (B) 25.0 (C) 0 (D) 0.0
5.设变量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是整型变量,不能表达数学关系式11 (A) a>11&&a<15 (B) a==12||a==13||a==14 (C) !(a<=11)&&!(a>=15) (D) 11 (A) char *s1=new char[20]; cin>>s1; (B) char s1=”name”; (C) char s1[5]=”name”; (D) char s1[]={”name”}; 8.一个具有6个整型指针元素的一维数组的正确定义是: (A) int **p[6] (B) int (*p)[6] (C) int *p[6] (D) *(*(p)[6]) 9.执行语句 x=1; while(x++<7)cout<<’*’; 后输出结果是: (A) ** (B) **** (C) ****** (D) ******* 10.若用一维数组名作为调用函数时的实参,则传递给形参的是: (A) 数组首元素的地址 (B) 数组首元素的值 (C) 数组元素的个数 (D) 数组中全部元素的值 二.简答题 1. 设整型变量x为任何一个整数,表达式 –2 答案:值是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 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 ______(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 页
共分享92篇相关文档