c++大一模拟试题带答案.docx
- 文档编号:24798279
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:16
- 大小:19.79KB
c++大一模拟试题带答案.docx
《c++大一模拟试题带答案.docx》由会员分享,可在线阅读,更多相关《c++大一模拟试题带答案.docx(16页珍藏版)》请在冰豆网上搜索。
c++大一模拟试题带答案
模拟试卷(A卷)
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在括号内。
每小题2分,共15小题,30分)
1.下列字符串中不能作为C++标识符使用的是()。
A、WHILEB、userC、_lvarD、9stars
2.C++语言规定:
在一个源程序中,main函数的位置()。
A、必须在程序的最开始B、必须在系统调用的库函数的后面
C、可以任意D、必须在程序的最后
3.假定int类型变量占用两个字节,其有定义int?
x[10]={0,2,4};,则数组x在内存中所占字节数是()。
?
A、3?
?
?
B、6?
C、10?
?
?
D、20?
4.判断字符型变量ch是否为大写英文字母,应使用表达式()。
A、ch>='A'&ch<='Z'B、ch<='A'||ch>='Z'
C、'A'<=ch<='Z'D、ch>='A'&&ch<='Z'
5.已知下列语句中的x和y都是int型变量,其中错误的语句()。
A、x=y++;B、x=++y;C、(x+y)++;D、++x=y;
6.有如下程序段:
inti=1;
while
(1){
?
?
?
i++;
?
?
?
if(i==10)break;
?
?
?
if(i%2==0)cout<<'*';
}
执行这个程序段输出字符*的个数是()。
A、10B、3 C、4D、5
7.有如下程序?
#include
usingnamespacestd;
int?
func(int?
a,int?
b)?
{?
return(a+b);
}?
int?
main()?
{?
int?
x=2,y=5,z=8,r;?
r=func(func(x,y),z);?
cout< return0; }? 该程序的输出的结果是? () A、12? ? B、13? C、14? ? ? D、15 8.执行语句序列 intn; cin>>n; switch(n) {case1: case2: cout<<'1'; case3: case4: cout<<'2';break; default: cout<<'3'; } 时,若键盘输入1,则屏幕显示()。 A、1B、2C、3D、12 9.若二维数组a有m列,则在a[i][j]之前的元素个数为()。 A、j*m+iB、i*m+jC、i*m+j-1D、i*m+j+1 10.语句的int*p=&k定义于指针P,于这个语句等效的语句序列是()。 A、int*p;p=&k;B、int*p;p=k;C、int*p;*p=&k;D、int*p;*p=k; 11.已知: intm=10;在下列定义引用的语句中,正确的是()。 A、int&x=m;B、inty=&m;C、int&z;D、int&t=&m; 12、有如下程序段 inti=0,j=1; int&r=i;//① r=j;//② int*p=&i;//③ *p=&r;//④ 其中会产生编译错误的语句是()。 A、④B、③C、②D、① 13.在函数中,可以用auto,extem,register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。 A、autoB、extemC、registerD、static 14.已知数组arr的定义如下: ()。 intarr[5]={1,2,3,4,5}; 下列语句中输出结果不是2的是 A、cout<<*arr+1< C、cout< 15.在类声明中,紧跟在“public: ”后声明的成员的访问权限是()。 A、私有B、公有C、保护D、默认 二、改错题(每题有几处错误,在错误处画线,并写出正确语句。 每找对1个错误,加1分,每修改正确1个错误,再加1分。 共3小题,共16分) 1.#include usingnamespacestd; constfloatpi=3.1416; constfloatr=3.2; intmain(){ floats1; r=2.8; c1=pi*r*r; s1=2*pi*r; cout< return0; } 2.下列程序功能是求x的y次方(缺省是x的2次方)? ? #include usingnamespacestd;? double? fun(double? x,double? y)? ? ? ? {int? i;? double? s=1;? for(i=0//i=1;i s=s*x;? return? ? s;? }? int? main()? {? double? x=2.5,y=3;? ? cout<<"pow(2.5,2): "< cout<<"pow(2.5,3): "< return0; ? }? 3.将一维数组按升序排列。 ? #include? usingnamespacestd;? void? sort? (? int? *p,int? n)? ? ? ? ? ? ? {? ? int? i,j,temp;? ? ? ? for? (i=0;i ? ? ? ? ? for? (j=i+1;j ? ? ? ? ? ? ? if? ? (p[i] ? ? ? ? ? ? ? ? {? temp=p[i]; p[i]=p[j]; p[j]=temp;? } ? }? int? main(? void)? {? ? int? a1[6]={1,3,2,5,4,6},*pi,i;? ? ? ? pi=a1//pi=a1[0];? sort? (pi,6);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for? (i=0;i<6;i++)? cout< ? ? ? cout< return0; } 三、程序理解分析题(分析下列程序代码,并写出程序的输出结果,共4小题,每题4分,共16分) 1.#include usingnamespacestd; intmain() { intsum; for(inti=0;i<6;i+=3) { sum=i; for(intj=i;j<6;j++) sum+=j; } cout< return0; } 2.#include usingnamespacestd; intmain() { inti=5; int&r=i;r=7; cout< return0; } 3.#include usingnamespacestd; intmain() { chara[]="abcdabcabfgacd"; inti1=0,i2=0,i=0; while(a[i]! ='\0') {if(a[i]=='a') i1++; if(a[i]=='b') i2++; i++; } cout<<"i1="< return0; } 4.#include usingnamespacestd; inta=200; voids() {staticinta=20; a++; cout< } intmain() {inti; for(i=1;i<=2;i++) {a++; cout< s(); } return0; } 四、程序填空题(在横线处填上一个语句,使程序实现其相应的功能。 每空3分,共6个空,总共18分) 1、求三个数中的最大值和最小值。 #include usingnamespacestd; voidmaxmin(inta,intb,intc,int&m,int&n) {intt; if(a if(a if(b _______m_____=a;/*第一空*/ _____n______=c;/*第二空*/ } intmain() {inta,b,c,max,min; cout<<"Pleaseinputabc: "; cin>>a>>b>>c; maxmin(a,b,c,max,_______min______);/*第三空*/ cout<<"a="< cout<<"max="< return0; } 2.以下程序的功能是输出二维数组中最大值所在行内最小元素的值。 #include usingnamespacestd; intfun(inta[4][5]) {inti,j,m=0,n=0,min; for(i=0;i<4;i++) for(j=0;j<5;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 大一 模拟 试题 答案