c试题及答案(一)

合集下载

c语言试题及答案

c语言试题及答案

c语言试题及答案c语言试题及答案C语言是一门通用计算机编程语言,应用广泛。

小编收集了c语言试题及答案,欢迎阅读。

c语言试题一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是( )。

A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是( )。

main( ){ int a=7,b=5;printf("%d ",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。

A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。

a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是 ( )。

int k=10; while(k=0) k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D 循环体语句执行一次6.以下程序的输出结果为( )。

int i;void prt( ){ for(i=5;i<8;i++) printf("%c",'*');printf(" ");}main( ){ for(i=5;i<=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是( )。

A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有( )个实参。

func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为( )。

C程序设计(第五版)课后试题答案——第一章

C程序设计(第五版)课后试题答案——第一章

被调用函数:由一个函数调用另一个函数,则称第二个函数为被调用函数。
第一章 程序设计和C语言
3、正确理解一下名词及其含义
库函数:一般是指编译器提供的可在C源程序中调用的函数。 可分为两类,一类是C语言标准规律的库函数,一类是编译器特定的库函数。
程序调试:是指将编制的程序投入实际运行前,用手工或编译程序等方法进行测试, 修正语法错误和逻辑错误的过程。 程序测试:是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检 测,以确保该程序能按预定的方式正确的运行。
高级语言的特点: 1、高级语言的数据要比汇编和机器语言丰富。 2、高级语言与具体机器结构的关联没有汇编以及机器语言密切。 3、高级语言更接近自然语言,更容易掌握。 4、高级语言编写的程序要经过编译或解释计算机才能执行。
第一章 程序设计和C语言
3、正确理解一下名词及其含义
源程序:指未编译的,按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。 目标程序:为源程序经编译可直接被计算机运行的机器码集合。在计算机文件上以.obj作扩展名。 程序编辑:上机输入或者编辑源程序 程序编译:先用C提供的“预处理器”,对程序中的预处理指令进行编译预处理,对源程序进行语法检查,判断 是否有语法错误,直到没有语法错误为止,编译程序自动把源程序转换为二进制形式的目标程序。 程序连接:将所有编译后得到的目标模块连接装配起来,在与函数库相连成为一个整体的过程称之为程序连接 程序:一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。 程序文件:程序的文件称为程序文件,程序文件存储的是程序,包括源程序和可执行程序。 函数:将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,来完成一定的功能。 主函数:又称为main函数,是程序执行的起点。

C语言程序设计题库及答案

C语言程序设计题库及答案

第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。

A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。

A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。

A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。

A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。

A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。

A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。

A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。

A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。

A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。

A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。

A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。

for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。

C语言试题库(含答案)

C语言试题库(含答案)
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;

计算机等级考试二级C语言模拟试题(1)及答案

计算机等级考试二级C语言模拟试题(1)及答案

⼀、选择题(每题2分,共计70分)1.栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插⼊和删除元素D)没有共同点2.已知⼆叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba3.链表不具有的特点是A)不必事先估计存储空间B)可随机访问任⼀元素C)插⼊删除不需要移动元素D)所需空间与线性表长度成正⽐4.结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分⽀结构、等价结构、循环结构C)多分⽀结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构5.为了提⾼测试的效率,应该A)随机选取测试数据B)取⼀切可能的输⼊数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序6.算法的时间复杂度是指A)执⾏算法程序所需要的时间B)算法程序的长度C)算法执⾏过程中所需要的基本运算次数D)算法程序中的指令条数7.软件⽣命周期中所花费⽤最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护8.数据库管理系统DBMS中⽤来定义模式、内模式和外模式的语⾔为A)CB)BasicC)DDLD)DML9.下列有关数据库的描述,正确的是A)数据库是⼀个DBF⽂件B)数据库是⼀个关系C)数据库是⼀个结构化的数据集合D)数据库是⼀组⽂件10.下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独⽴性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每⼀列称为元组,⼀个元组就是⼀个字段D)如果⼀个关系中的属性或属性组并⾮该关系的关键字,但它是另⼀个关系的关键字,则称其为本关系的外关键字11.以下叙述中正确的是A)C语⾔⽐其他语⾔⾼级B)C语⾔可以不⽤编译就能被计算机识别执⾏C)C语⾔以接近英语国家的⾃然语⾔和数学语⾔作为语⾔的表达形式D)C语⾔出现的最晚,具有其他语⾔的⼀切优点12.C语⾔中⽤于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue13.C语⾔中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型14.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b15.下列可⽤于C语⾔⽤户标识符的⼀组是A)voiddefineWORDB)a3_b3_123CarC)For-abcIFCaseD)2aDOsizeof16.若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a==1B)++i;C)a=a++=5;D)a=int(i);17.已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对18.有如下程序main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=219.有以下程序main(){ int i=1,j=1,k=2;if((j++||k++)&& i++)printf("%d,%d,%d\n",i,j,k);}执⾏后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,320.有如下程序main(){ int n=9;while(n>6){n--; printf("%d",n);}}该程序的输出结果是A)987B)876C)8765D)987621.在下列选项中,没有构成死循环的是A)int i=100;while(1){ i=i0+1;if(i>100)break;}B)for(;;);C)int k=10000;do{ k++; }while(k>10000);D)int s=36;while(s)--s;22.若已定义的函数有返回值,则以下关于该函数调⽤的叙述中错误的是A)函数调⽤可以作为独⽴的语句存在B)函数调⽤可以作为⼀个函数的实参C)函数调⽤可以出现在表达式中D)函数调⽤可以作为⼀个函数的形参23.有以下程序float fun(int x,int y){ return(x+y);}main(){ int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运⾏后的输出结果是A)编译出错B)9C)21D)9.024.若有以下调⽤语句,则不正确的fun函数的⾸部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)25.设有以下说明语句struct stu{ int a;float b;} stutype;则下⾯的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是⽤户定义的结构体类型C)stutype是⽤户定义的结构体类型名D)a和b都是结构体成员名26.若运⾏时给变量x输⼊12,则以下程序的运⾏结果是main(){ int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)1027.以下说法正确的是A)C语⾔程序总是从第⼀个的函数开始执⾏B)在C语⾔程序中,要调⽤函数必须在main()函数中定义C)C语⾔程序总是从main()函数开始执⾏D)C语⾔程序中的main()函数必须放在程序的开始部分28.有以下程序#define F(X,Y)(X)*(Y)main(){ int a=3, b=4;printf("%d\n", F(a++, b++));}程序运⾏后的输出结果是A)12B)15C)16D)2029.下列程序执⾏后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5]={0};a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]);}A)6B)7C)8D)930.若有下⾯的程序段char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等31.以下程序中函数sort的功能是对a数组中的数据进⾏由⼤到⼩的排序void sort(int a[],int n){ int i,j,t;for(i=0;ifor(j=i+1;jif(a[i]}main(){ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运⾏后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,32.以下程序的运⾏结果是#include "stdio.h"main(){ struct date{ int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)1233.若执⾏下述程序时,若从键盘输⼊6和8时,结果为main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(as=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对34.下列关于C语⾔数据⽂件的叙述中正确的是A)⽂件由ASCII码字符序列组成,C语⾔只能读写⽂本⽂件B)⽂件由⼆进制数据序列组成,C语⾔只能读写⼆进制⽂件C)⽂件由记录序列组成,可按数据的存放形式分为⼆进制⽂件和⽂本⽂件D)⽂件由数据流形式组成,可按数据的存放形式分为⼆进制⽂件和⽂本⽂件35.有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++;}}main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运⾏后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd⼆、填空题(每空2分,共计30分)1.算法的基本特征是可⾏性、确定性、【1】和拥有⾜够的情报。

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语言程序设计试题及答案解析[1]

C语言程序设计试题及答案解析[1]

C语言程序设计试题第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++) 42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

C 试题及答案

C  试题及答案

C++程序设计模拟试卷(一)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

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

1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B解析:(P21)经过编辑、编译、连接和运行四个步骤。

编辑是将C++源程序输入计算机的过程,保存文件名为cpp。

编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。

连接是将目标文件obj转换为可执行程序的过程,结果为exe。

运行是执行exe,在屏幕上显示结果的过程。

2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:(P51)函数的返回值类型由定义函数时的指定的数据类型决定的。

A项的表达式的值要转换成函数的定义时的返回类型。

3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:(P136)继承方式有三种:公有、私有和保护。

多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。

赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。

基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。

4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块答案:A解析:(P39)类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。

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语言试题及答案

国家开放大学C语言试题及答案

1.C语言中的循环类语句有3条,它们是()。

选择一项:A. for,if,whileB. for,while,doC. while,do,switchD. for,break,do正确答案是:for,while,do2.C语言中的跳转类语句有四条,它们是goto,return和()。

A. break,constB. static,continueC. break,continueD. while,extern正确答案是:break,continue3.当不需要函数返回任何值时,则所使用的返回类型为()。

A. IntB. unionC. voidD. Void 正确答案是:void4.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。

选择一项:A. 表达式B. 语句C. 函数体D. 参数表正确答案是:参数表5.在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为A. #cludeB. #constC. #includeD. #defile正确答案是:#include6.在#include预处理命令中,不可以包含()。

A. 系统头文件B. 程序文件C. 用户头文件D. 目标文件正确答案是:目标文件7.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据占用的字符位置个数为()。

选择一项:A. 5B. 6C. 4D. 2正确答案是:68.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为()。

选择一项:A. 5B. 6C. 4D. 2正确答案是:29.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为()。

A. 6B. 4C. 3D. 2正确答案是:310.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为()。

c语言程序设计试题及答案

c语言程序设计试题及答案

c语言程序设计试题及答案第一章基础知识一、填空1.每个C程序都必须有且仅有一个________函数。

2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。

3.软件是程序,以及______、使用和维护所需要的所有文档。

4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类6.C语言是由________组成的。

7.C语言的函数可分为主函数main、标准库函数和_________。

8.一个函数是由两部分组成的,即:________和函数体。

9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14.C程序的执行均是由执行_________开始。

15.函数体即为包含在{}内的部分。

它分为________和为完成功能任务由若干个C语句组成的执行部分。

16.C语言程序中一条简单语句是以________字符作为结束符的。

17.C语言是结构化、________的程序设计语言。

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是()。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。

A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是()。

A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。

A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是()。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是()。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是()。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为()。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是()。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是()A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是( )A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是()int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

小学c编程竞赛试题及答案

小学c编程竞赛试题及答案

小学c编程竞赛试题及答案小学C编程竞赛试题及答案1. 题目:编写一个C程序,计算并输出1到100之间所有奇数的和。

答案:以下是一个简单的C程序,用于计算1到100之间所有奇数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("The sum of odd numbers from 1 to 100 is %d\n", sum);return 0;}```2. 题目:编写一个C程序,实现两个整数的加法,并输出结果。

答案:以下是一个简单的C程序,用于实现两个整数的加法。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum of %d and %d is %d\n", num1, num2, sum); return 0;}```3. 题目:编写一个C程序,找出并输出一个数组中的最大值。

答案:以下是一个C程序,用于找出并输出一个数组中的最大值。

```c#include <stdio.h>int main() {int arr[] = {10, 20, 30, 40, 50};int max = arr[0];for (int i = 1; i < 5; i++) {if (arr[i] > max) {max = arr[i];}}printf("The maximum value in the array is %d\n", max); return 0;}```4. 题目:编写一个C程序,实现字符串的反转。

c 等级考试试题及答案

c 等级考试试题及答案

c 等级考试试题及答案C 等级考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. stringC. boolD. list答案:A2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. intD. variable$答案:B3. C语言中,用于定义一个整型变量的关键字是:A. floatB. doubleC. intD. char答案:C4. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. >D. <答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. -=答案:A6. 在C语言中,用于输入的函数是:A. printf()B. scanf()C. puts()D. gets()答案:B7. 下列哪个选项是C语言中的循环控制语句?A. ifC. forD. while答案:C8. 在C语言中,以下哪个选项用于定义一个字符型变量?A. intB. charC. floatD. double答案:B9. C语言中,用于输出的函数是:A. scanf()B. printf()C. gets()答案:B10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. 以上都是答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:intarray_name[size]; 其中,array_name 是数组的______,size 是数组的______。

答案:名称;大小2. C语言中,用于计算两个整数的乘积的运算符是 ______ 。

答案:3. 在C语言中,若要声明一个指向整型的指针变量,可以使用______ 作为类型说明符。

答案:int4. C语言中,用于计算两个整数的和的运算符是 ______ 。

C语言程序设计期末考试试题及参考答案

C语言程序设计期末考试试题及参考答案

一、单项选择题(每题1分,共20分)(1)()是构成C语言程序的基本单位。

A)子例程B)过程C)子程序D)函数(2)下面标识符中正确的是()。

A) d&ef B) 6a C) z4x5c D) a3/b4(3)C语言规定,函数返回值的类型是由()。

A) return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定(4)以下选项中非法的表达式是()。

A) 0<=x<100 B) x+l=x+l C) (char)(65+3) D) i=j=0(5)表达式3.6-5/2+1.2+5%2 的值是()。

A) 3.8 B) 4.8 C) 3.3 D) 4.3(6)设int a=12,则执行完语句a+=a-=a*a后,a的值是()。

A) 552 B) -264 C) 144 D) 264(7)对if语句中表达式的类型,下面正确的描述是()。

A)必须是关系表达式B)必须是关系表达式或逻辑表达式C)必须是关系表达式或算术表达式D)可以是任意表达式⑻设有定义:intnl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是.A) *p=*q; B) p=q; C) *p=&nl; D) p=*q;(9)有以下程序#include <stdio.h>void main()( char cl,c2;cl='A'+'8'*4';c2='A'+'8'-'5‘;printf("%c,%d\n”,cl,c2); }已知字母A的ASCII码为65,程序运行后的输出结果是()。

A) E,D B) D,69 C) E,68 D)输出无定值(10)下列叙述中正确的是()。

A) break语句只能用于switch语句B)在switch语句中必须使用defaultC) break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句(11)设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是()。

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

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

C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(D )A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是(B )A、abcB、12ACC、sunD、 A3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是(A )A、—24B、0C、4D、164、下列运算符中优先级最高的是(B )A、〈B、+C、&&D、==5、在C语言中,运算对象必须是整型数的运算符是(A )A、%B、/C、%和/D、+6、以下关于运算符的优先顺序的描述正确的是(C )A、关系运算符〈算术运算符〈赋值运算符<逻辑与运算符B、逻辑与运算符〈关系运算符<算术运算符〈赋值运算符C、赋值运算符<逻辑与运算符〈关系运算符<算术运算符D、算术运算符〈关系运算符<赋值运算符〈逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是( C )sum=pad=5;pAd=sum++,pAd++,++pAd;printf(“%d\n”,pad);A、7B、6C、5D、48、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )A、 INPUT x、y、z;B、scanf(“%d%d%d”,&x,&y,&z);C、scanf(“%d%d%d",x,y,z);D、read(“%d%d%d”,&x,&y,&z);9、假定从键盘输入23456〈回车〉,下面程序的输出结果是:( C )void main ( ){ int m,n;scanf(“%2d%3d”,&m,&n);printf(“m=%d n=%d\n”,m,n);}A、m=23 n=45B、m=234 n=56C、m=23 n=456D、语句有错误10、若运行时,给变量x输入12,则以下程序的运行结果是(A )main(){ int x,y;scanf(“%d”,&x);y=x>12?x+10:x—12;printf(“%d\n”,y);}A、0B、22C、12D、1011、C语言中while和do-while循环的主要区别(A )A、do—while的循环体至少执行一次B、while 的循环控制条件比do—while的循环控制条件严格C、do—while允许从外部转到循环体内D、do-while的循环体不能是复合语句12、以下对二维数组的正确说明的语句是( C )A、int a[3][]B、float a(3,4)C、double a[3][4]D、float a(3)(4)13、以下程序的输出结果是(C)main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for (i=0;i<3;i++)printf(“%d”,x[i][2—i]);}A、1,5,9B、1,4,7C、3,5,7D、3,6,914、以下能对一维数组a进行正确初始化的语句是(C )A、int a[10]=(0,0,0,0,0);B、int a[10]={ };C、int a[10]={0};D、int a[10]={10 *1};15、以下程序执行后的输出结果是:(A )int fun(int a,int b,int c){ a=456;b=567;c=678;}void main(){int x=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\n",z,y,x);}A、30,20,10B、10,20,30C、10,30,50D、10,30,4016、以下说法正确的是(A)如果在一个函数中的复合语句中定义了一个变量,则该变量A、只在该复合语句中有效B、在该函数中有效C、在本程序范围内有效D、为非法变量17、以下函数调用语句中含有的实参个数为(B )func((exp1,exp2,exp3),(exp4,exp5));A、1B、2C、4D、518、在C语言程序中,以下说法正确的是( B )。

第一阶段C语言考核试题(含答案)

第一阶段C语言考核试题(含答案)

第一阶段C语言考核试题一、填空题1、把以下十进制数转换成二进制数和十六进制(15分)(1)151111F(2)431010112B(3)13231010010101152B二、请写出以下整型的英文形式与取值范围、字节数(15分)1、无符号基本整型2、长整型(范围用指数形式表示)3、有符号字符型unsigned int long char 216-1或0—65535−231—(231−1)-128—127 (27)241三、写出以下程序的运行结果(10分)Array #include<stdio.h>void main(){int a=3,b=7,c=5;c+=(a++)+(b%2);printf(“%d”,c);}9四、程序改错(直接在语句上改10分)#include<studio.h> ->int main(){int a;b;c;scan(“a”);if(a<10)a++;else if(a=>10)a+10;print(“a=%d/n,a”);return 0;}五、程序设计(50分)(额外分10)设计一个程序,要求达到以下功能①入一个0 – 100的数②设置ABCDE,5个区间,每个区间大小为20③判断输入的数位于哪个区间,并进行相应处理④输出这个数所在的区间⑤在A区间:判断这个数是否为奇数,如果是奇数则输出YES,否则NO在B区间:如果这个数是素数则输出(素数),否则求出小于它的最近素数并输出在C区间:如果这个数的ASCII码对应的字符是英文字符,输出这个字符在D区间:求出这个数所有的因数,并输出结果在E区间:数大于15或小于5,输出英文(I’m not newbie)数在12—8这个区间输出(第一阶段测试完成)。

c语言试卷1及答案

c语言试卷1及答案
四、读简单程序写结果(每题 3 分)
1.有以下程序 main() { int i; for(i=0;i<3;i++) switch(i) { case 1:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i); } }
执行后输出结果是 2.有以下程序
A. 5.5
B. 5.0
C. 6
D. 6.0
13. 在 C 语言中,5 种基本数据类型的存储空间长度的排列顺序为( )。
A.char < int < long <= float < double
B. char = int < long <= float < double
C. char < int < long = float = double
main() { int i=1,j=1,k=2;
if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); } 执行后输出结果是
3.有以下程序
main() { int a=5,b=4,c=3,d=2;
if(a>b>c) printf("%d\n",d);
else if((c-1>=d)==1) printf("%d\n",d+1);
班级:
姓名:
诸城市技工学校 2014―2015 学年第二学期期末考试
《C 程序设计》试题
命题:郭霞 审核:卢桂强
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++程序设计模拟试卷(一)一、单项选择题(本大题共20小题,每小题 1 分,共20 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

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

1•编写0++程序大凡需经过的几个步骤依次是()A. 编辑、调试、编译、连接B.编辑、编译、连接、运行C.编译、调试、编辑、连接D.编译、编辑、连接、运行答案:B解析:经过编辑、编译、连接和运行四个步骤。

编辑是将C++源程序输入计算机的过程,保存文件名为cpp。

编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。

连接是将目标文件obj 转换为可执行程序的过程,结果为exe。

运行是执行exe,在屏幕上显示结果的过程。

2•决定C++语言中函数的返回值类型的是()A. return 语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:函数的返回值类型由定义函数时的指定的数据类型决定的。

A 项的表达式的值要转换成函数的定义时的返回类型。

3. 下面叙述不正确的是()A. 派生类大凡都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:继承方式有三种:公有、私有和保护。

多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。

赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。

基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。

4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B对象C.函数体D. 数据块答案:A解析:类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。

5. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A. 私有成员B. 公有成员C. 保护成员D. 保护成员或私有成员答案:A解析:在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类的成员函数来访问。

所以选择A项。

6. 对基类和派生类的关系描述中,错误的是()A. 派生类是基类的具体化B. 基类继承了派生类的属性C. 派生类是基类定义的延续D. 派生类是基类的特殊化答案:B解析:派生类的成员一个是来自基类,一个来自本身,所以派生类是基类的扩展,也是基类的具体化和特殊化,派生类是对基类扩展。

B 项基类不能继承派生类成员,所以错误。

7. 关于this 指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。

C. 保证基类保护成员在子类中可以被访问。

D. 保证基类公有成员在子类中可以被访问。

答案:AA. 例外的对象调用例外名称的函数B. 例外的对象调用相同名称的函数C. 一个对象调用例外名称的函数D. 一个对象调用例外名称的对象答案:B解析:多态性有两种静态多态性和动态多态性,静态多态性是指调用同名函数,由于参数的例外调用例外的同名函数;动态多态性是指例外对象调用同名函数时,由于对象例外调用例外的同名函数。

多态性肯定具有相同的函数名,所以选择B项。

9. 一个函数功能不太繁复,但要求被经常调用,则应把它定义为()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数答案:A解析:内联函数特征代码少,经常调用,执行效率高。

重载函数解决统一接口的问题;递归是子程序调用,程序调用要耗费很多空间和时间,循环/ 迭代都比递归有效率得多,递归只是从形式上,逻辑比较简短。

嵌套函数即反复调用,速度较慢。

所以选择 A 项。

10. 下面函数模板定义中不正确的是()A. AB. BC. CD. D答案:A解析:A项中F是一个返回Q类型的值,而return中用返回类型作为返回值错误。

所以选择A 项。

11. 假设ClassY:publicX即类丫是类X的派生类,则说明一个丫类的对象时和删除丫类对象时,调用构造函数和析构函数的次序分别为()A. X,Y Y,XB. X,Y;X,YC. Y,X;X,YD. Y,X;Y,X答案:A解析:派生类构造函数必须对这三类成员进行初始化,其执行顺序:调用基类构造函数;调用子对象的构造函数;派生类的构造函数体。

析构函数在执行过程中也要对基类和成员对象进行操作,但它的执行过程与构造函数凑巧相反,即对派生类新增普通成员进行算帐;调用成员对象析构函数,对派生类新增的成员对象进行算帐;调用基类析构函数,对基类进行算帐,所以选择A项。

12. 合适采用inline 定义函数情况是()A. 函数体含有循环语句B. 函数体含有递归语句C. 函数代码少、经常调用D. 函数代码多、不常调用答案:C解析:内联函数具有程序代码少、经常调用和执行效率高的特征,所以选择C 项。

13. 假定一个类的构造函数为A(int aa,int bb) {a二aa--;b=a*bb;}则执行Ax(4,5);语句后,x.a和x.b的值分别为()A. 3 和15B. 5 和4C. 4 和20D. 20 和5 答案:C解析:a=4因为后减,b的值与a、bb相关,b = 4*5=20,而与aa没有任何关系。

14. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register 答案:A解析:extern 用于声明外部变量的。

register 声明寄存器类型变量。

无cpu类型。

它们都不能声明类成员。

public声明为公有访问权限,所以选择A项。

15. 下列不能作为类的成员的是()D. 另一个类的对象答案:B解析:类的定义,如果有自身类对象,使得循环定义,B项错误。

在类中具有自身类的指针,可以实现链表的操作,当然也可以使用对象的引用。

类中可以有另一个类的对象,即成员对象。

所以选择 B 选项。

16. 使用地址作为实参传给形参,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象答案:D解析:地址作为实参,表示实参与形参代表同一个对象。

如果实参是数值,形参也是普通变量,此时形参是实参的备份。

所以选择 D 项。

17. 下列程序的输出结果是()#include <iostream.h>void main(){int n[][ 3] ={10,20,30,40,50,60};int (*p)[3];p=n;cout<<p[0][0]<<“,“<<*([p 0]+1)<<“,“<<(*p[) 2]<<endl;}A. 10,30,50B. 10,20,30C. 20,40,60D. 10,30,60答案:B解析:如果数组元素都是相同类型的指针,则称这个数组为指针数组。

指针数组大凡用于处理二维数组。

声明的格式为:<数据类型><(*变量名)><[元素个数] >。

p表示指向数组n的行指针。

如果将指针的初始化(*p) [ 3] =b;地址的等价形式:p+i p [ i] *(p+i)都表示b数组第i+1行的第1个元素的首地址。

*(p+i)+jp [i] +j &p 都表示b数组第i+1行、第j+1列元素的地址。

值的等价形式:*(*(p+i)+j) *(p : i] +j) p : i][ j]都表示b数组第i+1、第j+1列元素的值。

所以题目分别访问p[0][0],p[0][1],p[0][2]。

18. 在C++中,使用流进行输入输出,其中用于屏幕输入()A. cinB. cerrC. coutD. clog答案:A解析:(1)标准输入流cin:istream 类的对象。

(2)标准输出流cout:ostream 类的对象。

(3)非缓冲型标准出错流cerr:ostream 类的对象。

(4)缓冲型标准出错流clog:ostream 类的对象19. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()A. x.aB. x.a()C. x->aD. (*x) .a()答案:B解析:对象访问成员的方式为:对象名.成员。

指针可以有两种:(*对象指针).成员或者对象指针->成员。

A选项是访问数据成员,B项是访问成员函数。

20. 关于对象概念的描述中,说法错误的是()A. 对象就是C语言中的结构变量B. 对象代表着正在创建的系统中的一个实体C. 对象是类的一个变量D. 对象之间的信息传递是通过消息进行的答案:A解析:A对象在C+ +中才有,包括数据和操作两项,而C中的变量只有数据,没有操作。

所以 A 项错误。

二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。

错填、不填均无分。

(非缓冲)。

2. 每个对象都是所属类的一个___。

答案:实例[解析]类是对象的抽象,对象是类的一个实例。

3. 在已经定义了整型指针ip 后,为了得到一个包括10 个整数的数组并由ip 所指向,应使用语句___。

答案:int *ip=new int [10];[解析]new 用来动态开辟空间。

常用来产生动态数组及对象构造函数。

4. 函数模板中紧随template 之后尖括号内的类型参数都要冠以保留字___。

答案:class[解析]类模板的使用。

template vclass 7>也可以引入多参数的如:template <classT1,class T2,..,. class Tn>5. 定义类的动态对象数组时,系统只能够自动调用该类的___构造函数对其进行初始化。

答案:无参[解析]使用new 创建对象数组,调用无参构造函数。

6. 表达式cout<<end1 还可表示为___。

答案:\ n'[解析]endl与字符常量\n等价。

7•在C++中,访问一个指针所指向的对象的成员所用的指向运算符是___。

答案:->[解析]指针使用成员有两种方法:“->”指向运算符和“.成”员访问运算符8•假如一个类的名称为MyClass使用这个类的一个对象初始化该类的另一个对象时,可以调用___构造函数来完成此功能。

答案:复制或拷贝复制或拷贝构造函数就是用对象初始化新的对象。

9. 对赋值运算符进行重载时,应声明为___函数。

相关文档
最新文档