C++.docx
- 文档编号:27175936
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:40
- 大小:60.73KB
C++.docx
《C++.docx》由会员分享,可在线阅读,更多相关《C++.docx(40页珍藏版)》请在冰豆网上搜索。
C++
第二章
一、单项选择题:
⒈以下哪种程序能将高级语言转换为机器代码D。
A)汇编程序
B)翻译程序
C)源程序
D)编译器
⒉下列关于C++语言标识符的叙述中正确的是B。
A、标识符中可以出现下划线和中划线(减号)。
B、标识符中不可以出现中划线,但可以出现下划线。
C、标识符中可以出现下划线,但不可以放在标识符的开头。
D、标识符中可以出现下划线和数字,它们都可以放在标识符的开头。
⒊以下可用作C++语言用户标识符的一组标识符是C。
A、voidB、a3-3C、INTD、2ab
Define_123_abcDO
WORDifCostsizeof
⒋以下几组选项中,均为不合法标识符的是C。
A、AP_0doB、floatla0_A
C、b-agotointD、_123tempFLOAT
⒌一个C++语言程序是由B。
A、一个主程序和若干子程序组成。
B、若干函数组成。
C、若干过程组成。
D、若干子程序组成。
⒍C++语言规定,在一个源程序中,main函数的位置C。
A、必须在最开始B、必须在系统调用的库函数的后面。
C、可以任意D、必须在最后
⒎以下C是C++程序的基本结构单位。
A、文件B、语句C、函数D、表达式
⒏C++中使用C来执行标准的输入输出操作。
A)语句
B)函数
C)流
D)以上都不是
⒐已知各变量类型如下:
inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;
则以下不符合C++语言语法的表达式是C。
A、a+=a-=(b=4)*(a=3)B、a=a*3+2C、x%2D、y=float(i)
⒑若变量a是int类型,并执行了语句:
a=’A’+1.6;则正确的叙述是D。
A、a的值是字符C。
B、a的值是浮点型。
C、不允许字符型和浮点型相加。
D、a的值是字符’A’的ASCII值加上1。
⒒设intx=1,y=1;,表达式(!
x||y--)的值是B。
A、0B、1C、2D、-1
⒓若变量已正确定义并赋值,合法的表达式是B。
A、a=a+1;B、a=7+b+c,a++C、int(12.5%2)D、a=a+1=c+b
⒔C++语言中,关于自增和自减运算符使用正确的是C。
A、10++B、(x+y)--C、d+++d+++d++D、++(a-b)
⒕设有intx=11;,表达式(x++*1/3)的值是A。
A、3B、4C、11D、12
⒖已有定义:
intx=3,y=4,z=5;,则表达式!
(x+y)+z-1&&y+z/2的值是D。
A、6B、0C、2D、1
!
7+5-1&&4+5/2
0+5-1&&4+2
5&&6
1
16、若有以下语句:
charw;intx;floaty;doublez;则表达式w*x+z-y的结果是(D)类型。
A、floatB、charC、intD、double
17、若有以下语句:
charw;intx;floaty;doublez;w=w*x+z-y的结果是(B)类型。
A、floatB、charC、intD、double
18、执行下列程序语句,输出为(C)
inti=’a’;charc=65;
c=c+32;i=i-32;cout< A、97;65B、a;AC、a;65D、97;A 19、执行下列程序语句,输出为(A) inti=’a’;charc=65; cout< A、97;65B、a;AC、a;65D、97;A 20、char型数据在内存中是以(C)形式存储的。 A、原码B、补码C、ASCII码D、反码 21、转义字符是C++的一种特殊形式的字符常量。 表示换行的是(A)。 A、\n B、\t C、\a D、\v 22、执行以下语句后,x的值为(B)。 intx=6; x+=x-=x*x; A、36B、-60C、60D、-24 23、下列的叙述中错误的是B。 A、注释是帮助阅读程序的说明 B、注释在编译时,编译系统会对注释进行编译操作,并指出注释中的错误 C、用于说明程序的功能的注释,称为序言注释 D、“//”符号表明后续字符为注释信息,即给阅读程序的人提供的简单解释 24、下列运算符中,优先级最高的是B。 (A)%(B)! (C)>=(D)/ 第三章 一、单项选择题 1.下列选项中不属于C++的类型的是D。 A.signedshortintB.unsignedlongint C.unsignedintD.longshort 2.在C++语言中,078是D。 A.十进制数B.八进制数 C.十六进制D.非法数 3.字符串常量“E”的字符个数是B。 A.1B.2 C.3D.4 4、若d为double型变量,则表达式d=1,d+5,d++的值是B。 A.1B.6.0 C.2.0D.1.0 5.设int a=10,b=11,c=12;表达式(a+b) A、2B、0C、-2D、1 6.设inta=4,b=8;则++a*b的结果是B。 A.33B.40 C.32D.41 7、以下运算符优先级最高的是C。 A.<=B.== C.%D.&& 8、能表示a≥10或者a≤0的关系表达式是C。 A.a>=10ora<=0B.a>=10|a<=0 C.a>=10||a<=0D.a>=10&&a<=0 9、以下不正确的是C。 A.语句for(i=0;;i++)表示无限循环 B.for(;;)表示无限循环 C.for()也表示无限循环 D.while (1)表示无限循环 10、当执行以下程序时,A是正确的。 A.循环体将执行一次B.循环体将执行两次 C.循环体将执行无限次D.系统将提示有语法错误 k=1; do{ k=k*k; }while(! k) 二、阅读下列程序,写出程序运行后的结果: 1、 #include usingnamespacestd; voidmain() {inti,s=0,t=0; for(i=0;i<10;i++) {s++; if(i>5)break; t++;} cout<<"i="< cout<<"s="< cout<<"t="< 2、 #include usingnamespacestd; voidmain() {inti,s=0,t=0; for(i=0;i<10;i++) {s++; if(i>5)continue; t++;} cout<<"i="< cout<<"s="< cout<<"t="< 3、 #include usingnamespacestd; voidmain() {inti; for(i=1;i<6;i++) switch(i%2) {case0: i++; cout<<"***";break; case1: i+=2;cout<<"&"; default: cout< } } & *** 4、 #include usingnamespacestd; voidmain() { inti; intj=0; for(i=0;i<6;i++) switch(j++%3) { case0: i++;cout<<"#"< case1: i+=2;cout<<"*"; case2: cout<<"@@"; case3: j++;break; default: cout< } cout<<"i="< cout<<"j="< } 解答过程: 1、i=0,循环条件成立,执行switch 2、switch条件j++%3后置初值0赋做条件j自己+1,j=1;0%3==0,进入case0: 3、i=i+1=0+1=1,输出“#”换行遇break;switch结束 4、循环表达式3修正,i=i+1=1+1=2,2<6循环条件成立,继续执行switch 5、switch条件j++%3后置初值1赋做条件j自己+1,j=2;1%3==1,进入case1: 6、i=i+2=2+2=4,第二行开始输出“ *”,继续进入case2: 紧接着输出“@@”,继续进入case3: j++;j=2+1=3,遇break;switch结束 7、循环表达式3修正,i=i+1=4+1=5,5<6循环条件成立,继续执行switch 8、switch条件j++%3后置初值3赋做条件j=j+1,j=3+1=4;3%3==0,进入case0: 9、i=5+1=6,紧接着输出“#”,换行遇break;switch结束 10、循环表达式3修正,i=i+1=6+1=7,7<6循环条件不成立,不执行switch 11、输出i=7换行j=4换行 12、程序结束。 比较: #include usingnamespacestd; voidmain() { inti; intj=0; for(i=0;i<6;i++) switch(++j%3) { case0: i++;cout<<"#"< case1: i+=2;cout<<"*"; case2: cout<<"@@"; case3: j++;break; default: cout< } cout<<"i="< cout<<"j="< } 解答过程: 1、i=0,循环条件成立,执行switch 2、switch条件++j%3前置j自己+1,j=1然后赋做条件,j=1;1%3==0,进入case1: 3、i=i+2=0+2=2,输出“*”,继续进入case2: 紧接着输出“@@”,继续进入case3: j++;j=j+1=1+1=2,遇break;switch结束 4、循环表达式3修正,i=i+1=2+1=3,3<6循环条件成立,继续执行switch 5、switch条件++j%3前置j自己+1,j=2+1=3然后赋做条件,j=3;3%3==0,进入case0: 6、i=i+1=3+1=4,紧接着输出“#”换行遇break;switch结束 7、循环表达式3修正,i=i+1=4+1=5,5<6循环条件成立,继续执行switch 8、switch条件++j%3前置j自己+1,j=3+1=4然后赋做条件,j=4;4%3==1,进入case1: 9、i=i+2=5+2=7,第二行开始输出“*”号,继续进入case2: 紧接着输出“@@”,继续进入case3: j++;j=4+1=5,遇break;switch结束 10、循环表达式3修正,i=i+1=7+1=8,8<6循环条件不成立,不执行switch 11、紧接着输出i=8换行j=5换行 12、程序结束。 5、 #include usingnamespacestd; voidmain() {inti,j; intn=5; for(i=1;i<=n;i++) {for(j=1;j<=i;j++) if(j%2==0)cout<<"&"; elsecout<<"*"; cout< } 6、 #include usingnamespacestd; voidmain() { intk,i,j; cout<<"k="< cin>>k; if(k<1||k>20)cout<<"error"< else { for(i=1;i<=k;i++) {if(i==1||i==k) {for(j=1;j<=k;j++) cout<<"*"; } else { cout<<"*"; for(j=1;j<=k-2;j++) cout<<""; cout<<"*"; } cout< } } K输入为5 ***** ** ** ** ***** 7、 #include usingnamespacestd; voidmain() {inti,j; for(i=0;i<4;i++) {for(j=0;j<=5+i;j++) if(i==0||i==3) if(j<3-i) cout<<''; else cout<<'*'; else if(j==3-i||j==5+i) cout<<'*'; else cout<<''; cout< } } 空心梯形 8、 #include usingnamespacestd; voidmain(void) { inti,j; intn; cout<<"pleaseinputn: "< cin>>n; for(i=0;i { for(j=0;j { if(i==0||i==n-1) if(j cout<<""; else cout<<"*"; else if(j==n-1-i||j==n-1+i) cout<<"*"; else cout<<"";} cout< } } 空心三角形 9、 #include #include usingnamespacestd; voidmain() {inti,j; cout<<"*|"; for(i=1;i<=9;i++)cout< cout< for(i=1;i<=9;i++) {cout< (2)< for(j=1;j cout< for(j=i;j<=9;j++) cout< cout< } 10、 #include #include usingnamespacestd; voidmain() { intm,i,count(0); for(m=2;m<=100;m++) { for(i=2;i<=m/2;i++) if(m%i==0)break; if(i>=m/2&&m%10==3){cout< if(count%4==0)cout< } cout< } m输出100之间个位数为3的素数 count统计到100之间个位数为3的素数个数 三、编写程序: 1、数学灯谜 有算式: ABCD _CDC ____________________ ABC 其中A,B,C,D均为一位非负整数 要求: 找出A,B,C,D各值。 参考答案: #include usingnamespacestd; voidmain() {for(inta=1;a<=9;a++) for(intb=0;b<=9;b++) for(intc=0;c<=9;c++) for(intd=0;d<=9;d++) if((a*1000+b*100+c*10+d)-(c*100+d*10+c)==a*100+b*10+c)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+