计算机二级c语言第3套笔试模拟试卷
全国计算机二级C语言模拟题第三套

全国计算机二级C语言模拟题第三套(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)确认测试B)集成测试C)验证测试D)验收测试(7)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是A)控制流B)加工C)数据存储D)源和潭(8)应用数据库的主要目的是A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题D)解决数据量大的问题(9)在数据库设计中,将E-R图转换成关系数据模型的过程属于A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是A)数据库系统B)文件系统C)人工管理D)数据项管理(11)数据的逻辑结构有线性结构和【1】两大类。
(12)顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。
(13)一个类可以从直接或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的【3】。
(14)软件工程研究的内容主要包括:【4】技术和软件工程管理。
(15)关系操作的特点是【5】操作。
试题解析1.解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
DLUT计算机二级模拟考试试题三

DLUT计算机二级模拟考试试题三DLUT计算机校二级模拟考试试题三一.判断题1.在C程序中,注释说明只能位于一条语句的后面2. 当函数的类型与return语句后表达式的值的类型不一致时,函数返回值的类型由return语句后表达式值的类型决定。
3. do-while循环由do开始,while结束,在while(表达式)后面不能加分号。
4. 定义int x[5],n;则x=x+n;或x++;都是正确的。
5. 逻辑表达式4>2&&1||5<3-!0的值为1。
6. for循环的三个表达式中间用逗号相分隔。
分号7. 若有定义int a[10];则for (i=0;i<=10;i++) a[i]=i;执行时无语法错误。
8. 格式字符%e以指数形式输出实数数字部分小数位数7位。
9. 二维数组在内存中存贮时,是按下标值递增且右侧的下标比左侧的下标变化快的顺序连续存贮各元素的值。
10.C语言中,在打开文件时,必须说明文件的使用方式,"r"用于打开一个不存在的文件。
二.选择题1.在C程序中,字符型数据在内存中以________形式存放。
A.原码B.BCD码 C.反码D.AS C‖2.对于语句f=(3.0,4.0,5.0), (2.0,1.0,0.0); 的判断中,________是正确的。
A.语法错误B.使f的值为5.0 C. 使f的值为0.0 D. 使f的值为2.03. 能正确表示a和b同时为正或同时为负的逻辑表达式是:()A.(a>=0||b>=0)&&(a<0||b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D. a*b>04. 下面函数的功能是:______sss(s,t)char *s, *t;{while((*s)&&(*t)&&(*t++= =*s++));return(*s-*t);}A. 求字符串的长度B:比较两个字符串的大小C:将字符串s复制到字符串t中D:将字符串s续接到字符串t中5.函数char ctype(int x, int y)的返回类型由______确定。
计算机等级考试二级C语言 模拟题 第三套

第三套一、编程题:18.编写程序,实现矩阵(3行3列)的转置(即行列互换)。
例如,若输入下面的矩阵:,则程序输出:注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include <stdio.h>#include <conio.h>void fun(int array[3][3]){}main(){int i,j;int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};clrscr();for (i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("Converted array:\n");for (i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}}82.请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。
例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为71.80。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include <stdio.h>float fun ( float *a, int n ){}main(){float score[30]={90.5,72,80,61.5,55}, aver;aver=fun(score,5);printf("\nAverage score is :%5.2f\n",aver);}二、改错题:22.下列给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值。
2020年全国计算机等级考试二级C语言全真模拟试卷及答案(三)

2020年全国计算机等级考试二级C语言全真模拟试卷及答案(三)一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)软件是指A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整集合(2)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试(3)以下不属于对象的基本特点的是A)分类性B)多态性C)继承性D)封装性(4)在设计程序时,应采纳的原则之一是A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)数据结构中,与所使用的计算机无关的是数据的A)存储结构B)物理结构C)逻辑结构D)物理和存储结构(7)线性表的顺序存储结构和线性表的链式存储结构分别是A)顺序存取的存储结构、顺序存取的存储结构B)随机存取的存储结构、顺序存取的存储结构C)随机存取的存储结构、随机存取的存储结构D)任意存取的存储结构、任意存取的存储结构(8)树是结点的集合,它的根结点数目是A)有且只有1 B)1或多于1 C)0或1 D)至少2(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件(10)数据库、数据库系统和数据库管理系统之间的关系是A)数据库包括数据库系统和数据库管理系统B)数据库系统包括数据库和数据库管理系统C)数据库管理系统包括数据库和数据库系统D)三者没有明显的包含关系(11)以下4个选项中,不能看作一条语句的是A); B)a=5,b=2.5,c=3.6; C)if(a<5);D)if(b!=5)x=2;y=6;(12)下面四个选项中,均是不合法的用户标识符的选项是A)A P_0 do B)float la0_A C)b-a goto int D)_123 temp int(13)以下选项中不属于字符常量的是A)′C′B)′′C′′C)′\xCC′ D) ′\072′(14)设变量已正确定义并赋值,以下正确的表达式是A)x=y*5=x+z B)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0(15)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b (16)以下程序的运行结果是int k=0;void fun(int m){m+=k;k+=m;printf("m=%d k=%d ",m,k++);}main(){int i=4;fun(i++); printf("i=%d k=%d\n",i,k);}A)m=4 k=5 i=5 k=5B)m=4 k=4 i=5 k=5 C)m=4 k=4 i=4 k=5D)m=4 k=5 i=4 k=5(17)已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c)B)′A′<=c<=′Z′ C)′A′<=c&&c<=′Z′D)c<=(′z′-32)&&(′a′-32)<=c(18)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值是A)1B)2C)3D)4(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b)a=b; c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7(20)若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的switch语句是A)switch(x){case 1.0:printf("*\n");case 2.0:printf("**\n");}B)switch((int)x);{case 1:printf("*\n");case 2:printf("**\n");}C)switch(a+b){case 1:printf("*\n");case 2+1:printf("**\n");}D)switch(a+b){case1:printf(**\n);}casec:printf(**\n);}(21)有以下程序#include <stdio.h>main0{ int y=9;for( ; y>0;y--)if(y%3==0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(22)以下描述中正确的是A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C)在do-while循环体中,是先执行一次循环,再进行判断D)do-while循环中,根据情况可以省略while(23)有以下程序#include <stdio.h>main(){ int a[ ]={1,2,3,4},y,*p=&a[3];--p; y=*p;printf("y=%d\n",y);}程序的运行结果是A)y=0B)y=1C)y=2D)y=3(24)以下数组定义中错误的是A)int x[][3]={0}; B)int x[2][3]={{l,2},{3,4},{5,6}};C)int x[][3]={{l,2,3},{4,5,6}}; D)int x[2][3]={l,2,3,4,5,6};(25)下面说明不正确的是A)char a[10]="china"; B)char a[10],*p=a;p="china"C)char *a;a="china" D)char a[10],*p;p=a="china"(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1](27)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc() B)gets() C)getchar() D)scanf()(28)阅读下列程序段,则程序的输出结果为#include "stdio.h"#define M(X,Y)(X)*(Y)#define N(X,Y)(X)/(Y)main(){ int a=5,b=6,c=8,k;k=N(M(a,b),c);printf("%d\n",k);A)3 B)5 C)6 D)8(29)在16位IBM-PC机上使用C语言,若有如下定义struct data{ int i;char ch;double f;} b;则结构变量b占用内存的字节数是A)1B)2C)7D)11(30)有以下程序#include<stdio.h>main(){FILE *fp; int i,a[6]={l,2,3,4,5,6};fp=fopen("d3.dat","w+b");fwrite(a,sizeof(int),6,fp);fseek(fp,sizeof(int)*3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/fread(a,sizeof(int),3,fp); fclose(fp);for(i=0;i<6;i++)printf("%d,",a[i]);}程序运行后的输出结果是A)4,5,6,4,5,6,B)1,2,3,4,5,6,C)4,5,6,1,2,3,D)6,5,4,3,2,1,(31)有以下程序#include <stdio.h>main(){ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++;for(i=1;i<5;i++) printf("%d",c[i]);printf("\n");}程序的运行结果是A)1 2 3 4B)2 3 4 4C)4 3 3 2D)1 1 2 3(32)有以下程序#include <stdio.h>void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/{ int t,i,j;for(i=0;i<n-1;j++)for(j=i+1;j<n;j++)if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t;}}main(){ int c[10]={1,2,3,4,5,6,7,8,9,0},i;fun(c+4,6);for(i=0;i<10;i++) printf("%d,",c[i]);printf("\n");}程序的运行结果是A)1,2,3,4,5,6,7,8,9,0,B)0,9,8,7,6,5,1,2,3,4,C)0,9,8,7,6,5,4,3,2,1,D)1,2,3,4,9,8,7,6,5,0,(33)下面程序的输出结果是#include<stdio.h>#include<string.h>main(){ char *p1="abc",*p2="ABC",str[50]= "xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str);}A)xyzabcABC B)zabcABC C)xyabcABC D)yzabcABC(34)以下函数返回a所指数组中最小的值所在的下标值fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p]); ________;return(p);}在横线处应填入的是A)i=p B)a[p]=a[i]C)p=j D)p=i(35)下列程序的运行结果为#include<stdio.h>void abc(char*str){ int a,b;for(a=b=0;str[a]!='\0';a++)if(str[a]!='c')str[b++]=str[a];str[b]='\0';}void main(){ char str[]="abcdef";abc(str);printf("str[]=%s",str); }A)str[]=abdef B)str[]=abcdef C)str[]=aD)str[]=ab(36)有以下程序#include <stdio.h>#include <string.h>typedef struct{ char name[9]; char sex; float score[2]; }STU; void f(STU a){ STU b={"Zhao",′m′,850,900}; int i;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++) a.score[i]=b.score[i];}main(){ STU c={"Qian",′f′,95.0,92.0};f(c);printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);}程序的运行结果是A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,f,95,92 D)Zhao,m,85,90(37)有以下程序#include <stdio.h>main(){ FILE *fp; int a[10]={1,2,3},i,n;fp=fopen("d1.dat","w");for(i=0;i<3;i++) fprintf(fp,"%d",a[i]);fprintf(fp,"\n");fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d",&n);fclose(fp);printf("%d\n",n);}程序的运行结果是A)12300B)123C)1D)321(38)已知int a=1,b=3则a^b的值为A)3B)1C)2D)4(39)阅读下列程序,则运行结果为#include "stdio.h"fun(){ static int x=5;x++;return x;}main(){ int i,x;for(i=0;i<3;i++)x=fun();printf("%d\n",x);}A)5 B)6 C)7D)8(40)有以下程序#include <stdio.h>void fun(char *t,char *s){ while(*t!=0) t++;while((*t++=*s++)!=0);}main(){ char ss[10]="acc",aa[10]="bbxxyy";fun(ss,aa); printf("%s,%s\n",ss,aa);}程序的运行结果是A)accxyy,bbxxyy B)acc,bbxxyy C)accxxyy,bbxxyyD)accbbxxyy,bbxxyy二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
全国计算机等考二级C语言模拟试题3

(14)下面程序在屏幕上的输出是________。
main()
{
printf("ab\b\b c");
}
A)ab\b\b c B)a c C)abc D)ab c
答案:B
评析:c语言中允许使用一种特殊形式的字符常量,、就是以一个"\"开头的字符序列,这样的字符称为"转义字符"。常用的转义字符有:\n,换行;\t,水平制表;\b,退格;\r,回车。
一、选择题((1)~(10)每小题2分,(11)-(50)每小题1分,共60分)
下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)算法的时间复杂度是指_______。
A)执行算法程序所需要的时间
B)算法程序的长度
(12)一个良好的算法由下面的基本结构组成,但不包括__________。
A)顺序结构 B)选择结构 c)循环结构 )跳转结构
答案:D
评析:1966年,Bohra和Jacopini提出了以下三种基本结构,用这三种基本结构作为表示一个良好算法的基本单元:1、顺序结构;2、选择结构;3、循环结构。
C)a=98,b=765.000000,c=432 1.000000
D)a=98,b=765.0,c=432 1.0
答案:C
评析:scanf()把用户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存入单精度实型变量c,用户录入的第10位被scanf()遗弃。这时变量a、b、c的值分别为:98、765.000000、4321.000000。
国家二级C语言程序设计机试(选择题)模拟试卷3

国家二级C语言程序设计机试(选择题)模拟试卷3(总分:80.00,做题时间:90分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,属于非线性结构的是( )。
(分数:2.00)A.循环队列B.带链队列C.二叉树√D.带链栈解析:解析:线性结构的特点:①有且只有一个根结点;②每一个结点最多有一个前驱,也最多有一个后继。
不满足线性结构条件的称为非线性结构,二叉树的非叶子结点最多可以用两个后继结点,属于非线性结构。
2.算法的空间复杂度是指( )。
(分数:2.00)A.算法在执行过程中所需要的计算机存储空间√B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,因此本题答案为A。
3.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
(分数:2.00)A.循环队列B.栈√C.队列D.二叉树解析:解析:栈是按“先进后出”的原则组织数据的;队列是按“先进先出”的原则组织数据的,因此本题答案为B。
4.软件设计中划分模块的一个准则是( )。
(分数:2.00)A.低内聚、低耦合B.高内聚、低耦合√C.低内聚、高耦合D.高内聚、高耦合解析:解析:一般较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此本题答案为B。
5.结构化程序的三种基本控制结构是( )。
(分数:2.00)A.顺序、选择和重复(循环) √B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移解析:解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环),故正确答案为A。
6.软件需求规格说明书在软件开发中的作用不包括( )。
(分数:2.00)A.软件设计的依据B.软件可行性分析的依据√C.软件验收的依据D.用户和开发人员对软件要做什么的共同理解解析:解析:需求分析就是分析软件用户的需求是什么,描述需求的文档称为软件需求规格说明书。
计算机二级c语言第3套笔试模拟试卷

第3套笔试模拟试卷一选择题:(1)下列叙述中正确的是()。
A)一个算法的空间复杂度大,则其时间复杂度必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(2)下列叙述中错误的是()。
A)线性表是由n个元素组成的一个有限序列B)线性表是一种线性结构C)线性表的所有结点有且仅有一个前件和后件D)线性表可以是空表(3)数据的存储结构是指()。
A)数据所占的存储空间B)数据的逻辑结构在计算机中的存放形式C)数据在计算机中的顺序存储方式D)存储在计算机外存中的数据(4)下面对对象概念描述正确的是()。
A)任何对象都必须有继承性B)对象是属性和方法的封装体C)对象间的通信靠信息传递D)方法是对象的静态属性(5)有下列二叉树,对此二叉树前序遍历的结果为()。
A)ACFXDBEYZB)ABEFXYZCDC)ABCDEFXYZD)ABDYECFXZ(6)两个或两个以上模块之间联系的紧密程度称为()。
A)耦合性B)内聚性C)复杂性D)数据传输特性(7)在下列关于二叉树的叙述中,正确的一项是()。
A)在二叉树中,任何一个结点的度都是2B)二叉树的度为2C)在二叉树中至少有一个结点的度为2D)一棵二叉树的度可以小于21(8)待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
A)3B)5C)7D)9(9)以下所述中,是软件调试技术的是()。
A)错误推断B)集成测试C)回溯法D)边界值分析(10)设有如下关系表:A)T=R/SB)T=R×SC)T=R∩SD)T=R∪S(11)C语言程序的执行是()。
A)从程序的主函数开始,到程序的主函数结束C)从程序的主函数开始,到程序的最后一个函数结束B)从程序的第一个函数开始,到程序的最后一个函数结束D)从程序的第一个函数开始,到程序的主函数结束(12)下列不合法的用户标识符是()。
国家二级C语言C语言基础知识机试-试卷3_真题-无答案

国家二级C语言(C语言基础知识)机试-试卷3(总分50,考试时间90分钟)1. 选择题1. 以下叙述中错误的是A. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件B. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中C. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令D. C语言源程序经编译后生成后缀为.obj的目标程序2. 下列叙述中错误的是A. C程序可以由多个程序文件组成B. 一个C语言程序只能实现一种算法C. C程序可以由一个或多个函数组成D. 一个C函数可以单独作为一个C程序文件存在3. 以下叙述中错误的是A. 结构化程序由顺序、分支、循环三种基本结构组成B. C语言是一种结构化程序设计语言C. 使用三种基本结构构成的程序只能解决简单问题D. 结构化程序设计提倡模块化的设计方法4. 以下叙述中错误的是A. 算法正确的程序最终一定会结束B. 算法正确的程序可以有零个输入C. 算法正确的程序可以有零个输出D. 算法正确的程序对于相同的输入一定有相同的结果5. 以下选项中关于程序模块化的叙述错误的是A. 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C. 把程序分成若干相对独立的模块,可便于编码和调试D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序6. C语言源程序名的后缀是A. .exeB. .objC. .cD. .cp7. 关于算法,以下叙述中错误的是A. 同一个算法对于相同的输入必能得出相同的结果B. 一个算法对于某个输入的循环次数是可以事先估计出来的C. 某个算法可能会没有输入D. 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕8. 以下不能用于描述算法的是A. 程序语句B. E-R图C. 伪代码和流程图D. 文字叙述9. 以下叙述中正确的是A. 程序的算法只能使用流程图来描述B. N—S流程图只能描述简单的顺序结构的程序C. 计算机可以直接处理C语言程序,不必进行任何转换D. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构10. 以下叙述中正确的是A. 在C语言程序设计中,所有函数必须保存在一个源文件中’B. 在算法设计时,可以把复杂任务分解成一些简单的子任务C. 只要包含了三种基本结构的算法就是结构化程序D. 结构化程序必须包含所有的三种基本结构,缺一不可11. 以下叙述中正确的是A. 每个后缀为.c的C语言源程序都应该包含一个main函数B. 在C语言程序中,main函数必须放在其他函数的最前面C. 每个后缀为.c的C语言源程序都可以单独进行编译D. 在C语言程序中,只有main函数才可单独进行编译12. 有以下程序#include main(){ int s,t,A=10;double B=6:s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);} 在VC6平台上编译运行,程序运行后的输出结果是A. 4,4B. 2,4C. 4,8D. 10,613. 对于一个正常运行的C程序,以下叙述中正确的是A. 程序的执行总是从程序的第一个函数开始,在main函数结束.B. 程序的执行总是从main函数开始,在程序的最后一个函数中结束C. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束D. 程序的执行总是从main函数开始14. 计算机能直接执行的程序是A. 目标程序B. 可执行程序C. 汇编程序D. 源程序15. 以下叙述中正确的是A. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行B. C语言程序将从源程序中第一个函数开始执行C. main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等D. C语言规定必须用main作为主函数名,程序将从此开始执行16. 以下叙述中错误的是A. C程序在运行过程中所有计算都以二进制方式进行B. 所有C程序都需要编译链接无误后才能运行C. C程序在运行过程中所有计算都以十进制方式进行D. C程序中字符变量存放的是字符的ASCII值17. 下列叙述中正确的是A. 在C程序中main函数的位置是固定的B. C程序中所有函数之间都可以相互调用C. 每个C程序文件中都必须要有一个main函数D. 在C程序的函数中不能定义另一个函数18. 以下叙述正确的是A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x))C. C语言函数不可以单独编译D. C语言中除了main函数,其他函数不可作为单独文件形式存在19. C语言程序的模块化通过以下哪个选项来实现A. 变量B. 程序行C. 函数D. 语句20. 以下叙述中正确的是A. 程序的主函数名除main外,也可以使用Main或mainB. 在C程序中,模块化主要是通过函数来实现的C. 程序可以包含多个主函数,但总是从第一个主函数处开始执行D. 书写源程序时,必须注意缩进格式,否则程序会有编译错误21. 以下叙述中正确的是A. C语言程序总是从最前面的函数开始执行B. C语言程序总是从main函数开始执行C. C语言程序中main函数必须放在程序的开始位置D. C语言程序所调用的函数必须放在main函数的前面22. C语言主要是借助以下哪种手段来实现程序模块化A. 定义常量和外部变量B. 使用丰富的数据类型C. 使用三种基本结构语句D. 定义函数23. 以下四个程序中,完全正确的是A. #include<stdio.h>main();main() {/*/Programming /*/printf("programming!\n");}B. #include<stdio.h>{/*programming*/printf("programming!\n");}C. #include<stdio.h>main() main() {/*/*programming*/*/printf("programming!\n");}D. include<stdio.h>{/*programming*/print("programming!\n");}24. 以下关于结构化程序设计的叙述中正确的是A. 结构化程序使用goto语句会很便捷B. 一个结构化程序必须同时由顺序、分支、循环三种结构组成C. 由三种基本结构构成的程序只能解决小规模的问题D. 在C语言中,程序的模块化是利用函数实现的25. 以下叙述中正确的是A. C程序中的每一行只能写一条语句B. 简单C语句必须以分号结束C. C语言程序中的注释必须与语句写在同一行D. C语句必须在一行内写完。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3套笔试模拟试卷一选择题:(1)下列叙述中正确的是()。
A)一个算法的空间复杂度大,则其时间复杂度必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(2)下列叙述中错误的是()。
A)线性表是由n个元素组成的一个有限序列B)线性表是一种线性结构C)线性表的所有结点有且仅有一个前件和后件D)线性表可以是空表(3)数据的存储结构是指()。
A)数据所占的存储空间B)数据的逻辑结构在计算机中的存放形式C)数据在计算机中的顺序存储方式D)存储在计算机外存中的数据(4)下面对对象概念描述正确的是()。
A)任何对象都必须有继承性B)对象是属性和方法的封装体C)对象间的通信靠信息传递D)方法是对象的静态属性(5)有下列二叉树,对此二叉树前序遍历的结果为()。
A)ACFXDBEYZB)ABEFXYZCDC)ABCDEFXYZD)ABDYECFXZ(6)两个或两个以上模块之间联系的紧密程度称为()。
A)耦合性B)内聚性C)复杂性D)数据传输特性(7)在下列关于二叉树的叙述中,正确的一项是()。
A)在二叉树中,任何一个结点的度都是2B)二叉树的度为2C)在二叉树中至少有一个结点的度为2D)一棵二叉树的度可以小于2(8)待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
A)3B)5C)7D)9(9)以下所述中,是软件调试技术的是()。
A)错误推断B)集成测试C)回溯法D)边界值分析(10)设有如下关系表:A)T=R/SB)T=R×SC)T=R∩SD)T=R∪S(11)C语言程序的执行是()。
A)从程序的主函数开始,到程序的主函数结束C)从程序的主函数开始,到程序的最后一个函数结束B)从程序的第一个函数开始,到程序的最后一个函数结束D)从程序的第一个函数开始,到程序的主函数结束(12)下列不合法的用户标识符是()。
A)j2_KEYB)DoubleC)4dD)_8_(13)若变量已正确定义,以下表达式错误的是()。
A)a/b+cB)a%(5.0)C)a=1/3*(x=y=10,x*2)D)a=b=c(14)下列不合法的数值常量是()。
A)011B)1e1C)8.0E0.5D)0xabcd(15)已知char a;int b;float c;double d;,则表达式a+b+c-d结果为()型。
A)doubleB)floatC)intD)char(16)下列叙述中正确的是()。
A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(17)下列字符串是标识符的是()。
A)aaB)a-classC)intD)LINE 1(18)下列关于函数的叙述中正确的是()。
A)每个函数都可以被其他函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(19)若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是()。
A)++i;B)n1=(n2/(n3=2));C)k=i=j;D)a=b+c=2;(20)下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
A)只能是整数0或1B)只能是整数0或非0整数C)可以是结构体类型的数据D)可以是任意合法的表达式(21)设已定义x为double类型变量:#include<stdio.h>main(){float x=323.82631;printf("%.2e\n",x);}则以上语句()。
A)输出格式描述符的域宽不够,不能输出B)输出为32.38e+01C)输出为3.24e+002D)输出为3.24e2(22)若变量都已正确说明,则以下程序段()。
#include<stdio.h>main(){int a=3;int b=2;printf(a>b?"***a=%d":"###b=%d",a,b);}A)输出为:***a=3B)输出为:###b=3C)输出为:***a=3##b=5D)全部错误(23)与y=(x>0 ? 2 : x<0 ? 1 : 0);的功能相同的if语句是( )A)if(x>0) y=2; B)if(x)else if(x<0) y=1; if(x>0) y=1;else y=0; else if(x<0) y=2;else y=0;C)y=1; D)if(x<0) y=2;if(x) if(x>0) y=1;if(x>0) y=2; else y=0;else if(x==0) y=0;else y=1;(24)有以下程序:#include<stdio.h>main(){ int i,s=0;for(i=1;i<10;i++)if(!(i%2)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是()。
A)4B)39C)45D)6(25)在下列选项中,没有构成死循环的程序段是()。
A)int i=100; B)for(;;);while(2){i=i%10+1;if(i>10) break;}C)int k=0; D)int s=12;do{++k;} while(k<=10); while(s);--s;(26)下面程序的运行结果是()。
#include<stdio.h>void del(char*s){int i,j;char *a;a=s;for(i=0,j=0;a[i]!='\0';i++){ if(a[i]>='0'&&a[i]<='9'){ s[j]=a[i];j++;}s[j]='\0';}}main(){char *s="aa89gggh";del(s);printf("\n%s",s);}A)aaB)89C)ggghD)aa89gggh(27)要求tan(60°)的值,调用的库函数格式为()。
A)tan(60)B)tan(pi/3)C)tan(60.0)D)tan((double)60)(28)下列程序的输出结果是()。
#include<stdio.h>void fun(int*a,int*b){ int *k;k=a;a=b;b=k;}main(){ int a=1,b=2,*x=&a,*y=&b;fun(x,y);printf("%d %d",a,b);}A)2 1B)1 2C)编译出错D)0 0(29)若有以下定义:int m[]={1,2,3,4,5,6,7,8,9,0},*p=m;则值为4的表达式是()。
A)p+=3,*(p++)B)p+=3,*++pC)p+=4,*p++D)p+=3,++*p(30)若有说明int a[4][4]={2,4,6,8,10,12},(*p)[4]=a;则对数组元素a[i][j](其中0<=i<4,0<=j<4)地址的错误引用为()。
A)*(*(p+i)+j)B)*(p[i]+j)C)(a+i)[j]D)*(a[i]+j)(31)以下程序的输出结果为()。
#include<stdio.h>main(){char *p[]={"abcdefgh","ijkl","mnop","qrst","uvwx"};int i;for(i=0;i<3;i++)puts(p[i]);}A)abcdefghB)ijklC)abcdefghD)qrstijklmnop(32)若有以下定义,则对a数组元素地址的正确引用是()。
int a[5],*p=a;A)p+5B)*a+1C)&a+1D)&a[0](33)判断字符串s1是否大于字符串s2,应该使用()。
A)if(strcmp(s1,s2)<0)B)if(s1>s2)C)if(strcmp(s2,s1)<0)D)if(strcmp(s1,s2))(34)若输入bcdefgh、m、abcdefg,以下程序的输出结果为()。
#include<stdio.h>#include<string.h>main(){ int i;char string[20],str[3][20];for(i=0;i<3;i++) gets(str[i]);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);else strcpy(string,str[1]);if(strcmp(str[2],string)>0)strcpy(string,str[2]);printf("%s",string);}A)bcdefghB)mC)abcdefgD)bcdefgh或abcdefg(35)以下叙述中,不正确的是()。
A)使用static int a定义的外部变量存放在内存中的静态存储区B)使用int a定义的外部变量存放在内存中的动态存储区C)使用static int c定义的内部变量存放在内存中的静态存储区D)使用int d定义的内部变量存放在内存中的动态存储区(36)若有以下宏定义:#diefine N 2#define f(n)((N+1)*n)则执行语句a=3*(N+f(5));后的结果是()。
A)语句有错误B)a=51C)a=80D)a无定值(37)定义以下结构体(联合)数组:struct st{char name[15];int age;}a[10]={"ZHAO",14, "W ANG",15, "LIU",16, "ZHANG",17 };执行语句printf("%d,%c",a[2].age, *(a[3].name+2))的输出结果为()。