计算机程序设计基础习
题册含答案
文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]
《计算机程序设计基础》
计算机程序设计
基础_基础知识(一)
班级 学号
姓名 成绩
一、 单选题
习题册
1. C++源程序文件的默认扩展名为 A 。
2. A) cpp B) exe C) obj D) lik
3.
由C++源程序文件编译而成的目
标文件的默认扩展名为 C 。 4. A) cpp B) exe C) obj D) lik 5.
由C++目标文件连接而成的可执
行文件的默认扩展名为 B 。 6. A) cpp B) exe C) obj D) lik 7.
编写C++程序一般需经过的几个
步骤依次是 B 。
8. A)编译、编辑、连接、调试
B)编辑、编译、连接、调试
C)编译、调试、编辑、连接
D)编辑、调试、编辑、连接
9. 程序中主函数的名字为
A 。
10. A) main B) MAIN C) Main D) 任意标识符
11. 下面四个选项中,均是不合法的
用户标识符的选项的是 C 。 12. A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.
下列变量名中合法的是
C 。
14. A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.
存储以下数据,占用存储字节最
多的是 D 。
16. A) 0 B) ‘0’
C) “0” D)
17. 在C++语言中,字符型数据在内
存中的存储形式是 D 。
18. A) 补码 B) 反码
C) 原码 D) ASCII 码
19. 若有说明语句:char c
=’\072’;则变量c A 。
20. A) 包含1个字符
B) 包含2个字符 C) 包含3个字符
D) 说明不合法,变量的值不确定
二、填空题
1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。
2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。
3.一条表达式语句必须以__分号_;___作为结束符。
4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。
5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令
计算机程序设计基础_基础知识(二)
班级学号姓名成绩
一、单选题
1.下列哪一个是C++语言中合法的变量 C
A) 8ZSe B) ±A0
C) X0_2 D) ’x0’
2.已知ch是字符型变量,下面不正确的赋值语句是 A
3.A) ch='a+b' B) ch='\0'
C) ch='7'+'9' D) ch=5+94.下列浮点数的表示中不正确的是▁C▁▁
A) 223. B) 719E22 C) e23 D) 12e2
5.下列不正确的转义字符是▁C▁▁
A)'\\' B)‘\"’
C) '074' D) '\0'
6.在C语言中,合法的字符常量是▁B▁▁
A)'\084' B)'\x43' C)'ab' D)"\0"
7.下列变量定义中合法的是▁A▁▁
A) double _a=;
B) double b=1+;
C) double do= 2e3
D) double 2_and=1-e-3;
8.已知ch是字符变量,正确的赋值语句是▁B▁
A)ch=‘123’
B)ch=’\xff’
C) ch=’\08’
D)ch=”\”9.若x、i、j和k都是int型变
量,则计算表达式x=(i=4,j=15,k=32 )
后,x的值为▁▁C▁。
A) 4 B) 16 C) 32 D) 52
10.单精度数x=,y=,下列表达式中y的
值为的是▁B▁。
A) y/=x*27/4 B) y+=x+ C) y-=x+ D) y*=
11.有整型变量x,单精度变量y=,
表达式:x=(float)(y*3+((int)y%4))
执行后,x的值为▁A▁。
A) 17 B)
C) D) 16
二.填空题
1.一个C语言程序一般由若干个函数构成的,程序中至少应包含一个▁▁主函数▁▁。
2.在C语言中,八进制整常量以▁▁0▁▁开头、十六进制整常量以▁▁0x▁▁开头。
3.‘x’在内存中占▁1▁字节,”x”在内存中占▁2▁字节,”/101”在内存中占▁▁5▁。
4.若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为__-60____。
5.设int a=2,b=3; float x=,y=;表达式(float)(a+b)/2+(int)x%(int)y的值是▁。
6.设 int x=1, y=1; 表达式 (!x||y--)的值是▁1▁。
7.定义:int a=10,b=9,c=8; 顺序执行语句: c=(a-=(b-5));
c=(a%11)+(b=3);后变量c的值是;变量b的值是 3。
8.设有 int x=11; 则表达式 (x++ * 1/3) 的值是3。
计算机程序设计基础_基础知识(三)
班级学号姓名成绩
一、单选题
1.下列优先级最低的算符是 D
2.A) && B) + C)||
D) =
3.以下符合C++语言语法的赋值表
达式是C。
4.A) d = 9 + e + f = d + 9
B) d = 9 + e , f = d + 9
C) d = (9 + e , e + + , d + 9)
D) d = 9 + e + + = d + 7
5.已知字母A的ASCII码为十进制
数65,且c2为字符型,执行语句c2 = ‘A’+’6’-‘3’ ; 后c2的十进制ASCII
码值为B。6.A)67 B) 68 C)69 D) 不确定的值
7.设有说明:char w;int x;float y;double z ; 则表达式w * x + z -
y值的数据类型为D。
8.A)float B)char C)int
D)double
9.假设在程序中 a、b、c 均被定
义成整型,所赋的值都大于1,则下列
能正确表示代数式
abc
1
的表达式是 D A)a*b*c B) 1/(a*b*c) C)1/a/b/(float)c D) a/b/c
10.已知int i,a;执行语句
“i=(a=2*3,a*5),a+6;”后,变量i的值
是 C
11.A) 6 B) 12 C) 30
D) 36
12.C++语言中,要求运算数必须是
整型的运算符是 A
13.A) % B) / C) <
D) !
14.以下正确地定义整型变量a,b和
c并为它们都赋初值5的语句是C
15.A) int a=b=c=5;
B) int a,b,c=5; C) int a=5,b=5,c=5;
D) a=b=c=5;
16.以下变量均为int类型,则值不
等于7的表达式是 C
17.A)(x=y=6,x+y,x+1)
B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1)
10.设有int a=1,b=2,c=3,d=4,m=2,n=2;
执行语句:(m=a>b)&&(n=d>c); 后n的
值为B
A) 1 B) 2 C) 3 D)
二、填空题
1. 当int a=1,b=2,c=3; 时,则表达式a+b>0 && b==c的值是___0_______。
2.若x是int 类型变量,则执行下列语句: x=7;x+=x-=x+x;后x的值是-14
3.若变量a,b和c是int 类型,以下语句借助int 类型中间变量t把a,b,c交换,如交换前:a=10,b=20,c=30,交换后:a=20, b=30 , c=10 ,则交换语句为t=a ;a=b;b=c;c=t;
4.设 int a=2,b=4,c=1,x=0,y=0;执行语句a||(x=b)&&(y=c);后x的值为▁0▁,y的值为▁0。
5.判断字符型变量c是否为大写字母的正确表达式是▁C>=’A’&&C<=’Z’▁▁。
计算机程序设计基础_控制结构(一)
班级学号姓名成绩
一、单选题
1.下列程序的输出结果是 C。
#include <>
void main() { double d=; int x,y; x=; y=(x+/;
cout< } A) 3 B) C) 0 D) 2. 下列程序执行后的输出结果是 A。 #include <> void main() { double d; float f; long l; int i; i=f=1=d=20/3; cout< } A) 6 6 B) 6 6 C) 6 6 D) 6 6 3. 下面程序的输出是 C 。 #include <> void main( ) { int a=-1,b=4,k; k=(a++<=0)&&(!(b--<=0)); cout< } A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2 4.设int x=1,y=3 ,则语句x+=y; y=x-y;x-=y;的功能是▁D▁。 A)把x 和y按从大到小排列 B)把x和y按从小到大排列 C)无确定结果 D)交换x和y中的值 5. 以下程序的输出结果是 A。 #include <> void main( ) { int a,b,c=246; a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b); } A) 2,1 B) 3,2 C) 4,3 D) 2,-1 二、分析程序,写出运行结果 1. #include <> void main( ) { int i,j,m,n; i=8; j=10; m=++i; n=j++; cout< 程序的运行结果是▁▁9,11,9,10▁▁2. #include <> void main() { int y=3,x=3,z=1; cout<<(++x,y++)< } 程序的运行结果是▁▁3 3▁▁ 计算机程序设计基础_控制结构(二)班级学号姓名成绩一、单选题 1. 若从键盘上输入5,则程序的输出结果是B。 #include <> void main( ) { int x; cin>>x; if(x++>5) cout< else cout< A) 7 B) 6 C) 5 D)4 2.下列程序的输出结果是A。 #include <> void main() { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++; } cout<<”a=”< 3.下列程序的输出结果是 C。 #include <> void main() {double x=,y; if(x< y=; else if(x< y=x; else y=; cout< A) 0 B) C) D) 1 4. 若从键盘上输入3和4,则程序的输出结果是B。 #include <> void main( ) { int a,b,s; cin>>a>>b; s=a; if(a cout< A) 14 B) 16 C) 18 D) 20 5. 下面的程序D。 #include <> void main( ) { int x=3,y=0,z=0; if(x=y+z)cout<<"* * * *\n"; else cout<<"# # # #\n"; } A) 有语法错误不能通过编译 B) 输出* * * * C) 可以通过编译,但是不能通过连接,因而不能运行 D) 输出# # # # 6. 为避免在嵌套的条件语句if-else 中产生二义性,C语言规定:else子句总是与 C配对。 A) 同一行上的if B) 其之后最近的if C) 其之前最近的且没有else的if D) 缩排位置相同的if 二、填空题 1.计算机总是按照语句或者语句块位置的先后关系▁顺序▁▁执行 2.所有程序都可以用▁顺序▁▁、▁选择▁▁、▁循环▁▁ 3种控制结构实现。 3.switch结构中的表达式必须是▁整型表达式▁▁。 4.case语句中的表达式必须是▁整常量表达式▁▁。 计算机程序设计基础_控制结构(三) 班级学号姓名成绩 一、分析程序,写出运行结果 1.#include <> void main( ) { int x=100, a=10, b=20, ok1=5, ok2=5; if(a if(b!=15) if(!ok1) x=1; else if(ok2) x=10; cout< } 程序的输出是 10 2.#include <> void main( ) {float x,y; char ch; double r; cin>>x>>y>>ch; switch (ch) { case ‘+’: r=x+y;break; case ‘-’: r=x- y;break; case ‘*’: r=x*y;break; case ‘/’: r=x/y;break; } cout< } 运行时输入:3 5 /<回车>,则程序的运行结果是 二、单选题 1.以下叙述正确的是▁D▁▁▁ A)do-while 语句构成的循环不能用其 它语句构成的循环来代替 B)do-while 语句构成的循环只能用break 语句退出 C)用do-while 语句构成的循环,在while后的表达式为非零时结束循环 D)用do-while 语句构成的循环,在while后的表达式为零时结束循环 2.设int a,b;则执行以下语句后b的值为D a=1; b=10; do{ b-=a; a++; }while (b--<0); A)9 B) –2 C) –1 D) 83.以下程序段的执行结果是▁D▁▁▁ int a, y; a=10; y=0; do{ a+=2; y+=a; cout<<“a=”<20) break; }while (a=14); A)a=12,y=12 B) a=12,y=12 a=14,y=16 a=14,y=26 C) a=12,y=12 D) a=12,y=12 a=14,y=44 a=16,y=28 4. 设int i;执行语句: for (i=1;i++<4;);后,变量i的值是▁C▁▁ A) 3 B) 4 C) 5 D)不定值 三、填空题 1.设i, j, k 均为int型变量,则执行完下面的for循环后,i的值为___6___; j的值为__4____;k 的值为___10____。 for (i=0, j=10; i<=j; i++,j--) k=i+j; 计算机程序设计基础_控制结构(四)班级学号姓名成绩一、单选题 1.以下循环体的执行次数是▁▁C▁▁ #include <> void main() { int i, j; for (i=0,j=1; i<=j+1; i+=2, j--) cout< A) 3 B) 2 C) 1 D) 0 2. 当执行以下程序段时▁C▁▁▁ int y=-1 ; do {y--;} while(--y); cout< A) 循环体将执行一次 B)循环体将执行两次 C) 循环体将执行无限次 D)系统将提示有语法错误 3.在下列选项中,没有构成死循环的程 序是C A) int i =100; B) for (;;); while(1) { i=i%100+1; if (i>100) break;} C) int k=1000; D) int s=36; do{ ++k; while (s); --s; }while(k<=1000); 4. 设int x,y;则执行下的循环后,y 值为C for(y=1,x=1;y<=50;y++) { if(x>=10) break; if (x%2==1) { x+=5; continue;} x-=3; } A) 2 B) 4 C) 6 D) 8 5.设int j;,则下面for循环语句的执行结果是▁B▁▁ for( j=10;j>3;j--) { if(j%3) j--; --j; --j; cout< A) 6 3 B) 7 4 C) 6 2 D) 7 3 6.以下程序的输出结果是▁A▁▁▁ #include <> void main( ) { int n=4; while(n--) cout<<--n;} A)2 0 B)3 1 C)3 2 1 D)2 1 0 二、分析程序,写出运行结果 1. # include <> void main() { int i, j; for (i=1; i<5; i++) { for (j=1; j cout< cout< } } 1 程序的输出结果122. #include <> void main() { int i,j,x=0; for (i=0;i<2;i++) { x++; for(j=0;j<3;j++) { if (j%2) continue; x++; } x++; } cout<<"x="< 程序的输出结果是 x=8 计算机程序设计基础_控制结构(五)班级学号姓名成绩一、单选题 1.以下程序的输出结果是▁B▁▁▁ #include <> void main( ) { int i, j; for(j=10;j<11;j++) for(i=9;i<=j-1;i++) cout< A) 11 B) 10 C) 9 D) 10 11 2. 以下程序的执行结果是▁C▁▁▁ #include <> void main( ) { int i,sum; for(i=1;i<=3;sum++) sum+=i; cout< 3. 以下程序的执行结果是▁B▁▁▁ #include <> void main( ) { int x=23; do { cout< } while(!x); } A) 22 B) 23 C) 24 D) 陷入死循环 4.有如下程序, 该程序段的输出结果是▁B▁ #include <> void main( ) { int n=9; while(n>6){ n--; cout< A) 987 B) 876 C) 8765 D) 9876 5.以下程序的输出结果是▁D ▁▁▁ #include <> void main( ) { int x=10,y=10,i; for(i=0;x>8;y=++i) cout< C)10 9 9 0 D)10 10 9 1 6.以下程序的输出结果是▁▁A ▁▁ #include <> void main( ) { int i ; for(i=1;i<6;i++) { if(i%2) { cout<<"#";continue ;} cout<<"*";} cout<<"\n";} A)#*#*# B)##### C)***** D)*#*#* 7.以下程序的输出结果是▁▁B ▁▁ #include <> void main( ) { char i ; for(i='A';i<'I';i++,i++) cout< cout<< "\n"; } A)编译不通过,无输出 B)ACEG C)ACEGI D)ABCDEFG 8.运行以下程序后,如果从键盘上输入 china#<回车>,则输出结果为 ▁▁C ▁ ▁ #include <> #include <> void main( ) { int v1=0,v2=0; char ch ; while ((ch=getchar())!='#') switch (ch ) { case 'a': case 'h': default: v1++; case '0':v2++; } cout< } A)2,0 B)5,0 C) 5,5 D)2,5 计算机程序设计基础_函数(一) 班级学号姓名成绩一、单选题 1.下面叙述中正确的是 B。 A) 对于用户自己定义的函数,在使用前必须加以说明 B) 函数可以返回一个值,也可以什么值也不返回 C) 说明函数时不必明确其参数类型和返回类型 D) 调用函数的实参,只能是有确定值的变量 2.下面叙述中错误的是 A 。 A)主函数中定义的变量在整个程序中都是有效的 B)在其他函数中定义的变量在主函数中也都不能使用 C)形式参数也是局部变量 D)复合语句中定义的变量只在该复合语句中有效 3.下面叙述中正确的是B。 A)全局变量在定义它的文件中的任何地方都是有效的 B)全局变量在程序全部执行过程中一直占用内存单元 C)同一文件中的变量不能重名 D)使用全局变量有利于程序的模块化和可读性的提高 4.若函数的类型和return语句中表达式的类型不一致,则 D。 A)编译时出错 B)运行时出现不确定结果 C)不会出错,且返回值的类型以return语句中表达式的类型为准 D)不会出错,且返回值的类型以函数的类型为准 5.C++语言中若不特别声明,则自动变量的存储类型被认为是D。 A)extern B)static C)register D)auto 6.在函数调用语句fun1(fun2(x,y),(x,y),z=x+y);中,fun1的实际参数的个数是 A 。 A)3 B) 7 C) 4 D) 5 7.对函数的调用不可以出现在 C 。 A)对一个变量赋初值 B)调用函数时传递的实际参数 C)函数的形式参数 D)引用数组元素[ ]的运算符中 8. 以下对C++语言函数的有关描述中,正确的是A。 A)在C++中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B)C++函数既可以嵌套定义又可以递归调用 C) 函数必须有返回值,否则不能使用函数 D) C++程序中有调用关系的所有函数必须放在同一个源程序文件中 9. 以下叙述中不正确的是 C 。 A)在C++中,函数中的自动变量可以赋初值,每调用一次,赋一次初值 B)在C++中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容 C)在C++中,外部变量的隐含类别是自动存储类型 D)在C++中,函数形参可以说明为register变量 计算机程序设计基础_函数(二) 班级学号姓名成绩 一、填空题 1.函数直接或者间接地自己调用自己,被称为函数的递归调用__ __。在C++语 言中,某函数在一个程序中被调用的次数是无限制的。 2.在C++语言中,编译是以源文件为单位的,一个C++程序可以由一个或多 个源文件组成。 3.C++语言中,唯一不能被别的函数调用的函数是main()或主函数。 4.从函数定义角度看,C++语言中的函数分为两种,即库函数和用户自定义 函数。从接口形式上分类,函数分为无参函数和有参函 数。 5.在定义函数时,函数名后面的括号中的变量名称为形式参数,在调用函数时 函数名括号后面的变量名称为实际参数。 6.在函数内部定义只在本函数内有效的变量是局部变量或内部变量,在函数外部 定义的变量是全局变量或外部变量。 二、单选题 1.以下程序运行后,输出结果是D。 #include <> int func ( int a, int b) { int m=0 ,i=2; i+=m+1; m=i+a+b ; return(m); } void main() { int k=4,m=1,p; p=func(k,m);cout< p=func(k,m);cout<<’,’< } A) 8,15 B) 8,16 C) 8,17 D) 8,8 2.以下程序运行后,输出结果是 A 。 #include <> int d=1; void fun (int p) { int d=5;