2017年计算机二级C语言选择题题库
二级C语言真题2017年09月-(1)及答案解析
二级C语言真题2017年09月-(1)及答案解析二级C语言真题2017年09月-(1)及答案解析(1/40)单项选择题第1题设有一个栈与一个队列的初始状态均为空。
现有一个序列的元素为A,B,C,D,E,F,G,H,先分别将序列中的前4个元素依次入栈,后4个元素依次入队;然后分别将栈中的元素依次退栈,再将队列中的元素依次退队。
最后得到的序列为______。
A.A,B,C,D,H,G,F,EB.D,C,B,A,H,G,F,EC.A,B,C,D,E,F,G,HD.D,C,B,A,E,F,G,H下一题(2/40)单项选择题第2题设某棵树的度为3,其中度为2,1,0的节点个数分别为3,4,15,则该树中总节点数为______。
A.30B.22C.35D.不可能有这样的树上一题下一题(3/40)单项选择题第3题设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ。
则按层次输出(从上到下,同一层从左到右)的序列为______。
A.ABCDEFGHIJB.DCHEBIJFCAC.JIHGFEDCBAD.GHIJDEFBCA上一题下一题(4/40)单项选择题第4题设顺序表的长度为16,对该表进行简单插入排序。
在最坏情况下需要的比较次数为______。
A.15B.60C.30D.120上一题下一题(5/40)单项选择题第5题软件系统总体结构图的作用是______。
A.描述软件系统结构的图形工具B.描述软件系统的控制流C.描述软件系统的数据流D.描述软件系统的数据结构上一题下一题(6/40)单项选择题第6题不属于对象构成成份的是______。
A.属性B.规则C.方法(或操作)D.标识上一题下一题(7/40)单项选择题第7题十进制整数设为整数类Ⅰ,则下面属于类Ⅰ的实例的是______。
A.-518B.0.518C.518E-2D..518上一题下一题(8/40)单项选择题第8题结构化程序设计原则强调的是______。
2017年计算机二级C语言考前试题及答案
2017年计算机二级C语言考前试题及答案一、选择题(每题2分,共40分)1. C语言中,以下哪个选项是合法的数据类型关键字?A. floatB. integerC. charD. double答案:A、C、D2. 在C语言中,以下哪个选项不是合法的变量名?A. aB. b1C. intD. sum答案:C3. 若变量已正确定义并赋值,以下哪个选项中表示变量地址的是?A. &aB. aC. aD. sizeof(a)答案:A4. 在C语言中,以下哪个选项表示逻辑运算符?A. &&B. ||C. !D. All of the above答案:D(以下题目略)二、填空题(每题2分,共40分)11. 在C语言中,定义一个整型变量a,并赋值为10的代码是:______。
答案:int a=10;12. 若已有定义int a=5;,执行语句printf("%d", a++); 后,a的值为______。
答案:613. 在C语言中,判断一个整数是否为偶数的表达式是:______。
答案:a%2==014. 在C语言中,实现两个变量交换的代码是:______。
答案:temp=a; a=b; b=temp;(以下题目略)三、编程题(共20分)21. 编写一个程序,实现输入一个整数,输出该整数的阶乘。
```c#include <stdio.h>int main() {int n, i, factorial = 1;printf("Enter an integer: ");scanf("%d", &n);for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %d\n", n, factorial);return 0;}```22. 编写一个程序,实现输入一个字符串,输出该字符串的长度。
2017年4月全国计算机等级考试二级c语言笔试试题(含参考答案)
全国计算机等级考试二级笔试试题基础知识与C语言程序设计(考试时间120分钟,满分100分)2017年4月一、选择题(1-30每小题1分,31-45每小题2分,共60分)下列各题 A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。
答在试卷上不得分。
(1)二进制数101110转换为等值的八进制数是【1】。
【1】 A) 45 B) 56 C) 67 D) 78(2)CPU是由【2】组成的。
【】【2】A) 内存储器和控制器B) 控制器和运算器C) 内存储器和运算器D) 内存储器、控制器和运算器(3)DOS是为IBM PC系列微型计算机及其兼容机所配置的【3】磁盘操作系统。
【3】A) 多用户多任务B) 单用户单任务 C) 分时D) 分布式(4)启动MS-DOS操作系统后,【4】已驻留内存。
【4】A) B) C) D) CCCC.EXE(5)设当前目录为F2,则把A盘根目录下的PROG.BAS文件复制到B盘F3子目录中的命令是【5】。
【5】A) COPY PROG.BAS B: B) COPY A:PROG.BAS B:\C) COPY A:\PROG.BAS B:\F3 D) COPY A:PROG.BAS B:\F3\(6)下面四组DOS命令中,意义完全相同的一组是【6】。
【6】A) COPY和DISKCOPY B) COMP和DISKCOMPC) DEL和RD D) RENAME和REN(7)防止软盘感染病毒的有效方法是【7】。
【7】A) 不要把软盘和有毒软盘放在一起 B) 在写保护缺口上贴上胶条C) 保持机房清洁 D) 定期对软盘格式化(8)双面高密度5英寸软磁盘的容量是【8】。
【8】A) 360KB B) 720KB C) 1.2MB D) 1.44MB(9)在FOXBASE中,可以使用的两类变量是【9】。
【9】A) 内存变量和字段变量B) 全局变量和局部变量C) 字段变量和简单变量D) 内存变量和自动变量(10)建立一个新子目录的DOS命令是【10】。
计算机二级c语言2017试题及答案
计算机二级c语言2017试题及答案一、选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. variable-2D. _variable2答案:D2. 关于C语言中的数组,以下说法正确的是?A. 数组的大小在声明后可以改变B. 数组的索引从0开始C. 数组可以存储不同类型的数据D. 数组只能存储数字答案:B3. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. returnC. voidD. function答案:C5. C语言中,以下哪个运算符用于判断两个值是否相等?A. ==B. !=C. =D. &&答案:A6. 在C语言中,以下哪个选项表示“或”逻辑运算?A. &&B. ||C. !D. %答案:B7. C语言中,以下哪个选项用于定义一个全局变量?A. staticB. externC. constD. register答案:B8. 在C语言中,以下哪个函数用于输出字符串?A. printfB. scanfC. getsD. puts答案:D9. 关于C语言中的指针,以下说法正确的是?A. 指针可以存储任何类型的数据B. 指针变量必须初始化C. 指针可以存储变量的地址D. 指针不能存储函数的地址答案:C10. 在C语言中,以下哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型变量的关键字是________。
答案:int2. 字符串"Hello, World!"在C语言中的正确表示方式是________。
答案:"Hello, World!"3. 在C语言中,用于定义一个函数的关键字是________。
二级C语言真题2017年09月-(3)
二级C语言真题2017年09月-(3)(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.设某棵树的度为3,其中度为3,1,0的节点个数分别为3,4,15。
则该树中总节点数为______。
(分数:1.00)A.22B.30 √C.35D.不可能有这样的树解析:[解析] 在树结构中,一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度,树中的节点数即为树中所有节点的度数之和再加1。
假设本题中度为2的节点数为n,总节点数为m,m=3×3+1×4+n×2+1,叶子节点数15=m-(3+4+n),得n=8,则m=9+4+8×2+1=30。
故答案为B选项。
2.线性表的长度为n。
在最坏情况下,比较次数为n-1的算法是______。
(分数:1.00)A.寻找最大项√B.同时寻找最大项与最小项C.顺序查找D.有序表的插入解析:[解析] 线性表的长度为n,在最坏情况下,寻找最大项的比较次数为n-1。
故答案为A选项。
3.下列叙述中正确的是______。
(分数:1.00)A.循环队列是队列的链式存储结构B.能采用顺序存储的必定是线性结构C.所有的线性结构都可以采用顺序存储结构√D.具有两个以上指针的链表必定是非线性结构解析:[解析] 循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,它是队列的顺序存储结构形式。
对于满二叉树与完全二叉树也可以按层次进行顺序存储。
有两个以上指针的链表,是线性还是非线性,取决于指针域的指向。
所有的线性结构都可以采用顺序存储结构。
故答案为C 选项。
4.设表的长度为n。
在下列结构所对应的算法中,最坏情况下时间复杂度最低的是______。
(分数:1.00)A.希尔排序B.有序链表查找C.堆排序D.循环链表中寻找最大项√解析:[解析] 最坏情况下,希尔排序所需要比较次数为n 1.5,循环链表中寻找最大项需要n-1次,有序链表查找需要n次,堆排序次数为nlog 2 n。
2017计算机二级c试题及答案
2017计算机二级c试题及答案一、选择题1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. intC. _variableD. variable2答案:C2. 关于C语言中的数组,以下说法正确的是?A. 数组的大小在定义后可以改变B. 数组的索引从1开始C. 数组的元素必须是同一数据类型D. 数组可以存储不同类型的数据答案:C3. 下列哪个函数不能正确计算两个整数的和?A. int add(int a, int b) { return a + b; }B. int sum(int a, int b) { return a - b; }C. int total(int a, int b) { return a + b; }D. int combine(int a, int b) { return a + b; }答案:B4. 在C语言中,以下哪个关键字用于声明一个函数?A. structB. staticC. voidD. int答案:C5. 关于C语言中的指针,以下说法错误的是?A. 指针可以存储变量的地址B. 指针可以被初始化为NULLC. 指针可以直接存储整数值D. 指针可以指向函数答案:C二、填空题1. 在C语言中,定义一个整型变量并初始化为10的语句是:______。
答案:int x = 10;2. 如果一个函数的返回类型是void,那么该函数______返回任何值。
答案:不能3. 在C语言中,用于表示逻辑“与”操作的运算符是______。
答案:&&4. 声明一个指向整型的指针变量的语句是:______。
答案:int *p;5. 在C语言中,用于定义一个结构体的关键字是______。
答案:struct三、编程题1. 编写一个函数,计算并返回两个整数的乘积。
答案:```cint multiply(int a, int b) {return a * b;}```2. 编写一个程序,读取用户输入的两个整数,然后调用上述函数计算它们的乘积,并输出结果。
二级C语言真题2017年09月-(2)
二级C语言真题2017年09月-(2)(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中错误的是______。
(分数:1.00)A.向量是线性结构B.非空线性结构中只有一个根节点没有前件C.非空线性结构中只有一个终节点没有后件D.只有一个根节点和一个叶子节点的结构必定是线性结构√解析:[解析] 向量也是一种线性结构。
非空线性结构中只有根节点无前件,只有终端节点无后件,其他所有节点只有一个前件也只有一个后件。
二叉树可以只有一个根节点和一个叶子节点,但二叉树是非线性结构。
故答案为D选项。
2.设顺序表的长度为40,对该表进行冒泡排序。
在最坏情况下需要的比较次数为______。
(分数:1.00)A.820B.780 √C.40D.41解析:[解析] 冒泡排序在最坏情况下,对长度为n的线性表排序,需要经过n/2遍的从前住后的扫描和n/2遍的从后住前的扫描,需要比较的次数为n(n-1)/2。
本题中为40×(40-1)÷2=780。
故答案为B选项。
3.设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ。
则后序序列为______。
(分数:1.00)A.DGHEBIJFCA √B.JIHGFEDCBAC.GHIJDEFBCAD.ABCDEFGHIJ解析:[解析] 二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
二叉树的前序遍历序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ,可知该树A为根节点,右子树节点为CFIJ,左子树节点为BDEGH,则后序序列为DGHEBIJFCA。
故A选项正确。
4.设表的长度为n。
在下列算法中,最坏情况下时间复杂度最高的是______。
(分数:1.00)A.堆排序B.希尔排序√C.有序链表查找D.循环链表中寻找最大项解析:[解析] 最坏情况下,希尔排序所需要比较次数为n 1.5,循环链表中寻找最大项需要n-1次,有序链表查找需要n次,堆排序次数为nlog 2 n。
2017年计算机二级c试题及答案
2017年计算机二级c试题及答案一、选择题1. 下面哪个选项中,声明一个指向字符型的指针?A. charB. intC. floatD. double答案:A2. 下面哪个选项中,用于循环控制的关键字是?A. forB. ifC. whileD. switch答案:A3. 下面哪个选项中,用于输出到标准输出设备的函数是?A. printfB. scanfC. fgetsD. strcmp答案:A4. 在C语言中,如何定义一个常量?A. 使用const关键字B. 使用static关键字C. 使用volatile关键字D. 使用extern关键字答案:A5. 下面哪个选项中是C语言中的一个逻辑运算符?A. &&B. ||C. !D. |答案:A二、填空题1. 在C语言中,用于获取用户输入的函数是______。
答案:scanf2. 子程序在C语言中也被称为______。
答案:函数3. 用于在程序中引入外部文件的关键字是______。
答案:#include4. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free三、简答题1. 请解释静态变量和全局变量的区别,并给出一个使用场景。
答:静态变量和全局变量都具有静态存储期,但有以下区别:- 静态变量在函数内部声明,只在声明的函数内部可见,作用域为函数内部。
全局变量在函数外部声明,整个程序内部都可见,作用域为整个程序。
- 静态变量的生命周期与程序运行时间一致,而全局变量的生命周期也与程序运行时间一致,但全局变量可以通过使用extern关键字在其他文件中进行声明并使用。
使用场景:静态变量常用于需要在函数调用之间保持值的场景,例如在递归函数中保存某个计数器的值。
全局变量常用于需要在多个函数中共享数据的场景,例如在一个程序中的多个函数中都需要访问某个配置信息。
2. 请简要介绍C语言中的位运算符,并给出一个例子。
答:C语言中的位运算符用于对二进制数进行操作。
2017年全国计算机等级考试二级C语言真题及答案
全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能进行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:‟\‟ D)字符串:”\007” (16)表达式a+=a-=a=9 的值是A)9 B)-9 C)18 D)0(17)若变量已正确定义,在if(W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar() C)a==b+c D)a++(18)有以下程序#includemain(){ int a=1,b=0;if(!a) b++;else if(a==0)if(a) b+=2;else b+=3;printf(“%d\n”,b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)若有定义语句int a,b;double x;则下列选项中没有错误的是A)switch (x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }B) switch ((int)x/2.0){ case 0: a++; break;case 1: b++; break;default : a++; b++; }C) switch((int)x%2){ case 0: a++; break;case 1: b++; break;default : a++; b++; }D)switch((int)(x)%2){ case 0.0: a++; break;case 1.0: b++; break;default : a++; b++; }(20)有以下程序#includemain(){ int a=1,b=2;while(a<6) {b+=a; a+=2;b%=10;}printf(“%d, %d\n”,a,b);}程序运行后的输出结果是A)5,11 B)7,1 C)7,11 D)6,1(21)有以下程序#includemain(){ int y=10;while(y--);printf(“y=%d\n”,y);}程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while 构成无限循环(22)有以下程序#includemain(){ char s[ ]=”rstuv”;printf(“%c\n”,*s+2);}程序运行后的输出结果是A)tuv B) 字符t 的ASCII 值C)t D)出错(23)有以下程序#include <stdio.h>#include <string.h>main(){ char x[ ]=”STRING”;x[0]=0; x[1]=‟\0‟; x[2]=‟0‟;printf(“%d %d\n”,sizeof(x),strlen(x));}程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(24)有以下程序#includeint f(int x);main(){ int n=1,m;m=f(f(f(n)));printf(“%d\n”,m);}int f(int x){ return x*2; }程序运行后的输出结果是A)1 B)2 C)4 D)8(25)以下程序段完全正确的是A)int *p; scanf(“%d”,&p);B) int *p; scanf(“%d”,p);C) int k, *p=&k; scanf(“%d”,p);D) int k,*p; *p=&k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4]; B)int **p; C)int *(p[4]); D)int (*p)[4];(27)下列定义数组的语句中,正确的是A) int N=10; B) #define N 10 int x[N]; int x[N]; C) int x[0..10]; D) int x[ ];(28)若要定义一个具有5 个元素的整型数组,以下错误的定义语句是A)int a[5]={0}; B) int b[ ]={0,0,0,0,0}; C)int c[2+3]; D) int i=5,d[i];(29)有以下程序#includevoid f(int *p);main(){ int a[5]={1,2,3,4,5},*r=a;f(r );printf(“%d\n”,*r); }void f(int *p){ p=p+3;printf(“%d,”,*p);}程序运行后的输出结果是A)1,4 B)4,4 C) 3,1 D)4,1(30)有以下程序(函数fun 只对下标为偶数的元素进行操作)#includevoid fun(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i+=2){k=i;for(j=i;j<n;j+=2) if(a[j]>a[k]) k=j;t=a[i]; a[i]=a[k]; a[k]=t; }}main(){ int aa[10]={1,2,3,4,5,6,7},i;fun(aa,7);for(i=0;i<7;i++)printf(“%d,”,aa[i]);printf(“\n”);}程序运行后输出结果是A)7,2,5,4,3,6,1,B)1,6,3,4,5,2,7,C)7,6,5,4,3,2,1,D)1,7,3,5,6,2,1,(31)下列选项中,能够满足“若字符串s1 等于字符串s2, 则执行ST”要求的是A)if(strcmp(s2,s1) ==0) ST;B) if(s1==s2) ST;C) if(strcpy(s1,s2) ==1) ST;D) if(s1-s2==0) ST;(32)以下不能将s 所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++,s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++]; );(33)有以下程序(strcat 函数用以连接两个字符串)#include <stdio.h>#include <string.h>main(){ char a[20]=”ABCD\0EFG\0”, b[ ]=”IJK”;strcat(a,b);printf(“%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch 中的字母是否为小写字母#include <stdio.h>#include <ctype.h>void fun(char *p){ int i=0;while(p[i]){ if(p[i] ==‟…&&islower(p[i-1])) p[i-1]=p[i-1]-‟a‟+‟A‟;i++;}}main(){ char s1[100]=”ab cd EFG !”;fun(s1);printf(“%s\n”,s1);}程序运行后的结果是A) ab cd EFG ! B) Ab Cd EFg ! C) aB cD EFG ! D) ab cd EFg !(35)有以下程序#includevoid fun(int x){ if(x/2>1)fun(x/2);printf(“%d ”,x);}main(){ fun(7);printf(“\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1 C)7 3 D)3 7(36)有以下程序#includeint fun(){ static int x=1;x+=1;return x;}main(){ int i, s=1;for(i=1;i<=5;i++)s+=fun();printf(“%d\n”,s);}程序运行后的输出结果是A)11 B)21 C)6 D)120(37)有以下程序`#include <stdio.h>#include <stdlib.h>main(){ int *a,*b,*c;a=b=c=(int *)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#includemain(){ int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6 平台上编绎运行,程序运行后输出结果是A)2,4 B)1,4 C)4,8 D)10,6(39)若有以下语句typedef struct S{int g ; char h;} T;以下叙述中正确的是A)可用S 定义结构体变量B)可用T 定义结构体变量C)S 是struct 类型的变量D)T 是struct S 类型的变量(40)有以下程序#includemain(){ short c=124; c=c ;printf(“%d\n”,c);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B) |248 C)& 0248 D) <<1二、填空题(每空2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
计算机二级考试C语言选择题专项训练
计算机二级考试C语言选择题专项训练2017计算机二级考试C语言选择题专项训练计算机等级考试要取得好成绩平时一定要多加练习,提高做题技巧和速度。
下面是店铺为大家整理的2017计算机二级考试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语言》考试题及答案
全国计算机二级《C语言》考试题及答案2017全国计算机二级《C语言》考试题及答案在备考复习阶段,需通过大量试题练习,加深对考点的理解和掌握。
以下是店铺搜索整理2017全国计算机二级《C语言》考试题及答案,供参考练习,希望对大家有所帮助!一、选择题1).我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。
关于转换以下说法错误的是()A.一条C语句可能会被转换成多条机器指令B.一条C语句对应转换成一条机器指令C.一条C语句可能会被转换成零条机器指令D.某种类型和格式的C语句被转换成机器指令的条数是固定的正确答案:B答案解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。
这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。
2).数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是()。
A.外模式B.概念模式C.内模式D.存储模式正确答案:B答案解析:概念模式,也称逻辑模式,是对数据库系统中全局数据逻辑结构的描述,是全体用户应用公共数据视图。
它不涉及具体的硬件环境与平台,与具体的软件环境也无关。
3).以下叙述中正确的是()A.程序的算法只能使用流程图来描述B.N-S流程图只能描述简单的顺序结构的程序C.计算机可以直接处理C语言程序,不必进行任何转换D.结构化程序的三种基本结构是循环结构、选择结构、顺序结构正确答案:D答案解析:结构化程序有三种基本结构循环结构、选择结构、顺序结构,描述算法常见的有文字描述,流程图,盒图,伪代码等。
N-S图为盒图,可以描述比较复杂的程序结构,而计算机不能直接处理C 程序,只能处理二进制代码。
4).下列叙述中正确的是()A.两个连续的单引号(′′)是合法的字符常量B.可以对字符串进行关系运算C.两个连续的双引号(″″)是合法的字符串常量D.空字符串不占用内存,其内存空间大小是0正确答案:C答案解析:两个连续的双引号:″″,是一个字符串常量,称为″空串″。
2017年全国计算机2级考试(C语言程序设计)笔试模拟试题及答案
2017年全国计算机等级考试二级笔试模拟试题C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)-(10)、(21)-(40)每题2分,(11)-(20)每题1分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是()A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是()A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是()A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是()A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是()A)编译程序B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是()A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是()A)提高耦合性降低内聚性有利他哦高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是()A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R, S如下:由关系R通过运算得到关系S,则所使用的运算为()A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为()A)属性B)键C)关系D)域(11)以下选项中合法的标识符是()A)1_1 B)1-1 C)_11 D)1_ _(12)若函数中有定于语句:int k;,则()A)系统将自动给K赋初值0B)时k中的值无定义C)系统将自动给k赋初值-1D)这时k中无任何值(13)以下选项中,能用作数据常量的是()A)0115 B)0118 C)1.5e1.5 D)115L(14)设有定义:int x=2;,以下表达式中,值不为6的是()A)x*=x+1 B)x++,2*x C)x*=(i+x)D)2*x, x+=2(15)程序段:int x=12; double y=3.141593; printf(“%d%8.6f”,x, y);的输出结果是()A)123.141593 B)12 3.141593 C)12, 3.141593 D)123.1415930(16)若有定义语句:double x, y,*px,*pY; 执行了px=&x; py=&y;之后,正确的输入语句是()A)scarf(“%f%1”,x,y);B)scarf(“%f%f”,&x,&y);C)scarf(“%lf%1e”,px,py);D)scarf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:()if〔表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){int x;scarf(“&d”,&x);i f (x<=3);elseif (x!=10)printf(“&d\n”。
2017c语言二级等级试题及答案
2017c语言二级等级试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言具有结构化的特点C. C语言可以直接被计算机执行D. C语言可以用于编写操作系统答案:C2. C语言中,用于定义变量的关键字是()。
A. varB. letC. defineD. int答案:D3. 在C语言中,下列哪个运算符用于取模运算()。
A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是()。
A. 数组的下标从0开始B. 数组的下标从1开始C. 数组的下标可以是负数D. 数组的下标可以是小数答案:A5. 下列关于指针的描述中,错误的是()。
A. 指针可以指向一个变量B. 指针可以指向一个函数C. 指针可以作为函数的参数D. 指针可以存储数据答案:D6. 在C语言中,用于实现循环结构的关键字是()。
A. loopB. whileC. repeatD. do答案:B7. 下列关于函数的描述中,错误的是()。
A. 函数可以有返回值B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以有参数答案:C8. 在C语言中,用于定义结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A9. 下列关于文件操作的描述中,错误的是()。
A. 文件操作需要使用文件指针B. 文件操作需要包含头文件stdio.hC. 文件操作需要使用fopen函数打开文件D. 文件操作后不需要关闭文件答案:D10. 在C语言中,下列哪个关键字用于定义宏()。
A. defineB. macroC. constD. var答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. C语言中,用于定义一个字符型变量的关键字是________。
答案:char3. C语言中,用于定义一个浮点型变量的关键字是________。
国家二级计算机题库(c语言2017)
第一套:填空:程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。
函数fun的功能是输出这位学生的信息。
请在程序的下划线处填入正确的内容并把下划线的内容并把下划线删除,使程序得出正确的结果。
1、tt 2、tt.score[i] 3、std改错:给定程序MODI1.C中函数fun的功能是:求出数组中最大数和次最大数并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
m=0改为m=i k=m改为m=k编程:请编写一个函数unsigned fun (unsigned w),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。
{if(w>10000) w %= 10000 ;else if(w>1000) w %= 1000 ;else if(w>100) w %= 100 ;else if(w>10) w %=10 ;return w ;}第二套填空:给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。
Ss所指字符串数组中共有M个字符串,且串长<N。
1、i+12、k=j3、t改错:Fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。
1、str 前加个*2、==改为!=3、…0‟改为‟\0‟编程:请编一个函数fun (char *s),函数的功能是把s所指字符串中的内容逆置。
{char b[N] ;int i = 0, j ;for(j = strlen(s) - 1 ; j >= 0 ; j--)b[i++] = s[j] ;b[i]=0;strcpy(s, b) ;}第三套填空:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其怀最长的字符串等长。
字符串数组中共有M个字符串,且串长<N。
2017年全国计算机等级考试二级C语言程序设计真题
2017年3月全国计算机等级考试二级C语言程序设计真题(1)(总分:100.00,做题时间:120分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是(分数:1.00)A.程序执行的效率与数据的存储结构密切相关(正确答案)B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
2.下列与队列结构有关联的是(分数:1.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度(正确答案)解析:队列的修改是依照“先进先出” 的原则进行的,故D 正确。
3.对下列二叉树进行前序遍历的结果为(分数:1.00)A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZ (正确答案)D.ABCDEFXYZ解析:前序遍历是指在访问根节点、遍历左子树与遍历右子树这三者中,首先访问根节点,然后遍历左子树,最后遍历右子树;并且在遍历左、右子树时,仍然先访问根节点,然后遍历左子树,最后遍历右子树。
因此,前序遍历可描述为:若二叉树为空,则执行空操作。
否则:①访问根节点;②前序遍历左子树;③前序遍历右子树。
所以C 正确。
4.一个栈的初始状态为空,现将元素1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:1.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1 (正确答案)D.1,2,3,C,B,A解析:栈的修改是按照“后进先出” 的原则进行的,所以顺序应与入栈顺序相反,故选C。
5.下面属于白盒测试方法的是(分数:1.00)A.等价类划分法B.逻辑覆盖(正确答案)C.边界值分析法D.错误推测法解析:白盒测试法主要有逻辑覆盖、基本路径测试等。
逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断一条件覆盖,故选择B。
2017年全国计算机等级考试二级C 语言真题及答案8
2017 年全国计算机等级考试笔试试卷及答案二级公共基础知识和C 语言程序设计(考试时间120 分钟,满分100 分)一、选择题((1)-(10)每小题2 分,(11)-(50)每小题1 分,共60 分)(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)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度为7 的满二叉树中,叶子结点的个数为()。
A)32B)31C)64D)63(8)“商品”与“顾客”两个实体集之间的联系一般是()。
A)一对一B)一对多C)多对一D)多对多(9)在E-R 图中,用来表示实体的图形是()。
A)矩形B)椭圆形C)菱形D)三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS 之间的关系是()。
A)DB 包含DBS 和DBMSB)DBMS 包含DB 和DBSC)DBS 包含DB 和DBMSD)没有任何关系(11)下列不合法的用户标识符是()。
A)j2_KEYB)DoubleC)4dD)_8_(12)下列不合法的数值常量是()。
A)011B)1e1C)8.0E0.5D)0xabcd(13)下列不合法的字符常量是()。
A)'\018'B)'\" 'C)'\\'D)'\xcc'(14)表达式3.6-5/2+1.2+5%2 的值是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级C语言第一部分公共基础知识单项选择题(10分)1)、程序流程图中带有箭头的线段表示的是(A)数据流(B)调用关系(C)控制流(D)图元关系标准答案:C2)、下列关于栈的叙述正确的是(A)只能在栈底插入数据(B)栈按"先进后出"组织数据(C)不能删除数据(D)栈按"先进先出"组织数据标准答案:B3)、算法的有穷性是指(A)算法只能被有限的用户使用(B)算法程序的长度是有限的(C)算法程序所处理的数据量是有限的(D)算法程序的运行时间是有限的标准答案:D4)、设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为(A)课号,成绩(B)学号,姓名,成绩(C)学号,成绩(D)学号,课号标准答案:D5)、结构化程序设计的基本原则不包括(A)自顶向下(B)多态性(C)逐步求精(D)模块化标准答案:B6)、在软件开发中,需求分析阶段产生的主要文档是(A)软件需求规格说明书(B)集成测试计划(C)概要设计说明书(D)可行性分析报告标准答案:A7)、对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是(A)堆排序(B)快速排序(C)冒泡排序(D)直接插入排序标准答案:A8)、软件设计中模块划分应遵循的准则是(A)高内聚低耦合(B)低内聚高耦合(C)高内聚高耦合(D)低内聚低耦合标准答案:A9)、(A)自然连接(B)笛卡尔积(C)交(D)并标准答案:C10)、在数据库设计中,将E-R图转换成关系数据模型的过程属于(A)逻辑设计阶段(B)概念设计阶段(C)物理设计阶段(D)需求分析阶段标准答案:A11)、在软件开发中,需求分析阶段可以使用的工具是(A)N-S图(B)PAD图(C)程序流程图(D)DFD图标准答案:D12)、一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是(A)ABCDE12345(B)54321EDCBA(C)12345ABCDE(D)EDCBA54321标准答案:D13)、下列叙述中正确的是(A)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构(B)链式存储结构比顺序存储结构节省存储空间(C)顺序存储结构能存储有序表,链式存储结构不能存储有序表(D)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的标准答案:D14)、数据流图中带有箭头的线段表示的是(A)事件驱动(B)数据流(C)模块调用(D)控制流标准答案:B15)、下列叙述中正确的是(A)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况(B)循环队列中元素的个数是由队头指针和队尾指针共同决定(C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况(D)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构标准答案:B 16)、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(A )(B )(C)O(n)(D )标准答案:D17)、在面向对象方法中,不属于“对象”基本特点的是(A)多态性(B)一致性(C)标识唯一性(D)分类性标准答案:B18)、(A)并(B)自然连接(C)交(D)笛卡尔积标准答案:B19)、一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(A)一对多(B)多对多(C)多对一(D)一对一标准答案:A20)、下列叙述中正确的是(A)队列是“先进后出”的线性表(B)栈是“先进先出”的线性表(C)循环队列是非线性结构(D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构标准答案:D21)、支持子程序调用的数据结构是(A)队列(B)二叉树(C)树(D)栈标准答案:D22)、在数据管理技术发展的三个阶段中,数据共享最好的是(A)人工管理阶段(B)三个阶段相同(C)数据库系统阶段(D)文件系统阶段标准答案:C23)、数据库应用系统中的核心问题是(A)数据库设计(B)数据库系统设计(C)数据库管理员培训(D)数据库维护标准答案:A24)、下列排序方法中,最坏情况下比较次数最少的是(A)冒泡排序(B)堆排序(C)直接插入排序(D)简单选择排序标准答案:B25)、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是(A)编译程序(B)汇编程序(C)操作系统(D)教务管理系统标准答案:D26)、下面叙述中错误的是(A)程序调试通常也称为Debug(B)软件测试应严格执行测试计划,排除测试的随意性(C)对被调试的程序进行“错误定位”是程序调试的必要步骤(D)软件测试的目的是发现错误并改正错误标准答案:D27)、耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是(A)降低耦合性提高内聚性有利于提高模块的独立性(B)耦合性是指一个模块内部各个元素间彼此结合的紧密程度(C)内聚性是指模块间互相连接的紧密程度(D)提高耦合性降低内聚性有利于提高模块的独立性标准答案:A28)、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(A)8(B)4(C)10(D)6标准答案:D29)、将E-R图转换为关系模式时,实体和联系都可以表示为(A)属性(B)关系(C)域(D)键标准答案:B30)、下列数据结构中,能够按照“先进后出”原则存取数据的是(A)栈(B)队列(C)二叉树(D)循环队列标准答案:A31)、下列数据结构中,属于非线性结构的是(A)带链栈(B)带链队列(C)二叉树(D)循环队列标准答案:C32)、对于循环队列,下列叙述中正确的是(A)队头指针一定大于队尾指针(B)队头指针是固定不变的(C)队头指针可以大于队尾指针,也可以小于队尾指针(D)队头指针一定小于队尾指针标准答案:C33)、(A)连接(B)选择(C)投影(D)插入标准答案:C34)、算法的空间复杂度是指(A)算法在执行过程中所需要的计算机存储空间(B)算法在执行过程中所需要的临时工作单元数(C)算法所处理的数据量(D)算法程序中的语句或指令条数标准答案:A35)、在E-R图中,用来表示实体联系的图形是(A)椭圆形(B)三角形(C)菱形(D)矩形标准答案:C36)、(A)交(B)并(C)选择(D)投影标准答案:B37)、数据库管理系统是(A)在操作系统支持下的系统软件(B)操作系统的一部分(C)一种编译系统(D)一种操作系统标准答案:A38)、软件设计中划分模块的一个准则是(A)高内聚低耦合(B)高内聚高耦合(C)低内聚高耦合(D)低内聚低耦合标准答案:A39)、下列选项中不属于结构化程序设计原则的是(A)模块化(B)逐步求精(C)自顶向下(D)可封装标准答案:D40)、(A)PAD图(B)程序流程图(C)E-R图(D)N-S图标准答案:B41)、软件生命周期是指(A)软件的开发过程(B)软件产品从提出、实现、使用维护到停止使用退役的过程(C)软件的运行维护过程(D)软件从需求分析、设计、实现到测试完成的过程标准答案:B42)、下列叙述中正确的是(A)栈与队列都是非线性结构(B)栈是一种先进先出的线性表(C)队列是一种后进先出的线性表(D)以上三种说法都不对标准答案:D43)、面向对象方法中,继承是指(A)类之间共享属性和操作的机制(B)各对象之间的共同性质(C)一个对象具有另一个对象的性质(D)一组对象所具有的相似性质标准答案:A44)、数据库设计中反映用户对数据要求的模式是(A)外模式(B)内模式(C)设计模式(D)概念模式标准答案:A45)、层次型、网状型和关系型数据库划分原则是(A)联系的复杂程度(B)记录长度(C)数据之间的联系方式(D)文件的大小标准答案:C46)、在软件开发中,需求分析阶段产生的主要文档是(A)软件需求规格说明书(B)软件集成测试计划(C)用户手册(D)软件详细设计说明书标准答案:A47)、(A)自然连接(B)并(C)交(D)差标准答案:D48)、一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是(A)一对多(B)多对多(C)多对一(D)一对一标准答案:B49)、下列叙述中正确的是(A)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构(B)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构(C)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的标准答案:A50)、软件测试的目的是(A)改正程序中的错误(B)发现并改正程序中的错误(C)评估软件可靠性(D)发现程序中的错误标准答案:D51)、下面描述中错误的是(A)系统总体结构图支持软件系统的详细设计(B)软件设计是将软件需求转换为软件表示的过程(C)数据结构与数据库设计是软件设计的任务之一(D)PAD图是软件详细设计的表示工具标准答案:A52)、软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是(A)学生成绩管理系统(B)UNIX 操作系统(C)数据库管理系统(D)C语言编译程序标准答案:A53)、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)(A)3(B)4(C)7(D)6标准答案:C54)、下列关于栈叙述正确的是(A)栈顶元素最先能被删除(B)栈顶元素最后才能被删除(C)栈底元素永远不能被删除标准答案:A55)、结构化程序所要求的基本结构不包括(A)重复(循环)结构(B)GOTO跳转(C)顺序结构(D)选择(分支)结构标准答案:B56)、下列叙述中正确的是(A)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化(B)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化(C)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化标准答案:B57)、负责数据库中查询操作的数据库语言是(A)数据控制语言(B)数据管理语言(C)数据操纵语言(D)数据定义语言标准答案:C58)、下列叙述中正确的是(A)只有一个根结点的数据结构不一定是线性结构(B)有一个以上根结点的数据结构不一定是非线性结构(C)双向链表是非线性结构(D)循环链表是非线性结构标准答案:A59)、定义无符号整数类为UInt,下面可以作为类UInt实例化值的是(A)整数集合{1,2,3,4,5}(B)0.369(C)369(D)-369标准答案:C60)、(A)并(B)自然连接(C)差(D)交标准答案:C61)、一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是(A)1:1联系(B)m:n联系(C)m:1联系(D)1:m联系标准答案:B62)、下列叙述中正确的是(A)设计算法时只需要考虑数据结构的设计(B)设计算法时只需要考虑结果的可靠性(C)算法就是程序(D)以上三种说法都不对标准答案:D63)、(A)7(B)2(C)6(D)3标准答案:D 64)、软件生命周期中的活动不包括(A)软件测试(B)软件维护(C)需求分析(D)市场调研标准答案:D65)、数据库系统的三级模式不包括(A)内模式(B)数据模式(C)外模式(D)概念模式标准答案:B66)、下列关于二叉树的叙述中,正确的是(A)叶子结点总是比度为2的结点多一个(B)叶子结点总是比度为2的结点少一个(C)叶子结点数是度为2的结点数的两倍(D)度为2的结点数是度为1的结点数的两倍标准答案:A67)、程序调试的任务是(A)诊断和改正程序中的错误(B)验证程序的正确性(C)发现程序中的错误(D)设计测试用例标准答案:A68)、下列关于数据库设计的叙述中,正确的是(A)在概念设计阶段建立数据字典(B)在需求分析阶段建立数据字典(C)在物理设计阶段建立数据字典(D)在逻辑设计阶段建立数据字典标准答案:B69)、下列关于线性链表的叙述中,正确的是(A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致(B)进行插入与删除时,不需要移动表中的元素(C)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续标准答案:B70)、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)外模式(B)概念模式(C)逻辑模式(D)内模式标准答案:D71)、(A)交(B)投影(C)自然连接(D)并标准答案:C72)、下列选项中属于面向对象设计方法主要特征的是(A)自顶向下(B)逐步求精(C)模块化(D)继承标准答案:D73)、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为(A)16(B)6(C)4(D)10标准答案:A74)、下列叙述中正确的是(A)循环队列是队列的一种链式存储结构(B)循环队列是非线性结构(C)循环队列是一种逻辑结构(D)循环队列是队列的一种顺序存储结构标准答案:D75)、在黑盒测试方法中,设计测试用例的主要根据是(A)程序内部逻辑(B)程序数据结构(C)程序流程图(D)程序外部功能标准答案:D76)、(A)自然连接(B)并(C)除(D)交标准答案:C77)、下面描述中,不属于软件危机表现的是(A)软件质量难以控制(B)软件开发生产率低(C)软件成本不断提高(D)软件过程不规范标准答案:D78)、在软件设计中不使用的工具是(A)程序流程图(B)数据流图(DFD图)(C)系统结构图(D)PAD图标准答案:B79)、在满足实体完整性约束的条件下(A)一个关系中只能有一个候选关键字(B)一个关系中可以没有候选关键字(C)一个关系中应该有一个或多个候选关键字(D)一个关系中必须有多个候选关键字标准答案:C80)、下面不属于需求分析阶段任务的是(A)需求规格说明书评审(B)确定软件系统的功能需求(C)制定软件集成测试计划(D)确定软件系统的性能需求标准答案:C第二部分二级C语言单项选择题(30分)1)、以下选项中,能用作数据常量的是(A)o115(B)0118(C)115L(D)1.5e1.5标准答案:C2)、下列叙述中错误的是(A)一个C语言程序只能实现一种算法(B)一个C函数可以单独作为一个C程序文件存在(C)C程序可以由一个或多个函数组成(D)C程序可以由多个程序文件组成标准答案:A3)、(A)sqrt(fabs(pow(x,n)+exp(x)))(B)sqrt(abs(n^x+e^x))(C)sqrt(fabs(pow(n,x)+pow(x,e)))(D)sqrt(fabs(pow(n,x)+exp(x)))标准答案:D4)、设变量已正确定义并赋值,以下正确的表达式是(A)int(15.8%5)(B)x=y+z+5, ++y(C)x=25%5.0(D)x=y*5=x+z标准答案:B 5)、以下叙述中错误的是(A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(B)C语言源程序经编译后生成后缀为.obj的目标程序(C)用C语言编写的程序称为源程序,它以ASCII 代码形式存放在一个文本文件中(D)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件标准答案:A6)、有以下程序#include <stdio.h>main(){ int s,t,A=10; double B=6;s=sizeof(A); t=sizeof(B);printf("%d,%d\n",s,t);}在VC6平台上编译运行,程序运行后的输出结果是(A)4,8(B)10,6(C)2,4(D)4,4标准答案:A7)、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(A)大写字母(B)下划线(C)数字字符(D)连接符标准答案:D8)、以下选项中,合法的一组C语言数值常量是(A)0x8A 10,000 3.e5 (B).177 4e1.5 0abc(C)028 .5e-3 -0xf(D)12. 0Xa23 4.5e0标准答案:D9)、以下选项中不合法的标识符是(A)print(B)FOR(C)&&a(D)_00标准答案:C10)、若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是(A)i=(a+k)<=(i+k);(B)a=a++,i++;(C)i=a%11;(D)i=!a;标准答案:C11)、设有定义:int x=2;,以下表达式中,值不为6的是(A)x*=(1+x)(B)x*=x+1(C)x++,2*x(D)2*x, x+=2标准答案:D12)、有以下程序#include <stdio.h>main(){ int x, y, z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是(A)2,3,3(B)2,2,1(C)2,3,2(D)2,3,1标准答案:D13)、以下叙述中错误的是(A)使用三种基本结构构成的程序只能解决简单问题(B)C语言是一种结构化程序设计语言(C)结构化程序由顺序、分支、循环三种基本结构组成(D)结构化程序设计提倡模块化的设计方法标准答案:A14)、以下选项中,能用作用户标识符的是(A)8_8(B)unsigned(C)_0_(D)void标准答案:C15)、C源程序中不能表示的数制是(A)二进制(B)十六进制(C)十进制(D)八进制标准答案:A16)、以下四个程序中,完全正确的是(A)#include <stdio.h>main();{/*/ programming /*/printf("programming!\n"); } (B)#include <stdio.h>main(){/* programming */printf("programming!\n"); } (C)#include <stdio.h>main(){/*/* programming */*/printf("programming!\n"); } (D)include <stdio.h>main(){/* programming */printf("programming!\n"); } 标准答案:B17)、有以下程序#include <stdio.h>main(){ int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);}程序运行后的输出结果是(A)1,0(B)0,0(C)1,2(D)3,2标准答案:C18)、有以下程序#include <stdio.h>main(){ char a,b,c,d;scanf("%c%c",&&a, &&b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是(A)12(B)123(C)1234(D)1234标准答案:B19)、若有定义语句:int x=10; ,则表达式x -=x+x的值为(A)0(B)10(C)-20(D)-10标准答案:D20)、有以下程序#include <stdio.h>main(){ int x=1, y=0, a=0, b=0;switch ( x ){ case 1:switch(y){ case 0: a++; break;case 1: b++; break;}case 2: a++; b++; break;case 3: a++; b++;}printf("a=%d, b=%d\n", a, b);}程序的运行结果是(A)a=2,b=2(B)a=1,b=1(C)a=1,b=0(D)a=2,b=1标准答案:D21)、以下关于逻辑运算符两侧运算对象的叙述中正确的是(A)可以是结构体类型的数据(B)只能是整数0或1(C)可以是任意合法的表达式(D)只能是整数0或非0整数标准答案:C22)、有以下程序#include <stdio.h>main(){ int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf("%d,%d,%d,%d\n",a,b,c,d);}程序输出(A)1,1,2,0(B)0,0,0,3(C)0,1,2,0(D)编译有错标准答案:D23)、以下程序段中的变量已正确定义for( i=0; i<4; i++,i++ )for( k=1; k<3; k++ ); printf("*" ); 程序段的输出结果是(A)********(B)**(C)****(D)*标准答案:D24)、有以下程序#include <stdio.h>main( ){ int x=1, y=0;if (!x) y++;else if (x==0)if (x) y+=2;else y+=3;printf("%d\n", y);}程序运行后的输出结果是(A)0(B)3(C)1(D)2标准答案:A25)、有以下程序段#include <stdio.h>int i, n;for( i=0; i<8; i++ ){ n = rand( ) % 5;switch (n){ case 1:case 3: printf("%d \n", n); break;case 2:case 4: printf("%d \n", n); continue;case 0: exit(0);}printf("%d \n",n);}以下关于程序段执行情况的叙述,正确的是(A)当产生的随机数n为0时结束程序运行(B)当产生的随机数n为4时结束循环操作(C)for循环语句固定执行8次(D)当产生的随机数n为1和2时不做任何操作标准答案:A26)、有以下程序#include <stdio.h>main(){ char c1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf( "%c,%d\n",c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是(A)输出无定值(B)E,D(C)D,69(D)E,68标准答案:D27)、若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是(A)(x-y<0)(B)(x-y==0)(C)(x-y>0)(D)(x-y<0||x-y>0)标准答案:D28)、若有定义:float x=1.5; inta=1,b=3,c=2; 则正确的switch语句是(A)switch(a+b){ case 1: printf("*\n");case c: printf("**\n"); }(B)switch(a+b){ case 1: printf("*\n");case 2+1: printf("**\n"); }(C)switch(x){ case 1.0: printf("*\n");case 2.0: printf("**\n"); }(D)switch((int)x);{ case 1: printf("*\n");case 2: printf("**\n"); }标准答案:B29)、有以下程序#include <stdio.h>main(){ int y=9;for( ; y>0; y--)if(y%3==0) printf("%d", --y);}程序的运行结果是(A)741(B)963(C)875421(D)852标准答案:D30)、下列叙述中正确的是(A)在switch语句中必须使用default(B)在switch语句中,不一定使用break语句(C)break语句只能用于switch语句(D)break语句必须与switch语句中的case配对使用标准答案:B31)、有以下程序#include <stdio.h>main(){ int i,j,m=1;for(i=1;i<3;i++){ for(j=3;j>0;j-- ){ if(i*j>3) break;m*=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是(A)m=4(B)m=6(C)m=5(D)m=2标准答案:B32)、有以下程序#include <stdio.h>main(){ int a1,a2; char c1,c2;scanf("%d%c%d%c",&&a1,&&c1,&&a2,&&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b 则正确的输入格式是 (以下ㄩ代表空格,<CR>代表回车)(A)12a34b<CR>(B)12ㄩa34ㄩb<CR>(C)12,a,34,b<CR>(D)12ㄩaㄩ34ㄩb<CR>标准答案:A33)、若变量已正确定义,在if (W)printf("%d\n" ,k ); 中,以下不可替代W的是(A)a<>b+c(B)a++(C)a==b+c(D)ch=getchar()标准答案:A34)、有以下程序段#include <stdio.h>int a, b, c;a=10; b=50; c=30;if (a>b) a=b, b=c; c=a;printf("a=%d b=%d c=%d\n", a, b, c); 程序的输出结果是(A)a=10 b=30 c=10(B)a=50 b=30 c=50(C)a=10 b=50 c=30(D)a=10 b=50 c=10标准答案:D35)、有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=k;case 2: c++;break;case 4: c+=2;break;}printf("%d\n",c);}程序运行后的输出结果是(A)5(B)9(C)7(D)3标准答案:D36)、设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是(A)float *p=1024;(B)float p=&&x;(C)int *p=(float)x;(D)float *p=&&x;标准答案:D37)、有以下程序#include <stdio.h>int f(int x);main(){ int n=1,m;m=f(f(f(n))); printf("%d\n",m);}int f(int x){ return x*2; }程序运行后的输出结果是(A)8(B)2(C)1(D)4标准答案:A38)、以下数组定义中错误的是(A)int x[][3]={0};(B)int x[2][3]={1,2,3,4,5,6};(C)int x[][3]={{1,2,3},{4,5,6}};(D)int x[2][3]={{1,2},{3,4},{5,6}};标准答案:D39)、以下不构成无限循环的语句或语句组是(A)n=0;while (1) { n++;}(B)for(n=0,i=1; ; i++) n+=i;(C)n=0;do {++n;} while (n<=0); (D)n=10;while (n); {n--;}标准答案:C40)、以下叙述中错误的是(A)函数可以返回地址值(B)可以给指针变量赋一个整数作为地址值(C)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL(D)改变函数形参的值,不会改变对应实参的值标准答案:B41)、下列定义数组的语句中,正确的是(A)#define N 10int x[N];(B)int x[0..10];(C)int N=10;int x[N];(D)int x[];标准答案:A42)、有以下程序#include <stdio.h>#define N 4void fun(int a[][N], int b[]){ int i;for (i=0; i<N; i++) b[i] = a[i][i] - a[i][N-1-i];}main( ){ int x[N][N]={{1, 2, 3, 4}, {5, 6, 7, 8}, {9,10,11,12}, {13,14,15,16}}, y[N], i;fun (x, y);for (i=0; i<N; i++) printf("%d,", y[i]); printf("\n");}程序运行后的输出结果是(A)-3,-1,1,3,(B)-3,-3,-3,-3,(C)-12,-3,0,0,(D)0,1,2,3,标准答案:A43)、有以下程序#include <stdio.h>void fun( int a[], int n){ int i, t;for(i=0; i<n/2; i++) { t=a[i];a[i]=a[n-1-i]; a[n-1-i]=t; }}main(){ intk[10]={ 1,2,3,4,5,6,7,8,9,10},i;fun(k,5);for(i=2; i<8; i++) printf("%d",k[i]);printf("\n");}程序的运行结果是(A)876543(B)321678(C)345678(D)1098765标准答案:B44)、有以下程序#include <stdio.h>int fun (int x, int y ){ if (x!=y) return ( (x+y) /2 );else return ( x );}main( ){ int a=4, b=5, c=6;printf( "%d\n" , fun(2*a, fun( b,c ) ) );}程序运行后的输出结果是(A)6(B)8(C)3(D)12标准答案:A45)、有以下程序#include <stdio.h>main(){ int n,*p=NULL;*p=&&n;printf("Input n:");scanf("%d",&&p); printf("output n:"); printf("%d\n",p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是(A)printf("%d\n",p);(B)scanf("%d",&&p)(C)*p=&&n;(D)int n,*p=NULL;标准答案:D46)、有以下程序#include <stdio.h>int add( int a,int b){ return (a+b); }main(){ int k, (*f)(), a=5,b=10;f=add;…}则以下函数调用语句错误的是(A)k=(*f)(a,b);(B)k=f(a,b);(C)k=add(a,b);(D)k= *f(a,b);标准答案:D47)、有以下程序#include <stdio.h>main(){ int a[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){ case 0: switch(a[i]%2){case 0:a[i]++;break;case 1:a[i]--;}break;case 1:a[i]=0;}for(i=0;i<4;i++) printf("%d ",a[i]); printf("\n");}程序运行后的输出结果是(A)2 0 5 0(B)0 3 0 4(C)3 3 4 4(D)3 0 4 0标准答案:D48)、有以下程序#include <stdio.h>main(){ intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0; i<3; i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是(A)3(B)1(C)9(D)4标准答案:D49)、若有定义语句:double a, *p=&&a ; 以下叙述中错误的是(A)定义语句中的 * 号是一个说明符(B)定义语句中的 * 号是一个间址运算符(C)定义语句中,*p=&&a把变量a的地址作为初值赋给指针变量p(D)定义语句中的p只能存放double类型变量的地址标准答案:B50)、有以下程序#include <stdio.h>int f( int x,int y){ return((y-x)*x); }main(){ int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}程序运行后的输出结果是(A)7(B)8 (C)10(D)9标准答案:D51)、有以下程序#include <stdio.h>main(){ int x[3][2]={0}, i;for(i=0; i<3; i++)scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0 ]);}若运行时输入:2 4 6<回车>,则输出结果为(A)2 4 6(B)2 4 0(C)2 0 0(D)2 0 4标准答案:D52)、设有定义:char p[]={'1', '2','3'},*q=p; ,以下不能计算出一个char型数据所占字节数的表达式是(A)sizeof(p)(B)sizeof(*q)(C)sizeof(p[0])(D)sizeof(char)标准答案:A53)、有以下程序#include <stdio.h>void fun( int a, int b ){ int t;t=a; a=b; b=t;}main(){ int c[10]={1,2,3,4,5,6,7,8,9,0}, i;for (i=0; i<10; i+=2) fun(c[i],c[i+1]);for (i=0;i<10; i++) printf("%d,", c[i]);printf("\n");}程序的运行结果是(A)2,1,4,3,6,5,8,7,0,9,(B)1,2,3,4,5,6,7,8,9,0,(C)0,1,2,3,4,5,6,7,8,9,(D)0,9,8,7,6,5,4,3,2,1,标准答案:B54)、设有定义:char s[81]; int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是(A)scanf("%s",s);(B)do{ scanf("%c",&&s[i]); }while(s[i++]!='\n'); s[i]='\0';(C)gets(s);(D)while((s[i++]=getchar())!='\n');s[i]='\0';标准答案:A55)、以下定义数组的语句中错误的是(A)int num[][4]={1,2,3,4,5,6};(B)int num[][3]={ {1,2},3,4,5,6 };(C)int num[2][4]={ {1,2},{3,4},{5,6} }; (D)int num[]={ 1,2,3,4,5,6 };标准答案:C56)、若有定义语句:double x, y,*px,*py; 执行了px=&&x; py=&&y;之后,正确的输入语句是(A)scanf("%lf %lf",x, y);(B)scanf("%f %f", x, y);(C)scanf("%f %f" &&x, &&y);(D)scanf("%lf %le", px, py);标准答案:D57)、以下不能将s所指字符串正确复制到t所指存储空间的是(A)while(*t=*s){t++;s++;}(B)for(i=0,j=0;t[i++]=s[j++]; );(C)for(i=0;t[i]=s[i];i++);(D)do{*t++=*s++;}while(*s );标准答案:D58)、以下语句中存在语法错误的是(A)char ss[ ][20]={ "right?"};(B)char *ss[ ]={ "right?"};(C)char *ss[6]; ss[1]= "right?";(D)char ss[6][20]; ss[1]= "right?";标准答案:D59)、有以下程序#include <stdio.h>main( ){ char s[]="012xy\08s34f4w2";int i, n=0;for ( i=0; s[i]!=0; i++ )if(s[i] >= '0' &&&& s[i] <= '9') n++;printf("%d\n",n);}程序运行后的输出结果是(A)8(B)0(C)3(D)7标准答案:C60)、有以下程序#include <stdio.h>#include <string.h>main(){ charstr[][20]={"One*World","One*Dream!"},*p=str [1];printf("%d,",strlen(p));printf("%s\n",p);}程序运行后的输出结果是(A)10,One*World(B)9,One*Dream!(C)9,One*World(D)10,One*Dream!标准答案:D61)、在C语言中,只有在使用时才占用内存单元的变量,其存储类型是(A)auto和static(B)extern和register(C)auto和register(D)static和register标准答案:C62)、有以下程序#include <stdio.h>fun(int x, int y){ static int m=0, i=2;i+=m+1; m=i+x+y; return m;}main(){ int j=1, m=1, k;k=fun(j,m); printf("%d,",k);k=fun(j,m); printf("%d\n",k);}执行后的输出结果是(A)11, 11(B)11, 5(C)5, 5(D)5, 11标准答案:D63)、下列语句组中,正确的是(A)char s[7];s={"Olympic"};(B)char *s;s="Olympic";(C)char *s;s={"Olympic"};(D)char s[7];s="Olympic";标准答案:B64)、在一个C源程序文件中所定义的全局变量,其作用域为(A)所在函数的全部范围(B)由具体定义位置和extern说明来决定范围(C)所在程序的全部范围(D)所在文件的全部范围标准答案:B65)、有以下函数int fun(char *x, char *y){ int n=0;while ( (*x==*y) &&&& *x!='\0' ) {x++; y++; n++;}return n ;} 函数的功能是(A)将y所指字符串赋给x所指存储空间(B)查找x和y所指字符串中是否有'\0'(C)统计x和y所指字符串中相同的字符个数(D)统计x和y所指字符串中最前面连续相同的字符个数标准答案:D66)、有以下程序段#include <stdio.h>int j; float y; char name[50];scanf("%2d%f%s", &&j, &&y, name);当执行上述程序段,从键盘上输入55566 7777abc 后,y的值为(A)7777.0(B)55566.0(C)566777.0(D)566.0标准答案:D67)、有以下程序#include <stdio.h>void swap(char *x, char *y){ char t;t=*x; *x=*y; *y=t;}main(){ char *s1="abc", *s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序执行后的输出结果是(A)1bc,a23(B)abc,123(C)321,cba(D)123,abc标准答案:A68)、有以下程序#include <stdio.h>int fun( ){ static int x=1;x*=2;return x;}main( ){ int i, s=1;for( i=1; i<=3; i++ ) s*=fun( );printf("%d\n", s);}程序运行后的输出结果是(A)0(B)30(C)64(D)10标准答案:B69)、有以下程序#include <stdio.h>int f(int n);main(){ int a=3,s;s=f(a);s=s+f(a); printf("%d\n",s);}int f(int n){ static int a=1;n+=a++;return n;}程序运行后的输出结果是(A)8(B)9(C)10(D)7标准答案:B70)、有以下程序# include <stdio.h>typedef struct { int b, p; } A;void f(A c) /* 注意:c是结构变量名*/{ int j;c.b += 1; c.p+=2;}main(){ int i;A a={1,2};f(a);printf("%d,%d\n", a.b, a.p);}程序运行后的输出结果是(A)1,2(B)2,4(C)2,3(D)1,4标准答案:A71)、有以下程序(注:字符a的ASCII码值为97) #include <stdio.h>main( ){ char *s ={ "abc" };do{ printf ("%d", *s%10); ++s; }while ( *s );}程序运行后的输出结果是(A)789(B)7890(C)979899(D)abc标准答案:A72)、有以下函数int fun(char *s){ char *t=s;while(*t++);return(t-s);}该函数的功能是(A)将s所指字符串复制到字符串t中(B)计算s所指字符串占用内存字节的个数(C)计算s所指字符串的长度(D)比较两个字符串的大小标准答案:B73)、设有如下函数定义#include <stdio.h>int fun( int k ){ if (k<1) return 0;else if (k==1) return 1;else return fun(k-1)+1;。