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

国家二级(C语言)笔试模拟试卷126(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.下列关于栈的描述中错误的是______。
A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入和删除操作中,不需要改变栈底指针正确答案:B解析:栈是一种特殊的线性表,插入和删除操作只能在线性表的一端进行,不需要改变栈底指针。
栈是先进后出的线性表,由此可以看出,栈具有记忆作用。
栈还可以用链式存储。
2.结构化程序设计的主要特点是______。
A.模块化B.每个控制结构具有封装性C.每个控制结构具有独立性D.每个控制结构只有一个入口和一个出口正确答案:D解析:按照结构化设计方法设计的程序具有以下特点:(1)程序易于理解、使用和维护,程序员采用结构化编程方法,便于控制、降低程序的复杂性,因此容易编写程序,便于验证程序的正确性。
结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以确保程序的正确性。
程序容易阅读并被人理解,便于用户使用和维护。
(2)提高了编程工作的效率,降低了软件开发成本。
由于结构化编程方法能够把错误控制到最低限度,因此能够减少调试和查错时间。
结构化是由一些为数不多的基本结构模块组成,这些模块甚至可以由机器自动生成,从而极大地减轻了编程工作量。
(3)结构化程序设计选用的每个控制结构只允许有一个入口和一个出口。
3.设有如下关系表:A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S正确答案:B解析:仔细观察3个表可以看到,R,S,T具有相同的关系模式,且T包含了R和S的所有元组,故T=R∪S。
4.用C语言编写的代码______。
A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行正确答案:B解析:用C语言编写的代码是一个源程序,不能立即执行,如果没有错误,则经过编译、连接后即可执行。
国家二级C语言机试(操作题)模拟试卷256(题后含答案及解析)

国家二级C语言机试(操作题)模拟试卷256(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的功能是:计算下式前n项的和,并作为函数值返回。
例如,当形参n的值为10时,函数返回-0.204491。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序给出如下。
不得增行或删行,也不得更改程序的结构! 试题程序:1 #include<stdio.h>2 double fun(int n)3 { int i,k;double s,t;4 s=0;5 /********* found*********/6 k=【1】;7 for(i=1;i<n;i++){8 /*********found*********/9 t=【2】;10 s=s+k*(2*i-1)*(2*i+1)/(t*t);11 /*********found*********/12 k=k*【3】;13 }14 return s;15 }16 main( )17 { int n=-1;18 while(n<0)19 {printf(‘‘Please input(n>0):’’);scanf(‘‘%d’’,&n);}20 printf (‘‘\nThe result is:%f\n’’,fun(n));21 }正确答案:(1)1 (2)2*i (3)(-1)解析:填空1:由fun函数整体结构可以看出k的作用是赋值,并累加各项前边的正负号,由于第一项是正的,因此赋给k的值为1。
填空2:此空下一行的表达式k*(2*i-1)*(2*i+1)/(t*t)累加的通项,k为正负号,由题目中的公式可知t=2*i。
填空3:由于通项前边的正负号每次都要发生变化,因此k=k*(-1)。
程序修改题2.下列给定程序中,函数fun的功能是:根据以下公式求π值,并作为函数值返回。
c语言二级考试考试题及答案

c语言二级考试考试题及答案1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable_nameC. variable-nameD. variable$name答案:B2. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0.0C. 0LD. 0E1答案:A3. 若有以下代码段:```cint a = 5, b = 10;printf("%d", a + b);```该代码段的输出结果是什么?A. 15B. 25C. 10D. 5答案:A4. 以下哪个选项表示C语言中的逻辑与操作?A. &&B. ||C. !D. |答案:A5. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello, World!";B. char str = "Hello, World!";C. char str[] = {'H', 'e', 'l', 'l', 'o', ',', 'W', 'o', 'r', 'l', 'd', '!', '\0'};D. char str = {'H', 'e', 'l', 'l', 'o', ',', 'W', 'o', 'r', 'l', 'd', '!', '\0'};答案:A6. 对于以下代码段:```cint i = 10;while(i > 0) {i--;}```循环体执行的次数是多少?A. 10B. 11C. 9D. 8答案:C7. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add(a, b);D. int add(int a; int b);答案:A8. 若有以下代码段:```cint x = 20;printf("%d", x++);```该代码段的输出结果是什么?A. 20B. 21C. 19D. 22答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr = {1, 2, 3, 4, 5};D. int arr[5] = 1, 2, 3, 4, 5;答案:B10. 下列哪个选项是C语言中的关键字?A. switchB. caseC. defaultD. all of the above答案:D。
国家二级(C语言)笔试模拟试卷69(题后含答案及解析)

国家二级(C语言)笔试模拟试卷69(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.进行二分法查找,则线形表______。
A.必须以顺序方式存储B.必须以链接方式存储,且数据元素已按值排好序C.必须以链接方式存储D.必须以顺序方式存储,且数据元素已按值排好序正确答案:D2.下列数据结构中的______是线性结构。
A.队列B.有向图C.树D.哈夫曼树正确答案:A3.在具有n个结点的二叉排序树上插入一个新结点时,根据n个数据元素生成一棵二叉排序树时,其时间复杂性大致为______。
A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)正确答案:D4.人们提出了用______的原理来设计软件,这就是软件工程学诞生的基础。
A.计算机科学B.数学C.工程学D.运筹学正确答案:C5.结构化程序设计方法在软件开发中用于______。
A.需求分析B.详细设计C.可行性分析D.程序设计正确答案:B6.在下列叙述中,错误的一条是______。
A.对关系的描述称为关系模式,一个关系模式对应一个关系的结构B.不同元组对同一个属性的取值范围称为域C.二维表中的行称为属性D.所谓关键字,即属性或属性组合,其值能够惟一标识一个元组正确答案:C7.在C语言中,表达式10!=9的值是______。
A.真B.非零值C.0D.1正确答案:D8.下列程序的输出结果是______。
main( ) { int i,j;for(j=10;j<11;i++) { for(i=9;i<j;i++) if(!(j%i))break;if(i>=j-1)printf(”%d”,i);} }A.11B.10C.9D.10 11正确答案:B9.C语言提供的合法关键字是______。
2020年9月全国计算机等级考试二级C语言上机题库(共60套全)

2020年9月全国计算机等级考试二级C语言上机题库(共60套全)第一套1 程序填空人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。
函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指出的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
第1处if (std[i].year==year)第2处k[n++]=std[i];第3处return (n);1程序修改给定程序MODI1.C中函数fun的功能是:读入一个整数k(2≤k≤10000)打印它的所有质因子(即所有为素数的因子)。
/**found**/IsPrime (int n)/**found**/if (!(n%i))2程序设计已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。
请编写给函数fun,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分),已给出函数的首部,请完成函数。
fun(STU a[],STU *s){int i, max = a[0]. s, j=0;for (i=1; i<N;i++){ if (max<a [i].s) {j=i;max =a[i].s;}*s=a[j];}第二套1程序填空给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。
例如:若N=3有下列矩阵:1 2 34 5 67 8 9交换后:3 2 14 5 69 8 7第1处void fun (int t [] [N], int n)第2处for (i=0; i<n; i++)第3处t [i] [n-i-1]=s;2 程序修改由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。
若找到,返回其下标值;反之,返回-1.折半查找的基本算法是:每次查找前先确定数组中待查的范围:low 和high(low﹤high),然后把m的值大于中间位置元素中的值,则下一次的查找范围落在中间位置之前的元素中。
国家二级(C语言)机试模拟试卷62(题后含答案及解析)_0

国家二级(C语言)机试模拟试卷62(题后含答案及解析)题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题程序填空题(30分)1.请补充函数fun( ),该函数的功能是:把数给aa中元素下标为奇数的元素按从大到小的顺序重新保存在原数组中,其它元素位置不变。
例如,输入“33,67,42,58,25,76,85,16,41,56”,则输出“33,76,42,67,25,58,85,56,41,16”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>#define N 10 void fun(int aa[]) {int i, j, t;for (【】; i<N; i=i+2){ for(j=i; j<N; j=j+2) if (aa [i]<aa[j]) { 【】;aa [j]=aa[i];【】; } } } main( ) {int i;int aa[N]={33, 67, 42, 58, 25, 76, 85, 16,41, 56};clrscr( );printf(“\n*** original list ***\n”);for (i=0;i<N; i++) printf (“%4d”,aa[i]);fun (aa);printf(“\n*** new list ***\n”); for (i=0; i<N; i++) printf (“%4d”,aa [i] ); }正确答案:i=1t=aa[j]aa[i]=t解析:第一空:本题采用选择法进行排序。
因为题目要求将下标为奇数的元素进行排序,所以下标为0的元素不用考虑,从下标为1的元素开始。
第二空:借助第三个变量t交换两数。
首先将aa[j]赋给t暂存。
第三空:然后将aa[i]赋给aa[j]此时aa[j]中的数已经发生变化,而t中暂存了a[j]原来的值,所以最后将t 赋给aa[i]。
国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析)
国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。
操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。
例如,若N=3,有下列矩阵: 1 2 3 计算结果为7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #define N 43 void fun(int(*t)[N])4 { int j,r[N];5 for(j=0;j<N;j++)r[j]=t[0][j];6 for(j=0;j<N;j++)7 /**********found**********/8 t[0][N-j-1]=t[j][__1__];9 for(j=0;j<N;j++)10 t[j][0]=t[N-1][j];11 /**********found**********/12 for(j=N-1;j>=0;__2__)13 t[N-1][N-1-j]=t[j][N-1];14 for(j=N-1;j>=0;j--)15 /**********found**********/16 t[j][N-1]=r[__3__];17 }18 main( )19 {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;20 printf(‘‘\nThe original array:\n’’);21 for(2=0;i<N;i++)22 {for(j=0;j<N;j++)printf(‘‘%2d”,t[i][j]);23 printf(‘‘\n’’);24 }25 fun(t);26 printf(‘‘\nThe result is:\n’’);27 for(i=0;i<N;i++)28 { for(j=0;j<N;j++)printf(‘‘%2d’’,t[i][j]);29 printf(‘‘\n’’);30 }31 }正确答案:(1)0 (2)j-- (3)j解析:第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是“t[j][0]”,第一行元素是“t[0][N-j-1]”,故第一空处应为“0”。
国家二级(C语言)笔试模拟试卷150(题后含答案及解析)
国家二级(C语言)笔试模拟试卷150(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.算法的空间复杂度是指A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间正确答案:D解析:算法的复杂度主要包括算法的时间复杂度和空间复杂度。
所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指执行这个算法所需要的内存空间。
2.在结构化程序设计中,模块划分的原则是A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度正确答案:D解析:在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。
3.下列叙述中,不属于测试的特征的是A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性D.测试的经济性正确答案:C解析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。
它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。
其中,没有测试的可靠性这一说法。
4.下面关于对象概念的描述中,错误的是A.对象就是C语言中的结构体变量B.对象代表着正在创建的系统中的一个实体C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的正确答案:A解析:对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系,来模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对象的思想广泛应用于C++、Java等语言中,因此A)错误。
5.下列关于队列的叙述中正确的是A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表正确答案:C解析:队列是一种操作受限的线性表。
国家二级(C语言)笔试模拟试卷263(题后含答案及解析)
国家二级(C语言)笔试模拟试卷263(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.算法的空间复杂度是指A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间正确答案:D解析:算法的复杂度主要包括算法的时间复杂度和空间复杂度。
所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指执行这个算法所需要的内存空间。
2.对线性表进行二分法检索,其前提条件是( )。
A.线性表以顺序方式存储,并按关键码值排好序B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,并按关键码的检索频率排好序正确答案:A解析:对线性表进行二分法检索,要求线性表是按顺序方式存储的,并按关键码值的大小排好序,而不是按关键码的检索频率排序。
3.关系数据库管理系统能实现的专门关系运算包括( )。
A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表正确答案:B解析:关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。
4.对长度为n的线性表进行顺序查找,在最坏的情况下需要比较的次数为( )。
A.125B.n/2C.nD.n+1正确答案:C解析:对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止.在最坏的情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为n。
5.下列程序(注意:ch[0]在低字节,ch[1]在高字节)的输出结果是______。
#include<stdio.h>union pw{ int i;char ch[2];}a;main ( ){ a.ch[0]=13;a.ch[1]=0;printf(“%d\n”,a.i);}A.13B.14C.208D.209正确答案:A6.下述关于数据库系统的叙述中正确的是A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据正确答案:A解析:数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值。
国家二级(C语言)笔试模拟试卷50(题后含答案及解析)
国家二级(C语言)笔试模拟试卷50(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.算法一般都可以用_____控制结构组合而成。
A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环正确答案:D解析:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。
一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。
2.数据的存储结构是指_____。
A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据正确答案:B解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。
3.设有下列二叉树:对此二叉树中序遍历的结果为_____。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA正确答案:B解析:中序遍历是指首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右了树的一种二叉树遍历算法。
4.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送_____。
A.调用语句B.命令C.口令D.消息正确答案:D解析:面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为消息。
消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。
5.检查软件产品是否符合需求定义的过程称为_____。
A.确认测试B.集成测试C.验证测试D.验收测试正确答案:A解析:确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中的确定的各种需求,以及软件配置是否完全、正确。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级C语言笔试模拟62一、选择题1、下列关于栈的描述正确的是 ______。
A) 在栈中只能插入元素而不能删除元素B) 在栈中只能删除元素而不能插人元素C) 栈是特殊的线性表,只能在一端插入或删除元素D) 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素2、下列关于栈的描述中错误的是( )。
A) 栈是先进先出的线性表B) 栈只能顺序存储C) 栈具有记忆作用D) 对栈的插入与删除操作中,不需要改变栈底指针3、在设计程序时,应采纳的原则之一是A) 不限制goto语句的使用B) 减少或取消注解行C) 程序越短越好D) 程序结构应有助于读者理解4、下列叙述中正确的是______。
A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表D) 链式存储结构比顺序存储结构节省存储空间5、下列排序方法中,最坏情况下比较次数最少的是( )。
A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序6、有下列二叉树,对此二叉树前序遍历的结果为( )。
A) ACBEDGFH B) ABDGCEHF C) HGFEDCBA D) ABCDEFGH7、软件是指______。
A) 程序B) 程序和文档C) 算法加数据结构D) 程序、数据与相关文档的完整集合8、软件调试的目的是______。
(A) 发现错误(B) 改正错误(C) 改善软件的性能(D) 验证软件的正确性9、关于结构化程序设计原则和方法描述错误的是( )。
A) 选用的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用GOTO语句D) 语言中所没有的控制结构,应该采用前后一致的方法来模拟10、“商品”与“顾客”两个实体集之间的联系一般是______。
A) 一对一B) 一对多C) 多对一D) 多对多11、如下:由关系R通过运算得到关系S,则所使用的运算为______。
A) 选择B) 投影C) 插入D) 连接12、下列数据模型中,具有坚实理论基础的是A) 层次模型B) 网状模型C) 关系模型D) 以上3个都是13、设有定义:int k=1,m=2;float f=7;则以下选项中错误的表达式是 ______。
A) k=k>=k B) -k++ C) k% int(f) D) k>=f>=m14、请选出可用作C语言用户标识符的是A) void,define,WORD B) a3_3,_123,IFC) FOR,--abc,Case D) 2a,Do,Sizeof15、阅读以下程序#include<stdio.h>main(){ int case; float printF;printf("请输入2个数:");scanf("%d %f", &case, &printF);printf("%d %f\n", case, printF);}该程序编译时产生错误,其出错原因是A) 定义语句出错,case是关键字,不能用作用户自定义标识符B) 定义语句出错,printF不能用作用户自定义标识符C) 定义语句无错,scanf不能作为输入函数使用D) 定义语句无错,printf不能输出case的值16、下列不是合法的C语言语句是( )。
A) a=5B) {int i;i++;}C) ;D) {;}17、语句“printf("a\bhow\'are\'y\\\bou\n");”的输出结果是( )。
A) a\bhow\'are\'y\\bou B) a\bhow\'are\'y\bouC) how'are'you D) ahow'are'y\bou18、若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是A) a的值是字符C B) a的值是浮点型C) 不允许字符型和浮点型相加D) a的值是字符'A'的ASCII值加上119、有以下程序段int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; } while (t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是______。
(A) 任意正奇数(B) 任意负偶数(C) 任意正偶数(D) 任意负奇数20、设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是______。
A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.021、下列程序的输出结果是( )。
#include<stdio.h>main(){ int a=0,i;for(i=1;i<5;i++){ switch(i){ case 0:case 3:a+=1;case 1:case2:a+=2;default:a+=3;}}printf("%d",a);}A)19 B)18 C)6 D)822、下列循环体的执行次数是( )。
#include<stdio.h>main(){ int i,j;for(i=0 j=1;i<j+1;i+=1,j--)printf("%d\n",j);}A) 3 B) 2 C) 1 D) 023、在C语言程序中,以下说法正确的是( )。
A) 函数的定义和函数的调用均不可以嵌套B) 函数的定义不可嵌套,但函数的调用可以嵌套C) 函数的定义可以嵌套,但函数的调用不可以嵌套D) 函数的定义和函数的调用均可以嵌套24、有以下程序#include<stdio.h>void fun(int*a,int*B){ int*c;c=a;a=b;b=c;}main(){ int x=3, y=5,*p=&x, *q=&y;fun(p,q); printf("%d,%d,",*p,*q);fun(&x,&y); printf(" %d,%d\n",*p,*q);}程序运行后的输出结果是______。
A) 3,5,5,3 B) 3,5,3,5 C) 5,3,3,5 D) 5,3,5,325、有以下程序main(){int a=1,b=3,c=5;int *p1=&a, *p2=&b, *p=&c;*p=*p1*(*p2);printf("%d\n", c);}执行后的输出结果是______。
(A) 1(B) 2(C) 3(D) 426、有下列程序:main(){ int i,j,x=0;for(i=0,i<2;i++){x++:for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}printf("x=%d\n",x);}程序执行后的输出结果是( )。
A.x=4 B.x=8 C.x=6 D.x=1227、若有以下说明和语句:int c[4] [5] ,( * p) [5];p=e;能够正确引用c数组元素的是( )。
A) p+1 B) *(p+3) C) *(p+1)+3 D)*(p[0]+2)28、变量m的值为8,m的地址为1010,若欲使p为指向m的指针变量,则下列赋值正确的是( )。
A) &m=8 B) *p=8 C) *p=1010 D) p=&m29、若有以下定义,则对数组元素的正确引用是( )。
int a[5],*p=a;A) *&a[5] B) (*a)+2 C) *p+4 D) (a+2)30、以下程序(函数fun只对下标为偶数的元素进行操作)运行后的输出结果是#include<stdio.h>void 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,131、有下列程序:#include<stdio.h>#include<stdlib.h>int fun(int n){ int*p;p=(int*)malloc(sizeof(int));*p=n;return*p:}main(){ int a;a=fun(10);printf("%d\n",a+fun(10));}程序的运行结果是( )。
A.0 B.10 C.20 D.出错32、有下列程序:#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.1,2,3,4,5,6,7,8,9,0 B.2,1,4,3,6,5,8,7,0,9C.0,9,8,7,6,5,4,3,2,1 D.0,1,2,3,4,5,6,7,8,933、设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为( )。
A) EOF B) 非0值C) 0 D) NULL34、已有定义int(*q)(),指针q可以( )。
A) 指向函数的入口地址B) 代表函数的返回值C) 表示函数的类型D) 表示函数返回值的类型35、有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A)a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i)36、下列程序的运行结果为( )。