〖第1题〗『填空』(1分)
已知a=13, !a的十进制数值为【1】.
答案:
1). 0
〖第2题〗『填空』(1分)
#define A(n) 2*n+1,则表达式A(2+3)的值是【1】
答案:
1). 8
〖第3题〗『填空』(1分)
预处理命令行都必须以【1】号开始.
答案:
1). #
〖第4题〗『填空』(1分)
C++中,实参和形参之间的参数传递有三种:地址传递、引用传递和【1】.
答案:
1). 值传递
〖第5题〗『填空』(1分)
函数的【1】调用是一个函数直接或间接地调用它自身.
答案:
1). 递归
〖第6题〗『填空』(1分)
?
设所有变量已正确定义,则下列程序段运行后y的值是【1】.
?
int a=0,y=10;
?
if(a=0)y--;else if(a>0)y++;
else y+=y
答案:
1). 20
〖第7题〗『填空』(1分)
已知int a=13,b=6; a/b的十进制数值为【1】.
答案:
1). 2
〖第8题〗『填空』(1分)
???
执行下列语句后,*(p+1)的值是【1】.
???
char s[3]="ab",*p;
p=s;
答案:
1). b
〖第9题〗『填空』(1分)
C++中,预定义算子oct表示【1】进制的输出.
答案:
1). 八或8
〖第10题〗『填空』(1分)
???
若所用变量均已正确定义,则执行下面程序段后的值是【1】. for(i=0 ; i<2 ; i++ ) cout<<"YES";cout< 答案: 1). YESYES 〖第11题〗『填空』(1分) ??? 当a=3,b=2,c=1;时,执行以下程序段后c=【1】. ??? if(a>b) a=b; ??? if(b>c) b=c; ??? else c=b; c=a; 答案: 1). 2 〖第12题〗『填空』(1分) 若有说明:int *p=new int[100],则分配了【1】个字节的内存空间. 答案: 1). 400 〖第13题〗『填空』(1分) 在面向对象程序设计中,若在类外定义公有成员函数,则在函数类型前加上类名和作用域符【1】. 答案: 1). :: 〖第14题〗『填空』(1分) ??? 设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【1】. ??? for(i=0,j=10;i<=j;i++,j--) k=i+j; 答案: 1). 10 〖第15题〗『填空』(1分) ??? 以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则在括号内填写. #include "iostream.h" main() {char ch=cin.get(); while(ch 【1】'Y')/*在括号中填写*/ ch=cin.get(); } 答案: 1). == 〖第16题〗『填空』(1分) 下列程序段的输出结果是【1】. int sub(int x=100,int y=200); void main() { int a(30),b(50); cout< } int sub(int x,int y){ return x-y; } 答案: 1). 20 〖第17题〗『填空』(1分) int x=2,y=3,z=4; 则表达式x+y>z&&y==z的值为【1】. 答案: 1). 0 〖第18题〗『填空』(1分) 在C++中,结构体类型及由结构体类型所定义的结构体变量二者中,【1】占内存空间. 答案: 1). 结构体变量 〖第19题〗『填空』(1分) 设x=72,表达式x=(x>=60)的值为【1】. 答案: 1). 1 〖第20题〗『填空』(1分) 设(k=a=5,b=3,a*b),则k值为【1】. 答案: 1). 5 〖第1题〗『判断』(1分) char ch[8]= "student";cout << strlen (ch); 结果为8. 答案:N 〖第2题〗『判断』(1分) 一维字符数组的输入:char str[22] ;cin>> str; 答案:Y 〖第3题〗『判断』(1分) 字符数组中每一个元素可存放一个字符,而字符指针变量存放字符串首地址. 答案:Y 〖第4题〗『判断』(1分) break语句只能用在循环语句中. 答案:N 〖第5题〗『判断』(1分) int a [5]={1, 2, 3, 4, 5};初始化后a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5. 答案:Y 〖第6题〗『判断』(1分) int x,a[10]={0,1,2},*p=a;x=p[2];此语句将a[2]赋值给变量x 答案:Y 〖第7题〗『判断』(1分) 转义字符'\t'表示换行. 答案:N 〖第8题〗『判断』(1分) 数组在使用之前必须先定义.数组定义包括数组的类型、名称、维数及数组中元素的个数. 答案:Y 〖第9题〗『判断』(1分) 一个函数可以调用其他函数,也可以调用该函数本身,我们将后者称之为函数的递归调用. 答案:Y 〖第10题〗『判断』(1分) a=(b=4)+(c=6) 是一个合法的赋值表达式. 答案:Y 〖第11题〗『判断』(1分) 包含空格的字符数组输入时,常常使用C++的cin.getline()函数实现. 答案:Y 〖第12题〗『判断』(1分) int a[10]={0,1,2,3};int *p;p = a;此语句将数组a的首地址赋给指针变量p 答案:Y 〖第13题〗『判断』(1分) 由于函数的递归调用函数是在调用自己,因此在递归调用中必须有方法避免函数无休止运行. 答案:Y 〖第14题〗『判断』(1分) 表达x>20或x<-10的C++语言表达式是:x>20|x<-10 答案:N 〖第15题〗『判断』(1分) 初值个数多于定义的数组元素个数时,会产生编译错误. 答案:Y 〖第16题〗『判断』(1分) 关闭文件可以使用成员函数close(); 答案:Y 〖第17题〗『判断』(1分) int *p=null;是正确的定义. 答案:N 〖第18题〗『判断』(1分) 同一程序中局部变量和全局变量不可以同名. 答案:N 〖第19题〗『判断』(1分) 数组名遵循变量的命名规则,它代表数组的首地址. 答案:Y 〖第20题〗『判断』(1分) 3%5的值是3 答案:Y 〖第1题〗『单项选择』(1分) 设有数组定义: char array [ ]="China"; 则数组array所占的空间为(). A:4个字节 B:5个字节 C:6个字节 D:7个字节 答案:C 〖第2题〗『单项选择』(1分) 变量的指针,其含义是指该变量的(). A:值 B:地址 C:名 D:一个标志 答案:B 〖第3题〗『单项选择』(1分) 以下不是无限循环的语句为(). A:for(y=0,x=1;x>++y;x=i++) i=x; B:for(;;x++=i); C:while(1){x++;} D:for(i=10;;i--) sum+=i; 答案:A 〖第4题〗『单项选择』(1分) 若有int i=3,*p;p=&i;下列语句中输出结果为3的是(). A:cout<<&p; B:cout<<*i; C:cout<<*p; D:cout< 答案:C 〖第5题〗『单项选择』(1分) 若有说明:int a[10];则对a数组元素的正确引用是(). A:a[10] B:a[3,5] C:a(5) D:a[10-10] 答案:D 〖第6题〗『单项选择』(1分) 若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是(). A:p1=&m;p2=&p1 B:p1=&m;p2=&n;*p1=p2; C:p1=&m;p2=p1; D:p1=&m;*p2=*p1; 答案:C 〖第7题〗『单项选择』(1分) 以下数值中,不正确的八进制数或十六进制数是(). A:0x16 B:16 C:098 D:0xaaaa 答案:C 〖第8题〗『单项选择』(1分) 以下运算符中,优先级最高的运算符是(). A:?: B:++ D:, 答案:B 〖第9题〗『单项选择』(1分) 在C++语言中,引用数组元素时,其数组下标的数据类型允许是(). A:整型常量 B:整型表达式 C:整型常量或整型表达式 D:任何类型的表达式 答案:C 〖第10题〗『单项选择』(1分) 下列说法中错误的是(). A:构造函数没有类型 B:创建对象时构造函数自动被调用 C:在一个类中,只能定义一个构造函数 D:构造函数的函数名与类同名 答案:C 〖第11题〗『单项选择』(1分) 设j和k都是int类型,则for循环语句 for(j=0,k=-1;k=1;j++,k++) cout<<"****\n"; A:循环结束的条件不合法 B:是无限循环 C:循环体一次也不执行 D:循环体只执行一次 答案:B 〖第12题〗『单项选择』(1分) 以下选项中,与k=n++完全等价的表达式是(). A:k=n,n=n+1 B:n=n+1,k=n C:k=++n D:k+=n+1 〖第13题〗『单项选择』(1分) 下列运算符中,不属于关系运算符的是(). A:< B:> C:>= D:! 答案:D 〖第14题〗『单项选择』(1分) 以下叙述中不正确的是(). A:预处理命令行都必须以#号开始 B:在程序中凡是以#号开始的语句行都是预处理命令行C:C++程序在执行过程中对预处理命令行进行处理D:以下是正确的宏定义#define IBM_PC 答案:C 〖第15题〗『单项选择』(1分) 若给定条件表达式(M)?(a++):(a--),则其中表达式M(). A:和(M==0)等价 B:和(M==1)等价 C:和(M!=0)等价 D:和(M!=1)等价 答案:C 〖第16题〗『单项选择』(1分) 若有说明语句:char c='\72';则变量c(). A:包含1个字符 B:包含2个字符 C:包含3个字符 D:说明不合法,c的值不确定 答案:A 〖第17题〗『单项选择』(1分) 以下正确的说法是(). A:用户若需调用标准库函数,调用前必须重新定义 B:用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C:系统根本不允许用户重新定义标准库函数 D:用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系... 答案:B 〖第18题〗『单项选择』(1分) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(). A:&t[3][2] B:t[3] C:&t[1] D:t[2] 答案:D 〖第19题〗『单项选择』(1分) 若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达 式的值为"假",则以下不能满足要求的表达式是(). A:A%2==1 B:!(A%2==0) C:!(A%2) D:A%2 答案:C 〖第20题〗『单项选择』(1分) ? int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是(). A:for(i=1;i<11;i++)a[i]=i; B:for(i=1;i<11;i++)a[i-1]=i; C:for(i=1;i<11;i++)a[i+1]=i; D:for(i=1;i<11;i++)a[0]=1; 答案:B 〖第21题〗『单项选择』(1分) 以下叙述中正确的是(). A:C++程序中注释部分可以出现在程序中任意合适的地方 B:花括号"{"和"}"只能作为函数体的定界符 C:构成C++程序的基本单位是函数,所有函数名都可以由用户命名D:分号是C语句之间的分隔符,不是语句的一部分 答案:A 〖第22题〗『单项选择』(1分) 以下不正确的if语句形式是(). A:if(x>y&&x!=y); B:if(x==y) x+=y; C:if(x!=y) cin>>x else cin>>y; D:if(x 答案:C 〖第23题〗『单项选择』(1分) 下列定义数组的语句中不正确的是(). A:int a[2][3]={1,2,3,4,5,6}; B:int a[2][3]={{1},{4,5}}; C:int a[][3]={{1},{4}}; D:int a[][]={{1,2,3},{4,5,6}}; 答案:D 〖第24题〗『单项选择』(1分) 在C++语言中,形参的缺省存储类型是(). A:auto B:register C:static D:extern 答案:A 〖第25题〗『单项选择』(1分) cin和cout是I/O流库预定义的(). A:类 B:包含文件 C:对象 D:常量 答案:C 〖第26题〗『单项选择』(1分) 下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是(). A:8 B:23 C:17 D:6 答案:B 〖第27题〗『单项选择』(1分) C++语言中要求对变量作强制定义的主要理由是(). A:便于移植 B:便于写文件 C:便于编辑预处理程序的处理 D:便于确定类型和分配空间 答案:D 〖第28题〗『单项选择』(1分) 以下数据中,不正确的数值或字符常量是(). A:0 B:5L C:o13 D:9861 答案:C 〖第29题〗『单项选择』(1分) 下列叙述中正确的是(). A:C++语言编译时不检查语法 B:C++语言的子程序有过程和函数两种 C:C++语言的函数可以嵌套定义 D:C++语言默认的函数都是外部函数 答案:D 〖第30题〗『单项选择』(1分) 下列字符序列中,是C++语言关键字的是(). A:sizeof B:printf C:cin D:sqrt 答案:A 〖第1题〗『程序填空』(8分) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:下面的程序是求1!+3!+5!+……+n!的和,程序中有4个空,填空使程序完整。 -------------------------------------------------------*/ #include void main() { long int f,s; int i,j,n; /***********SPACE***********/ 【?】 cin >> n; /***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1; /***********SPACE***********/ for(j=1; 【?】;j++) /***********SPACE***********/ 【?】 s=s+f; } cout << "n=" << n << " s=" << s << endl; } 答案: 1). s=0; 2). i+=2 或i=i+2 或i++,i++ 3). j<=i 或i>=j 或jj 4). f=★f★*★j★; 〖第2题〗『程序填空』(8分) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:以下程序的功能是以每行5个数来输出300以内能被7或17 整除的偶数,并求出其和。 -------------------------------------------------------*/ #include void main() { int i,n,sum; sum=0; /***********SPACE***********/ 【?】 /***********SPACE***********/ for(i=1; 【?】;i++) /***********SPACE***********/ if(【?】) if(i%2==0) {sum=sum+i; n++; cout << i << ' '; /***********SPACE***********/ if(【?】) cout << endl; } cout << "\ntotal=" << sum; } 答案: 1). n=0; 2). i<=300 或i<300 或300>=i或300>i 3). ★i%7★==★0★||★i%17★==★0 或!(i%7)||!(i%17) 或!(i%17)||!(i%7) 或!(i... 4). ★n%5★==★0 或!(n%5) 〖第1题〗『程序改错』(8分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 题目:函数fun的功能是:实现交换两个整数的值。例如给a和b 分别输入3和6 ,输出为a=6 b=3 请改正程序中的4个错误,使它能得出正确的结果。 -------------------------------------------------------- 注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include /**********FOUND**********/ void fun (int a, b) { int t; /**********FOUND**********/ t=a; /**********FOUND**********/ a=b; /**********FOUND**********/ b=t; } void main() { int a,b; cout<<"enter a b:"; cin>>a>>b; fun(&a,&b);