一、选择题
1.C++语言是从早期的C语言逐渐发展演变而来的。与C语言相比,它在求解问题方法上进行的最大改进是___________。 A.面向过程 B.面向对象 C.安全性 D.复用性 2.以下说法中正确的是_____________。
A.C++程序运行时,总是从第一个定义的函数开始执行 B.C++程序运行时,总是从main()函数开始执行
C.C++源程序中的main()函数必须放在程序的开始部分 D.一个C++函数中只允许一对花括号
3.下列标识符中错误的一组是_____________。 A.Name,char,a_bc,A-B B.abc_c,x5y,_USA,print C.read,Const,type,define D.include,integer,Double,short_int 4.下面的单词中属于C++语言关键字的是___________。 A.inlcude B.define C.ENUM D.union 5.下面属于C++语句的是_______________。 A.cout< 6.在一个C++程序文件中,main()函数的位置______________。 A.必须在开始 B.必须在最后 C. 可以任意 D.必须在系统调用库函数之后 7.C++源程序的基本结构是______________。 A.过程和块 B.函数和类 C.程序段和过程 D.子程序和主程序 8.下列四个叙述中,错误的是_____________。 A.C++语言中的标识符必须全部由字母组成 B.C++语言不提供输入输出语句 C.C++程序中的注释可以出现在程序的任何位置 D.C++语言中的关键字必须小写 二、填空题 1.C++程序的开发过程包括_______________、_____________和__________________三个阶段。 2.在编辑阶段,C++源程序的扩展名是_________________。 3.C++源程序经过编译后生成的文件的扩展名是___________________。 4.C++源程序经过编译和连接后生成的文件的扩展名是________________。 5.在Visual Studio 2005环境下,按程序运行界面划分,用C++开发的应用程序有_____________、____________和______________________三种类型。 6.在C++程序中,一条语句的结束符是______________________。 7.用于输出表达式值的标准输出流对象是____________,用于从键盘上为变量输入值的标准输入流对象是_____________。 8.下面的程序用cin从键盘接收一个整数并存放在变量a中,用cout输出a的值,请将程序填完整。 #include {________________ cin>>a; cout_________\"a=\"__________a__________endl; system(\"pause\"); return 0; } 三、编程题 编程序计算立方体的表面积和体积,设一个立方体的三条边分别为a,b,c,若从键盘输入这三条边长,就可以计算立方体的表面积和体积。 习题二 一、选择题 1.设char型占1字节,则unsigned char 所能表示的数据范围是___________。 A.0~255 B.-128~127 C.1~256 D.-128~128 2.将小写字母n赋值给字符变量one_char,正确的操作是____________。 A.one_char='\\n' B. one_char=“\\n” C. one_char=110 D.one_char='N' 3.整型变量i定义后赋初值的结果是____________。 int i=2.8*6; A.12 B.16 C.17 D.18 4.下列四组整型常量中,错误的一组是__________。 A.xcdf 017 0xe 123 B.160 0xffff 011 0L C.01 32768u 0617 0x163 D.0x48a 0205 0x0 -256 5.下列属于C++合法的字符常量是__________。 A.‘\\97’ B.\"A\" C.'\' D.\"\\0\" 6.若整型变量x=2,则表达式x<<2的结果是_________。 A.2 B.4 C.6 D.8 7.设int a=1,b=2;,则表达式(a++)+b与a++ +b的值分别为___________。 A.3,3 B.3,4 C.4,3 D.4,4 8.在C++中,合法的长整型常量是__________。 A.0L B.4962710 C.04312765 D.0xa34b7fe 9.当用#define X 23.6f定义后,下列叙述正确的是__________。 A.X是实型常量 B.X是实型变量 C.X是一串字符 D.语法错误 10.当用const int B=9;定义后,下列叙述错误的是_________。 A.B是整型变量 B.B是整型常量 C.B不能在程序中再赋值 D.B可以用作数组元素的下标 11.要求运算量必须是整型的运算符是____________。 A.+ B./ C.% D.- 12.在C++中,不同类型的数据混合运算时,先要转换成同一类型,然后进行计算。设一表达式中含有int、short、unsigned和char类型的常量和变量。这四种类型的转换顺序是__________。 A.short→unsigned→int→char B.char→int→short→unsigned C.char→short→int→unsigned D.char→unsigned→short→int 13.a、b均为int型且b≠0,则表达式a/b*b+a%b的值为_________。 A.a B.b C.a被b除的整数部分 D.a被b除商的整数部分 14.a、b均为int型且b≠0,则表达式a-a/b*b的值为_________。 A.0 B.a C.a被b除的余数部分 D.a被b除商的整数部分 15.下列表达式中,值为0的是__________。 A.3%5 B.3/5.0 C.3/5 D.3<5 16.下列语句中符合C++语法的语句是___________。 A.a=7+b+c=a+7 B.a=7+b++=a+7 C.a=7+b,b++,a+7 D.a=7=b,c=a+7 17.若变量已正确定义且k的值是4,执行表达式j=k—后,j、k的值是__________。 A.j=4,k=4 B.j=4,k=3 C.j=3,k=4 D.j=3,k=3 18.设int x=10,x+=3+x%(-3),则x=_____________。 A.14 B.15 C.11 D.12 19.表达式(int)(3.0/2.0)的值是____________。 A.1.5 B.1.0 C.1 D.0 20.设a为int型变量,则执行以下语句后,x的值为_____________。 a=10;a+=a-=a-a; A.10 B.20 C.40 D.30 21.设变量t为int型,下列选项中,不正确的赋值语句是____________。 A.++t B.n1=(n2=(n3=0)) C.k=i==1 D.a=b+c=1 22.设float m=4.0,n=4.0;使m为10.0的表达式是_____________。 A.m-=n*2.5 B.m/=n+9 C.m*=n-6 D.m+=n+2 23.C++语句中x*=y+2;还可以写成_______________。 A.x=x*y+2 B.x=2+y*x C.x=x*(y+2) D.x=y+2*x 24.若变量已正确定义,要将a和b中的数进行交换,则下列不正确的语句组是____________。 A.a=a+b;b=a-b;a=a-b; B.t=a;a=b;b=t; C.a=t;t=b;b=a; D. t=b;b=a;a=t; 25.设已定义int k=7,x=12;,下列表达式中,计算结果为0的是_________________。 A.x%=(k%=5) B.x%=(k-k%5) C.x%=k-k%5 D.(x%=k)-(k%=5) 26.设int a=7,b=8;,则cout<<(a+b,a)<<”,”<<(b,a+b)输出的是_____________。 A.7,15 B.8,15 C.15,7 D.出错 27.下列表达式的值为false的是_______________。 A.1<3&&5<7 B.!(2>4) C.3&0&&1 D.!(5<8)||(2<8) 28.设int a=10,b=11,c=12;,表达式(a+b) 34.当c的值不为0时,下列选项中能正确将c的值既赋给变量a又赋给变量b的是______________。 A.c=b=a B.(a=c)||(b=c) C.(a=c)&&(b=c) D.a=c=b 35.设a为整型变量,下列不能正确表达数学关系:1010&&a<15 D.!(a<=10)&&!(a>=15) 36.设a、b和c都是int型变量,且a=3,b=4,c=5;,则以下表达式中,值为0的是____________。 A.a&&b B.a<=b C.a||b+c&&b-c D.!((a#include int a=-1,b=4,k; k=(a++<=0)&&(!(b--<=0)); cout< 38.整型变量x和y的值相等且为非0值,则以下选项中,结果为0的表达式是______________。 A.a||y B.a|y C.x&y D.x^y 39.设int a=4,float x=7.5,y=4.8;,则表达式a+(int)((int)(x)+y)>>(int)(x-y)的值为________。 A.2 B.4 C.1 D.3 40.设int b=2;,表达式(b<<2)/(b>>1)的值是_____________。 A.0 B.2 C.4 D.8 41.sizeof(double)是______________。 A.一种函数调用 B.一个双精度表达式 C.一个整型表达式 42.若有以下定义和语句 int u=010,v=0x10,w=10; cout<则输出结果是______________。 A.8,16,10 B.10,10,10 C.8,8,10 D.一个不合法的表达式 D.8,10,10 二、填空题 1.无符号整型的类型关键字为_____________________,双精度实型的关键字为_____________,字符型的类型关键字为__________________。 2.在C++中,整数可用__________进制、_________进制和___________进制三种进位计数制表示。 3.字符串常量的结束符为_________________。 4.设有以下定义,并已赋确定的值 char ch;int i;float f;double d; 则表达式ch*i+d-f的数据类型为________________。 5.设有int a=14;,则表达式(a++*1/5)的值为________________。 6.下列程序的输出结果是________________。 #include double d=3.2; int a=1.2,b; b=(a+3.8)/5.0; cout< #include double d; float f; long l; int i; i=f=l=d=20.0/3; cout<8.若有以下程序段 int a=1,b=2,c; c=1.0/b*a; 则执行后,变量c的值为_______________。 9.下列程序的输出结果是16,请将程序填完整。 #include int a=9,b=2; float x=____________,y=1.1,z; z=a/2+b*x/y+1/2; cout< 10.下列程序的输出结果是___________________。 #include int x=1,y=2; x+=y;y=x-y;x-=y; cout<<”x=”< 12.若a为int型变量,请以最简单的形式写出与逻辑表达式!a等价的C++关系表达式____________________。 13.下面的程序运行后,输出结果为___________________。 #include int c=97; cout< 1.下面程序的功能是将变量a和b的值交换,请找出其中的错误,并修改正确。 #include int a,b,t; cin>>a>>b; a=b; b=a; cout<<”a=”<2.下面的程序用来将八进制整数a的后6位存放到变量中。请修改程序中的错误。 #include int main() { int a,b; cin>>oct>>a; b=a!077; cout<<”a=”< 1.编写程序计算边长为a(a的值从键盘输入)的正方形面积及其外接圆和内切圆的面积。 2.编写程序实现华氏温度f和摄氏温度c的转换,转换公式为:c度,通过计算输出摄氏温度 5(f32)。具体要求:从键盘输入华氏温9习题三 一、选择题 1.结构化程序设计使用的基本程序控制结构为__________。 A.模块结构、选择结构和递归结构 B.条件结构、顺序结构和过程结构 C.顺序结构、选择结构和循环结构 D.转换结构、嵌套结构和递归结构 2.设已定义整型变量a、b、c、x,下列程序段运行后x的值是_______________。 a=b=c=0,x=35; if(!a) x--; else if(b); if(c) x=3; else x=4; cout< switch(c) { case ‘A’:d=0;break; case ‘B’:case ‘C’:d=2;break; case ‘D’:case ‘E’:d=4;break; default:d=5; } A.0 B.2 C.4 D.5 4.若已定义int i;,下面程序段的运行结果是__________。 for(i=1;i++<4;); cout<A.3 B.4 C.5 D.不定 5.若已定义int a=10;,下列循环的输出结果是_______________。 while(a>7) {a--;cout<A.10 9 8 B.9 8 7 C.10 9 8 7 D.9 8 7 6 6.若已定义int x=3;,以下程序段的输出结果是_______________。 do { cout<<(x-=2)<<” ”; }while(!(--x)); A.1 B.3 0 C.1 -2 D.死循环 7.以下关于do-while循环的叙述中,正确的是_______________。 A.do-while语句构成的循环只能用break语句退出 B.用do-while语句构成的循环,在while后的表达式为非0时结束循环 C.用do-while语句构成的循环,在while后的表达式为0时结束循环 D. do-while语句构成的循环不能用其他语句构成的循环来代替 8.以下关于编译预处理的叙述中,错误的是_______________。 A.C++源程序中凡是以“#”开始的控制行都是预处理命令行 B.预处理命令行必须位于源程序的开始位置 C.一条有效的预处理命令行必须独占一行 D.预处理命令是在正式编译前被处理的 9.编译预处理命令以_____________结尾。 A. ; B. . C.\\ D.回车键 二、填空题 1.以下两条if语句可合并成一条if语句为___________________________ if(a<=b) x=1; else y=2; if(a>b) cout<<”****y=”< for(int i=0;_________________;cout<<(i+=2)); 3.下面程序的功能是:计算1到10之间的奇数之和及偶数之和,请填空。 #include int a,b,c,i; a=c=0; for(i=0;i<=10;i+=2) { a+=i; _____________________; c+=b; } cin>>”偶数之和=”<>”奇数之和=”< #include int n1,n2; cin>>n2; while(n2!=0) { n1=n2%10; ___________________; cout< } 5.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 #include int i,j; for(i=0;_________________;i++) { j=i*10+6; if(___________________) continue; cout< 三、阅读程序题 1.以下程序的输出结果是___________________________ #include int x=3,y=0,z=0; if(x=y+z) cout<<”****”; else cout<<”####”; system(“pause”); } 2.运行下面程序时,若从键盘输入3和4,则输出为____________________。 #include int a,b,s; cin>>a>>b; s=a; if(scout< #include int a=0,i; for(i=1;i<5;i++) { switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=5; default:a+=5; } } cout<} 4.运行以下程序后,输出结果是__________________________。 #include for(int j=10;j>3;j--) { if(j%3) j--; --j;--j; cout< 5.以下程序的输出结果是_________________________。 #include int x,i; for(i=1;i<=50;i++) { x=i; if(x%2==0) if(x%3==0) if(x%7==0) cout<} system(“pause”); } 6.下列程序的输出结果是________________。 #include int i=10,j=0; do{ j=j+i;i--; }while(i>2); cout< 7.以下程序的运行结果是_____________________。 #include int a=10,y=0; do{ a+=2;y+=a; cout<<”a=”<20) break; }while(a=14); system(“pause”); } 8.运行以下程序后,输出结果是________________。3.以下程序的输出结果是______________________。