VC++.docx
- 文档编号:3635114
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:19
- 大小:19.45KB
VC++.docx
《VC++.docx》由会员分享,可在线阅读,更多相关《VC++.docx(19页珍藏版)》请在冰豆网上搜索。
VC++
一、填空共8题(共计32分)
第1题(4.0分)
执行下列循环后,j=【1】;x=【2】。
for(intx=2,y=2;y<6;y++,y++)
for(intj=y;j<6;j++)x+=j;
答案:
1).6
2).25
第2题(4.0分)
写出下列程序的输出结果a=【1】;b=【2】。
#include
voidmain(void)
{
for(inta=1,b=1;a<=5;a++)
{
if(b>=8)break;
if(b%2==1)
{
b+=7;
continue;
}
b=3;
}
cout<<"a="< } 答案: 1).2 2).8 第3题(4.0分) 若自定义函数要求返回一个值,则应在该函数体中有一条【1】语句; 若自定义函数要求不返回值,则应在该函数定义时加一个类型符【2】. 答案: 1).return 2).void 第4题(4.0分) 下列程序输出的第二行是【1】,第三行的是【2】. #include inta=5; voidmain() { inta=10,b=20; cout< { inta=0; for(inti=1;i<6;i++) { a+=i;b+=a; } cout< } cout< } 答案: 1).15,55 2).10,55 第5题(4.0分) 下列程序可求出矩阵a主对角线上的元素之积.请完善程序.#include #defineM3 voidmain() { inta[][M]={1,2,3,4,5,7,8,9,10},s; s=【1】; for(inti=0;i s=【2】; cout< } 答案: 1).1 2).s*a[i][i] 第6题(4.0分) 下列程序的运行结果是【1】.#include voidmain(void) { inti=5; chara[7]={'a','b','c','d','i','\0'}; do{a[i]=a[i-1];}while(--i>0); cout< } 答案: 1).aabcdi 第7题(4.0分) 以下程序执行后第一行结果为【1】,第二行结果为【2】. voidmain() { chararr[]="ABc"; char*ptr; for(ptr=arr;ptr cout<<*ptr<<'\n'; } 答案: 1).A 2).B 第8题(4.0分) 以下程序的功能将字符串中的内容按逆序输出,但不改变字符串内容.请完善程序. voidfun(char*s) {if(【1】)return; fun(【2】); cout<<*s; } voidmain() {chars[]="good"; fun(s); } 答案: 1).! *s 2).s+1 二、单项选择共30题(共计30分) 第1题(1.0分) 若有语句组 for(intx,y=2;y<6;y++,y++) { x=2; for(intj=y;j<6;j++)x+=j; } 则x的值是____. A: 25 B: 11 C: 不确定 D: 9 答案: B 第2题(1.0分) 设有下列语句组 inta=0; if(2*2==5<2*(a=4))a=1; elsea=2; a的值为____. A: 0 B: 1 C: 2 D: 4 答案: C 第3题(1.0分) 以下程序段 if(x--<10)cout< cout<<--x; 若x=10,则输出结果是____。 A: 8 B: 9 C: 10 D: 11 答案: A 第4题(1.0分) 以下程序运行的结果是____. #include voidmain() { inti=3,j=-50; do { j=j+i; i--; } while(i>2); cout< } A: -50 B: -47 C: -46 D: -45 答案: B 第5题(1.0分) 设有以下语句组: intx=2,a=1; while(x)a=a+1; 语句a=a+1执行的次数是____。 A: 0 B: 1 C: 无限次 D: 有限次 答案: C 第6题(1.0分) 以下程序段 intx=2,y; if(x<0)y=0; elseif(x<4)y=5/x; elsey=1; cout< 执行后,y=____。 A: 0 B: 1 C: 2 D: 2.5 答案: C 第7题(1.0分) 下面保留字中不能作为函数的返回类型的是____. A: void B: int C: new D: long 答案: C 第8题(1.0分) 以下描述正确的是____. A: 函数中,return后面一定要有表达式 B: 函数中,不可以有多条return语句 C: 函数返回值一定要通过return语句返回 D: return语句是函数中不可缺少的语句 答案: C 第9题(1.0分) 若定义函数: intf(intx){x++;returnx;} 执行以下语句: inta=5;f(a)+f(a); 则a的值是____. A: 5 B: 6 C: 7 D: 8 答案: A 第10题(1.0分) 下列叙述中,不正确的是____. A: 一个函数中可以有多个return语句 B: 函数可通过return语句返回数据 C: 必须用一个独立的语句来调用函数 D: 函数main也可以带有参数 答案: C 第11题(1.0分) 设有宏定义和语句: #defineP(x,y)x/y #definePP(a,b)a*b intc=P(2+3,2+3)+PP(2+3,2+3); 则变量c的值是_____. A: 26 B: 17 C: 17.5 D: 31 答案: B 第12题(1.0分) 若有定义intk=3;,以k+1作为参数,对下列宏定义进行宏展开,则最终结果不为7的是____. A: #defines(x)x*x B: #defines1(x)(x)*(x) C: #defines2(x)(x*x) D: #defines4(x)(x*(x)) 答案: B 第13题(1.0分) 若定义inta[2][3]={0*3},则下列叙述正确的是____. A: 此语句有语法错误. B: 只有a[0][0]有初值为0. C: 每个元素的初值都为0. D: 每个元素都有初值,但除a[0][0]外,其余元素的值不确定. 答案: C 第14题(1.0分) 数组名为函数实参时,传递给函数的是____. A: 数组首地址 B: 数组元素个数 C: 数组首元素的值 D: 数组所有元素 答案: A 第15题(1.0分) 若a是n行m列的数组,则元素a[i][j]是数组的第____个元素. A: i*m+j B: i*m+j+1 C: i*n+j D: i*n+j+1 答案: B 第16题(1.0分) 下列程序的运行结果是____. #include #include voidmain(void) {chars[]="Rep\0ch"; intm=sizeof(s); intn=strlen(s); cout< } A: 73 B: 63 C: 77 D: 67 答案: A 第17题(1.0分) 若有以下说明,则数值为4的表达式是____. inta[12]={1,2,3,4,5,6,7,8,9,10,11,12}; charc='a',d,g; A: a[g-c] B: a[4] C: a['d'-'c'] D: a['d'-c] 答案: D 第18题(1.0分) 下列程序的运行结果是____. chars1[]="hello"; chars2[]={'h','e','l','l','o'}; cout< A: 0 B: 正数 C: 负数 D: 无法比较 答案: C 第19题(1.0分) 若有定义chars1[10]="abcd";则下列语句正确的是____. A: strcpy(s1,'a'); B: strcpy("world",s1); C: strcpy(s1,"bigbigworld"); D: strcpy(s1,"world"); 答案: D 第20题(1.0分) 若有下列定义 structstudent {intnum; charname[20]; }stud6; A: struct是定义结构体类型的关键字 B: name、num是结构体成员名 C: stud6为结构体类型名 D: student为结构体类型名 答案: C 第21题(1.0分) 下列结构体定义不正确的是____. A: structabc {inta,b,c;}stru[10]; B: structabc[10] {inta,b,c;}; C: structabc {inta,b[10],c;}stru D: structabc {inta,b,c;}stru; 答案: B 第22题(1.0分) 若有定义 structstudent {intnum; charname[20]; }stu; 则下列语句正确的是____. A: student.num=1; B: stu.num=2; C: cout< D: cint>>stu; 答案: B 第23题(1.0分) 以下程序的输出结果为____. #include voidmain() {structcmplx {intx;inty;}cnum[2]={1,3,2,7}; cout< } A: 0 B: 1 C: 3 D: 6 答案: D 第24题(1.0分) 类型相同的两个指针不能进行的运算是____. A: + B: - C: = D: == 答案: A 第25题(1.0分) 下面关于内存的动态分配说法错误的是____. A: new和delete是C++提供的运算符 B: delete只能释放由new分配的内存空间 C: 由new分配一组连续内存空间,数量可以是常数,也可以是变量 D: 使用new和delete需要加入头文件"stdio.h" 答案: D 第26题(1.0分) 有如下程序段 inta=1,*p=&a,b=1; *p=*p+b; 执行该程度段后,a的值____. A: 1 B: 2 C: 3 D: 编译出错 答案: B 第27题(1.0分) 若有语句char*p[]="abcdd";则下列选项错误的是____. A: char&a=*p; B: char*q=p++; C: char*s=*p; D: p++; 答案: C 第28题(1.0分) 若有"charp[]="A\0BC\0DEF\n";",则strlen(p+4)的值是. A: 0 B: 1 C: 2 D: 4 答案: A 第29题(1.0分) 若有定义chars[]="abcd";*p=s;则下列叙述正确的是____. A: 数组s中的内容与p中的内容相等. B: 数组s所占用内存数与p所占用的内存数相等 C: *p与s[0]相等. D: 数组s与p完全等同 答案: C 第30题(1.0分) 若有"char*p="hello";"则以下选项中错误的是 A: char&a=*p; B: char*s=*p; C: char*q=p+2; D: p=p+2 答案: B 三、程序填空共3题(共计18分) 第1题(6.0分) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 求FIBONACCI数列的前N项,公式如图。 -------------------------------------------------------*/ #include voidmain() { intn,l1,l2,l3,i; cin>>n; /***********SPACE***********/ l1=【? 】;l2=1; cout< /***********SPACE***********/ for(i=3;【? 】) /***********SPACE***********/ {l3=【? 】; cout< l1=l2; /***********SPACE***********/ 【? 】; } } 答案: 1).0 2).i<=n;i++或i 3).l1+l2或l2+l1 4).l2=l3 第2题(6.0分) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 将一维数组大于等于平均值的元素存入另一个数组, 小于平均值的元素仍存在原数组,并打印这两个数组。 -------------------------------------------------------*/ #include voidmain() { inti,la,lb,n; floata[100],b[100],sum,av; /***********SPACE***********/ 【? 】; for(i=0;i cin>>a[i]; sum=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC