江苏科技大学Visual C++阶段测验试卷班级:学号:姓名:答题注意事项:1.所有答案必须写在答题纸上;考试完毕只交答题纸,不交试卷。
2.填写答案时,注意题号;特别是填空题,做到题号、空格号与试题对应,3.编程题,注意书写的规范、工整,字迹(包括标点符号)清楚。
一、选择题(每题2分,计30分)1、下列符号中,能用作VC++标识符的是________ oA^ 5A B、_double C、a$ D、switch2、下列实数表示中不正确的是__________ 。
A、.25B、12E-5.0C、35.D、2.5f3、下列字符表示中正确的是__________ 。
A、'\b'B、“b”C、‘46’D、'\x250'4、下列变量的定义和赋值屮,不正确的是__________ oA、int x,*y=&x;B、int x,*y; y=&x;C、int x,&y=&D、int x,&y=x;5、设有定义“float x=4,y=2;”,则卜•列表达式中,正确的是_______ 。
A、x%yB、x+y=x*yC、x++=y++D、++x=++y6、设有定义“intk二3,j=4;”,则执行表达式“j二5||k+++k++;”后______ 。
A、j的值为4, k的值为4B、j的值为0, k的值为4C、j的值为5, k的值为5D、j的值为1, k的值为37、执行语句“b二(a=2*5,a*4),a+15J之后,b的值是_______ 。
A、10B、25C、40D、608> 执行语句“intk二12;k=l/2*k++;”后,k 的值是_________ 。
A、0B、1C、6D、79、设有定义"char a=100;int b=100;float c=100;double d=100;“,则表达式“a+b+c+d,啲数据类型是 ________ oA、char int C、float D、double10、__________________________________________________________ 设有说明语句“int x=4,y=3;”,则表达式x->++y?x:y的值是___________________ 。
A、2B、3C、4D、5A> switch(x){ case l:cout«x; case 2:cout«a; }C^ s\vitch(a){case l:cout«x;case l,2:cout«a;B 、switch(a){ case1.0:cout«x; case2.0:cout«a; }D 、switch(a/10){case 1: default:cout«a;A、6 B 、5C、4D、345A、输出321B 、死循环(循环永远不会结束)C 、语法错误,编译通不过D. 0循环(循环体一次都不执行)A、1 ! +2! + …+8! +9!B、2! +3! + …+8! +11 !C 、10!C. 66 B11、设有定义“float x=l;int a=lf \则正确的switch 语句是 ___________12、下列程序段的输出结果是 _________int n=2;while(n++<=4); cout«n:13、关于下列程序段的正确说法是 _________intj=3;do{cout«j —; j--; }while (j );14、执行下列语句后,j 的值是for(int i=2J=l ;i<=10;j*=i++);D 、1! +2! + …+9! +10!15、执行如下语句序列时,输出结果为 __________ oint a=l ; chare 二'A'; a+=c ;c+=l ;cout«a«4\f«c<< S;A. BBB. 66 66D. B 66二、填空题(每空2分,计50分〉•基本概念题1、把包含空格在内的字符输给字符变量ch,应使用语句________2、表达式tt sizeof(t a,+4b,f的值为__________________ (2)3、表达式“!(8<30)&&0.5”的值为________________ (3)4、语句“continue;”的功能是 ________________________ (4)5、函数“exit(0)“的功能是____________________________ m• 阅读程序题6、执行如下语句序列时,如果键盘输入为'a' 'b' 'c',则cl、c2的值分别为(6) 、(7) O[程序]# include <iostream.h>void main(){char cl, c2, c3;cin.get(cl);cin.get(c2);cin.get(c3); cout«cl«,\t'«c2«'\t,«c3«,\n,;}7、[程序]#include <iostream.h>void inain(){ int a,b,c,s,w,t; s=w=t=0; a=-l;b=3;c=3;if(c>0) s=a+b;if(a<=0){if(b<0)if(c<=0) w=a-b;}elseif(c>0) w=a・b;else t=c;cout«s«H \n H«w«M\n n«t«H”;I执行上述程序时,输出的第一行是一(8),第二行是一(9), 第三行是一(10) 8、[程序]#include <iostream.h>void main(){(12)int i(l)j(2),m(0),n(l); switch(++i){ case l:m++;n++; case 2:switch 。
++){case l:m++; case 2:n++; }case 3:m++;n++;break; case 4:m++;n++; }cout«m«,\n ,«n«endl;}执行上述程序时,输出的第一行是 (11),第二行是9、 [程序]#include <iostream.h>#include <math.h> void main() {int count=0;for(int n=25;n<50;n+=2) {int flag= 1 ,i=3,k=(int)sqrt(n); while(flag&&i<=k) {if(n%i==0)flag=0; i++;}if(fiag){cout«n«,\t';if(++count%3==0)cout«'\n ,;cout«*\n f ;执行上述程序时,输出的第一行是一(13),第二行是(14) c10、 [程序]#include <iostream.h> void main(){for(int n= 10;n<50;n+= 10){cout«n«n=l H;int m=nj=2;while(j<=m)if(m%j==O){cout«'*'«j;m/=j;1else j++;cout«'\n';}}执行上述程序时,输出的第一行是一(15),第二行是(16) 0• 完善程序题11、下列程序从键盘输入三角形的3条边,并求该三角形的血积,请完善程序。
三角形的面积计算公式为』s(s-a)(s-b)(s-c),其中a、b、c为三角形的3边,s=(a+b+c)/2 o[程序]# include <iostream.h>#includevmath・h> (17)void main()int xyz; double s;cin> >x»y»z;s= ____________ ;s=sqrt(s*(s-x)*(s-y)*(s-z));cout«K边长为:"«x«,\t,«y«,\t'«z«,\n,;cout«"面积为:,,«s«'\n';}12、设等差数列的首项为xO,公差为d。
下列程序求等差数列的第2项至第1()项,并按每行5项的方式输出,请完善程序。
[程序]#include <iostream.h>void main(){float x0=5,d=2,xl;for(int i二1; (19) :i++){xl=xO+d;cout«xl«,\t,;if( _________ (20) ___________ )cout«'\n';x0= _______ (21) ___________ ;} cout«'\n';}13、下列程序输出如图所示的“九九乘法表”,请完善程序。
九九乘法表1 112 3 4 5 6 7 892 2 43 3 6 94 4 8 12 165 5 10 15 20 256 6 12 18 24 30 367 7 14 21 28 35 42 498 8 16 24 32 40 48 56 649 9 18 27 36 45 54 63 72 81[程序]#include <iostream.h>#include<iomanip.h>void main(){ int i,j;cout«setw(30)«"九九乘法表\n";cout«setw(4)«,for(i= 1; ____ (22) ____ ;i++)cout«setw(4)«i;cout«*\n r;for( _______ (23) ____ ;i< 10;i++){cout«setw(4)« (24) ____________ ;for(j=1; _________ (25) ________ ;j++)cout«setw(4)«i*j;cout«,\n,;}coutvv'n:1三、编程题(18分)设计一个程序,输入一个值不为0的任意位数的十进制整数num,统计出位数n, 并求出各位数字之和s。