2013年全国计算机等级《二级C语言》模拟试卷(5)-中大网校

合集下载

国家二级C语言(C语言程序设计)机试模拟试卷5(题后含答案及解析)

国家二级C语言(C语言程序设计)机试模拟试卷5(题后含答案及解析)

国家二级C语言(C语言程序设计)机试模拟试卷5(题后含答案及解析)题型有:1. 选择题选择题1.设有定义:int n1=0,n2,*p=n2,*q=n1;,以下赋值语句中与n2=n1;语句等价的是A.*p;*q;B.p=q;C.*p=n1;D.p=*q;正确答案:A解析:本题考查指针的使甩。

指针p和q分别指向变量n2和n1,n2=n1可以用指针来代替,即*p代替n2,*q代替n1。

知识模块:C语言程序设计2.以下叙述中正确的是A.赋值语句是一种执行语句,必须放在函数的可执行部分B.scanf和printf是C语言提供的输入和输出语句C.由printf输出的数据都隐含左对齐D.由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的正确答案:A解析:C语言本身没有提供输入输出语句,但是可以通过调用标准库函数中提供的输入和输出函数来实现输入和输出,选项B)错误:采用printf输出数据,输出数据都默认为右对齐,若要左对齐,可以在格式控制中的“%”和宽度之间加一个“-”号来实现,选项C)错误;printf的输出精度由变量的类型决定,与域宽无关,选项D)错误。

知识模块:C语言程序设计3.执行以下程序段后,w的值为int W=‘A’,x=14,y=15;w=((x||y)&(w<’a’));A.-1B.NULLC.1D.0正确答案:C解析:本题考查表达式和逻辑运算。

x和y分别为14和15.因此(x||y)的值是真。

w的值为’A’,其ASCII值为65,’a’的ASCII值为97,因此(w<’a’)的值为真。

表达式w=((x||y)&(w<’a’))的前后两个值均为真,整个表达式的值为真(1)。

知识模块:C语言程序设计4.若有以下程序#include<stdio.h>main( ){int b=10,a=-11;a%=b%=4:printf(“%d%d\n”,a,b);}则程序的输出结果是A.1 2B.-1 -2C.-1 2D.1 -2正确答案:C解析:对于表达式a%=b%=4为复合的赋值运算,结合性自右至左,相当于先计算b=b%4,a=a%b;结果的符号和第一个操作数的符号相同,因此b为2,a的结果为-1。

2013年全国计算机等级二级C语言模拟试题及答案

2013年全国计算机等级二级C语言模拟试题及答案

2013年全国计算机等级二级C 语言模拟试题及答案2013年3月份全国计算机等级二级C语言试题及答案一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。

2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。

3、整数-35在机内的补码表示为__________。

4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。

5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。

6、符号”a”和’a’的区别是__________。

7、所谓“指针”就是__________ 。

“&”运算符的作用是__________。

“*”运算符的作用是__________ 。

8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。

二、选择题1、设整型变量a为5,使b不为2的表达式是()。

A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。

A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。

int x=10,y=10;printf(“%d%d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(2)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(2)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(2)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1) 有下列程序:void sort(int a[],int n) { int i,j,t;for(i=0;i<n-l;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]一a[j];a[j]=t;} }main(){ int aa[10]:{1,2,3,4,5,6,7,8,9,10),i;sort(aa+2,5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是( )。

A. 1,2,3,4,5,6,7,8,9,l0,B. 1,2,7,6,3,4,5,8,9,10,C. 1,2,7,6,5,4,3,8,9,10,D. 1,2,9,8,7,6,5,4,3,10,(2) 执行下列程序后,变量a,b,C的值分别是( )。

int x=5,y=4;int a,b,c;a=(--x==y++)?X:++y;b=++x:c=y:A. a=5,b=5,c=5B. a=4,b=5,c=5C. a=5,b=6,c=5D. a=1,b=5,c=6(3) 设有如下定义:int arr[]={6,7,8,9,10);int*ptr:ptr=arr;*(ptr2)=2;printf("%d,%d\n",*ptr,*(ptr2)):则下列程序段的输出结果为( )。

A. 8,10B. 6,8C. 7,9D. 6,2(4) 以下所列的C语言常量中,错误的是()。

A. 0xFFB. 1.2e0.5C. 2LD. ‘72’(5) 数字字符0的ASCII值为48,运行以下程序的输出结果是( )。

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(1)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(1)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(1)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1) 有以下程序#include<stdio.h>main(){ int a=1,b=2,c=3,x;x=(a^b)&C;printf("%d",x);}程序的运行结果是( )。

A. 0B. 1C. 2D. 3(2) 有以下程序:fun(int x,int y){return(x+y);)main(){ int a=1,b=2,c=2,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}执行后的结果是( )。

A. 6B. 7C. 8D. 9(3) 以下程序的输出结果是( )。

main(){ int i;for(i=0;i<3;i++)switch(i){case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}A. 000102B. 000020C. 000122D. 000111(4) 有以下程序:main(){ int k=5;while(--k)printf("%d",k-=3);printf("\n");}执行后的输出结果是( )。

A. 1B. 2C. 4D. 死循环(5) 若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是( )。

A. a[o][4]B. a[1][3]C. a[o][3]D. a[1][4](6) 已知函数fread的调用形式为“fread(buffer,size,count,fp);”,其中buffer代表的是( )。

全国计算机等级考试二级C语言真题2013年9月

全国计算机等级考试二级C语言真题2013年9月

全国计算机等级考试二级C语言真题2013年9月(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是______。

(分数:1.00)A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:[解析] 栈是按照先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B。

2.下列叙述中正确的是______。

(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的√解析:[解析] 循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B与C错误。

3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是______。

(分数:1.00)A.O(n)B.O(n2)C.O(log2n) √D.0(nlog2n)解析:[解析] 当有序线性表为顺序存储时才能用二分法查找。

可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。

4.下列叙述中正确的是______。

(分数:1.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的√B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析:[解析] 链式存储结构既可以针对线性结构也可以针对非线性结构,所以B与C错误。

2013年9月全国计算机等级考试二级c语言笔试试题(含参考答案)

2013年9月全国计算机等级考试二级c语言笔试试题(含参考答案)

全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间120分钟,满分100分)2013年9月一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。

(1) 十进制数1385转换成十六进制数为A) 568 B) 569 C) D85 D) D55(2) 下列叙述中正确的是A) 计算机病毒只能传染给可执行文件B) 计算机软件是指存储在软盘中的程序C) 计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D) 硬盘虽然装在主机箱内,但它属于外存(3) 一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随计算机系统而不同的(4) CPU主要由运算器与控制器组成,下列说法中正确的是A) 运算器主要负责分析指令,并根据指令要求作相应的运算B) 控制器主要完成对数据的运算,包括算术运算和逻辑运算C) 控制器主要负责分析指令,并根据指令要求作相应的运算D) 控制器直接控制计算机系统的输入与输出操作(5) 下列叙述中正确的是A) 将数字信号变换成便于在模拟通信线路中传输的信号称为调制B) 以原封不动的形式将来自终端的信息送入通信线路称为调制解调C) 在计算机网络中,一种传输介质不能传送多路信号D) 在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6) 各种网络传输介质A) 具有相同的传输速率和相同的传输距离B) 具有不同的传输速率和不同的传输距离C) 具有相同的传输速率和不同的传输距离D) 具有不同的传输速率和相同的传输距离(7) 多媒体计算机系统的两大组成部分是A) 多媒体功能卡和多媒体主机B) 多媒体通信软件和多媒体开发工具C) 多媒体输入设备和多媒体输出设备D) 多媒体计算机硬件系统和多媒体计算机软件系统(8) 按通信距离划分,计算机网络可以分为局域网和广域网。

2013年计算机二级C++模拟试题及答案(5)

2013年计算机二级C++模拟试题及答案(5)

⼀、选择题 1.根据数据结构中各数据元素之间前后件关系的复杂程度,⼀般将数据结构分成( ) A.动态结构和静态结构 B.紧凑结构和⾮紧凑结构 C.线性结构和⾮线性结构 D.内部结构和外部结构 【参考答案】 C 2.在下列⼏种排序⽅法中,要求内存量的是( ) A.插⼊排序 B.选择排序 C.快速排序 D.归并排序 【参考答案】 D 3.下列不属于软件调试技术的是( ) A.强⾏排错法 B.集成测试法 C.回溯法 D.原因排除法 【参考答案】 B 4.软件复杂性度量的参数包括( ) A.效率 B.规模 C.完整性 D.容错性 【参考答案】 B 5.数据库系统的核⼼是( ) A.数据库 B.数据库管理系统 C.数据库模型 D.软件⼯具 【参考答案】 B 6.最简单的交换排序⽅法是( ) A.快速排序 B.选择排序 C.堆排序 D.冒泡排序 【参考答案】 D 7.线性表的顺序存储结构和线性表的链式存储结构分别是( ) A.顺序存取的存储结构、顺序存取的存储结构 B.随机存取的存储结构、顺序存取的存储结构 C.随机存取的存储结构、随机存取的存储结构 D.任意存取的存储结构、任意存取的存储结构 【参考答案】 B 8.在结构化设计⽅法中,⽣成的结构图(SC)中,带有箭头的连线表⽰( ) A.模块之间的调⽤关系 B.程序的组成成分 C.控制程序的执⾏顺序 D.数据的流向 【参考答案】 A 9.⼀个关系中属性个数为1时,称此关系为( ) A.对应关系 B.单⼀关系 C.⼀元关系 D.⼆元关系 【参考答案】 C 10.相对于数据库系统,⽂件系统的主要缺陷有数据关联差、数据不⼀致性和( ) A.可重⽤性差 B.安全性差 C.⾮持久性 D.冗余性 【参考答案】 D 11.下列选中不全是C++关键字的是( ) A.const,break,default B.long,void,using C.virtual,extern,include D.try,throw,this 【参考答案】 C 12.在32位的计算机中,⼀个char型数据所占的内存长度的字节是( ) A.4 B.1 C.2 D.8 【参考答案】 B 13.有如下程序: #include″iostream.h″ void main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } cout< 该程序的输出结果是( ) A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2 【参考答案】 A 14.若有说明int a[3][4];,则a数组元素的⾮法引⽤是( ) A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 【参考答案】 D 15.若已定义的函数有返回值,则以下关于该函数调⽤的叙述中错误的是( ) A.函数调⽤可以作为独⽴的语句存在 B.函数调⽤可以⽆返回值 C.函数调⽤可以出现在表达式中 D.函数调⽤可以作为⼀个函数的形参 【参考答案】 D 16.以下类定义中可能会引起错误的语句是( ) class A { public: ~A(){ } //1 int i; //2 private: int j; //3 A(int i){i++;} //4 }; A.1 B.2 C.3 D.4 【参考答案】 D 17.下列描述中错误的是( ) A.派⽣类可以作为基类派⽣其他的⼦类 B.派⽣类继承基类的所有数据成员 C.派⽣类可以有多个基类 D.派⽣类不能继承⼀些函数成员 【参考答案】 B 18.下列运算符中哪些是不能够被重载的?( ) A..,.*,->*,::,?: B.++,--,new,delete,== C.sizeof,new,delete,++,-- D.sizeof,new,delete,+,- 【参考答案】 A 19.下列关于函数模板实参不能省略的情况说明不正确的是( ) A.从模板函数实参表获得的信息有⽭盾 B.需要获得特定类型的返回值,⽽不管参数的类型如何 C.虚拟类型参数没有出现在模板函数的形参表中 D.函数模板不含有常规形参 【参考答案】 D 20.表达式10>5&&6%3的值是( ) A.-1 B.⾮零值 C.0 D.1 【参考答案】 C 21.以下函数调⽤语句中含有参数个数是( ) excc((v1,v2),(v2,v3,v4),v6); A.3 B.4 C.5 【参考答案】 A 22.下列程序段的输出结果是( ) #include void fun(fun *x,int *y) { cout< *x=3; *y=4; } void main() { int x=1,y=2; fun(&y,&x); cout< A.2143 B.1212 C.1.4 D.2112 【参考答案】 A 23.下列程序的输出结果是( ) #include void main() { char *str=″12123434″; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!=′\0′;i++) switch(str[i]) { case′1′:x4++; case′2′:x3++; case′3′:x2++; case′4′:x1++;〗 } cout< A.8,6,4,1 B.8,6,3,2 C.8,8,4,1 D.8,6,4,2 【参考答案】 D 24.每个C++程序中都必须有且仅有⼀个( ) B.预处理命令 C.主函数 D.语句 【参考答案】 C 25.设有int x=11;,则表达式(x++*2/3)的值是( ) A.7 B.8 C.11 D.12 【参考答案】 A 26.对表达式for(表达式1;;表达式3)可理解为( ) A.for(表达式1;0;表达式3) B.for(表达式1;1;表达式3) C.for(表达式1;表达式3) D.for(;;表达式3) 【参考答案】 B 27.有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是( ) A.*p+9 B.*(p+8) C.*p+=9 D.p+8 【参考答案】 B 28.以下对C++语⾔函数的有关描述中,正确的是( ) A.在C++语⾔中调⽤函数,只能把实参的值传给形参,形参的值不能传送给实参 B.C++语⾔函数既可以嵌套定义⼜可以递归调⽤ C.函数必须⽆返回值,否则不能使⽤函数 D.函数必须有返回值,返回值类型不定 【参考答案】 A 29.拷贝构造函数的参数⼀般是( ) A.某对象名 B.某对象成员名 C.某对象的引⽤名 D.指向对象的指针名 【参考答案】 C 30.下⾯这个程序的结果是( ) #include class A { private: int a; public: void seta();int geta();}; void A::seta() { a=1;} int A::gate() { return a;} class B { private: int a; public: void seta();int geta();}; void B::seta() {a=2;} int B::geta() {return a;} class C:public A,public B { private: int b; public: void display();}; void C::display() { int b=geta(); cout< void main() C c; C.seta(); C.display();} A.1 B.2 C.随机输出1或2 D.程序有错 【参考答案】 D 31.对于模板定义关键字class和typename说法不正确的是( ) A.程序中的class并不能都替换为typename B.class和typename都可互相替换 C.程序中的typename都能替换为class D.程序中的部分class可以替换为typename 【参考答案】 B 32.以下程序的输出结果是( ) #include long fun(int n) { long s; if(n==1||n==2)s=2; else s=n-fun(n-1); return s; } void main() { cout< A.1 B.2 C.3 D.4 【参考答案】 A 33.有如下程序 #include void main() { char ch[2][5]={″6937″,″8254″},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>′\0′;j+=2) s=10*s+p[i][j]-′0′; cout< 该程序的输出结果是( ) A.69825 B.63825 C.6385 D.693825 【参考答案】 C 34.以下程序的输出结果是( ) #include void main() { char x=040; cout< A.100 B.80 C.64 D.32 【参考答案】 C 35.对以下说明语句的正确理解是( ) int a[10]={6,7,8,9,10}; A.将5个初值依次赋给a[1]⾄a[5] B.将5个初值依次赋给a[0]⾄a[4] C.将5个初值依次赋给a[6]⾄a[10] D.因为数组长度与初值的个数不相同,所以此语句不正确 【参考答案】 B ⼆、填空题 1.算法的⼯作量⼤⼩和实现算法所需的存储单元多少分别称为算法的【1】。

2013年9月份全国计算机等级考试二级C语言题库及详解

2013年9月份全国计算机等级考试二级C语言题库及详解

1 2013年9月份 全国计算机等级考试二级C 语言 试题题库(无纸化考试专用)(说明:无纸化考试选择题40分,程序题60分。

学会这些题,保证二级高空飘过!!!)第一套给定程序的功能是:求二分之一圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。

例如,输入圆的半径值:19.527,输出为:s=598.949991。

注意:部分源程序给出如下。

请勿改动main 函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h> double fun( double r) { return 3.14159*【1】/2.0;}void main() {double x; printf("Enter x: "); scanf("%lf",【2】);printf("s=%lf\n",fun(【3】));}【参考答案】 (1)r*r (2)&x (3)x【考点分析】 本题考查:圆面积计算公式S π=*r*r;scanf( )函数的形式,其一般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf( )函数的形式,其一般形式为"printf("格式控制字符串",输出表列);";函数实参调用,函数作为另一个函数调用的实际参数出现。

【解题思路】填空1:计算圆的面积,公式为:s r π=*r 。

填空2:scanf( )函数一般形式为scanf(格式控制,地址表列),因此填入&x 。

填空3:函数的实际参数是圆的半径x 。

下列给定程序中,函数fun 的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。

2013年全国计算机等级《二级C语言》模拟试卷(3)-中大网校

2013年全国计算机等级《二级C语言》模拟试卷(3)-中大网校

2013年全国计算机等级《二级C语言》模拟试卷(3)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1)有以下程序:程序的运行结果是()。

A. y=0B. y=1C. y=2D. y=3(2)在C语言中,合法的长整型常数是()。

A. 0.123456B. 4962717C. 9LD. 5.321e2(3)以下程序运行后的输出结果是()。

A. 2 20.000000B. 100 20.000000C. 2 40.000000D. 100 40.000000(4)设有定义:int x=3;,以下表达式中,值不为l2的是()。

A. x*=x+1B. x++,3*xC. x*=(1+x)D. 2*x.x+=6(5)若有定义:char*st=”how are you”;,下列程序段中正确的是()。

A.B.C.D.(6)数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是()。

A. 加工B. 控制流C. 数据存储D. 数据流(7)有定义语句:int m=1,n=2,P=5,x;,则以下选项中各程序段执行后,x的值不等于5的是()。

A.B.C.D.(8)有以下程序:程序运行后的输出结果是()。

A. 197B. 143C. 33D. 28(9)下列选项中属于结构化程序设计原则的是()。

A. 可封装B. 多态性C. 自下而上D. 逐步求精(10)下列程序的输出结果是()。

A. 3B. 4C. 5D. 6(11)下列数据结构中,能用二分法进行查找的是()。

A. 顺序存储的有序线性表B. 线性链表C. 二叉链表D. 有序线性链表(12)有以下程序:执行后的输出结果是()。

A. 7B. 3C. 20)O(13)现有格式化输入语句,已知在输入数据后,x,Y,z的值分别是23,56,78,则下列选项中正确的输入格式是()。

A. 23,56,78&lt;Enter&gt;B. x=23,y=56,z=78&lt;Enter&gt;C. x=23C,sumy=56,z=78&lt;Enter&gt;D. x=23],sum]y=56,line]z=78&lt;Enter&gt;(14)现有定义int a;double b;float c;char k;,则表达式a/b+C—k值的类型为:()。

2013年3月份全国计算机等级考试二级C语言_笔试+上机题库(完整版)

2013年3月份全国计算机等级考试二级C语言_笔试+上机题库(完整版)

.全国计算机等级考试二级C语言笔试+上机题库(全)一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图 C)结构图 D)数据流图(2)结构化程序设计主要强调的是A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性 B)关系 C)键 D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;D)double a=00;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(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)有以下程序#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=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4}; (25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]); (28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX 是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名 B)PER是结构体类型名 C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串 B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件 D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){ int y;if(x==0||x==1) return(3);y=x*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址 D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。

2013年计算机等级考试二级考试--C语言单项模拟练习题

2013年计算机等级考试二级考试--C语言单项模拟练习题

2013年计算机等级考试二级考试--C语言单项模拟练习题以下内容是2013年计算机等级考试二级考试--C语言单项模拟练习题,如需更多考试资讯,可关注查询考试宝典网站,更多详细考试辅导资料!单项选择:第1题:若有以下程序:main() { int k=2,i=2,m; m=(k+=i*=k);printf("%d,%d\n",m,i);} 执行后的输出结果是()。

A.8,6B.8,3C.6,4D.7,4正确答案:C第2题:有以下程序:main() {unsigned char a,b; a=4|3; b=4&3; printf(“%d %d\n”,a,b(;} 执行后输出结果是()。

A. 7 0B.0 7C.1 1D.43 0正确答案:A第3题:有下列程序:main()<br>char s[]="abcde";s+=2:printf("%d\n",s[0]);执行后的结果是( )。

A.输出字符a的ASCII码B.输出字符c的ASCII码C.输出字符cD.程序出错正确答案:D答案解析:[解析] 因为字符数组s[]中的数组名s表示的是一个地址常量,所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。

因而程序编译时出错。

第4题:有以下程序段:int x=3:doprintf("%d",x-=2);while(!(--x));其输出结果是( )。

A.1B.3 0C.1-2D.死循环正确答案:C答案解析:[解析] 本题考查do-while循环,先执行do输出的x的值为1,接着执行’while 后语句,此时--x的值为0,x也为0,而非0为1,循环成立,接着执行do输出x值为-2,执行--x后,表达式为-2,而!(--x)为0,退出循环。

第5题:下面程序的输出结果是#include<stdio.h>#include<string.h>main()char*p1="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,streat(p1,p2));printf("%s\n",str);A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC正确答案:C答案解析:[解析] 本题考查的重点是拷贝字符串——使用strcpy()函数,该函数的调用方式是:strcpy(字符数组,字符串),其中“字符串”可以是字符串常量,也可以是字符数组。

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(5)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(5)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(5)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1) 下列叙述中正确的是( )。

A. 在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B. 实型变量中允许存放整型数C. 若a和b类型相同,在执行赋值a=b后,b中的值将放入a中,但b中的值不变D. 在C程序中,求余算符“%”两边的类型相同时才能进行运算(2) 软件生命周期中,花费最多的阶段是( )。

A. 详细设计B. 软件编码C. 软件测试D. 软件维护(3) 假定X和Y为double型,则表达式x=2,y=x+3/2的值是( )。

A. 3.500000B. 3C. 2.000000D. 3.000000(4) 有如下程序:main(){ int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++.b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是( )。

A. a=2,b=1B. a=1,b=1C. a=1,b=0D. a=2,b=2(5) 设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。

A. x&&yB. x&lt;=yC. x||y+z&&y—ZD. !((x&lt;y)&&!z||1)(6) 有下列程序:main(){ char s[]="abcde";s+=2:printf("%d\n",s[0]);}执行后的结果是( )。

A. 输出字符a的ASCII码B. 输出字符c的ASCII码C. 输出字符cD. 程序出错(7) 设有以下定义union data{int d1;float d2;)demo;则下面叙述中错误的是( )。

A. 变量demo与成员d2所占的内存字节数相同B. 变量demo中各成员的地址相同C. 变量demo和各成员的地址相同D. 若给demo.d1赋99后,demo.d2中的值是99.0(8) 要求通过while循环不断读入字符,当读入字母N时结束循环,若变量已正确定义,下列正确的程序段是( )。

2013年6月全国计算机等级考试二级C语言上机题库(最全)

2013年6月全国计算机等级考试二级C语言上机题库(最全)

第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。

/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。

函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

2013年全国计算机等级《二级C语言》模拟试卷(2)-中大网校

2013年全国计算机等级《二级C语言》模拟试卷(2)-中大网校

2013年全国计算机等级《二级C语言》模拟试卷(2)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1)下面各选项中,均是C语言合法标识符的选项组是()。

A.B.C.D.(2)有如下嵌套的if语句:以下选项中与上述if语句等价的语句是()。

A.B.C.D.(3)以下能正确定义一维数组的选项是()。

A.B.C.D.(4)有以下程序:程序的运行结果是()。

A. xy,aaaaCeB. aaaaCC,xyC. bCC,aabCCD. aabCC,bCC(5)设变量x为float型且已赋值,则以下语句能将x中的数值保留到小数点后两位,并将第3位四舍五入的是()。

A.B.C.D.(6)下列对于线性链表的描述中正确的是()。

A. 存储空间不一定连续,且各元素的存储顺序是任意的B. 存储空间不一定连续,且前件元素一定存储在后件元素的前面C. 存储空间必须连续,且前件元素一定存储在后件元素的前面D. 存储空间必须连续,且各元素的存储顺序是任意的(7)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是()。

A.gets(&amp;s[0]);B.scanf("%s",s+1);C.gets(s);D.scanf("%s",s[1]);(8)以下函数按每行8个输出数组中的数据:下划线处应填入的语句是()。

A.B.C.D.(9)有以下程序段:以下叙述中正确的是()。

A. 以上的说明形式非法B. NODE是一个结构体类型C. OLD是一个结构体类型D. OLD是一个结构体变量(10)以下语句的执行结果是()。

A. 17B. 16C. 15D. 18(11)有以下程序:程序运行后的输出结果是()。

A. 3 2B. 1 2C. 2 1D. 2 2(12)以下程序运行后的输出结果是()。

A. EFGHIJABCDB. bcdefghijC. abdefCghijD. 不确定的值(13)设有数组定义:char array[ ]="China"; 则数组array所占的空间为()。

2013年3月计算机二级C语言上机试题题库答案

2013年3月计算机二级C语言上机试题题库答案

数组中共有 N 个内容不同的字符串,且串长小于 M。
1N
2i
3 -1
2. 给定程序 MODI1.C 中函数 fun 的功能是:从整数 1 到 55 之间,选出能被 3 整除、且有
一位上的数是 5 的那些事,并且把这些数放在 b 所指的数组中,这些数作为函数值返回。规 定,函数中 a1 放个位数,a2 放十位数。
2013 年 3 月计算机二级 C 语言上机题库答案
2. 给定程序 MODI1.C 中函数 fun 的功能是:求三个数的最小公倍数。
1 fun(int x,int y,int z)
2 return j;
3. 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:只删除字符串前
导和尾部的*号,串中字母之间的*号都不删除。形参 n 给出了字符串的长度,形参 h 给出了
3. 函数 fun 的功能是:将 s 所指字符串中除了下标为偶数,同时 ASCII 指也为偶数的字符
外,其余的全部都删除:串中剩余字符所形成的一个新串放在 t 所指的数组中。
int i,j=0;
for(i=0;i<strlen(s);i+=2)
if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
{
av=av+p->s; p=p->next;
n++;
}
av/=n;
return av; 第七套 1. 函数 fun 的功能是:把形参 a 所指数组中的偶数按原顺序依次存放 a[0]、a[1]、a[2]…… 中,把奇数从数组中删除,偶数个数通过函数值返回。
1 a[i]%2 2 a[j] 3 j 2. 给定程序 MODI1.C 中函数 fun 的功能是:按以下递推公式求函数值。例如,当给 n 输 出 5 时,函数值为 18;当给 n 输入 3 时,函数值为 14.

2013年全国计算机等级《二级C语言》模拟试卷(10)-中大网校

2013年全国计算机等级《二级C语言》模拟试卷(10)-中大网校

2013年全国计算机等级《二级C语言》模拟试卷(10) 总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1)“商品”与“顾客”两个实体集之间的联系一般是()。

A. 一对一B. 多对一C. 一对多D. 多对多(2)算法的空间复杂度是指()。

A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 执行算法需要的内存空间(3)下列叙述中,正确的是()。

A. 用E—R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B. 用E—R图只能表示实体集之间一对一的联系C. 用E—R图只能表示实体集之间一对多的联系D. 用E—R图表示的概念数据模型只能转换为关系数据模型(4)以下程序的运行结果是()。

A. 0B. 1C. 2D. 3(5)下面描述中,符合结构化程序设计风格的是()。

A. 使用顺序、选择和重复(循环.三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(6)有以下程序:程序的运行结果是()。

A. 0B. 1C. 2D. 3(7)下列叙述中正确的是()。

A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D. 上述三种说法都不对(8)以下程序的输出结果是()。

A. 20B. 24C. 25D. 15(9)有以下程序:程序运行后的输出结果是()。

A. 0,0B. 1,0C. 3,2D. 1,2(10)有以下程序:程序运行后的输出结果是()。

A. SunDan 20044 550B. Penghua 20045 537C. LiSiGuo 20042 580D. SunDan 20041 703(11)A. 包含l个字符B. 包含2个字符C. 包含3个字符D. 说明不合法,c的值不确定(12)程序段:int x=12;double y=3.141593;printf(”%d%8.6f”,x,y.;的输出结果是()。

国家二级C语言(函数)机试模拟试卷5(题后含答案及解析)

国家二级C语言(函数)机试模拟试卷5(题后含答案及解析)

国家二级C语言(函数)机试模拟试卷5(题后含答案及解析)题型有:1. 选择题选择题1.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( )。

A.sqrt(fabs(pow(n,x)+exp(x)))B.sqrt(fabs(pow(n,x)+pow(x,e)))C.sqrt(abs(n+e))D.sqrt(fabs(pow(x,n)+exp(x)))正确答案:A解析:B选项中函数pow(x,e)错误,应该直接使用exp(x)函数。

C选项中函数abs(n^x+e^x)错误,应该使用fabs( )返回浮点数的绝对值。

D选项中pow(x,n)参数顺序错误。

知识模块:函数2.下列叙述中错误的是( )。

A.可以给指针变量赋一个整数作为地址值B.函数可以返回地址值C.改变函数形参的值,不会改变对应实参的值D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL值正确答案:A解析:不能将一个整数直接赋给指针变量作为地址,所以A选项是错误的。

函数的返回值可以是地址,即指针。

函数调用中形参值的变化不会传递给实参。

知识模块:函数3.若函数调用时的实参为变量,下列关于函数形参和实参的叙述中正确的是( )。

A.函数的形参和实参分别占用不同的存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的实参和其对应的形参共占同一存储单元正确答案:A解析:本题重点考查的是函数的形参和实参。

在定义函数时,函数名后面括弧中的变量名称为“形式参数”(简称形参),在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是一个表达式)称为“实际参数”(简称实参)。

C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。

在内存中,实参单元与形参单元是不同的单元,因此A选项正确。

知识模块:函数4.下列叙述中错误的是( )。

国家二级C语言机试(C语言程序设计)模拟试卷5(题后含答案及解析)

国家二级C语言机试(C语言程序设计)模拟试卷5(题后含答案及解析)

国家二级C语言机试(C语言程序设计)模拟试卷5(题后含答案及解析)题型有:1. 选择题选择题1.有以下程序main( ){inta=3:a+=a-=a*a:printf(‘‘%d\n’’,a);}程序的输出结果是A.9B.3C.-12D.0正确答案:C解析:对于表达式a+=a.=a*a相当于a=a-(a*a),然后计算a=a+a,a的初值为3,则表达式的值为-12。

知识模块:C语言程序设计2.有以下程序#include<stdio.h>main( ){intb=10,a=-11;a%=b%=4;printf(‘‘%d%d\n’’,a,b);)则程序的输出结果是A.12B.-1-2C.-12D.1.2正确答案:C解析:对于表达式a%=b%=4为复合的赋值运算,结合性自右至左,相当于先计算b=b%4,a=a%b;绌果的符号和第一个操作数的符号相同,因此b为2,a的结果为-1.知识模块:C语言程序设计3.设有定义:inta;floatb;执行scanf(‘‘%2d%f’,&a,&b);语句时,若从键盘输入876543.0则a和b的值分别是A.876和543.0B.87和6.0C.87和543.0D.76和543.0正确答案:B解析:在输入函数scanf的输入格式符%2d%f中,2d表示输入的数据的宽度为2,所以当从键盘输入876543.0<CR>时,这时把输入数字串的前两位87赋给变量a,然后将紧接着将6按照格式控制符%f的形式赋给变量b,所以b 的值为6.000000。

知识模块:C语言程序设计4.设有定义:doublea,b,c;若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处□代表一个空格)□□1.0□□2.0□□3.0则能进行正确输入的语句是A.scanff’’%1PA1PAlf%,b,c);B.scanf(‘‘%f%f%f’’,&a,&b,&c);C.scanff’’%lf%1f%1f’,&a,&b,&c);D.scanf(‘‘%5.11f%5.11%5.11f’’,&a,&b,&c);正确答案:C解析:输入格式scanfi(格式控制,输入项1,输入项2….),其中在scanf 函数的格式字符前可以加入一个正整数指定输入数据所占的宽度,但不可以用实数指定小数位的宽度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013年全国计算机等级《二级C语言》模拟试卷(5)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1)设有如下三个关系表下列操作中正确的是()。

A. T=RnSB. T=RUSC. T=R×SD. T=R/S(2)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()。

A. 函数的实参和其对应的形参共占同一存储单元B. 形参只是形式上的存在,不占用具体存储单元C. 同名的实参和形参占同一存储单元D. 函数的形参和实参分别占用不同的存储单元(3)有以下程序:程序运行后的输出结果是()。

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,(4)若变量已正确定义并赋值,以下符合C语言语法的表达式是()。

A. a:=b+1B. a=b=c+2C. int 18.5%3D. a:a+7:c+b(5)以下程序运行后的输出结果是()。

A. 2B. 4C. 6D. 3(6)下列对队列的叙述正确的是()。

A. 队列按“先进后出”原则组织数据B. 队列属于非线性表C. 队列在队尾删除数据D. 队列按“先进先出”原则组织数据(7)在下列选项中,没有构成死循环的是()。

A.B.C.D.(8)下列对于软件测试的描述正确的是()。

A. 软件测试的主要目的是发现程序中的错误B. 软件测试的目的是证明程序是否正确C. 软件测试的目的是使程序运行结果正确D. 软件测试是证明软件中没有错误(9)在软件设计中,不属于过程设计工具的是()。

A. PDLB. DFD图C. PAD图D. N—S图(10)阅读下列程序,则运行结果为()。

A. 3B. 4C. 5D. 6(11)以下选项中非法的表达式是()。

A. a+1=a+1B. a=b==0C. (Char.(100+100.D. 7&lt;=X&lt;60(12)下列关于数据流图的描述正确的是()。

A. 数据流图是描述数据处理过程的工具B. 数据流图间接支持系统的功能建模C. 数据流图中带箭头的线段表示控制流D. 数据流图是软件详细设计的工具(13)数据库管理系统中负责数据模式定义和数据的物理存取构建的语言是()。

A. 数据定义语言B. 数据管理语言C. 数据操纵语言D. 数据控制语言(14)设变量a、b、c、d和y都已正确定义并赋值。

若有以下if语句:该语句所表示的含义是()。

A.B.C.D.(15)若有条件表达式则以下表达式中能完全等价于表达式(exp.的是()。

A. (exp==0)B. (exp!=0)C. (exp==1)D. (exp!=1)(16)有以下程序:程序的运行结果是()。

A. 10,1B. 20,1C. 10,2D. 20,2(17)有以下程序:程序的运行结果是()。

A. 1,2,3,4,5,6,7,8,9,0,B. 2,1,4,3,6,5,8,7,0,9,C. 0,9,8,7,6,5,4,3,2,1,D. 0,1,2,3,4,5,6,7,8,9,(18)对长度为n的线性表排序,在最坏情况下,比较次数是nlog2n的排序方法是()。

A. 快速排序B. 冒泡排序C. 直接插入排序D. 堆排序(19)若程序有宏定义:#define N l00,则以下叙述中正确的是()。

A. 宏定义中定义了标识符N的值为整数100B. 在编译程序对C源程序进行预处理时用l00替换标识符NC. 对C源程序进行编译时用100替换标识符ND. 在运行时用100替换标识符N(20)以下程序运行后的输出结果是()。

A. 1,2,3,1,5,9,B. 1,3,5,1,3,5,C. 1,3,5,0,d,8,D. 1,3,5,-1,3,7,(21)下列选项中属于软件生命周期中开发阶段任务的是()。

A. 详细设计B. 运行维护C. 可行性研究D. 需求分析(22)下面程序段的运行结果是()。

A. 8B. 12C. 4D. 7(23)结构化分析可以使用的工具是()。

A. N—s图B. DFD图C. PAD图D. 程序流程图(24)变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。

若要求将a的高4位取反,低4位不变,所要执行的运算是()。

A.B.C. a&amp;&amp;bD. a<<b(25)下面程序由两个源程序文件t4.h和t4.c组成,程序编译运行的结果是()。

t4.h的源程序为:<p> </p><p>A. 920B. 1611C. 911D. 1610(26)有以下程序:若从键盘输入:ijkxyz&lt;回车&gt;,则输出结果是()。

A. ijk kB. ijk xyzC. xyz xyzD. j j(27)有以下程序:程序的运行结果是()。

A. Qian,f,95,92B. Qian,m,85,90C. Zhao,f,95,92D. Zhao,m,85,90(28)有以下程序段:以下选项中表达式的值为11的是()。

A.B.C.D.(29)以下选项中,能定义S为合法的结构体变量的是()。

A.B.C.D.(30)有以下程序:执行后输出结果是()。

A. 58B. 56C. 45D. 24(31)关系数据库管理系统能实现的专门关系运算包括()。

A. 选择、投影、连接B. 排序、查找、统计C. 关联、更新、排序D. 显示、打印、制表(32)阅读下面程序段,则执行后的结果为()。

A. 64B. 8C. 56D. 0(33)设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是()。

A.B.C.D.(34)设有定义:则以下赋值语句中错误的是()。

A. data2=datal;B. data2=(2,6.;C.D.(35)A. a=50 b=50(空格分开.B. 50 50(空格分开.C. a=50,b=50D. 50,50(36)算法是指()。

A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列(37)以下叙述中正确的是()。

A. C程序中注释部分只能放在程序最后B. 花括号“{“和”}”可以作为函数体的定界符,也可以作为复合语句的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号不是语句的一部分,是C语句之间的分隔符(38)有以下程序:程序运行后的输出结果是()。

A. 3B. 4C. 5D. 6(39)若运行以下程序时,从键盘输入ADescriptor&lt;CR&gt;(&lt;CR&gt;表示回车),则下面程序的运行结果是()。

A. v0=7,vl=4,v2=7B. v0=8,vl=4,v2=8C. v0=11,vl=4,v2=11D. v0=13,vl=4,v2=12(40)设有以下程序段:int X=0,s=0;while(!X!=0.s+=++X;prinff(”%d”,S.;则()。

A. 运行程序段后输出0B. 运行程序段后输出lC. 程序段中的控制表达式是非法的D. 程序段执行无限次二、程序填空题(共18分)(1)下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k 的字符串,函数返回剩余字符串的个数。

ss所指字符串数组中共有N个字符串,且串长小于M。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BIANKl.C中。

不得增行或删行,也不得更改程序的结构!三、程序修改题(共18分)(1)下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。

从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……例如,若给n输入7,则该项的斐波拉契数值为13。

请改正程序中的错误,使它能得出正确结果。

注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构。

四、程序设计题(共24分)(1)编写函数fun,其功能是:将所有大于1小于整数m的非素数存人xx所指数组中,非素数的个数通过k 返回。

例如,若输入l7,则应输出:4 6 8 9 10 12 14 15 16。

注意:部分源程序在文件PROGl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。

答案和解析一、选择题(每小题1分,共40分)(1) :C对于两个关系的合并操作可以用笛卡尔积表示。

设有n元关系R和in元关系s,它们分别有P和q个元组,则R与S的笛卡儿积记为R×S它是一个m+n元关系,元组个数是P ×q由题意可得,关系T是由关系R与关系s进行笛卡尔积运算得到的。

(2) :D在内存中,实参单元与形参单元是不同的单元。

在c语言中,仅在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。

(3) :A首先利用fwrite函数将数组a中的数据写到文件中,接着fseek函数的功能是读文件的位置,指针从文件头向后移动3个int型数据,这时文件位置指针指向的是文件中的第4个int数据”4”,然后fread函数将文件fp中的后3个数据4,5,6读到数组a中,这样就覆盖了数组中原来的前3项数据。

最后数组中的数据就成了{4,5,6,4,5,6}。

(4) :B选项A)中包含一个不合法的运算符”:|=”;选项c)应改为(int)18.5%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为c语言规定赋值量的左边只能是单个变量,不能是表达式或常量。

因此,正确答案是选项B),它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=C+2和a=b。

(5) :C函数f的功能是利用冒泡排序方法,将二维字符数组的前n行进行递增排序。

注意,本题目排序时整个字符串都交换。

数组P排序后的结果为(6) :D队列是一种操作受限的线性表。

它只允许在线性表的一端进行插入操作,另一端进行删除操作。

其中,允许插入的一端称为队尾(rear),允许删除的一端称为队酋(front)。

队列具有先进先出的特点,它是按”先进先出”的原则组织数据的。

(7) :D选项A)的循环表达式的条件永久为l,并且小于l00的数与100取余不超过99,所以在循环体内表达式i%100+1的值永远不大于100,break语句永远不会执行,所以是死循环;选项B)的括号内没有能使循环停下来的变量增量,是死循环;选项C)中先执行k++,使k=10001,从而使循环陷入死循环。

相关文档
最新文档