1、郑州大学2012计算机考试模拟题目精品文档【HNCE网上考试系统 v9.6】 本套软件使用权属于:郑州大学考试课程: 考试时间:90分钟 考场:第一考场 考试日期:2012.05.16考号:20110390222 姓名:剩余时间:89:32保存交卷退出帮助本卷共有3道大题:窗体底端一、单项选择题(50道小题,共50分)1、下列计算机语言中,CPU能直接执行的是( )。(1分)A、自然语言B、高级语言C、汇编语言D、机器语言2、算法具有5个特性,以下选项中不属于算法特性的是( )。(1分)A、有穷性B、简洁性C、可行性D、确定性3、以下叙述中,正确的叙述是( )。(1分)A、构成C程序的基本单位
2、是函数B、可以在一个函数中定义另一个函数C、main( )函数必须放在其他函数之前D、所有被调用的函数一定要在调用之前进行定义4、已知字母A的ASCII码为十进制的65,char ch1,ch2;ch1=A+5-3;ch2=A+6-3;,则printf(%d,%cn,ch1,ch2);的输出是( )。(1分)A、67,DB、B,CC、C,DD、不确定的值5、c2为字符型,执行语句“c2=A+6-3;”后,c2的值为( )。(1分)A、D B、63 C、不确定的值 D、C6、设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( )。(1分)A、a&bB、a
3、=bC、a|b+c&b-cD、!(ab)&!c|1)7、若a为int类型,且其值为5,则执行完表达式a+=a-=a*a后,a的值是( )。(1分)A、-5B、20C、-40D、258、表达式18/4*sqrt(4.0)/8值的数据类型为( )。(1分)A、intB、floatC、doubleD、不确定9、以下选项中,属于C语言的数据类型是( )。(1分)A、复数型B、逻辑型C、双精度型D、集合型10、若有main() char c=z; printf(%c,c-25); ,此程序的输出结果是( )。 (1分)A、a B、Z C、z-25 D、y 11、设x是int型变量,f是float型变量,
4、用下面的语句给这两个变量输入值:scanf(i=%d,f=%f ,&i,&f);,为了把100和765.12分别送给i和f,正确的输入为( )。(1分)A、100空格765.12 B、i=100,f=765.12C、100回车765.12 D、x=100f=765.1212、下列表述中,能正确的定义变量a,b和c并为它们赋初值5的语句是( )。 (1分)A、int a=5,b=5,c=5; B、int a,b,c=5;C、a=5,b=5,c=5; D、int a=b=c=5;13、下列表述中,合法的C语言赋值语句是( )。(1分)A、a=b=58 B、i+; C、a=58, b=58 D、k=
5、int(a+b);14、若k是int型变量,程序片段 k=-3; if(k=0) printf(#); else printf(&); 的输出结果是( )。(1分)A、#B、&C、#&D、有语法错误,无输出结果15、若有定义float w; int a, b; ,则合法的switch语句是( )。(1分)A、switch(w) case 1.0: printf(*n); case 2.0: printf(*n); B、switch(a); case 1 printf(*n); case 2 printf(*n); C、switch(b) case 1: printf(*n); default:
6、 printf(n); case 1+2: printf(*n); D、switch(a+b); case 1: printf(*n); case 2: printf(*n); default: printf(n); 16、程序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;printf(a=%d, b=%dn,a,b); 的输出结果是( )。 (1分)A、a=2, b=1B、a=1, b=1C、a=1, b=0D、
7、a=2, b=217、下列语句中,正确的定义语句是( )。(1分)A、int Aa;B、int A10;C、int A3,4;D、int A318、若有int a45;,则数组a包含的元素个数是( )。(1分)A、4B、5C、9D、2019、下列描述中,能正确给字符数组str定义和赋值的是( )。(1分)A、char str=China;B、char str10;str=China;C、char str10=abcdefghijklmn;D、char str10;strcpy(str,abcdefghijklmn);20、下列关于对二维数组a进行初始化的操作中,不正确的操作是( )。(1分)A
8、、int a3=3,2,1,1,2,3;B、int a=3,2,1,1,2,3;C、int a3=3,2,1,1,2,3;D、int a23=3,2,1,1,2,3;21、若有char c6=H,e,l,l,o;,则c5的值是( )。(1分)A、0B、0C、空格D、不可知的22、设有定义:char c,string=Welcome zhanghong;,若要逐个输出元素的值,可以写一个循环程序段,则这个循环段的“循环条件”是( )。(1分)A、c=stringi=0B、(c=stringi)=0C、c=stringi!=0D、(c=stringi)!=023、在Turbo C下,若有数组定义:
9、float f10=1,2,3,4;,则数组f所占的存储空间为( )个字节。(1分)A、4B、16C、10D、4024、C语言允许用外部说明来指定变量、函数等,这里的外部指的是( )。(1分)A、冠以关键字externB、位置在函数体外部C、作用范围是全程的D、位置在函数外部25、在主函数中定义的变量( )。(1分)A、只在主函数中有效B、可以在整个文件中有效C、可以在所有函数中有效D、可以在被调用的函数中有效26、在复合语句中定义的变量( )。(1分)A、只在主函数中有效B、只在本复合语句中有效C、可以在整个文件中有效D、可以在所有函数中有效27、下列关于静态局部变量的说法中,不正确的说法是
10、( )。(1分)A、静态局部变量在函数内定义B、静态局部变量的生存期为整个源程序C、静态局部变量的作用域为整个源程序D、静态局部变量若在说明时未赋初值,则系统自动赋予0值28、能够在输出完字符串后自动输出一个回车换行的函数是( )函数。(1分)A、putc()B、puts()C、printf()D、putchar()29、在C程序中,main()的位置( )。(1分)A、可以任意B、必须作为第一个函数C、必须作为最后一个函数D、必须放在它所调用的函数之后30、以下对C语言函数的有关描述中,正确的描述是( )。(1分)A、C函数既可以嵌套定义又可以递归调用B、函数必须有返回值,否则不能使用函数C
11、、C程序中有调用关系的所有函数必须放在同一个源程序文件中D、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参31、若自定义函数不要求返回一个值,则应在该函数说明时加一个类型说明符( )。(1分)A、intB、charC、voidD、float32、如果函数值的类型和return语句中表达式的值不一致,则( )。(1分)A、语法出错B、连接出错C、以函数类型为准D、以表达式值的类型为准33、若在程序中用到“strlen()”函数时,应在程序开头写上( )。(1分)A、#includeB、#includeC、#includeD、#include34、声明一个函数为外部函数,应该
12、在声明函数的函数类型的前面加( )。(1分)A、autoB、staticC、externD、register35、若有int f(int a,int b);,则说明函数f( )。(1分)A、是一个内部函数B、是一个外部函数C、只能在本文件中使用D、不能被同一源程序其他本文件中的函数调用36、若有int a=3,*pa; float f=4.5,*pf;,则下列表述中,错误的是 ( )。(1分)A、pa=&aB、pa=&fC、pf=&fD、*pf=a+f37、设char s10;int i=5;,下列表达式中,正确的表达式是( )。(1分)A、si+6B、*(s+i)C、*(&s+i)D、*(s
13、+)+i38、在C语句中,&后跟指针变量名,表示该指针变量的( )。(1分)A、值B、别名C、地址D、类型39、设有语句:int a10=0,1,2,3,4,5,6,7,8,9,i,*p=a;,下列表达式中,对a数组元素引用错误的是( )。(1分)A、piB、ap-aC、*(&ai)D、*(*a(a+i)40、若程序中包含有以下说明和定义:struct ex int x,y; struct ex,x,y; ,则在计算机上调试时, ( )。(1分)A、编译出错B、可以编译、连接、执行C、可以编译、连接,但不能执行 D、可以编译,但连接出错41、设有定义语句“struct int a;float
14、b;char c;abc;”,则对结构体成员a的引用可以是( )。(1分)A、abc.aB、abc-aC、abcaD、abc-a42、在说明一个结构体变量时系统分配给它的存储空间是( )。(1分)A、该结构体中的第一个成员所需存储空间B、该结构体中的最后一个成员所需存储空间C、该结构体中所有成员所需存储空间的总和D、该结构体占用最大存储空间的成员所需存储空间43、C语言可以处理的文件类型是( )。(1分)A、文本文件和数据文件B、文本文件和二进制文件C、数据文件和二进制文件D、都不对44、下列关于C语言数据文件的叙述中,正确的叙述是( )。(1分)A、文件由ASCII码字符序列组成,C语言只能
15、读写文本文件B、文件由二进制数据序列组成,C语言只能读写二进制文件C、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件45、在C语言中,关于文件存取方式,( )。(1分)A、只能顺序存取B、只能随机存取(也称直接存取)C、可以顺序存取,也可以随机存取D、只能从文件开头存取46、以读写方式打开一个已存在的二进制文件file1,fopen函数的正确的调用方式是( )。(1分)A、FILE *FP; FP=fopen(r,file1);B、FILE *FP; FP=fopen(file1,r);C、FILE *FP;
16、FP=fopen(rb+,file1);D、FILE *FP; FP=fopen(file1,rb+);47、在C程序中,可把整型数以二进制形式存放到文件中的函数是( )。(1分)A、fprintf函数B、fread函数C、fwrite函数D、fputc函数48、设fp 是文件指针,str 是一个字符串变量,n是一个整数,向文件中输出字符串的正确格式是( )。(1分)A、fputs(str,fp);B、fputs(fp,str);C、fputs(str,n,fp);D、fputs(fp,n,str);49、函数调用语句fseek(fp,-10L,2)的含义是( )。(1分)A、将文件位置指针移
17、动距文件头10个字节处B、将文件位置指针从当前位置向文件尾方向移10个字节C、将文件位置指针从当前位置向文件头方向移10个字节D、将文件位置指针移至距文件尾10个字节处50、若fp是指向某文件的指针,若没到该文件的末尾,则函数表达式!feof(fp)的值是( )。(1分)A、EOFB、1C、非零值D、0二、填空题(7道小题,共30分)1、* 下面程序的功能是:* 利用公式 * / 6 1/(1 *1)1/(2*2)1/(3*3)+1/(n * n) * 求的近似值,直到最后一项的值小于0.000001为止。#include #include void main()long i=1;double
18、 =0;while(i*i=10e+6)pi=pi+1.0/(i*i);i+;pi=sqrt(6.0*);printf(pi=%10.6fn,pi);(4分)2、* 用冒泡法对10个数排序#include void main() a11,i,j,t;printf(Input 10 numbers:n);for(i=1;i11;i+)scanf(%d,&ai);printf(n);for(i=1;i=9;i+)for (j=1;jaj+1)t=aj; aj=aj+1; aj+1=t;printf(The sorted numbers:n);for(i=1;i11;i+)printf(%d ,ai
19、);(4分)3、* 两个乒乓球队进行比赛,各出三人甲队为A、B、C.乙队为X、Y、Z三人.已经抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比. 编程序找出三对赛手的名单.#includevoid main()char , j, k;for ( i=X; i=Z; i+)for ( j=X; j=Z; j+)(i!=j)for (k=X;k=Z;k+)if(i!=k&j!=k)if ( i!=X&k!=X&k!=Z) printf(A-%ctB-%ctC-%cn , i , j , k);(4分)4、* 程序的功能是显示具有n个元素的数组s中的最大元素。#incl
20、ude #define 30void main()int i,aN;int fmax(int s,int n);for(i=0;iN;i+)scanf(%d,&ai);printf(%dn,afmax(a,N );int (int s,int n) int k,p;for(p=0,k=p;psk) k=p;return(k);(4分)5、* 由系统随机产生一个NN矩阵(矩阵中的元素值在10,99范围内),输出这个矩阵下三角区所有元素的和。#define N 5#includemain()int aNN,bN*N,=-1,f,t,i,j,s; printf(正在产生 %d 个在10,99范围内随
21、机数.nn,N*N);for(i=0;iN;i+)for(j=0;jN;j+)k+; f=1;do bk=rand()%100; while(bk);aij=bk;printf(输出数组a%d%d:nn,N,N);for(i=0;iN;i+) for(j=0;jN;j+)printf(%5d, aij);printf(n);=0;for(i=0;iN;i+)for(j=0;ji;j+)s=s+aij;printf(n数组a中下三角区所有元素和是%dn,s);(6分)6、* 使用双重循环,输出下面的图形:1121123211234321123211211 #includevoid main()i
22、nt i,j;for(i=1;i=4;i+)for(j=1;j40-i;j+)printf( );for(j=1;j0;j-)printf(%d,j);printf(n);for(i=3;i=;i-)for(j=1;j40-i;j+)printf( );for(j=1;j0;j-) printf(%d,j);printf(n);(4分)7、* 以下程序将数组a中的数据逆序存放。#define M 8#include void main()aM,i,j,t;for(i=0;iM;i+)scanf(%d,a+i);i=0;j=M-1;while(ij)t=*(a+i);*(a+i)=*(a+j);
23、*(a+j)=t;+;j-;for(i=0;iM;i+)printf(%3d,*(a+i);(4分)三、编程题(2道小题,共20分)1、* 编写程序:* 试求1到500以内能被3或者被5整除的数的个数。(10分)必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!请将你解答本题所写的源程序粘贴到下面或者上载源程序2、* 编写程序:* 先下载数据文件wj4.txt到自己的计算机中,然后编制程序,要求:统计出该数据文件中从第51个到第10000个数据中奇数的个数。(【下载文件“wj4.txt”】;)下载方法:在链接上右击打开弹出菜单,选择“目标另存为”。(10分)必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!请将你解答本题所写的源程序粘贴到下面或者上载源程序窗体底端收集于网络,如有侵权请联系管理员删除