c++复习题123

合集下载

[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}

[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}

C语言期末复习(平时练习答案)[特别适用于千千万北航学子]考试重点:(编程题)排序,选择与冒泡排序,,各种进制转换。

]第二次大作业—前驱、后继字符1. 【问题描述】从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。

【输入形式】从键盘输入一个字符【输出形式】按两行输出:第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开;第二行按照从小到大的顺序输出三个字符对应的ASCII 值,并以一个空格隔开。

【输入样例】 b 【输出样例】 a b c 97 98 99 【样例说明】输入字符b,b的前驱字符是a,后继字符是c,第一行按照从小到大的顺序输出a b c;第二行输出对应的ASCII值97 98 99 【评分标准】结果完全正确得20分,每个测试点4分。

提交程序名为:c0103.c。

//*从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。

*//#include<stdio.h>int main(){char c=" ";printf("Input a number:");scanf("%c",&c); //*从键盘输入一个字符*//printf(" %c %c %c\n",c-1,c,c+1);//*第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开*//printf(" %d %d %d", c-1,c,c+1);//*第二行按照从小到大的顺序输出三个字符对应的ASCII值,并以一个空格隔开。

*//return 0;}当前编程题:第二次大作业---数值变换2. 【问题描述】编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。

国家二级(C语言)机试模拟试卷123(题后含答案及解析)

国家二级(C语言)机试模拟试卷123(题后含答案及解析)

国家二级(C语言)机试模拟试卷123(题后含答案及解析)题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.在关系代数运算中,有5种基本运算,它们是( )。

A.并(∪)、差(-)、交(∩)、除(÷)和笛卡儿积(×)B.并(∪)、差(-)、交(∩)、投影(π)和选择(σ)C.并(∪)、交(∩)、投影(π)、选择(σ)和笛卡儿积(×)D.并(∪)、差(-)、投影(π)、选择(σ)和笛卡儿积(×)正确答案:D解析:并、差、笛卡儿积、投影和选择是5种基本的运算,其他运算即交、连接和除,均可以通过5种基本的运算来表达。

2.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。

A.外模式/模式B.内模式/外模式C.模式/内模式D.内模式/模式正确答案:A解析:数据库有两层映像,即外模式/模式和模式/内模式映像。

模式/内模式映像定义数据库全局逻辑结构与存储结构之间的对应关系。

3.下列关于线性链表的描述中,正确的是( )。

Ⅰ、只含有一个指针域来存放下一个元素地址Ⅱ、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)Ⅲ、结点由两部分组成:数据域和指针域。

A.仅Ⅰ、ⅡB.仅Ⅰ、ⅢC.仅Ⅱ、ⅢD.全部正确答案:D解析:在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。

在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。

其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。

4.下面关于数据库三级模式结构的叙述中,正确的是( )。

A.内模式可以有多个,外模式和模式只有一个B.外模式可以有多个,内模式和模式只有一个C.内模式只有一个,模式和外模式可以有多个D.模式只有一个,外模式和内模式可以有多个正确答案:B解析:数据库的三级模式结构是指数据库系统的外模式、模式和内模式。

C语言复习题(答案)

C语言复习题(答案)

1.编程计算球的体积(V=34πr3),要求半径通过键盘输入,π的值定义为符号常量PI ,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。

#include<stdio.h>main(){float r,v;scanf(“%f ”,&r)v=4/3*PI*r*r*r;printf(“v is %.2f ”,v);}2.输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。

#include<stdio.h>main(){int n,s,g,b;printf(“please input n:\n ”);scanf(“%d ”,&n);g=n%10;s=n/10%10;b=n/100;printf(“%d”,100*g+10*s+b);}3.输入三角形的边长,求三角形的面积(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)。

#include <stdio.h>main(){int a,s,c,b;printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);while(a+b)<=c||(a+c<=b||(b+c)<=a);{printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);}s=(a+b+c)/2;area=sqrt(s*(s-a)(s-b)(s-c));printf(“area is:%d\n”,area);}4. 输入3个字符,反向输出这3个字符和它们的ASCII码。

#include <stdio.h>main(){char ch1,ch2,ch3;printf("please input ch1&ch2&ch3:");scanf(“%c%c%c”,&ch1,&ch2,&ch3);printf(“%c\t%c\t%c\n”,ch3,ch2,ch1);printf(“%d\t%d\t%d\n”,ch3,ch2,ch1)}5.编程计算圆的面积(S=πr2),要求半径通过键盘输入,π的值定义为符号常量PI,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。

C语言复习资料答案

C语言复习资料答案

二、类型及表达式一)合法的标志符:例题:1.是合法的用户自定义标识符的( D )A)ah-spks B)double C)<ctrl> D)_myapple2.以下正确的C语言标识符是( C )A)%x B)a+b C)a123 D)test!3.以下不能定义为用户标识符的是( C )A) Void B) b_2 C) int D) name—二)合法的整型常量例题:1.以下选项中可作为C语言合法整数的是( D )A) 11010 B B) 0583 C) x2b2 D) 0xafb三)合法的实型常量例题:1.以下选项中可作为C语言合法常量的是(A)A)-80. B)-080 C)D))四)合法的字符型常量例题:1.设有说明语句:char a=’\123’;则变量a( A )A)包含1个字符B)包含2个字符C)3个字符D)说明不合法2.C 语言中,“\x5d”在内存中占用的字节数是( A )A) 2 B) 5 C) 4 D) 13.字符串“\t\x42\\bcd\n”的长度是( A )。

A)7 B)10 C)12 D)13五)各种基本类型变量所占的字节数}例题:1.下列式中,值不为4的表达式是(C)A)sizeof(unsigned long) B)sizeof(long) C)sizeof(unsigned int) D)sizeof(float)六)合法的表达式例题:1.设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是(BC )A)a=5++ B)a=b=c++ C)a%=2 D)b=a+1=2七)表达式的值}例题:1.设整型变量a的值为2,下列表达式值为1的是( C )A)a%3 B)a/3 C)--a D)a++2.下列表达式的值为0的是( A )A) 7/8 B) 7%8 C) 7/ D) 7<83.设float m=, n=; 使m为的表达式是(D)A) m-=n* B) m/=n+9 C) m*=n-6 D) m+=n+24.逗号表达式(a=4*5,a*2),a+15 的值是( A )A) 35 B) 40 C) 55 D) 20!八)++、--运算例题:当i=4,j=5时,表达式3-(i++)*4+(--j)的值如何,i,j的值多少表达式值为-9,i=5,j=4九)表达式的类型例题:1.下列式中,最终运算结果的数据类型不是双精度的表达式的是(A )A)(int)(3+ B)1e-3 C)(double)(3) D)(int)+?二、顺序结构例题:1.putchar函数可以向终端输出一个(D)A)整数B)实数C)字符串D)字符二)printf和scanf语句的使用方法:例题:1.设有语句scanf(%d,%d”,&m,&n);要使m、n的值依次是2、3,正确是输入是( B )A)2 3 B)2,3 C)2;3 D)22.设变量定义为int a,b;执行下列语句时,输入( B),则a和b的值都是10}scanf(“%d,%d”,&a,&b);A)10 10 B) 10,10 C)a=10 b=10 D)a=10,b=103.有以下程序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 )A)m=123n=456p=789B)m=123 n=456 p=789;C)m=123,n=456,p=789D)123 456 789例题:1.有如下程序段:int a=3,b=15;float f=;printf(“%.1f”,(float)a+b/2+(int)f%3);执行该程序段后,运算结果为:( B )A)B)11.0 C)11 D)[三、选择结构一)关系表达式、逻辑表达式和条件表达式例题:1.在C程序中,用( B )表示逻辑”真”。

c语言复习题

c语言复习题

A. 6 B. 7 C. 11 D. 12
(10) 合法的数组定义是( )。 A
A. char a[ ]= "string " ; B. int a[5] ={0,1,2,3,4,5}; C. char a= "string " ; D. char a[ ]={0,1,2,3,4,5}
A. int a[7]; B. #define N 5 long b[N]; C. char c[5]; D. int n,d[n];
(4) 对字符数组进行初始化,( )形式是错误。 B
A. char c1[ ]={'1', '2', '3'}; B. char c2[ ]=123; C. char c3[ ]={ '1', '2', '3', '\0'}; D. char c4[ ]="123";
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、 1 。
(8) 设有定义:char s[12] = "string" ; 则printf( "%d\n",strlen(s)); 的输出是( )。 A
A. 6 B. 7 C. 11 D. 12
(9) 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( )。 D

C语言复习题及答案

C语言复习题及答案

复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个? ( )A)int B)char C)long D)float2、若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x);A)65535 B)1 C)无定值D)-13、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(″%d,%d\n″,k,m);}程序运行后的输出结果是()A)0,0 B)0,1 C)1,0 D)1,14、在C语言中,如果下面的变量都是int类型,则输出的结果是()。

sum=pad=5; pAd=sum + + ,pAd + +, + + pAd;printf("%d\n",pad);A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是()。

main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A)1 B)0 C)非0的数D)-16、当执行以下程序段时()。

x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误7、全局变量的存储类型可以定义为()。

A)auto或static B)extern或registerC)auto或extern D)extern或static8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。

A)auto B)registerC)extern D)static9、已知:int a, x; 则正确的赋值语句是()。

A)a=(a[1]+a{2})/2; B)a*=*a+1; C)a=(x=1, x++, x+2); D)a="good";10、已知:int a, *p=&a; 则下列函数调用中错误的是()。

大学生C语言期末考试试题汇总

大学生C语言期末考试试题汇总

大学生C语言期末考试试题汇总第1-3章习题一、单项挑选题1C语言属于()。

A.机器语言B.低级语言C.中级语言D.高级语言2一个C程序可以包含随意多个不同名的函数,但有且仅有一个。

A.函数B.主函数C.includeD.过程3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才干运行?A.编辑?编译B.编译?衔接C.编辑?改错D.编辑?衔接4C语言程序从开头执行。

A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数5C语言程序是由构成的。

A.一些可执行语言B.main函数C.函数D.包含文件中的第一个函数6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。

A.有效性B.有穷性C.有零个或多个输入D.有零个或多个输出7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f 值的数据类型。

A.intB.floatC.doubleD.不确定8在C语言中,变量所分配的内存空间大小是由。

A.均为一个字节B.由用户自己定义C.由变量的类型打算D.是随意的9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分离为3和4,则正确的输入办法为。

A. 3 ,4B.a:3 b: 4C.a=3,b=4D. 3 410在算术表达式中允许使用的括号类型是。

A.{ }B.[ ]C.( )D.以上三项皆错11存储以下数据,占用存储字节最少的是。

A. 0B. ‘0’C. “0”D. 0.012设n=10,i=4,则运算n%=i+1执行后,n 的值是。

A.0B.3C.2D.113C语言中运算对象必需是整型的运算符是。

A.%B. /C. =D.〈=14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.A .0 B. 1 C. 5 D. 615若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型A.floatB.charC.intD.double16在C语言的库函数中,可以输出char型变量x值的语句是。

大学C语言复习题_附答案

大学C语言复习题_附答案

(A)字节 (B)位 (C)字 (D)记录 12. 因特网中某主机的二级域名为“edu” ,表示该主机属于______。C (A)赢利性商业机构 (B)军事机构 (C)教育机构 (D)非军事性政府组织机构 13. 下列字符中,其 ASCII 码值最大的是______。D (A)9 (B)D (C)a (D)y 14. 语句 printf(“%%d%d”, 123); 将输出: A、%123%d B、%%d123 √C、%d123 D、上述语句语法有错 15. 对于 int x, y; 语句 if (x<0) y= -1; else if (!x) y=0; else y=1; 等价于: A、 y=0; if (x>=0) if (x) y=1; else y= -1; √B、 if (x!=0) if (x>0) y=1; else y= -1; else y=0; C、 if (x<0) y= -1; if (x!=0) y=1; else y=0; D、 y= -1; if (x!=0) if (x>0) y=1; else y=0; 16. 语句 if (a>b) k=0; else k=1;等价于: A、k=(a>b)?1:0; B、k=a>b; √C、k=a<=b; D、以上均不是 17. 执行下列程序段: int i, j; i = 3/2 + 7/2 == 5; j = 45 % 11 + (((7>8) ? 14:21) == 14); 后变量 i,j 的值应为: √A、i=0 j=1 B、i=1 j=1 C、i=0 j=2 D、i=1 j=2 18. 如果 int i=16, j=23 ; 执行 printf("%x--%o",i, j)后输出为: A、10—23 √B、10--27 C、16--23 D、16—27 19. 若 x 是 double 型变量,n 是 int 型变量,执行 ,并输入 3 1.25 后,x=1.25, n=3。 √A、scanf("%d%lf", &n, &x); B、scanf("%lf%d", &x, &n); C、scanf("%lf%d", &n, &x); D、scanf("%d,%lf", &n, &x); 20. 若变量已经被正确定义,为表示“变量 x 和 y 都能被 3 整除” ,应使用的 C 表达式 是 。 A、(x%3 != 0) || (y%3 != 0) B、(x%3 != 0) && (y%3 != 0) C、(x%3 == 0) || (y%3 == 0) √D、(x%3 == 0) && (y%3 == 0) 21. while( ) 等价于 while(x)。 A、x == 0 √B、x != 0 C、x == 1 D、x != 1 22. 下列程序段的输出结果是 。 int count = 0, x, y, z; for(x = 1; x <= 2; x++) for(y = 1; y <= 3; y++) for(z = 1; z <= 4; z++) count++; printf("%d", count); A、10 B、9 √C、24 D、0 23. 判断变量 ch 是英文字母的表达式为 。 A、( 'a' <= ch <= 'z') || ( 'A' <= ch <= 'Z')

c语言备考复习题与部分答案

c语言备考复习题与部分答案

一、判断题1. 格式字符%md中的m不能为负。

(×)2. 实际上,可以用顺序、分支、循环三种结构构造任何算法。

( )3. printf("%d",sizeof(1234));其结果是4。

(×)4. 在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。

( )5. 下面程序执行结果是32768。

(×)main( ){int a,b;printf("%d\n",b=(a=32767,a+1));}二、单选题1. 下述程序的输出结果是(B )#include <STDIO.H>void main(){int a,b,c=241;a=c/100%9;b=-1&&-1;printf("%d,%d",a,b);}2. 若有定义:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C<CR>,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(D )A)scanf("x%d y=%d",&x,&y);a=getch();b=getch();c=getch();B)scanf("x=%d%d",&x,&y);a=getch();b=getch();c=getch();C)scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c); D)scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c, &c);3. 已有定义double d,f;数据的输入方式为:3.45<CR> 1.2<CR>根据定义和数据的输入方式,输入函数调用语句的正确形式为(A )A)scanf("%lf%lf",&d,&f) B)scanf("%f%f",&d,&f)C)scanf("3.2f%3.1f",&d,&f)D)scanf("%3.2lf%3.1lf",&d,&f)4. 如下程序: #include <STDIO.H>void main(){ int m,n,k;m=(n=4)+(k=10-7);printf(“m=%d\n”,m);}运行后m的值为( C )。

C语言复习题专

C语言复习题专

C语言复习题1. 以下不正确的C语言标识符是(D )。

A. ABCB. abcC. a_bcD. ab.c2.以下正确的C语言标识符是(C )。

A. %kB. a+bC. a123D. test!3. 一个C程序的执行是从(A )。

A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( )函数开始,直到最后一个函数结束4. 在C程序中,main( )的位置( C )。

A.必须作为第一个函数B.必须作为最后一个函数C.可以任意D.必须放在它所调用的函数之后5.C语言源程序的基本单位是(B )。

A.过程 B.函数 C.子程序 D.标识符6.以下结果为整数的表达式(设有int i;char c;float f;)( B ).A.i+fB.i*cC.c+fD.i+c+f7.以下不正确的语句(设有int p,q)是( D)。

A.p*=3; B.p/=q; C.p+=3; D.p&&=q;8.以下使i的运算结果为4的表达式是( D)。

A.int i=0,j=0;(i=3,(j++)+i);j=i=((i=3)*2);C. int i=0,j=1;(j==1)? (i=1): (i=3);D. int i=1,j=1;i+=j+=2;9.设char ch;以下正确的赋值语句是(B)。

A.ch='123';B.ch='\xff';C.ch='\08';D.ch="\";10.设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。

A.0B.3C.2D.11、C语言规定,在一个源程序中,main函数的位置(C)。

A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B )。

C语言程序设计试卷复习题(精品)

C语言程序设计试卷复习题(精品)

一、单项选择题(15题30分)1. 假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为。

A)2.5 B)2.75 C)3 D)9.52. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。

A)!(y==x/2) B)y!=x%3 C)x>0&&y<0 D)x!=y||x>=y3. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。

A) int B) float C) double D) 不能确定4.以下正确的C语言标识符是:A) a+B B) if C) b5_ D) π5.在C语言中,错误的C常量是:A) 2e5 B) ‘{‘ C) 1.23e+2F D) 7ff6. 表达式k=(12<10)?4:1?2:3的值为。

A) 1 B) 2 C) 3 D) 47. 下列哪组运算符的优先级相同且运算次序从左到右。

A)()[ ] -> . B)++ -- +=C) < & | ^ D)&& ||8. 已知:int x=1, y=2, z; 则执行:z=x>y?++x:++y, z的值为。

(A) 1 (B) 2 (C) 3 (D) 49. 在以下一组运算符中,优先级最高的运算符是。

A)<= B)= C)% D)&&10.以下程序段,输出的结果是:int x=0,y=0,z=0;++x||++y&&++z;printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);A) x=1 y=1 z=1 B) x=1 y=1 z=0 C) x=1 y=0 z=0 D) x=0 y=0 z=011.以下程序段,输出的结果是:int x=3,y=4,z=4;printf(“%d\t%d\n”, (x>=y>=x)?1:0 , z>=y&&y>=x);A) 0 0 B) 0 1 C) 1 0 D) 1 112. 在C语言中,若以下变量均为int型,则下面程序段的输出结果是。

国家二级(C++)笔试模拟试卷123(题后含答案及解析)

国家二级(C++)笔试模拟试卷123(题后含答案及解析)

国家二级(C++)笔试模拟试卷123(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.算法的空间复杂度是指()。

A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间正确答案:D解析:一个算法的空间复杂度,一般是指执行这个算法所需的存储空间。

一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间及算法执行过程中所需要的额外空间。

2.数据的存储结构是指()。

A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据正确答案:B解析:数据的存储结构又称为数据的物理结构,是数据的逻辑结构在计算机中的存放形式,数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。

3.有下列二叉树,对此二叉树前序遍历的结果为()。

A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI正确答案:C解析:对二叉树的前序遍历是指,先访问根结点,然后访问左子树,最后访问右子树。

并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。

4.下列描述中正确的是()。

A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合正确答案:D解析:软件是运行在计算机硬件之上的逻辑实体,包括程序、数据和相关的文档,软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制。

5.两个或两个以上模块之间联系的紧密程度称为()。

A.耦合性B.内聚性C.复杂性D.数据传输特性正确答案:A解析:耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。

二级C语言-123_真题(含答案与解析)-交互

二级C语言-123_真题(含答案与解析)-交互

二级C语言-123(总分100, 做题时间90分钟)选择题1.C语言的基本单位是______。

SSS_SINGLE_SELA 函数B 过程C 子程序D 子函数分值: 2.5答案:A[解析] C语言是函数式的语言。

它的基本组成单位是函数,在C语言中任何程序都由一个或者多个函数组成。

2.结构化程序设计主要强调的是______。

SSS_SINGLE_SELA 程序的规模B 程序的效率C 程序设计语言的先进性D 程序的易读性分值: 2.5答案:D[解析] 程序不光是编写完就结束了,为了测试和维护程序,往往还需其他人阅读和跟踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一、效率第二”。

3.在面向对象方法中,______描述的是具有相似属性与操作的一组对象。

SSS_SINGLE_SELA 属性B 事件C 方法D 类分值: 2.5答案:D[解析] 类(class)描述的是具有相似属性与操作的一组对象,具体对象是类的实例。

4.有下列二叉树,对此二叉树前序遍历的结果为______。

SSS_SINGLE_SELA ACFXDBEYZB ABEFXYZCDC ABCDEFXYZD ABDYECFXZ分值: 2.5答案:D[解析] 所谓二叉树的前序遍历是指先访问根结点,再访问左子树,最后访问右子树,可知选项D正确。

本题中序为DYBEAFCZX,后序为YDEBFZXCA。

5.常采用的两种存储结构是______。

SSS_SINGLE_SELA 顺序存储结构和链式存储结构B 散列方法和索引方式C 链表存储结构和数组D 线性存储结构和非线性存储结构分值: 2.5答案:A[解析] 线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。

6.算法分析的目的是______。

SSS_SINGLE_SELA 找出数据结构的合理性B 找出算法中输入和输出之间的关系C 分析算法的易懂性和可靠性D 分析算法的效率以求改进分值: 2.5答案:D[解析] 算法分析是指对一个算法的运行时间和占用空间做定量的分析,计算相应的数量级,并用时间复杂度和空间复杂度表示。

国家二级(C语言)笔试模拟试卷123(题后含答案及解析)

国家二级(C语言)笔试模拟试卷123(题后含答案及解析)

国家二级(C语言)笔试模拟试卷123(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.在数据结构中,从逻辑可以把数据结构分为______。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构正确答案:C解析:逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间—对—的关系,非线性结构表示数据元素之间—对多或多对—的关系。

2.若进栈序列为1,2,3,4,进栈过程中可以出栈,则下列不可能的—个出栈序列是______。

A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1正确答案:C解析:栈是—种后进先出表,选项C中,先出栈的是3,说明此时栈内必然有1,2,由于1先于2进栈,所以1不可能在2之前出栈,故选项C这种出栈序列是不可能的。

3.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为______。

A.希尔排序B.冒泡排序C.插入排序D.选择排序正确答案:A解析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。

4.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为______。

A.2B.3C.4D.5正确答案:C解析:二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或右边子表按相同的方法继续查找。

本题中,与11比较的关键码分别为15,8,10,12四个。

5.对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为______。

A.n-1B.nC.n+1D.2n正确答案:C解析:在n个结点的单向链表(无表头结点)中,每个结点都有—个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。

国家二级C++机试(选择题)模拟试卷123(题后含答案及解析)

国家二级C++机试(选择题)模拟试卷123(题后含答案及解析)

国家二级C++机试(选择题)模拟试卷123(题后含答案及解析) 题型有:1. 选择题选择题1.下面关于算法的叙述中,正确的是( )。

A.算法的执行效率与数据的存储结构无关B.算法的有穷性是指算法必须能在执行有限个步骤之后终止C.算法的空间复杂度是指算法程序中指令(或语句)的条数D.以上三种描述都正确正确答案:B解析:算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。

算法的有穷性是指一个算法必须在执行有限的步骤以后结束。

2.下列二叉树描述中,正确的是( )。

A.任何一棵二叉树必须有一个度为2的结点B.二叉树的度可以小于2C.非空二叉树有0个或1个根结点D.至少有2个根结点正确答案:B解析:二叉树是由n≥0个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。

二叉树可以是空集合,根可以有空的左子树或空的右子树。

二叉树不是树的特殊情况,它们是两个概念。

二叉树具有如下两个特点:①非空二叉树只有一个根结点。

②每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。

3.如果进栈序列为A,B,C,D,则可能的出栈序列是( )。

A.C,A,D,BB.B,D,C,AC.C,D,A,BD.任意顺序正确答案:B解析:栈的操作原则为后进先出。

选项B)中出栈顺序可按“A进,B进,B 出,C进,D进,D出,C出,A出”实现。

4.下列各选项中,不属于序言性注释的是( )。

A.程序标题B.程序设计者C.主要算法D.数据状态正确答案:D解析:注释一般为序言性注释和功能性注释。

序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。

功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序的主要功能。

5.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。

A.内模式B.外模式C.概念模式D.逻辑模式正确答案:A解析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。

全国计算机二级C语言-公共基础120题详解版

全国计算机二级C语言-公共基础120题详解版

公共基础知识120题详解篇(1) 下面表达正确的选项是______。

A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令〔或语句〕的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对〔1〕[答案]C [考点]程序设计基础[评析]时间复杂度:在运行算法时所消耗的时间为f(n)〔即n的函数〕。

空间复杂度:实现算法所占用的空间为g(n)〔也为n的函数〕。

A应为有关。

(2) 以下数据结构中不属于线性数据结构的是______。

A. 队列B. 线性表C. 二叉树D. 栈〔2〕[答案]C [考点]数据结构与算法[评析]一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构〔通俗地理解,看是否能排成条直线〕。

A是先进先出的线性表;B是宏观概念,包括顺序表、链表、堆栈、队列;D是先进后出的线性表(3) 在一棵二叉树上第5层的结点数最多是______。

A. 8B. 16C. 32D. 15〔3〕[答案]B [考点]数据结构与算法[评析]依次从上到下,可得出:第1层结点数为1;第2层结点数为2*1=2;第3层结点数为2*2=4;第n层结点数为2的n-1次幂。

(4) 下面描述中,符合结构化程序设计风格的是______。

A. 使用顺序、选择和重复〔循环〕三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句〔4〕[答案]A [考点]程序设计基础[评析]B没这规定,模块之间的可以通过多个接口来耦合;C结构化程序设计提倡程序的可读性〔可理解性〕,超过程序执行效率的要求;D结构化程序设计限制goto语句的使用,因为goto语句的功能可以用三种基本的控制结构来代替,但也不是绝对不能用,只是限制使用〔少用〕。

(5) 下面概念中,不属于面向对象方法的是______。

A. 对象B. 继承C. 类D. 过程调用〔5〕[答案]D [考点]软件工程基础[评析]面向对象=对象+类+继承+通过消息的通信;对象:一组属性及其上的操作的封装体;类:一组有相同属性和操作的对象的集合;继承:一个类为另一个类上的扩充的方式,子类继承父类,主要目的是代码复用;消息:对象间通信的手段。

[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}

[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}

C语言期末复习(平时练习答案)[特别适用于千千万北航学子]考试重点:(编程题)排序,选择与冒泡排序,,各种进制转换。

]第二次大作业—前驱、后继字符1. 【问题描述】从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。

【输入形式】从键盘输入一个字符【输出形式】按两行输出:第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开;第二行按照从小到大的顺序输出三个字符对应的ASCII 值,并以一个空格隔开。

【输入样例】 b 【输出样例】 a b c 97 98 99 【样例说明】输入字符b,b的前驱字符是a,后继字符是c,第一行按照从小到大的顺序输出a b c;第二行输出对应的ASCII值97 98 99 【评分标准】结果完全正确得20分,每个测试点4分。

提交程序名为:c0103.c。

//*从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。

*//#include<stdio.h>int main(){char c=" ";printf("Input a number:");scanf("%c",&c); //*从键盘输入一个字符*//printf(" %c %c %c\n",c-1,c,c+1);//*第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开*//printf(" %d %d %d", c-1,c,c+1);//*第二行按照从小到大的顺序输出三个字符对应的ASCII值,并以一个空格隔开。

*//return 0;}当前编程题:第二次大作业---数值变换2. 【问题描述】编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。

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

C++面向对象程序设计复习题2一、单项选择题,在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.下列关于C++函数的说明中,正确的是(C )。

A)内联函数就是定义在另一个函数体内部的函数B)函数体的最后一条语句必须是return语句C)调用一个函数之前,如果还没有定义这个函数,必须先声明其原型D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式2.假定MyCIass为一个类,那么下列的函数说明中,( C )为该类的无参构造函数。

A)void MyClass(); B)~MyClass(int n); C)MyClass( ); D)~MyClass( );3.下列叙述中,错误的是(C )。

A)派生类可以使用private派生B)对基类成员的访问必须是无二义性的C)基类成员的访问能力在派生类中维持不变D)赋值兼容规则也适用于多继承的组合4.当一个类的某个函数被说明为virtual时,该函数在该类及其所有派生类中(A )。

A. 都是虚函数B. 只有被重新说明为vittual时才是虚函数C. 都不是虚函数D. 上面都不正确5.派生类的构造函数的成员初始化表中,不能包含( C )。

A)基类的构造函数B)派生类中子对象的初始化C)基类中子对象的初始化D)派生类中一般数据成员的初始化6.下列是重载加法运算符的函数原型声明,其中错误的是( A )。

A)MyClass operator+(double,double);B)MyClass operator+(double,MyClass);C)MyClass operator+(MyClass,double);D)MyClass operator+(MyClass,MyClass);7.派生类中的成员不能直接访问基类中的( B )成员。

A)public B)private C)virtual D)protected8.实现运行时的多态性要使用( D )。

A)重载函数B)析构函数C)构造函数D)虚函数9.如果在类MyClass的外面使用函数调用MyClass::f();则函数f()是类MyClass的( A )。

A. 静态成员函数B. 非静态成员函数C. 友元函数D. 前面都不正确10.由于常对象不能被更新,因此( A )。

A)通过常对象只能调用它的常成员函数B)通过常对象只能调用静态成员函数C)常对象的成员都是常成员D)通过常对象可以调用任何不改变对象值的成员函数11.下列对类的构造函数和析构函数描述正确的是( A )。

A)构造函数可以重载,析构函数不能重载B)构造函数不能重载,析构函数可以重载C)构造函数可以重载,析构函数可以重载D)构造函数不能重载,析构函数不能重载12.在函数定义前加上关键字“inline”,表示该函数被定义为( B )。

A)重载函数B)内联函数C)成员函数D)普通函数13.下面有关重载函数的说明中,( C )是正确的。

A) 重载函数必须具有不同的返回值类型B) 重载函数形参个数必须不同C) 重载函数必须具有不同的形参列表D) 重载函数名可以不同14.下列有关类与对象的说法中,( C ) 是不正确的。

A) 对象是类的一个实列B) 任何一个对象只能属于一个具体的类C) 一个类只能有一个对象D) 类和对象的关糸和数椐类型与变量的关糸类似15.已知: Print( )函数是一个类的常成员函数,它无返回值,下列表示中,正确的是( A )。

A)void Print( ) const;B) const void Print( );C) void const Print( );D) void Print(const)16.假定Myclass为一个类,那么下列的函数说明中( D )为该类的析构函数。

A) void ~Myclass( ); B) ~Myclass( int n);C) Myclass( ); D) ~Myclass( )17.下面类的定义中有( C ) 处错误。

class myclass{int i=0; public: void myclass( );~myclass(value); }A) 1 B)2 C)3 D)418.说明虚函数的关键字是( B )。

A. inlineB. virtualC. defineD. static19.cout是某个类的标准对象的引用,该类是(A )。

A. ostreamB. istreamC. stdoutD. stdin20.如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为( C )。

A. publicB. protectedC. private D.static21.定义类模板时要使用关键字( D )。

A. constB. newC. deleteD. template22.一个类的所有对象共享的是( D )。

A. 私有数据成员B. 公有数据成员C. 保护数据成员D. 静态数据成员23.静态成员函数没有( B )。

A. 返回值B. this指针C. 指针参数D. 返回类型24.解决多重继承中二义性问题的方法有( C )。

A. 只能使用作用域分辨操作符B. 使用作用域分辨操作符或赋值兼容规则C. 使用作用域分辨操作符或虚基类D. 使用虚基类或赋值兼容规则25.如果在类CTest的外面函数调用CTest::f( );则函数f( )是类CTest的( A )。

A. 静态成员函数B. 非静态成员函数C. 友元函数D. 前面都不正确26.类的析构函数的作用是( D )。

A) 作为类的一般成员函数B) 类的初始化C) 对象的初始化D) 对象的删除27.一个类的友元函数或友元类可以访问该类的( D )。

A)私有成员 B)保护成员 C)公有成员 D)所有成员28.下列关于成员函数特征的描述中,( A ) 是错误的。

A) 成员函数一定是内联函数B) 成员函数可以重载C) 成员函数可以设置参数的默认值D) 成员函数可以是静态的29.下列函数中,( C ) 不是类的成员函数。

A) 构造函数B) 析构函数C) 友元函数D) 拷贝构造函数30.下列对派生类的描述中,( D ) 是错误的。

A) 一个派生类可以作为另一个派生类的基类B) 派生类至少有一个基类C) 派生类的成员除了它自己的成员外, 还包含了它的基类的成员D) 派生类中继承的基类成员的访问权限到派生类中保持不变31.下列的描述中,( B ) 是错误的。

A) 公有继承时基类中的public成员在派生类中仍是public的B) 公有继承时基类中的private成员在派生类中仍是private的C) 公有继承时基类中的protected成员在派生类中仍是protected的D) 私有继承时基类中的public成员在派生类中仍是private的32.下列虚基类的声明中正确的是( D )。

A) class virtual B: public A B) virtual class B: public AC) class B: public A virtual D) class B: virtual public A33.若类A和类B的定义如下:class A{ int i, j;public: A(int m, int n): i(m), j(n) {}int Geti() { return i;} };class B: public A{int k;public: B(int m, int n, int u): A(m, n), k(u) {}void Make() { k = i * j; } };int main(){B b(1, 2, 3);return 0;}则上述定义中,( A ) 是非法的表达式.A) k=i*j; B) int k; C) return i; D) void Make( )35.在下面的4个关键字中,( A ) 是用来说明虚函数的。

A) virtual B)public C)protected D)private36.实现运行时的多态要使用( D )。

A) 重载函数B) 析构函数C) 构造函数D) 虚函数37.如果一个类至少有一个纯虚函数, 那么该类称为( A )。

A) 抽象类B) 虚基类C) 派生类D) 以上都不对38.cin是某个类的标准对象,该类是( B )。

A) ostream B) istream C) stdout D) stdin39.调用一个成员函数时,使用动态联编的情况是( B )。

A) 通过对象调用一虚函数B) 通过指针或引用调用一虚函数C) 通过对象调用一静态函数D) 通过指针或引用调用一静态函数40.假定CTest为一个类,并且有一无默认值的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的( B )。

A) 有参构造函数B) 无参构造函数C) 拷贝构造函数D) 赋值重载函数二、填空题,不写解答过程,将正确的答案写在每小题的空格内。

错填或不填均无分。

1.对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用(基类)的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。

2.声明类模板应使用关键字(template )。

3.重载的关系运算符和逻辑运算符的返回类型应当是(bool或布尔型)。

4.在面向对象方法中,类的实例称为(对象)。

5.在类的对象被释放时,(析构函数)函数会被自动调用。

6.重载运算苻”-”的函数名为(oprator- )。

7.C++中类的用途有两种, 一种是类的实例化, 即生成类的对象, 另一种是通过( 继承),派生出新的类。

8.在下面程序的横线处填上正确的语句, 以实现动态多态。

#include <iostream.h>class Base{ public:virtual void Fun() { cout << "Base::Fun" << endl; } };class Derived: public Base{ public: void Fun() { cout << "Derived::Fun" << endl; } };int main(){Base a, *pb;Derived b;pb=&b ;pb->Fun( ); //调派生类的成员函数Fun( ),以实现动态多态return 0;}9.编译时多态性可以用(重载)函数实现。

相关文档
最新文档