C程序设计基础复习题A

合集下载

C程序设计复习题

C程序设计复习题

C程序设计复习题 一、单项选择题 1.下列转义字符中,错误 ..的是() A.′\n′ B.′\\′ C.′\108′ D.′\xbb′ 2. 下列用户自定义标识符正确的是() A. 4a B. b_1 C. -& D. *p 3.在C语言程序中,主函数的摆放位置() A.必须置于所有函数之首 B.必须置于所有函数之尾 C.不得置于所有函数之尾 D.任意 4.自定义标识符正确的是() A.5d_m B.const C.x4y D.book-1 5.表达式2&3|4和2>>1的值分别是() A.-5和0 B.-5和1 C.6和0 D.6和1 6.执行下列程序段后x的值为() int i=1, j=10, x; for (; i<=j; i++, --j) x=i; A.5 B.6 C.7 D.8 7.若定义一个只限本源文件使用的全局变量,则该变量的存储类别是() A. extern B. register C. static D. auto 8.逗号表达式a=2*6,a*3,a+5的值是() A.12 B.17 C.36 D.41 9.设int b[5]={1,2,3,4,5};char a,c, d;,则数组元素值为4的是() A.b[′d-c′] B.b[4] C.b[′d′-a] D.b[′d′-′a′] 10.设int a[2][3]={{1},{2,3}};,则元素a[1][0]的值是() A.0 B.1 C.2 D.3 11.在C语言中,字符串″\\TOP\t\65\″″的长度是()A.5 B.7 C.9 D.12 12.设int x;,则与计算|x|等价的表达式是() A.x>0?-x:x B.x>0?x:-x C.x<0?x:-x D.x<0?-x:-x 13.设char s[20]=″2008″;,则执行strcat(s, ″Beijing″); printf(″% d\n″, strlen(s));后输出结果是()A.5 B.11 C.12 D.20 14.设int a=11,b=2;,执行下述程序段后,变量a和b的值分别是() do {a/=b++; }while(a>b); A.1,3 B.1,4 C.2,3 D.2,4 15.设char s[10]= 〞abcde〞,t[ ]= 〞12345〞; ,则s和t 在内存中分配的字节数分别是() A.6和5 B.6和6 C.10和5 D.10和6 16. 下列不.属于保留字的是() A. default B. register C. sruct D. unsign 17. 下列不.能作为常量的是() A. 0582 B. 0xa5 C. ’\n’ D. 2.5e-2 18. 设typedef long class;,则class是() A. 整型变量 B. 长整型数据类型的新标识符 C. 长整型变量 D. 新的而非长整型数据类型的标识符 19. 设char c=’A’;int i=l , j;,执行j = !c && i++;后,i和j的值分别是() A. 1和0 B. 1和1 C. 2和0 D. 2和l 20. 设int a;,执行表达式(a=1,2,3),a+1后,a和表达式的值分别是() A. 1和2 B. 2和3 C. 3和4 D. 4和5 21. 下列关于函数定义正确的是() A. fun(int x , y){int z;return z;} B. void fun(int x, int y){return x+y;} C. fun(x,y){int x,y;double z;z=x+y;return z;} D. double fun(int x,int y) {double z;z=x+y;return z;) 22. 下列程序段中循环体执行的次数是() int x= -1; do { x=x*x; }while(! x); A. 0 B. 1 C. 2 D. 无限 23. 实现字符串连接的系统函数名是() A. strcat B. strcmp C. strcpy D. strlen 24. 若实参是一个数组名,在调用函数时,实参向形参传递的是() A. 数组的长度 B. 数组的首地址 C. 数组每个元素的值 D. 数组每个元素的地址 25. 设int a[ ][4]={l,2,3,4,5,6,7};,则a[1][3]的值是() A. 0 B. 3 C. 4 D. 7 26. 设char k=’a’;float j=2.0;, 执行k+=5/j;printf(“%c”, k);后,输出结果是()A. a B. b C. c D. d 27. 下列程序段正确的是() A. char s[ ]={‘xyz’}; B. float *p,i; scanf(‘‘%s”,s);p=*p+i; C. char s[5]=‘word’; D. int a[5]={0},*p=a; puts(s);*p=*(p+1); 二、程序填空题: 1. 以下程序的功能是输出x的值,请填空 #include int main() {float x=-2.12; return 0;} 2. 下列给定程序中,average函数的功能是:求三个实数的 平均值.主函数的功能是输入学生三门功课的成绩,调用average函数,输出平均成绩. #include float average(float x,float y, ) {float aver; (float)aver=(x+y+z)/3.0; return ;} int main( ) {float a,b,c; printf("Please input a,b,c:"); scanf("%f%f%f",&a,&b,&c); printf("average=%f\n",average( , , )); return 0; } 3.以下程序功能:求1!+2!+...+n!的值 #include"stdio.h" long prod(int m) {long p=1; int i; for(i=1;i<=m;i++) {p*=i;} return ;} long sum(int n) { long s=0; int i; for(i=1;i<=n;i++) s+=prod( ); return ;} int main() {int n; printf("请输入一个整数"); scanf("%d",&n); printf("1!+2!+...+%d!=%d\n",n,sum( )); return 0;} 4.下面程序的功能:三个整数从大到小输出. #include swap(int ,int ) { int temp; temp=*p1; *p1=*p2; *p2=temp; } exchange(,,) { if()swap(pq1,pq2); if(*pq1<*pq3)swap(); if(*pq2<*pq3)swap(pq2,pq3); } int main() {int a,b,c; scanf("%d,%d,%d",&a,&b,&c); exchange(); printf("\n%d,%d,%d\n",a,b,c); return 0; } 5.以下程序的功能是输出x的值,请填空 #include int main() {float x=-2.12; ; ; } 三、给定下列程序段,请写出输出结果 1.下面程序段的输出是_______________ #include int main() {int a,b,c; scanf("%d,%d,%d",&a,&b,&c); // 输入1,2,3 printf("a=%d\nb=%d\nc=%d\n",a,b,c); return 0;} 2.下面程序段的输出是_______________ int a,b,c; a=1;b=2;c=3; printf("%d,%d,%d\n",a,b,c); printf("%d,%d,%d\n",(a,b,c),b,c); 3.下面程序段的输出是_______________ #include “stdio.h” main( ) {char c , s[ ]=”ABCCDA”; int k ; for (k=1;(c=s[k])!=?\0?;k++) {switch( c ) {case …A? : putchar(…%?); continue; case …B? : ++k ; break ; default : putchar(…*?); case …C? : putchar(…&?); continue; } putchar(…#?); } }

C语言程序设计基础测试题-答案

C语言程序设计基础测试题-答案

C语言程序设计基础测试题一、单选[1] 下面叙述中错误的是____。

A. 复合语句中定义的函数只在该复合语句中有效B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式C. 形式参数也是局部变量D. 主函数中定义的变量在整个程序中都是有效的[2] 下列说法中正确的是____。

A.带参数的宏定义中的参数是没有类型的B.宏展开将占用程序的运行时间C.宏定义命令是C语言中的一种特殊语句D.使用#include命令包含的头文件必须以“.h"为后缀[3] 若函数的形参为一维数组,则下列说法中正确的是____。

A.调用函数时的对应实参必为数组名B.形参数组可以不指定大小C.形参数组的元素个数必须等于实参数组的元素个数D.形参数组的元素个数必须多于实参数组的元素个数[4] 系统的标准输出设备是____。

A.键盘B.硬盘C.内存D.显示器[5] 下面叙述中正确的是____。

A.全局变量在定义它的文件中的任何地方都是有效的B.全局变量在程序的全部执行过程中一直占用内存单元C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式D. 说明函数时必须明确其参数类型和返回类型[6] C程序的基本结构单位是____。

A.文件B.语句C.函数D.表达式[7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。

A.aa数组元素的值分别是"abcd"和"ABCD"B.aa是指针变量,它指向含有两个数组元素的字符型一维数组C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D.aa数组的两个元素中各自存放了字符'a'和'A'的地址[8] 任何一个C语言的可执行程序都是从____开始执行的。

A.程序中的第一个函数B.main( )函数的入口处C.程序中的第一条语句[9] 操作系统的作用是()。

《程序设计基础》期末复习

《程序设计基础》期末复习

《程序设计基础》期末复习一、单项选择题1、计算机发展的分代史中通常划分时代的标准是以计算机所采用的______。

A 逻辑元件B 程序设计语言C 操作系统发展D 硬件运算速度2、当前广泛使用的微型计算机是______。

A 第一代B 第二代C 第三代D 第四代3、我们将组成计算机系统的所有电子和机械装置称为______。

A 硬件B 软件C 系统D 机器4、当代计算机的体系结构称为是______。

A 冯·诺依曼机B 非冯·诺依曼机C图灵机 D PASCAL机5、CPU主要包括______。

A 运算器、控制器和寄存器B 运算器、控制器和存储器C 控制器D 运算器和存储器6、硬盘是______。

A 输入设备B 输出设备C 存储设备D 计算设备7、系统软件的核心软件是______。

A 操作系统B 编译程序C 汇编程序D 机器语言8、下面4句话中,最准确的表述是______。

A 程序=算法+数据结构B 程序是使用编程语言实现算法C 程序的开发方法决定算法设计D 算法是程序设计中最关键的因素9、程序设计要遵循一定的开发方法及思想,以下有一个不是程序设计过程中应该遵循的开发方法,它是______。

A 结构化设计方法B 模块化程序设计方法C 面向对象的程序设计方法D 数据结构优先原则10、计算机能直接执行的语言是______。

A 机器语言B 汇编语言C 高级语言D 目标语言11、汇编程序的任务是______。

A 将汇编语言编写的程序转换为目标程序B 将汇编语言编写的程序转换为可执行程序C 将高级语言编写的程序转换为汇编语言程序D 将高级语言编写的程序转换为可执行程序12、世界上第一个高级语言是______。

A BASIC语言B C语言C FORTRAN语言D PASCAL语言13、下面4种程序设计语言中,不是面向过程式语言的是______。

A FORTRANB ALGOLC AdaD C++14、下面4种程序设计语言中,不是面向对象式语言的是______。

C语言程序设计基础知识 习题一及参考答案

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识一、单项选择题1、以下( )是面向过程的程序设计语言。

A)机器语言 B)汇编语言 C)高级语言 D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。

A)设计数据结构和算法B)建立数学模型C)编写程序 D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是( )。

A)枚举法B)递推法 C)分治法 D)排序法4、以下不属于算法基本特征的是( )。

A)有穷性 B)有效性C)可靠性 D)有一个或多各输出5、以下描述中不正确的是( )。

A)程序就是软件,但软件不紧紧是程序。

B)程序是指令的集合,计算机语言是编写程序的工具。

C)计算机语言都是形式化的语言,它有一个语法规则和定义。

D)计算机语言只能编写程序而不能表示算法。

6、下面描述中,正确的是( )A)结构化程序设计方法是面向过程程序设计的主流。

B)算法就是计算方法。

C)一个正确的程序就是指程序书写正确。

D)计算机语言就是编写程序的工具而不是表示算法的工具。

7、下面描述中,不正确的是( )。

A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。

C)对于同一个问题,递推算法比递归算法的执行时间要长。

D)递推算法总可以转换为一个递归算法。

8、N-S图与传统流程图比较,主要优点是( )。

A)杜绝了程序的无条件转移。

B)具有顺序、选择和循环三种基本结构。

C)简单、只管。

D)有利于编写程序。

A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。

(判断条件)2、结构化程序设计是__________应遵循的方法和原则。

(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。

(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。

(程序)5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。

C语言程序设计基础试题一及答案

C语言程序设计基础试题一及答案

C语⾔程序设计基础试题⼀及答案《程序设计基础》考试试卷⼀班级姓名学号____________⼀、选择题(20分)1.算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可⾏性(D)确定性2.以下选项中可作为C语⾔合法常量的是(A)-80. (B)-080 (C) (D)3.以下叙述中正确的是(A)⽤C语⾔实现的算法必须要有输⼊和输出操作(B)⽤C语⾔实现的算法可以没有输出但必须要有输⼊(C)⽤C程序实现的算法可以没有输⼊但必须要有输出(D)⽤C程序实现的算法可以既没有输⼊也没有输出4.以下不能定义为⽤户标识符是(A)Main (B) _0 (C) _int (D) sizeof5.以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6.数字字符0的ASCII值为48,若有以下程序main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);} 程序运⾏后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507.有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运⾏后的输出结果是(A) (B) (C) (D)8.有以下语句:int b;char c[10];,则正确的输⼊语句是A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);(C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);9.有以下程序main(){int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p); } 若想从键盘上输⼊数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输⼊是A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910.有以下程序main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运⾏后的输出结果是A)6,1 B)2,1 C)6,0 D)2,011.有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运⾏后的输出结果是(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 312.若整型变量a、b、c、d中的值依次为:1、4、3、2。

《C语言程序设计》复习资料(3月19日)

《C语言程序设计》复习资料(3月19日)

一、选择题(每小题2分)1、以下说法正确的是 C 。

A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分2、下列符号中,可以作为变量名的是 C 。

A)+a B)12345e C)a3B D)5e+03、在C 语言中,下列类型属于构造类型的是 D 。

A)整型B)指针类型C)实型D)结构体类型4、设d为字符变量,下列表达式正确的是 B 。

A)d=678 B)d=‟a‟C)d=”d”D)d=‟gjkl‟5、C语言中,运算对象必须是整型数的运算符是 A 。

A)% B)\ C)% 和\ D)**6、表达式(double)(20/3)的值为 A 。

A)6B)6.0 C)2D)37、若已知a=10,b=20,则表达式!a<b的值为 C 。

A)10 B)20 C)1 D)08、printf函数中用到格式符"%4s",其中数字4表示输出的字符串占用4列。

如果字符串长度大于4,则按原字符串长从左向右全部输出;如果字符串长度小于4,则输出方式为 B 。

A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字符,左补空格D)输出错误信息9、为了表示关系x>=y>=z,应使用C语言表达式 A 。

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)10、以下不正确的i f 语句形式是 C 。

A)i f ( x > y && x != y ) ; B)i f ( x = = y ) x + = y ;C)if ( x != y ) scan f ( “%d”, &x) else scanf ( “%d”, &y); D)i f ( x < y ) { x++; y++;}11、程序段如下int k=1; while(!k==0) {k=k+1;printf("%d\n",k);} 说法正确的是 B 。

C语言 程序设计基础试题一及答案

C语言 程序设计基础试题一及答案

《程序设计基础》考试试卷一班级姓名学号____________一、选择题(20分)1.算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性2.以下选项中可作为C语言合法常量的是(A)-80. (B)-080 (C) (D)3.以下叙述中正确的是(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出4.以下不能定义为用户标识符是(A)Main (B) _0 (C) _int (D) sizeof5.以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6.数字字符0的ASCII值为48,若有以下程序main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);} 程序运行后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507.有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是(A) (B) (C) (D)8.有以下语句:int b;char c[10];,则正确的输入语句是A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);(C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);9.有以下程序main(){int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910.有以下程序main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运行后的输出结果是A)6,1 B)2,1 C)6,0 D)2,011.有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 312.若整型变量a、b、c、d中的值依次为:1、4、3、2。

C语言程序设计A期末模拟试题(1-4)

C语言程序设计A期末模拟试题(1-4)

C语言程序设计A期末模拟试题(1-4)C 语言程序设计A 期末模拟试题一一、单项选择题(每小题2分,共20分)1. 由C++目标文件连接而成的可执行文件的缺省扩展名为( )。

A. cpp B. exe C. obj D. lik 2. x>0 && x<=10的相反表达式为()。

A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 3. 在下面的一维数组定义中,哪一个有语法错误。

( C )A. int a[]={1,2,3}; B. int a[10]={0}; C. int a[]; D. int a[5]; 4. 假定p 是具有double 类型的指针变量,则表达式++p 使p 的值(以字节为单位)增加(C )。

A. 1 B. 4 C. sizeof(double) D. sizeof(p) 5. 当#include 后面的文件名用双引号括起来时,寻找被包含文件的方式是( B )。

A. 直接按系统设定的标准方式搜索目录 B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录C. 仅仅搜索源程序所在目录D. 搜索当前逻辑盘上的所有目录6. 假定指针变量p 定义为“int *p=new int(100);”,要释放p 所指向的动态内存,应使用语句( A )。

A. delete p; B. delete *p; C. delete &p D. delete []p; 7. 假定AA 为一个类,a 为该类公有的数据成员,px 为指向该类对象的一个指针,则访问px 所指对象中数据成员a 的格式为()。

A. px(a) B. px[a] C. px->a D. 8. 栈具有()的操作特性。

A. 先进先出 B. 先进后出 C. 进出无序 D. 进出任意 9. 对于任一个类,用户所能定义的构造函数的个数至多为( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C++程序设计基础》复习题A 一、填空题 1. 算法的基本控制结构包括: , , 。

2. 在C++中有三种参数传递方式:__________、__________和__________。 3. 下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。 #include using namespace std;

______________pi=; void main( ) { double r; cout<<″r=″;

_________________ ; double l=*pi*r; double s=pi*r*r; cout<<″\n The long is:″

4. 若有定义语句:int a=3,b=2;,则表达式a5. 类的成员包括_________和_________两种,在面向对象的术语中,前者称为属性、后者称为方法。其访问权限有三种,由符号_________、________和________指定,其中具有________权限的成员只有类中的成员函数才能访问、而具有________权限的成员在任何函数中都可访问。 6. 构造函数是一个特殊的成员函数,其特殊性表现在创建对象时会__________。构造函数名必须与__________相同。 7. 函数重载是指一组函数具有相同的_________,在函数调用时,编译程序根据________的个数和类型确定使用那一个版本。

二、选择题 1. C++源程序文件的默认扩展名为( )。

A. cpp B. exe C. obj D. lik 2. 设有数组定义:char array[]="China";则数组array所占的空间为( )。 A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节 3. 下列选项中,与实现运行时多态性无关的是( )。 A. 重载函数 B. 虚函数 C. 指针 D. 引用 4. 若a是int类型变量,则计算表达式a=1000%999的值是( )。 A. 0 B. 1 C. 2 D. 3 5. 下面程序段中,for循环的执行次数是( )。 int i=10; for(i=1;i<10;i++) cout <<"*"; A. 9 B. 10 C. 8 D. 7 6. 以下叙述中错误的是( )。 A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B. 数组名代表的是数组所占存储区的首地址,其值不可改变 C. 程序执行中,数组元素的下标越界时,系统给出“下标越界”的出错信息 D. 可以通过赋初值的方式确定数组元素的个数 7. 有如下函数模板定义 template T func(T x, T y) { return x*x + y*y; } 在下列对func()的调用中,错误的是( )。 A. func(3,5); B. func, C. func(3, D. func((double)3, 8. 类的析构函数的作用是( )。 A. 对象的初始化 B. 删除对象时的清理任务 C. 与一般成员函数一样 D. 类的初始化 9. 程序段 int a,b; a=5; b=a++; cout << b; 的输出应为( )。 A. 4 B. 5 C. 6 D. 7 10. 程序段 int i,a; for(i=0;i<=10;i++) a=i; cout << i; 的输出应为( )。 A. 0 B. 9 C. 10 D. 11 11. 下列有关函数重载的叙述中,错误的是( )。 A. 函数重载就是用相同的函数名定义多个函数 B. 重载函数的参数列表必须不同 C. 重载函数的返回值类型必须不同 D. 重载函数的参数可以带有默认值 12. 下列变量名中,( )是合法的。 A. CHINA B. byte-size C. double D. A+a 13. 下列各种函数中,( )不是类的成员函数。 A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数 14. 下列( )是正确的语句。 A. ; B. a=17 C. x+y D. cout<<"\n" 15. 循环while(int i=0) i--;执行次数是( )。 A. 0 B. 1 C. 5 D. 无限 16. 使用操作符setw对数据进行格式输出时,需要包含( )文件。 A. iostream B. fstream C. iomanip D. stdlib 17. 对C++语言和C语言的兼容性,描述正确的是( ) A.C++兼容C B.C++部分兼容C C.C++不兼容C D.C兼容C++ 18. 对使用关键字new所开辟的动态存储空间,释放时必须使用( ) A.free B.create C.delete D.realse 19. 如没有使用private关键字定义类的数据成员,则默认为( ) A.private B.public C.protected D.friend 20. 使用值传递方式将实参传给形参,下列说法正确的是( ) A.形参是实参的备份 B.实参是形参的备份 C.形参和实参是同一对象 D.形参和实参无联系

三、判断题 1. C++语言规定,标识符中的字母一般区分大、小写。

2. 控制台标准输入设备一般是指键盘。 3. 使用while和do-while循环时,循环变量初始化的操作应在循环语句之前处理。 4. 循环体中continue语句的作用是结束整个循环的执行。 5. 关系表达式的值是0或1。 6.用class定义的类中,默认的访问权限是私有的。 7.一个类中必须要有公有成员和私有成员。 8.如果在一个程序块中有两个变量具有相同的名字,并且都有效,只是它们的作用域不同,则优先访问作用域较小的那个变量。

9.类中成员函数都是公有的,数据成员都是私有的。 10.构造函数不能重载。

四、写出程序运行结果(注意结果的输出格式。) 1. void main() { int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i; for(i=0;i<3;i++) cout << a[1][i]; } 2. #include using namespace std; #include<> int f1(int x) { static int z=3,y=0; y++; z++; return(x+y+z); } void main() { int a=1,k; for(k=0;k<3;k++) cout<} 3. #include long sub(int num) { int i; long subsum=1; for(i=1;i<=num;i++) subsum *= i; return( subsum ); } void main() { int i; long sum=0; for(i=1;i<=5;i++) { sum += sub(i); cout << i << "," << sum << endl; } } 4. #include using namespace std; class Person { public: Person() { cout << "Construct Person" << endl; } ~Person() { cout << "Destruct Person" << endl; } }; class Student:public Person { public: Student() { cout << "Construct Student" << endl; } ~Student() { cout << "Destruct Student" << endl; } }; class Teacher:public Person { public: Teacher() { cout << "Construct Teacher" << endl; } ~Teacher() { cout << "Destruct Teacher" << endl; } }; void main() { Student s; Teacher t; }

五、编程题

1. 编程求数列1,21,31,41,51,……的所有大于等于的数据项之和并输出结果。 2. 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 3. 定义一个时间类Time,包含3个保护数据成员Hour(小时),Minute(分钟),second(秒)以及两个公有成员函数SetTime()用来为对象设置时间,ShowTime()用来输出显示时间。 定义该类的构造函数,初始化对象的Hour,Minute和Second; 主函数中定义两个对象,时间分别为15点38分42秒和3点4分5秒,并且输出。

相关文档
最新文档