C++考试题库
C语言考试试题库之判断题

C语言考试试题库之判断题完美.格式.编辑三、判断题(10道小题,共10分)1、C语言具有简洁明了的特点。
(1分)正确2、预处理命令的前面必须加一个“#”号。
(1分)正确3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。
(1分)正确4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。
(1分)正确5、continue不是结束本次循环,而是终止整个循环的执行。
(1分)错误6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分)错误7、.函数的实参传递到形参有两种方式值传递和地址传递(1分)正确8、直接访问就是直接利用变量的地址进行存取直接访问(1分)正确9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。
(1分)正确10、文件指针和位置指针都是随着文件的读写操作在不断改变。
(1分)错误11、C语言标准格式输入函数scanf()的参数表中要使用变量的地址值。
(1分)正确12、浮点型常量的指数表示中,e是可以省略的。
(1分)错误13、任何表达式语句都是表达式加分号组成的。
(1分)正确14、在switch语句中,每一个的case常量表达式的值可以相同。
(1分)错误15、do-while循环的while后的分号可以省略。
(1分)错误16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志’\\0’。
正确17、C语言函数返回类型的默认定义类型是void(1分)错误18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分)正确19、枚举类型中的元素都具有一个整型值。
(1分)正确20、C语言是一种具有某些低级语言特征的高级语言。
(1分)正确21、case语句后如没有break,顺序向下执行。
(1分)正确专业.资料.整理完美.格式.编辑22、do-while循环至少要执行一次循环语句。
全国计算机等级考试二级C语言真题库之选择题(14)

全国计算机等级考试等级考试真题库之选择题(14)1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A) 12345ABCDEB) EDCBA54321C) ABCDE12345D) 54321EDCBA参考答案:B【解析】栈是先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B)。
2.下列叙述中正确的是()。
A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D) 循环队列中元素的个数是由队头指针和队尾指针共同决定参考答案:D【解析】循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A)错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B)与C)错误。
3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A) O(n)B) O(n2)C)D)参考答案:C【解析】当有序线性表为顺序存储时才能用二分法查找。
可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较次,而顺序查找需要比较n次。
4.下列叙述中正确的是()。
A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表D) 链式存储结构比顺序存储结构节省存储空间参考答案:A【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。
链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误。
5.数据流图中带有箭头的线段表示的是()。
A) 控制流B) 事件驱动C) 模块调用D) 数据流参考答案:D【解析】数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。
C++考试题库及答案精简

C++考试题库及答案精简(共48页)-本页仅作为预览文档封面,使用时请删除本页-C++期末考试题库一、单选题:1. 能作为C++程序的基本单位是( C )。
A. 字符B. 语句C. 函数D. 源程序文件2. 程序中主函数的名字为( A )。
A. mainB. MAINC. MainD. 任意标识符3. 关于C++与C 语言的关系的描述中,(D )是错误的。
A. C 语言是C++的一个子集;B. C 语言与C++是兼容的;C. C++对C 语言进行了一些改进;D. C++和C 语言都是面向对象的4. 可用作C++语言用户标识符的一组标识符是( B )。
A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof5. 存储以下数据,占用存储字节最多的是( D )。
A. 0B. ‘0’C. “0”D.6. 设int a=12;则执行完语句a+=a*a ;后,a 的值是( C )。
A. 12B. 144C. 156D. 2887. 假设在程序中 a 、b 、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc1的表达式是( D )。
A. a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. a/b/c8. 以下说法中正确的是(B )。
A. C++程序总是从第一个定义的函数开始执行B. C++程序总是从main 函数开始执行C. C++函数必须有返回值,否则不能使用函数D. C++程序中有调用关系的所有函数必须放在同一个程序文件中9. 下面有关构造函数的描述中,正确的是(B )。
A. 构造函数可以带有返回值B. 构造函数的名字与类名完全相同C. 构造函数必须带有参数D. 构造函数必须定义,不能缺省.在声明类时,下面的说法正确的是( )。
A. 可以在类的声明中给数据成员赋初值B. 数据成员的数据类型可以是registerC. private ,public ,protected 可以按任意顺序出现D. 没有用private ,public ,protected 定义的数据成员是公有成员11.在下面有关析构函数特征的描述中,正确的是( A )。
c语言考试题

c语⾔考试题1、若要⽤fopen函数打开⼀个新的⼆进制⽂件,该⽂件要既能读也能写,则⽂件⽅式字符串应是()。
A、"rb+"B、"ab++"C、"ab"2、下⾯说法中错误的是( )。
A、共⽤体变量的地址和它各成员的地址都是同⼀地址B、共⽤体内的成员可以是结构变量,反之亦然C、函数可以返回⼀个共⽤体变量D、在任⼀时刻,共⽤体变量的各成员只有⼀个有效3、在定义构造数据类型时,不能()。
A、末尾不写分号B、说明存储类型C、初始化D、说明变量4、变量的指针,其含义是指该变量的()。
A、名B、地址C、⼀个标志D、值5、定义int a,x;,则能正确赋值的语句是( ).A、a=(x=1,x++,x+2);B、a="good";C、a=(a[1]+a[2])/2;D、a*=*a+1;6、以下程序的输出结果是( ).main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A、4B、3C、1D、27、以下叙述中正确的是(A)。
A、宏替换不占⽤运⾏时间,只占编译时间B、使⽤带参的宏时,参数的类型应与宏定义时的⼀致C、在程序的⼀⾏上可以出现多个有效的预处理命令⾏D、在以下定义中 C R 是称为"宏名"的标识符 #define C R 0458,在C语⾔程序中(B)。
A、函数的定义可以嵌套,但函数的调⽤不可以嵌套B、函数的定义不可以嵌套,但函数的调⽤可以嵌套C、函数的定义和函数调⽤不可以嵌套D、函数的定义和函数调⽤均可以嵌套9.在C语⾔中,调⽤函数除函数名外,还必须有(A)。
A、( )B、函数预说明C、实际参数D、函数返回值10.以下对C语⾔函数的描述中,正确的是(B)。
A、C函数既可以嵌套定义⼜可以递归调⽤B、C程序必须由⼀个或⼀个以上的函数组成C、函数必须有返回值,否则不能使⽤函数D、C程序中有调⽤关系的所有函数必须放在同⼀个程序⽂件中11.以下函数的类型是(C )。
计算机二级《C语言》模拟试题及答案

计算机二级《C语言》模拟试题及答案计算机C语言是学计算机设计的根底语言,同学们学得怎么样了呢?为同学分享最新的C语言考试题库,希望能帮助到大家学习!1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中=的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.以下表达中正确的选项是( )。
A.一个逻辑数据构造只能有一种存储构造B.逻辑构造属于线性构造,存储构造属于非线性构造C.一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率D.一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率3.简单的交换排序方法是( )。
A.快速排序B.选择排序C.堆排序D.冒泡排序4.关于构造化程序设计原那么和方法的描述错误的选项是( )。
A.选用的构造只准许有一个入口和一个出口B.复杂构造应该用嵌套的根本控制构造进展组合嵌套来实现C.不允许使用GOT0语句D.语言中假设没有控制构造,应该采用前后一致的方法来模拟5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。
A.可重用性差B.平安性差C.非持久性D.冗余性6.面向对象的设计方法与传统的面向过程的方法有本质不同,它的根本原理是( )。
A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.不强调模拟现实世界中的算法而强调概念7.软件设计包括软件的构造、数据接口和过程设计,其中软件的过程设计是指( )。
A.模块间的关系B.系统构造部件转换成软件的过程描述C.软件层次构造D.软件开发过程8.两个或两个以上模块之间关联的严密程度称为( )。
A.耦合度B.内聚度C.复杂度D.数据传输特性9.以下描述错误的选项是( )。
A.继承分为多重继承和单继承B.对象之间的通信靠传递消息来实现C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征D.类是具有共同属性、共同方法的对象的集合10.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
计算机国二C语言考试试题 第六套

第六套1.树是结点的集合,它的根结点数目是( )A.有且只有1B.1或多于1C.0或1D.至少2分析:树是一个或多个结点组成的有限集合,其中一个特定的结点称为根,其余结点分为若干个不相交的集合。
每个集合同时又时一棵树。
树有且只有1个根结点。
2.在设计程序时,应采纳的原则之一是( )A.不限制goto语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解分析:滥用goto语句将使程序流程无规律,可读性差,因此A)不选;注解行有利于对程序的理解,不应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不是越短越好,C)也不选。
3.下列叙述中,不属于软件需求规格说明书的作用的是( )A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析分析:软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。
它有以下几个方面的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。
4.单个用户使用的数据视图的描述称为( )A.外模式B.概念模式C.内模式D.存储模式分析:选项A正确,外模式是用户的数据视图,也就是用户所见到的数据模式;选项B)不正确,全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;选项C)不正确,物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;选项D)不正确,存储模式为内模式。
5.SQL语言又称为( )A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言分析:结构化查询语言(Structured Query Language,简称SQL)是集数据定义、数据操纵和数据控制功能于一体的数据库语言。
2019年建筑《安全员》C证考试题及答案
2019年建筑《安全员》C证考试题库及答案单选题(4个选项中,只有1个正确答案)1、安全生产管理是实现安全生产的重要( B )。
A.作用B.保证C.依据D.措施2、安全是( D )。
A.没有危险的状态B.没有事故的状态C.舒适的状态D.生产系统中人员免遭不可承受危险的伤害3、依据《建设工程安全生产管理条例》,施工单位应当设立安全生产( D )机构,配备专职安全生产管理人员。
A.检查B.监督C.监理D.管理4、某装修工程装修建筑面积12000平方米,按照建设部关于专职安全生产管理人员配备的规定,该装修工程项目应当至少配备( B )名专职安全生产管理人员。
A.1 B.2 C.3 D.45、某建筑工程建筑面积5万平方米,按照建设部关于专职安全生产管理人员配备的规定,该建筑工程项目应当至少配备( C )名专职安全生产管理人员。
A.1 B.2 C.3 D.46、依据《建设工程安全生产管理条例》,建设行政主管部门在审核发放施工许可证时,应当对建设工程是否有( D )进行审查。
A.安全规章制度B.安全管理机构C.安全生产责任制D.安全施工措施7、施工单位对因建设工程施工可能造成损害的毗邻建筑物、构筑物和地下管线等,采取( C )A.防范措施B.安全保护措施C.专项防护措施D.隔离措施8、( D )是建筑施工企业所有安全规章制度的核心。
A.安全检查制度B.安全技术交底制度C.安全教育制度D.安全生产责任制度9、《建设工程安全生产管理条例》规定,施工单位( A )依法对本单位的安全生产工作全面负责。
A.主要负责人B.董事长C.分管安全生产的负责人D.总经理10、( C )对建设工程项目的安全施工负责。
A.专职安全管理人员B.工程项目技术负责人C.项目负责人D.施工单位负责人11、《建设工程安全生产管理条例》规定,施工单位的项目负责人应根据工程的特点组织制定安全施工措施,消除安全事故隐患,( A )报告生产安全事故。
C++考试题库及答案精简
C++期末考试题库一、单选题:1.能作为C++程序的基本单位是(C)。
A.字符B.语句C.函数D.源程序文件2.程序中主函数的名字为(A )。
A.mainB.MAINC.MainD.任意标识符3.关于C++与C 语言的关系的描述中,(D )是错误的。
A.C 语言是C++的一个子集;B.C 语言与C++是兼容的;C.C++对C 语言进行了一些改进;D.C++和C 语言都是面向对象的4.可用作C++语言用户标识符的一组标识符是(B )。
A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof5.存储以下数据,占用存储字节最多的是(D )。
A.0B.‘0’C.“0”D.0.06.设inta=12;则执行完语句a+=a*a ;后,a 的值是(C)。
A.12B.144C.156D.2887.假设在程序中a 、b 、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc1的表达式是(D)。
A.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c8.以下说法中正确的是(B )。
A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main 函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中9.下面有关构造函数的描述中,正确的是(B )。
A.构造函数可以带有返回值B.构造函数的名字与类名完全相同C.构造函数必须带有参数D.构造函数必须定义,不能缺省10.10.在声明类时,下面的说法正确的是()。
A.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是registerC.private,public,protected可以按任意顺序出现D.没有用private,public,protected定义的数据成员是公有成员11.在下面有关析构函数特征的描述中,正确的是(A)。
C语言考试题库之填空题
printf("s=%d",s);
}
79、局部变量只在该[函数]有效。
80、设char *s=”\ta\017bc”;则指针变量s指向的字符串所占的字节数是【2】个
81、以下程序的输出结果是。【10】
main()
{ int arr[ ]={30,25,20,15,10,5}, *p=arr;
50、int a=24; printf("%x ", a );输出结果是。[18]
51、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式。
[x<|y<z]
52、下面程序的运行结果是。[x=1,y=20]
#include<stdio.h>
main()
{ int i,x,y;
i=x=y=0;
do {++i;
if(i%2!=0) {x=x+i;i++;}
y=y+i++;
} while (i<=7);
printf("x=%d,y=%d\n",x,y);
}
53、形式参数也是【局部】变量。
54、以下程序
#include <stdio.h>
fun(int x, int y, int *cp, int *dp)
28、在一个C源程序中,注释部分二侧的分界符为。【/*和*/】
29、在C语言程序中,转义字符“\n”的功能是[换行]。
30、当a=5,b=4,c=2时,表达式a>b!=c的值是。【1】
c语言试题库简单选择题
1.下列语句中符合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;2.在C语言中,要求运算数必须是整型的运算符是(A) % (B) / (C) < (D) !3.以下有4组用户标识符,其中合法的一组是(A) For (B) 4d (C) f2_G3 (D) WORD4. 在C语言中,形参的缺省存储类是(A) auto (B) register (C) static (D) extern5. 以下不能正确进行字符串赋初值的语句是(A) char str[5]="good!"; (B) char str[]="good!";(C) char *str="good!"; (D) char str[5]={‘g',‘o',‘o',‘d'};6.若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为(A)无确定值(B) a的地址(C) 512 (D) 5117.以下程序中,while循环的循环次数是Dmain(){ int i=0;while(i<10){ if(i<1) continue;if(I==5) break;i++;}......}(A) 1 (B) 10(C) 6 (D)死循环,不能确定次数8.假定x和y为double型,则表达式x=2,y=x+3/2的值是(A) 3.500000 (B) 3 (C) 2.000000 (D) 3.0000009.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(A)地址传递(B)单向值传递(C)由实参传给形参,再由形参传回实参(D)传递方式由用户指定10. 已知字母A的ASCⅡ码为十进制的65,下面程序的输出是(A) 67,D (B) B,C (C) C,D (D)不确定的值main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';PRINTF("%d,%c\n",ch1,ch2);}11.下面程序的输出是(A) 0 (B) 1 (C) 3 (D)不确定的值main(){ int x=10,y=3;printf("%d\n",y=x/y);}12.若执行下面的程序时从键盘上输入3和4,则输出是(A) 14 (B) 16 (C) 18 (D) 20main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(a5) printf("%d\n",x);else printf("%d\n,x--);}13.下面程序的输出是(A) 3 (B) 4 (C) 1 (D) 2main(){ int a[10]={ 1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}14.执行下面程序中输出语句后,a的值是(A) 65 (B) 20 (C) 15 (D) 10main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}15.下面程序的输出是(A) 0 1 2 3 (B) 0 4 0 10 (C) 0 4 5 15 (D) 1 4 5 15main(){ enum team { my,your=4,his,her=eis+10};printf("%d%d%d%d\n",my,your,his,her);}16.下面程序的输出是(A) 0 0 3 (B) 0 1 2 (C) 1 0 3 (D) 1 1 2main(){ int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf("%d%d%d%\n",k,a,b);}17.下列函数的功能是(A)求字符串的长度(B)比较两个字符串的大小(C)将字符串X复制到字符串Y (D)将字符串X连接到字符串Y后面int fun1(chat* x){char*y=x;while(*y++);return(y-x-1);}18.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof( fp)的返回是(A)EOF (B)-1 (C)非零值(D)NULL19.根据下面的定义,能印出字母M的语句是(A)printf("%c\n",class[3].name);(B)printf("%c\n",class[3].name[1]);(C)printf("%c\n",class[2].name[1]);(D)printf("%c\n",clsaa[2].name[0]);struct person{ char name[9]; int age; };struct person class[10]={"john",17,"paul",19,"mary",18,"adam",16};20.下列关于C语言数据文件的叙述中正确的是(A)文件由ASCII码字符序列组成,C语言只能读写文本文件(B)文件由二进制数据序列组成,C语言只能读写二进制文件(C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件(D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件21.C语言提供的合法的数据类型关键字是(A)Double (B)short (C)integer (D)Char22.在C语言中,合法的长整型常数是(A)0L (B)4962710 (C)0.054838743 (D)2.1869e1023.表达式:10!=9的值是(A)true (B)非零值(C)0 (D)124.合法的C语言中,合法的长整型常数是(A)'\t' (B)"A" (C)65 (D)A25.若有说明和语句:int a=5;a++;此处表达式a++的值是(A)(A)7 (B)6 (C)5 (D)426.C语言中最简单的数据类型包括(A)整型、实型、逻辑型(B)整型、实型、字符型(C)整型、字符型、逻辑型(D)整型、实型、逻辑型、字符型27.为表示关系x大于等于y大于等于z,应使用C语言表达式(A)(x>=Y)&&(Y>=z) (B)(x>=Y)AND(y>=z) (C)(x>=Y>=z) (D)(x>=Y)&(Y>=z)28.下列对C语言字符数组的描述中错误的是(A)字符数组可以存放字符串(B)字符数组中的字符串可以整体输入、输出(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值(D)不可以用关系运算符对字符数组中的字符串进行比较29.以下说法中正确的是(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main()函数中定义(C)C语言程序总是从main()函数开始执行(D)C语言程序中的main()函数必须放在程序的开始部分30.在下列选项中,不正确的赋值语句是(A)++t; (B)n1=(n2=(n3=0));(C)k=i==j; (D)a=b+c=1;31.若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是(A)I= *P; (B)*P=*&J; (C)i=&j; (D)i=* *p;32.不能把字符串:Hello!赋给数组b的语句是(A)char b[10]={'H','e','l','l','o','!'};(B)char b[10];b="Hello!";(C)char b[10];strcpy(b,"Hello!");(D)char b[10]="Hello!";33.若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4的表达式是(A)a[g-c] (B)a[4] (C)a['d'-'c'] (D)a['d'-c]34.若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5 (D)p+535.若有以下说明:int w[3][4]o={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是(A)*w[1]+1 (B)p++,*(p+1)(C)w[2][2] (D)p[1][1]36.若程序中有下面的说明和定义struct abc{int x;char y;}struct abc s1,s2;则会发生的情况是(A)编译进错(B)程序将顺利编译`连接`执行(C)能顺利通过编译`连接`但不能执行(D)能顺利通过编译`但连接出错37.能正确表示a≥10或a≤0的关系表达式是(A)a>=10 or a<=0 (B)a>=10│a<=0(C)a>=10││a<=0 (D)a>=10 ││a<=038.t为int类型,进人下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是(A)循环控制表达式的值为0 (B)循环控制表达式的值为1(C)循环控制表达式不合法(D)以上说法都不对39.下列程序的输出结果是(A) 5 (B) 6 (C) 7 (D) 8struct abc{ int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0],a+s[1],b;printf("%d \n",t);}40.有以下程序#include <stdio.h>main(){ printf("%d\n",NULL); }程序运行后的输出结果是(A)0 (B)1 (C)-1 (D)NULL没定义,出错41.C语言源程序名的后缀是(A).exe (B).C (C).obj (D).cp42.可在C程序中用做用户标识符的一组标识符是(A)and (B)Date (C)Hi (D)case43.以下选项中,合法的一组C语言数值常量是(A)028 (B)12. (C).177 (D)0x8A44.以下叙述中正确的是(A)C语言程序将从源程序中第一个函数开始执行(B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行(C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束(D)main可作为用户标识符,用以命名任意一个函数作为主函数45.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是(A)scanf("%d",a,b,c); (B)scanf("%d%d%d",a,b,c);(C)scanf("%d",p); (D)scanf("%d",&p);46.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(A)均占4个字节(B)根据数据的大小来决定所占内存的字节数(C)由用户自己定义(D)由C语言编译系统决定47.若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)x=y==5; (B)x=n%2.5; (C)x+n=I; (D)x=5=4+1;48.有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为(A)55566.0 (B)566.0 (C)7777.0 (D)566777.049.若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是(B)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题,(每题1分,共40分) (下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填写在答题卡相应位置上,答在试卷上不得分)
(1) 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是 A) if((a>B) &&(b>C) ) k=1; B) if((a>B) ||(b>C) ) k=1 else k=0; else k=0 C) if(a<=B) k=0; D) if(a>B) k=1; else if(b<=C) k=1; else if(b>C) k=1; else k=0; else k=0;
(2) 有以下程序 main( ) { char k; int I; for(i=1;i<3;i++) { scanf(“%c”,&k); switch(k) { case ‘0’: printf(“another\n”); case ‘1’: printf(“number\n”); } } } 程序运行时,从键盘输入:01,程序执行后的输出结果是 A) another B) another C) another D) number number number number number number another number
(3) 有以下程序 main( ) { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d\n”,x,y,z); } 程序执行后的输出结果是 A) 3,2,0 B) 3,2,-1 C) 4,3,-1 D) 5,-2,-5
(4) 有以下程序 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; 第 2 页 共 33 页
printf(“%d\n”,s); } 程序执行后的输出结果是 A) 自然数1~9的累加和 B) 自然数1~10的累加和 C) 自然数1~9中的奇数之和 D) 自然数1~10中的偶数之和
(5) 有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是 A) n=5 B) n=2 C) n=3 D) n=4
(6) 若程序中定义了以下函数 double myadd(double a,double B) { return (a+B) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 A) double myadd(double a,B) ; B) double myadd(double,double); C) double myadd(double b,double A) ; D) double myadd(double x,double y);
(7) 有以下程序 char fun(char x , char y) { if(xreturn y; } main( ) { int a=’9’,b=’8’,c=’7’; printf(“%c\n”,fun(fun(a,B) ,fun(b,C) )); } 程序的执行结果是 第 3 页 共 33 页
A) 函数调用出错 B)8 C)9 D)7 (8) 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是 A) p=1; B) *q=2; C) q=p; D) *p=5;
(9) 有以下程序 void f(int v , int w) { int t; t=v;v=w;w=t; } main( ) { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf(“%d,%d,%d\n”,x,y,z); } 执行后输出结果是 A) 1,2,3 B) 3,1,2 C) 1,3,2 D) 2,3,1
(10) 有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是 A) 5 B) 6 C) 8 D) 9
(11) 有以下程序 main( ) { char a[]=”abcdefg”,b[10]=”abcdefg”; printf(“%d %d\n”,sizeof(A) ,sizeof(B) ); } 执行后输出结果是 A) 7 7 B) 8 8 C) 8 10 D) 10 10
(12) 若以下选项中的变量已正确定义,则正确的赋值语句是 A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3; (13) 在下列c语言中运算对象必须是整型的运算符是 A) %= B) / C)= D) *=
(14)若有以下程序段;int c1=1,c2=2;c3=1.0/c2*c1;则执行后,c3中的 值是 。 A) 0 B) 0.5 C) 1 D) 2 第 4 页 共 33 页
(15) 有以下定义 #include char a[10],*b=a; 不能给数组a输入字符串的语句是 A) gets(A) B) gets(a[0]) C)gets(&a[0]); D) gets(B) ;
(16) 有以下程序 main( ) { char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”}; printf(“%d\n”,strlen(p[4])); } 执行后输出结果是 A) 2 B) 3 C) 4 D) 5
(17) 有以下程序 int a=2; int f(int *A) {return (*A) ++;} main( ) { int s=0; { int a=5; s+=f(&A) ; } s+=f(&A) ; printf(“%d\n”,s); } 执行后输出结果是 A) 10 B) 9 C) 7 D) 8
(18) 有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2); printf(“%d\n”,i); } 执行后输出结果是 A) 28 B) 22 C) 16 D) 4
(19) 设有以下语句 typedef struct S { int g; char h;} T; 第 5 页 共 33 页
则下面叙述中正确的是 A) 可用S定义结构体变量 B)可以用T定义结构体变量 C)S是struct类型的变量 D)T是struct S类型的变量
(20) x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y;的功能 是 。 A) 把x和y按从大到小排列 B) 把x和y按从小到大排列 C) 无确定结果 D) 交换x和y中的值 三、填空题(每空4分,共40分) (请将每一个空的正确答案写在答题卡【1】至【10】序号的横线上, 答在试卷上不得分)
(1) 在关系数据库中,把数据表示成二维表,每一个二维表称为【1】 。 (2) 以下程序运行时若从键盘输入:34 78 90。输出结果是 【2】 。 #include main() { int i=0,j=0,k=0; scanf("%d%*d%d",&i,&j,&k); printf("%d%d%d\n",i,j,k); } (3) 以下程序运行后的输出结果是 【3】 。 #define S(x) 5*x*x+1 main() { int i=6,j=8; printf("%d\n",S(i+j)); } (4) 以下程序运行后的输出结果是 【4】 main() { int a=13,b=4,c=15,t=78; if(b if(a printf("%d%d%d\n",a,b,c); } (5) 以下程序运行后的输出结果是 【5】 main() { int a,b,c a=20;b=30;c=(a%b<1)||(a/b>1); printf("%d %d %d\n",a,b,c); 第 6 页 共 33 页
} (6)已知字符A的ACSII码值为65,以下语句的输出结果是【6】 char ch=’B’; printf(“%c %d\n”,ch,ch);
(7)有以下语句段 int n1=50,n2=60; printf(“ 【7】 ”,n1.n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20
(8)有以下程序 main( ) { int t=1,i=5; for(;i>=0;i--) t*=i; printf(“%d\n”,t); } 执行后输出结果是【8】 。
(9)有以下程序 main( ) { int n=0,m=10,x=12; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%d\n”,x); } 执行后输出结果是【9】 。
(10)有以下程序 #include main( ) { char ch1,ch2; int n1,n2; ch1=getchar(); ch2=getchar(); n1=ch1-‘0’; n2=n1*10+(ch2-‘0’); printf(“%d\n”,n2); } 程序运行时输入:12,执行后输出结果是【10】 。 四、编程题(每题10分,共20分) 1、编程计算S=10! (10分) 2、用选择排序法对n个整数排序(降序)