c语言模拟测试
C语言程序设计模拟试卷及答案(2)

C语言程序设计模拟试卷及答案(2)C语言程序设计模拟试卷及答案(2)一、填空题1、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______.2、C语言中基本的数据类型有:______、______ 、______ .3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是______.4、共用体和结构体的定义格式类似,不同点是______.5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a 的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是______.6、有语句:char A[ ]={“I am a student”};该字符串的长度是______,A[3]= ______.7、符号“a”和‘a’的区别______.8、下列程序的输出结果是______.int ast(int x,int y,int * cp,int * dp){ *cp=x+y; *dp=x-y; }main(){ int a=4,b=3,c,d;ast(a,b,&c,&d);printf(“%d,%d/n”,c,d);}二、选择题1、以下选项中属于C语言的数据类型是()。
A. 复合型B. 双精度型C. 逻辑型D. 集合型2、以下说法中正确的是()。
A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是()。
A. hot_doB. cat1C. _priD. 2ab4、下列描述中不正确的是()。
A、字符型数组中可能存放字符串。
B、可以对字符型数组进行整体输入、输出。
C、可以对整型数组进行整体输入、输出。
C语模拟考试题1

C语言模拟考试题1(共100分)一、单项选择题(每小题1分,共20分)1.若已定义x和y为double类型,则表达式x=1, y=x+5/2的值是(C )。
(A) 2 (B) 3 (C) 3.0 (D) 3.52.下列正确的字符串常量是( B )。
(A) abc (B) "abc" (C) 'abc' (D) 'a'3.以下程序运行后的输出结果是(B )。
#include<stdio.h>void main( ){ int p=10;printf("%d\n", (p?p/3:p%3));}(A) 2 (B) 3 (C) 20 (D) 错误信息4.在C语言中,short类型的数据长度为2个字节,则unsinged short类型数据的取值范围是( B )。
(A) 0至255 (B) 0至65535(C) -32768至32767 (D) -256至2555.在下列定义中,不正确的是( D )。
(A) int a[10]={12,23}; (B) char *b[10];(C) char s[20]= "china"; (D) double n=9,aa[n];6.有#define f(x) x+x及int a=3; 则执行printf("%d", f(a)*f(a)); 后的输出值为(B )。
(A) 0 (B) 15 (C) 36 (D) 97.使用fseek函数可以实现的功能是(D )。
(A) 文件的输出和输入(B) 文件的顺序读写(C) 文件的随机读写(D) 改变文件位置指针的当前位置8.以下关于静态局部变量的说法正确的是(D )。
(A) 静态局部变量的作用域为程序运行的全过程(B) 静态局部变量定义在函数体之外(C) 当某一函数被调用时,系统才为它的静态局部变量临时分配存储空间(D) 存储特性定义为static的局部变量是静态局部变量9.表达式sizeof('a'+10.0)的值为( C )。
全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
全国计算机二级C语言模拟测试【含详细解析】 (9)

1.算法的时间复杂度是指A. 设计该算法所需的工作量B. 执行该算法所需要的时间C. 执行该算法时所需要的基本运算次数D. 算法中指令的条数正确答案:C你的答案:解析:【解析】算法的时间复杂度是指执行算法所需要的计算工作量。
它与算法程序执行的具体时间并不一致,因为算法执行的具体时间受到所使用的计算机、程序设计语言以及算法实现过程中许多细节的影响。
算法的计算工作量是用算法所执行的基本运算次数来度量的。
故选C选项。
2.设循环队列存储空间为Q(1:50),初始状态为front=rear=50。
经过一系列入队和退队操作后,front=rear=25,则该循环队列中元素个数为A. 26B. 25C. 24D. 0或50正确答案:D你的答案:解析:【解析】循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。
循环队列长度为50,由初始状态为front=rear=50可知此时循环队列为空。
入队运算时,首先队尾指针rear进1(即rear+1),然后在队尾指针rear指向的位置插入新元素。
特别的,当队尾指针rear=50+1时,置rear=1。
退队运算时,排头指针front进1(即front+1),然后删除front指针指向的位置上的元素,当排头指针front=50+1时,置front=1。
若经过运算,front=rear可知队列空或者队列满,则队列中有0或者50个元素。
故选D 选项。
3.某棵树的度为4,且度为4、3、2、1的结点数分别为1、2、3、4,则该树中的叶子结点数为A. 11B. 9C. 10D. 8正确答案:A你的答案:解析:【解析】由题目可以知道,若四种度的结点分开成子树,共包含结点(4+1)+2×(3+1)+3×(2+1)+4×(1+1)=30个,当组合成一棵树时,任选一个度不为0的结点作为根结点,则新的树结点个数为30-2-3-4=21个,则该树中叶子结点个数为21-1-2-3-4=11。
大一c语言模拟试题二和参考答案

C语言测试题一、单项选择题(共30分,每题1分)1. 下列不正确的转义字符是A.\\B.\‘C.074D.\02. 不是C语言提供的合法关键字是A.switchB.cherC.caseD.default3.正确的标识符是()A.?a B.a=2 C.a.3 D.a_34.下列字符中属于键盘符号的是A.\B.\nC.\tD.\b.下列数据中属于“字符串常量”的A.ABCB.“ABC”C.‘ABC’D.‘A’6.c har型常量在内存中存放的是A.ASCII码B.BCD码C.内码值D.十进制代码值7.设a为5,执行下列语句后,b的值不为2的是()A.b=a/2B.b=6-(——a) C.b=a%2 D.b=a>3?2:28.在以下一组运算符中,优先级最高的运算符是()A.<=B.=C.%D.&&9.设整型变量i的值为3,则计算表达式i——i 后表达式的值是()A.0B.1C. 2D.表达式出错10.设整型变量a,b,c均为2,表达式a+++b+++c++的结果是()A.6B.9C.8D.表达式出错11.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.512.设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果是()A.4B.3C.2D.113.设a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是()A.10<a<15B.a= =11 || a= =12 || a= =13 || a= =14C.a>10&&a<15D.!(a<=10)&&!(a>=15)14.若有以下定义:char a、 int b 、 float c 、double d,则表达式a*b+d-c值的类型为()A.floatB.intC.charD.double15.表达式“10!=9”的值是()A.trueB.非零值C.0D.116.循环语句 for (x=0,y=0;(y!=123)|| (x<4);x++);的循环执行()A.无限次B.不确定次C.4次D.3次17.在C语言中,下列说法中正确的是()A. 不能使用“do while”的循环B.“do while”的循环必须使用break语句退出循环C.“do while”的循环中,当条件为非0时将结束循环D.“do while”的循环中,当条件为0时将结束循环。
全国计算机二级C语言模拟测试【含详细解析】 (10)

1.下列关于栈叙述正确的是( )。
A. 栈顶元素最先能被删除B. 栈顶元素最后才能被删除C. 栈底元素永远不能被删除D. 栈底元素最先被删除正确答案:A你的答案:解析:【解析】栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。
栈底元素最先入栈却最后被删除。
所以选择A)。
2.下列叙述中正确的是( )。
A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D. 以上说法均不正确正确答案:C你的答案:解析:【解析】栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择C)。
3.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
A. 3B. 4C. 6D. 7正确答案:D你的答案:解析:【解析】根据二叉树的基本性质3:在任意一棵二叉树中,多为0的叶子结点总比度为2的结点多一个,所以本题中度为2的结点为1-1=0个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即度为7。
4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A. 学生成绩管理系统B. C语言编译程序C. UNIX 操作系统D. 数据库管理系统正确答案:A你的答案:解析:【解析】软件按功能可以分为:应用软件、系统软件、支撑软件。
操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件。
所以B)、C)、D)都是系统软件,只有A)是应用软件。
5.结构化程序所要求的基本结构不包括( )。
A. 顺序结构B. GOTO跳转C. 选择(分支)结构D. 重复(循环)结构正确答案:B你的答案:解析:【解析】1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
全国计算机二级C语言模拟测试【含详细解析】 (15)

1.设循环队列为Q(1:m),其初始状态为front=rear=m。
经过一系列入队与退队运算后,front=20,rear=15。
现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为A. 5B. 6C. m-5D. m-6正确答案:D你的答案:解析:【解析】循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=20,rear=15时,队列中有m-20+15=m-5个元素,比较次数为m-6次,D选项正确。
2.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的后序序列为A. EFGDCBAB. DCBEFGAC. BCDGFEAD. DCBGFEA正确答案:D你的答案:解析:【解析】二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
二叉树的前序序列为ABCDEFG,A为根节点。
中序序列为DCBAEFG,可知DCB为左子树节点,EFG为右子树节点。
同理B为C父节点,C 为D父节点,且CD均为B的同侧子树节点。
同理E为F根节点,F为G根节点,且FG 为E同侧子树节点。
二叉树的后序序列为DCBGFEA,D选项正确。
3.下列叙述中正确的是A. 有两个指针域的链表一定是二叉树的存储结构B. 有多个指针域的链表一定是非线性结构C. 有多个指针域的链表有可能是线性结构D. 只有一个根结点的数据结构一定是线性结构正确答案:C你的答案:解析:【解析】一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构,称为线性表。
全国计算机二级C语言模拟测试【含详细解析】 (8)

1.下列叙述中正确的是A. 解决同一个问题的不同算法的时间复杂度一般是不同的B. 解决同一个问题的不同算法的时间复杂度必定是相同的C. 对同一批数据作同一种处理,如果数据存储结构不同,不同算法的时间复杂度肯定相同D. 对同一批数据作不同的处理,如果数据存储结构相同,不同算法的时间复杂度肯定相同正确答案:A你的答案:解析:【解析】算法的时间复杂度是指执行算法所需要的计算工作量,而计算工作量是用算法所执行的基本运算次数来度量的。
解决同一个问题的不同算法的时间复杂度,可能相同也可能不相同。
算法的时间复杂度与数据存储结构无关,对同一批数据作同一种处理或者不同处理,数据存储结构相同或者不同,算法的时间复杂度都可能相同或者不同。
故选A选项2.下列处理中与队列有关的是A. 操作系统中的作业调度B. 执行程序中的过程调用C. 执行程序中的循环控制D. 二叉树的遍历正确答案:A你的答案:解析:【解析】队列是指允许在一端进行插入,而在另一端进行删除的线性表。
由于最先进入队列的元素将最先出队,所以队列具有“先进先出”的特性,体现了“先来先服务”的原则。
作业调度是指根据一定信息,按照一定的算法,从外存的后备队列中选取某些作业调入内存分配资源并将新创建的进程插入就绪队列的过程。
执行程序中的过程调用一般指函数调用,需要调用时候转入被调用函数地址执行程序,与队列无关。
执行程序中的循环控制是指算法的基本控制结构,包括对循环条件的判定与执行循环体,与队列无关。
二叉树是一个有限的结点集合,二叉树的遍历是指不重复地访问二叉树中的所有结点,与队列无关。
故本题选择A选项3.设栈的存储空间为S(1:m),初始状态为top=m+1。
经过一系列入栈与退栈操作后,top=1。
现又要将一个元素进栈,栈顶指针top值变为A. 发生栈满的错误B. 2C. mD. 0正确答案:A你的答案:解析:【解析】栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、如果函数不要求带回值,可用void来定义函数返回值为空
2、将数组a的首地址赋给指针变量p的语句是p=a;
3、c语言表达式!(4>=6)&&(3<=7)的值是1
4、Int a=1,b=2,c=3;执行语句a=b=c;后a的值是3
5、c语言的三种基本结构是顺序结构、选择结构、循环结构
6、c语言中,数组元素的下标下限为0
7、若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3 数值最大的元素下标值是2
8、结构体是不同数据类型的数据集合,作为数据类型,必须先说明结构体类型,再说明结构体变量
9、若s是int型变量,且s=6,则s%2+(s+1)%2值为1
10、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为10 for(i=0,j=10,i<=j;i++,j--)k=i+j;
11、已知i=5,语句a=(i>5)?0:1;执行后整型变量a的值为1
12、字符串的结束标志是’\0’
13、当a=1,b=2,c=3时,执行以下程序段if(a>c)b=a;a=c;c=b;后a=3
14、执行下列语句char s[3]=”ab”,*p;p=s;后,*(p+1)的值是b
15、定义int a[2][3];表示数组a中元素的个数是6
16、一个c源程序中至少包括一个main 函数
17、程序段int k=10;while(k=0) k=k-1循环体语句执行0次
18、程序#include”stdio.h”main(){int a;for(a=0;a<10;a++);printf(“%d”,a);}输出结果10
19、已知i=5,写出语句i*i+1;执行后整型变量i的值为30
20、Static int a[3][3]={1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为6
21、#define和printf都不是c语句Y
22、共同体变量所占的内存长度等于最长的成员长度Y
23、若a=3,b=2,c=1则关系表达式”(a>b)==c”的值为真Y
24、Char c[]=”Very Good”;是一个合法的为字符串数组赋值的语句Y
25、变量根据其作用域的范围可以分为局部变量和全局变量Y
26、c语言中”%”运算符的运算对象必须是整型Y
27、while和do...while循环不论什么条件下结果都是相同的N
28、如果函数值的类型和return语句中的表达式值不一致,则以函数类型为准Y
29、参加位运算的数据可以是任何类型的数据N
30、字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面N
31、以下c语言常量中错误的是B A OxFF B 1.2e0.5 C 2L D‘、72’
32、编译时系统提示错误,不能正确赋字符串的是C A char s[10]=”abcdefg”; B char t[]=”abcdefg”,*s=t; C char s[10];s=”abcdefg”; D char s[10];strcpy(s,”abcdefg”);
33、变量的指针是指该变量的地址
34、系统标准输入文件指键盘
35、定义共用体的关键字是union
36、优先级最高的运算符是C A*= B>= C(类型) D+
37、不能作为合法的c用户定义标识符的是D AFor BPrintf CWORD Dsizeof
38、调用函数时实参是一个数组名,则向函数传送的是数组的首地址
39、定义int*p[3],则定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
40、以下不正确的定义语句是 B Adouble x[5]={2.0,4.0,6.0,8.0,1.0}; Bint y[5]={0,1,3,5,7,9}; Cchar c1[]={‘1’,’2’,’3’,’4’,’5’}; Dchar c2[]={‘\x10’,’\xa’,’\x8’};
41、凡是函数中未指定存储类别的局部变量其隐含的存储类别为自动(auto)
42、当定义一个结构体变量时系统分配给它的内存是各成员所需内存量的总和
43、以下数组定义中不正确的是D Aint a[2][3]; B int b[][3]={0,1,2,3}; Cint c[100][100]={0}; Dint d[3][]={{1,2},{1,2,3},{1,2,3,4}};
44、P,p1为指针变量,a为数组名,j为整型变量,不正确的是D Ap=&j,p=p1; Bp=a; Cp=&a[j]; Dp=10;
45、合法的用户标识为B Along B_2Test C3Dmax DA.dat
46、不正确的字符串常量是A A’abc’ B”12’12” C”0” D”“
47、在c语言程序中函数的定义不可以嵌套,但函数的调用可以嵌套
48、先用语句定义字符型变量c,然后将字符a赋给c,则c=’a’;(c=97)
49、return语句可以在同一个函数中出现多次
50、char a[10];不能将字符串”abc”储存在数组中的是 C Astrcpy(a,”abc”); B a[0]=0;strcat(a,”abc”); Ca=”abc”; Dint i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;
51、功能:将一个数组中的元素按逆序存放
#include<stdio.h>
#define N 7
main()
{
static int a[N]={12,9,16,5,7,2,1},k,s;
printf(“\n the origanal array:\n”);
for (k=0;k<N;k++)
printf(“%4d”,a[k]);
for(k=0;k<N/2;k++)
{
s=a[k];
a[k]=a[N-k-1];
a[N-k-1]=s;
}
printf(“\n the changed array:\n”);
for(k=0;k<N;k++)
printf (“%4d”,a[k]);
}
52、求100内包括被100的偶数之和
#include<stdio.h>
main()
{
int i,sum=0;
for(i=2;i<=100;i+=2)
sum+=1;
printf(“Sum=%d\n”,sum);
}
53、根据整型形参吗,计算y=1+1/3+1/5+...1/(2m-3)
#include<stdio.h>
double fun(int m)
{
double y=1;
int i;
for(i=1;i<=m;i++)
y+=1.0/(2*i-3);
return(y);
}
main()
{
int n;
printf(“Enter n:”);
scanf(“%d”,&n);
printf(“\nThe result is %1f\n”,fun(n));
}
54、输出数组s中最大值元素的下标
#include”stdio.h”
void main()
{
int k,p;
int s[]={1,9,7,2,10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k]) k=p;
printf(“%d\n”,k);
}
55、带函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序放在数组pp中,这些除数的个数通过形参返回。
例如:若x=30,则1,3,5,15符合要求
#include<stdio.h>
Void fun(int x,int pp[],int *n)
{ int i;
*n=0;
for(i=1;i<=x;i+=2)
if(x%i==0)
{pp[*n]=i;
*n=*n+1;
}
int main()
{int x,aa[100],n,i;
printf(“please enter a number:\n”);
scanf(“%d”,&x);
fun(x,aa,&n);
for(i=0;i<n;i++)
printf(“%3d”,aa[i]);
printf(“\n”);
return0;
}
56、从字符串中删除指定的字符,同一字母的大小写按不同字符处理。