国家二级C语言机试(C语言基础知识)模拟试卷7
国家二级C语言机试(C语言基础知识)模拟试卷7(总分:60.00,做题时间:90分钟)一、选择题(总题数:30,分数:60.00)1.DOS文件系统的组织结构属于(分数:2.00)A.星形结构B.网星结构C.环形结构D.树形结构√解析:解析:DOS中目录结构是层次的,由根目录到子目录形成一个树型结构。
2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是(分数:2.00)A.C语言程序仅可以编译执行√B.C语言程序仅可以解释执行C.C语言程序既可以编译执行又可以解释执行D.以上说法都不对解析:解析:C语言是编译型语言,只在编译链接后才能执行。
3.以下叙述中错误的是(分数:2.00)A.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件B.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中C.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令√D.C语言源程序经编译后生成后缀为.obj的目标程序解析:解析:C语言中的非执行语句例如宏定义命令,在预编译之后替换到代码中,该命令本身也就不存在了,不会转换成二进制的机器指令。
由高级语言编写的程序称为“源程序”,把由二进制代码表示的程序称为“目标程序”。
C语言编写的源程序就是一ASCII的形式存放在文本文件中的。
C源程序经过C编译程序编译之后生成一个后缀为.obj的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件,把此.obj义件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。
4.下列叙述中错误的是(分数:2.00)A.C程序可以由多个程序文件组成B.一个C语言程序只能实现一种算法√C.C程序可以由一个或多个函数组成D.一个C函数可以单独作为一个C程序文件存在解析:解析:算法是指为解决某个特定问题而采取的确定且有限的步骤。
在C语言中一个算法是用函数来实现的。
一个C语言源程序由许多函数组成,这些函数都是根据实际任务,确定具体的算法,由用户自己编写。
C语言源程序可以放在不同的文件中,同一个源程序中的函数也可放在不同的文件中,所以一个C 语言程序可以实现多种算法。
5.以下叙述中错误的是(分数:2.00)A.结构化程序由顺序、分支、循环三种基本结构组成B.C语言是一种结构化程序设计语言C.使用三种基本结构构成的程序只能解决简单问题√D.结构化程序设计提倡模块化的设计方法解析:解析:结构化程序由顺序结构、选择结构和循环结构3种基本结构组成。
已经证明,由3种基本结构组成的算法可以解决任何复杂的问题。
由3种基本结构所构成的算法称为结构化算法;由3种基本结构所构成的程序称为结构化程序。
(分数:2.00)A.算法正确的程序最终一定会结束B.算法正确的程序可以有零个输入C.算法正确的程序可以有零个输出√D.算法正确的程序对于相同的输入一定有相同的结果解析:解析:算法是指为解决某个特定问题而采取的确定且有限的步骤。
一个算法应该具有5个特征:①有穷性。
一个算法包含的操作步骤应该是有限的。
也就是说,在执行若干个操作步骤之后,算法将结束,而且每一步都在合理的时间内完成。
②确定性。
算法仲的每一条指令必须有确切的含义,不能有二义性,对于相同的输入必能得出相同的执行结果。
③可行性。
算法中指定的操作,都可以通过已经验汪过可以实现的基本运算执行有限次后实现。
④有零个或多个输入。
在计算机上实现的算法是用来处理数据对象的,在大多数情况下这些对象需要通过输入来得到。
⑤有一个或多个输出。
算法的目的是为了求“解”,这些“解”只有通过输出才能得到。
7.以下选项中关于程序模块化的叙述错误的是(分数:2.00)A.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序√C.把程序分成若干相对独立的模块,可便于编码和调试D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序解析:解析:如果应用结构化程序设计方法设计程序,那么可采用自顶向下,逐步细化的设计方法把若干独立模块组装成所要求的程序。
8.C语言源程序名的后缀是(分数:2.00)A..exeB..objC..c √D..cp解析:解析:由C语言构成的指令序列称为C源程序,源程序文件的后辍为“.c”。
源程序经过C编译程序编译生成后缀为“.obj”的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件把目标文件与C语言提供的各种库函数连接起来,生成后缀为“.exe”的可执行文件。
9.关于算法,以下叙述中错误的是(分数:2.00)A.同一个算法对于相同的输入必能得出相同的结果B.一个算法对于某个输入的循环次数是可以事先估计出来的C.某个算法可能会没有输入D.任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕√解析:解析:算法和干旱序不同,算法满足以下特性:算法有5个特性,即有穷性、确定性、可行性、有零个或多个输入以及有一个或多个输出。
算法的确定性是指算法中的每一个步骤都必须有明确定义,不允许有模棱两可的解释,也不允许有多义性,因此对于相同的输入必有相同的输出,同时可以事先估计算法的时间复杂度,对于有循环的算法,以循环体内的循环次数来估测时间复杂度。
10.以下不能用于描述算法的是(分数:2.00)A.程序语句B.E-R图√C.伪代码和流程图D.文字叙述解析:解析:E-R图为实体一联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
描述算法的有流程图,盒图,伪代码,文字捕述以及程序代码描述。
(分数:2.00)A.程序的算法只能使用流程图来描述B.N—S流程图只能描述简单的顺序结构的程序C.计算机可以直接处理C语言程序,不必进行任何转换D.结构化程序的三种基本结构是循环结构、选择结构、顺序结构√解析:解析:结构化程序有三种基本结构循环结构、选择结构、顺序结构,描述算法常见的有文字描述,流程图,盒图,伪代码等。
N—S图为盒图,呵以描述比较复杂的稃序结构,而计算机不能直接处理C程序,只能处理二进制代码。
12.以下叙述中正确的是(分数:2.00)A.在C语言程序设计中,所有函数必须保存在一个源文件中B.在算法设计时,可以把复杂任务分解成一些简单的子任务√C.只要包含了三种基本结构的算法就是结构化程序D.结构化程序必须包含所有的二三种基本结构,缺一不可解析:解析:模块化设计思想,就是把复杂的任务分成简单的子任务,用函数或者过程捕述子任务,C语言中一个程序可以包括多个源文件,每个源文件可以有若干个函数,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成,不一定全要包括这三种结构,而算法不等于程序。
13.以下叙述中正确的是(分数:2.00)A.每个后缀为.c的C语言源程序都应该包含一个main函数B.在C语言程序中,main函数必须放在其他函数的最前面C.每个后缀为.c的C语言源程序都可以单独进行编译√D.在C语言程序中,只有main函数才可单独进行编译解析:解析:每一个C语言的文什或函数都可以单独编译,但只有main函数的才可以执行。
14.有以下程序,在VC6平台上编译运行,程序运行后的输出结果是#include<stdio.h>main(){int s,t,A=10; double B=6: s=sizeof(A); t=sizeof(B); printf("%d,%d\n",s,t);}(分数:2.00)A.4,4B.2,4C.4,8 √D.10,6解析:解析:关键字sizeof用于测试不同类型变量所占的内仔空间,返回所占的字节数。
在VC编译系统中,整型变量占用4个字节的内存空间,而双精度型变量占用8个字节的内存空间。
15.对于一个正常运行的C程序,以下叙述中正确的是(分数:2.00)A.程序的执行总是从程序的第一个函数开始,在main函数结束B.程序的执行总是从main函数开始,在程序的最后一个函数中结束C.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束D.程序的执行总是从main函数开始√解析:解析:一个C语言源程序无论包括了多少函数,在正常情况下总是从main函数开始执行,从main 函数结束。
16.计算机能直接执行的程序是(分数:2.00)A.目标程序B.可执行程序√C.汇编程序D.源程序解析:解析:把由高级语言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标程序”(后缀名为.obj),由汇编语占编写的程序称为“汇编程序”。
为了把源程序转换成机器能接受的目标程序,软件工作者编制了一系列软件,通过这些软件可以把用户按规定语法写出的语句——翻译成二进制的机器指令。
这种具有翻译功能的软件称为“编译程序”,每种高级语言都有与它对应的编译程序。
C源程序经过C 编译程序编译之后生成一个后缀为.obj的二制进文件(称为目标文件),这个目标程序要和C语言的库函数相链接牛成一个后缀为.exe的文件,这个文件可以在操作系统中A接执行,称为叮执行程序。
17.以下叙述中正确的是(分数:2.00)A.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行B.C语言程序将从源程序中第一个函数开始执行C.main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等D.C语言规定必须用main作为主函数名,程序将从此开始执行√解析:解析:C语言规定必须以main作为主函数名。
程序中的main()是主函数的起始行,也是C程序执行的起始行。
每一个可执行的C程序都必须有一个且只能有一个主函数。
一个C程序中可以包含任意多个不同的函数,但只能有一个主函数。
程序要从main()函数开始执行,最后在main()函数中结束。
18.以下叙述中错误的是(分数:2.00)A.C程序在运行过程中所有计算都以二进制方式进行B.所有C程序都需要编译链接无误后才能运行C.C程序在运行过程中所有计算都以十进制方式进行√D.C程序中字符变量存放的是字符的ASCII值解析:解析:计算机程序都是编译为二进制的代码,计算机才会执行。
19.下列叙述中正确的是(分数:2.00)A.在C程序中main函数的位置是固定的B.C程序中所有函数之间都可以相互调用C.每个C程序文件中都必须要有一个main函数D.在C程序的函数中不能定义另一个函数√解析:解析:当一个程序作为另一个程序的子程序,并且它自己不独立执行时,这该程序可以没有主函数。
丰函数的位置不固定,并且可以调用程序中的其他函数,而其他函数不可以调用main()函数。
C语言规定,不能在函数的内部定义函数。
国家二级C语言机试(操作题)模拟试卷7(题后含答案及解析)
国家二级C语言机试(操作题)模拟试卷7(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的功能是:将形参S所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。
例如,形参s 所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <string.h>#include <ctype.h>int fun(char *s){ int sum=0;while(*s) {/**********found**********/if(isdigit(*s))sum+=*s____1____;/**********found**********/____2____;}/**********found**********/return____3____;}main( ){ char s[81];int n;printf(“\nEnter a string:\n\n”);gets(s);n=fun(s);printf(“\nThe result is:%din\n”,n);}正确答案:(1)48或’0’(2)s++(3)sum解析:第一空:“if(isdigit(*s)) sum+=*s-___1___;”如果木s是数字字符的话,sum累加其对应的数字的和,第一空处是将*s转化为对应的数字,由审题分析可知,第一空为“‘0’”或“48”,’0’的ASCII码值为48。
第二空:“while(*s)”循环的终止条件是达到s字符串的结束,因此在循环体内s应该不断往字符串尾移动,故第二空处应为“s++”。
江苏省计算机二级C语言试题笔试 (7)
A.打印机与主机的连接c.声卡与主机的连接
B.显示器与主机的连接D.硬盘与主机的连接
6.下列有关PC机的CPU、内存和主板的叙述中,正确的是( 6 )。
A.大多数Pc机只存一块CPu芯片,即使是“双核”CPU也是一块芯片
B.所有Pentium系列微机的内存条相同,仅有速度和容量大小之分
都有一个IP地址。下面不能作为IP地址的是( 10 )
A.120.34.0.18 C.21.18.33.48
B. 201.256.39.68 D.37.250.68.0
11.常用局域网有以太网、FDDI网等,下面的叙述中错误的是( 11 )
A•总线式以太网采用带冲突检测载波侦听多路访问(CSMA/CD)方法进行通信
19.在下列有关Microsoft Word 2000/2003(中文版)功能的叙述中,( 19 )
A.起始页的页码可以不为1
B.利用菜单命令,可更改所选英文文本的大小写
C.利用菜单命令“字数统计”,可以统计出当前文档的行数和段落数
D.表格中的数据不可排序,也不能利用公式进行统计计算
20.在下列有关Microsoft PowerPoint 200012003(中文版)功能的叙述中,错误的是( )
int t;
int sub(int *s)
{ *s+=1:
t+=*S:
retum t;
}
main()
{ int i;
for(i=1;i<4;i++)
printf("%4d",sub(&i));
}
8.以下程序运行时输出结果是(8)。
2014年9月二级C语言程序设计模拟(7)试题及答案
2014年9月二级C语言程序设计模拟(7)试题及答案单项选择题1.下面关于算法的叙述中,正确的是( )。
A:算法的执行效率与数据的存储结构无关B:算法的有穷性是指算法必须能在执行有限个步骤之后终止C:算法的空间复杂度是指算法程序中指令(或语句)的条数D:以上三种描述都正确参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。
算法的有穷性是指一个算法必须在执行有限的步骤以后结束。
2.下列二叉树描述中,正确的是( )。
A:任何一棵二叉树必须有一个度为2的结点B:二叉树的度可以小于2C:非空二叉树有0个或1个根结点D:至少有2个根结点参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 二叉树是由n≥0个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。
二叉树可以是空集合,根可以有空的左子树或空的右子树。
二叉树不是树的特殊情况,它们是两个概念。
二叉树具有如下两个特点:①非空二叉树只有一个根结点。
②每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
3.如果进栈序列为A,B,C,D,则可能的出栈序列是( )。
A: C,A,D,BB: B,D,C,AC: C,D,A,BD:任意顺序参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 栈的操作原则为后进先出。
选项B)中出栈顺序可按“A进,B进,B出,C进,D进,D出,C出,A出”实现。
4.下列各选项中,不属于序言性注释的是( )。
A:程序标题B:程序设计者C:主要算法D:数据状态参考答案: D 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 注释一般为序言性注释和功能性注释。
序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。
国家二级计算机考试c语言试题及答案
国家二级计算机考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是:A. 变量名必须以字母开头B. 变量名可以包含数字和下划线C. 变量名区分大小写D. 变量名可以以数字开头答案:D2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 函数结构5. 在C语言中,用于定义函数的关键字是:A. intB. voidC. returnD. function答案:B6. C语言中,用于声明一个字符型变量的关键字是:A. intB. charC. floatD. double答案:B7. 在C语言中,以下哪个选项是正确的注释方式?A. //B. /* */C.D. @@答案:B8. C语言中,用于定义一个浮点型变量的关键字是:A. intB. floatC. doubleD. char答案:B9. 在C语言中,以下哪个选项不是合法的整数常量?B. 0x1AC. 0123D. 1.23答案:D10. 在C语言中,以下哪个选项不是合法的标识符?A. _nameB. name2C. 2nameD. name-name答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个数组。
答案:int2. C语言中,使用________函数可以输出格式化的字符串。
答案:printf3. 如果要定义一个指向整型数据的指针,应该使用________关键字。
答案:int*4. 在C语言中,使用________关键字可以定义一个结构体。
答案:struct5. 使用________函数可以获取当前系统时间。
答案:time6. 在C语言中,使用________关键字可以定义一个枚举类型。
全国计算机等级考试二级C语言公共基础知识(附例题)
第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法.1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构.描述算法的工具通常有传统流程图、N—S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量”的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
国家二级C语言机试(选择题)模拟试卷100(题后含答案及解析)
国家二级C语言机试(选择题)模拟试卷100(题后含答案及解析) 题型有:1. 选择题选择题1.数据结构主要研究的是数据的逻辑结构、数据的运算和( )。
A.数据的方法B.数据的存储结构C.数据的对象D.数据的逻辑存储正确答案:B解析:数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方面的内容,即数据的逻辑结构、存储结构和数据的运算。
2.一棵二叉树的前序遍历结果是ABCEDF,中序遍历结果是CBAEDF,则其后序遍历的结果是( )。
A.DBACEFB.CBEFDlAC.FDAEBCD.DFABEC正确答案:B解析:由于该二叉树的前序遍历结果是ABCEDF,显然A结点为根结点,所以后序遍历时A结点是最后遍历的,其后序遍历的结果为CBEFDA。
3.在数据处理中,其处理的最小单位是( )。
A.数据B.数据项C.数据结构D.数据元素正确答案:B解析:数据元素是由多个数据项组成,数据是能够被计算机识别、存储和加工处理的信息载体,数据处理的最小单位是数据项。
4.在数据库系统的内部结构体系中,索引属于( )。
A.模式B.内模式C.外模式D.概念模式正确答案:B解析:内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
5.以下( )不属于对象的基本特征。
A.继承性B.封装性C.分类性D.多态性正确答案:A解析:对象具有特征:标识惟一性,指对象是可区分的:分类性,指可以将具有相同属性和操作的对象抽象成类;多态性,指同一个操作可以是不同对象的行为;封装性,从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法:模块独立性好,对象是面向对象的软件的基本模块,对象内部各种元素彼此结合得很紧密,内聚性强。
6.数据库系统的核心是( )。
国家二级(C语言)机试模拟试卷7(题后含答案及解析)_1
国家二级(C语言)机试模拟试卷7(题后含答案及解析)题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题程序填空题(30分)1.请补充函数fun( ),该函数的功能是:按‘0’到‘9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。
注意:不能使用字符串库函数。
例如:输入“x=112385713.456+0.909*bc”,结果为:1 =3,3=2,5=2,7=1,9=2。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>#define N 1000 void fun(char*tt,int num[]) { int i,j; int bb[10];char *p=tt;for(i=0;i <10;i++) { num[i]=0;bb[i]=0;} while (【】) { if(*p>=‘0’&&*p<=‘9’) 【】;p++;}for(i=1;j=0;i<10;i=i+2,j++)【】; } main( ) {char str[N];int num[10],k;clrscr( );printf(“\nPlease enter a char string:”);gets(str);printf(“\n**The original string**\n”);puts(str);fun(str,num);printf(“\n**The number of letter**\n”);for(k=0;k<5;k++){printf(“\n”);printf(“%d=%d”,2*k+1,num[k]);}printf(“\n”);return;}正确答案:*pbb[*p-’0’]++num[j]=bb[i]解析:第一空:通过移动指针p,指向字符串tt中的各个字符,当指针p所指的字符为,’\0’时,即指向字符串tt的最后一个字符,while循环结束。
计算机二级C语言测试题及答案解析
计算机二级C语言测试题及答案解析计算机二级C语言测试题及答案解析C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,下面给大家整理了计算机二级C语言测试题及答案,欢迎阅读!计算机二级C语言测试题及答案解析1.(A )是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C 开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B ) 。
A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。
C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。
A、-a1B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。
A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。
A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。
计算机二级 C语言 程序设计基础试题七
《程序设计》考试试卷七1.C语言中,如果对函数类型未加说明,则函数的隐含类型为()A.duobleB. voidC.intD.char2.union data{ int i;char c;float f; };定义了()A.共用体类型dataB.共用体变量dataC.结构体类型dataD.J结构体变量data3.设a=3,b=4,表达式a>b?b:a的值是()A.3B. 4C.4:3D.04.下面对枚举类型的叙述,不正确的是()A.定义枚举类型用enum开头B.枚举常量的值是一个常数C.一个整数可以直接赋给一个枚举变量D.枚举值可以用来作判断比较5.求0到50的总和,不正确的程序段是()A. int i,sum;sum=0;for(i=0;i<51;i++) sum+=i;B. int i,sum;for(i=0,sum=0;i<51;sum+=i++);C. int i,sum;i=0;sum=0;for(i<51) {sum+=i;i++;}D. int i,sum=0;for(i=0; ;i++) {if(i>50) break; sum+=i;}6. 表达式 (int)3.6*3的值为()A.9 B. 10 C . 10.8 D.187.程序的结果为()main(){ int a=3,b=4,t=1;if (a>b){t=a;a=b;b=t;}printf(“%d”,a) }A. 3B.4C.1D.08.程序main(){ int a=1;switch(a){ case 1: printf(“1”);case 2: printf(“2”);default: printf(“other”);}} 的结果为()A.12otherB.1C.2D.Other9.函数strcmp(“A”, “B”)的值为( )A.0B.-1C.1D.310.下程序的结果为( )int f(a) int a;{ auto int b=0; static int c=3; b=b+1; c=c+1;return(a+b+c);}main(){ int a=2,i;for (i=0;i<3;i++)printf(“%d”,f(a));}A.789B.777C.8910D.911.合法的C语言标识符是()A.ab&cB.2abC._a1D./n12.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是()A.6.5B.7C.6D.813.标有/* */语句的输出结果为()int x=20; printf(“%d,%o,%x”,x,x,x);/* */A.20,20,20B.20,24,14C.20,14,24D.20,024,1414. 将p定义为指向含n个元素的一维数组的指针变量,正确的语句为()A. int (*p)[n];B. int *p[n];C.int p[n];D. int **p[n];15. 下面程序执行结果是()main(){ char c1,c2;int i=2;c1=’a’;c2=’c’;c1=c1+i; c2=c2-i;printf(“%c,%d”,c1,c2);/*’a’的ASCII码为97*/A.语法错误 B.99,97 C.c,a D.c,9716.请问:071^052的结果是()A.032B.016C.023D.02217.下面对函数的叙述,不正确的是()A.函数的返回值是通过函数中的return语句获得的B.函数不能嵌套定义C.一个函数中有且只有一个return语句D.函数中没有return语句,并不是不带回值18.下面的叙述,不正确的是()A.宏名无类型,其参数也无类型B.宏定义不是C语句,不必在行末加分号C.宏替换只是字符替换D.宏替换定义命令必须写在文件开头19.有定义int a[3][4],输入其3行2列元素的正确语句为()A.scanf(“%d”,a[3,2]);B.scanf(“%d”,*(*(a+2)+1))C.scanf(“%d”,*(a+2)+1);D.scanf(“%d”,*(a[2]+1));20.下面对指针变量的叙述,正确的是()A.指针变量可以加上一个指针变量B.可以把一个整形数赋给指针变量C.指针变量的值可以赋给指针变量D.指针变量不可以有空值,即该指针变量必须指向某一变量二、阅读程序,写出执行结果(每题5分,共20分)1、#include “stdio.h”main(){ int i,k,a[10],p[3];k=5;for ( i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for ( i=0;i<3;i++) k+=p[i]*2;printf(“%d\n”,k); }2、#include “stdio.h”main( ){ int a=2,*p,**pp;pp=&p;p=&a;a++;printf(“%d,%d,%d\n”,a,*p,**p p);}3、main( ){ union{ char s[2];int i;}g;g.i=0x4142;printf(“g.i=%x\n”,g.i);printf(“g.s[0]=%x\t g.s[1]=%x\n”,g.s[0],g.s[1]);g.s[0]=1;g.s[1]=0;printf(“g.s=%x\n”,g.i); }4、#include “stdio.h”main( ){ int x=1;void f1( ),f2( );f1( );f2(x);printf(“x=%d\n”,x);}void f1(void){ int x=3; printf(“x=%d\n”,x);}void f2(x)int x;{ printf(“x=%d\t”,x);}Q (下列每小题只有一个错误,请改正。
国家二级C++机试(继承和派生)模拟试卷7(题后含答案及解析)
国家二级C++机试(继承和派生)模拟试卷7(题后含答案及解析) 题型有:1. 选择题选择题1.对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是( )。
A.公有或私有B.私有C.保护或私有D.公有或保护正确答案:D解析:通过公有继承定义的派生类,其成员函数可以访问基类的公有成员和保护成员,但不能访问基类的私有成员。
知识模块:继承和派生2.建立一个有成员对象的派生类对象时,各构造函数体的执行次序为( )。
A.派生类、成员对象类、基类B.成员对象类、基类、派生类C.基类、成员对象类、派生类D.基类、派生类、成员对象类正确答案:C解析:建立派生类对象的时候,构造函数的执行顺序如下:执行基类的构造函数,调用的顺序按照基类被继承时候的顺序(自左向右)。
然后是执行成员对象的构造函数,调用顺序按照各个成员对象在类中的声明顺序(自上而下),最后是执行派生类的构造函数。
知识模块:继承和派生3.有如下类定义和变量定义:class Parents{ public:int publicData;prlVate:mt privateData;};class ChildA:public Parents{/*类体略*/};class ChildB:private Parents{/*类体略*/);ChildA a:ChildB b:下列语句中正确的是( )。
A.cout<<a.publicData<<endl;B.cout<<a.priVateData<<endl;C.cout<<b.publicData<<endl;D.cout<<b.priVateData<<endl;正确答案:A解析:基类Parents的私有成员privateData在派生类ChildA和ChildB中是不可以访问,所以选项B、D是错误,而派生类ChildB私有继承基类Parents,所以基类Parents的公有成员publicData在派生类ChildB中变为私有成员,只能在派生类ChildB内部访问,因而选项C是错误的。
