1、湖北省计算机二级C语言考试1、计算机在实现工业自动化中的应用主要是进行(A) A、实时控制 B、数据处理 C、数值计算 D、人工智能2、计算机的主频指的是(D)A、硬盘读写速度,用Hz表示 B、软盘读写速度,用Hz表示C、显示器输出速度,用MHz表示 D、时钟频率,用MHz表示 3、复制活动窗口的信息到剪贴版,只需按下(C)键即可 A、Alt+Esc B、Ctrl+Shift C、Alt+Print Screen D、Print Screen 4、计算机中ROM的意思是(B) A、磁盘存储器 B、只读存储器 C、随机存储器 D、光盘存储器 5、在运行某程序时,如果存储器容量不够,可通过(D)来
2、解决。 A、把软盘换成硬盘 B、把磁盘换成高密度磁盘 C、扩大硬盘容量 D、增加一个扩充存储卡(内存条) 6、在Windows,控制面板是以(B)的形式存在的 A、一个普通文件 B、一个系统文件夹C、一个系统文件 D、几个系统文件集合在一起 7、微型计算机存储器系统中的Cache是(B) A、只读存储器 B、高速缓冲存储器 C、可编程只读存储器 D、可檫除可再编程只读存储器 8、一般主存储器和外存储器的区别在于(C) A、主存储器容量大,速度快,造价高;外存储器容量小,速度慢,造价低 B、主存储器容量小,速度慢,造价低;外存储器容量大,速度快,造价高 C、主存储器容量小,速度快,造价高;外存储
3、器容量大,速度慢,造价低 D、区别仅仅是因为一个在计算机里,一个在计算机外 9、在智能ABC输入法中,将“计算机”编码输入为“jsuanj”,这属于(C) A、全拼输入 B、简拼输入 C、混拼输入 D、智能输入 10、在Windows 98的MSDOS窗口中,按(B)键,可以在全屏幕与窗口方式之间切换。 A、Alt+Shift B、Alt+Enter C、Alt+F8 D、Ctrl+Shift 11、二进制数1010100.100对应的十六进制数为(C) A、52.8 B、52.6 C、54.8 D、54.6 12、在3.5英寸软盘上有一个可移动滑块的透光孔是用于(B) A、防霉保护 B、写保
4、护 C、读保护 D、驱动定位 13、在Windows 98中,不同驱动器之间的文件移动,应使用的操作为(C) A、鼠标直接拖曳 B、Ctrl+鼠标拖曳 C、Shift+鼠标拖曳 D、选定要移动的文件按Ctrl+C, 然后打开目标文件夹按Ctrl+V 14、在Windows环境下,人们主要在鼠标选择方式下操作计算机,Windows提供(C)界面。 A、鼠标和键盘 B、显示器 C、图形用户 D、字符用户 15、在Windows 98的资源管理器中,查找文件或文件夹的操作是通过菜单(C)来实现的。 A、文件 B、编辑 C、工具 D、查看16、若以下变量均为整型且num=sum=7;则计算表达式sum
5、=num+,sum+,+num后sum的值为(B)A、7 B、 8 C、9 D、1017、判断char型变量C1是否为大写字母的正确表达式是(C) A、AC1=A)& (C1=A)& (C1=Z) D、(A=C1) 18、下列程序段的运行结果是(C) char c =“tvowilln” printf(“%d”,strlen ); A、14 B、3 C、9 D、字符串中有非法字符,输出值不确定19、若有说明:char c=9,*sp1,*sp2;以下均正确的一组赋值语句是(A) A、sp1=&c;sp2=sp1; B、sp1=&c;sp2=&sp1; C、sp1=&c;sp2=*sp1; D、
6、sp1=&c;*sp2=*sp1;20、根据定义和数据的输入方式,输入语句的正确形式为(B)。已有定义: float f1,f2; 数据的输入方式:4.52 3.5 A、scanf(“%f,%f”,&f1,&f2); B、scanf(“%f%f”,&f1,&f2); C、scanf(“%f3.2%2.1f”,&f1,&f2); D、scanf(“%3.2f%2.1f”,&f1,&f2);21、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是(B)A、7 B、8 C、6 D、222、判断字符串s1是否大于字符串s2,应当使用(D)A、if(s1s2) B、if(strcmp(
7、s1,s2) C、if(strcmp(s2,s1)0) D、if(strcmp(s1,s2)0)23、当定义一个结构体变量时系统分配给它的内存是(D)A、结构体第一个成员所需的内存量B、结构体最后一个成员所需的内存量C、结构体成员中占内存量最大者所需的容量D、结构体中各成员所需内存量的总和24、没有说明:double y=0.5,z=1.5;int x=10;则能够正确使用C语言库函数的赋值语句是(D)A、z=ln(y)+abs(y); B、y=log10(y)+pow(y);C、z=sqrt(y-z); D、x=(int)(atan2(double)x,y)+exp(y-0.2); 25、若
8、运行以下程序时,从键盘输入2473,则下面程序的运行结果是(A)#include void main(void) int c; while(c=getchar()!=n) switch(c-2) case 0: case 1: putchar (c+4); case 2: putchar (c+4); break; case 3: putchar (c+3); default: putchar (c+2);break;printf(n);A、668977 B、668966 C、66778777D、668876626、建立函数的主要目的之一是(B) A、提高程序的执行效率 B、提高程序的可读性
9、C、减少程序的篇幅 D、减少程序文件所占内存 27、若有以下说明和语句,则对结构体变量std中成员id的引用方式不正确的是(B)struct workint id; int name;std,*p;p=&std;A、std.id B、*p.id C、(*p).id D、p-id28、下列运算符中优先级最高的是(B)A、12?x+10: x-12;printf(%d n,y); A、0 B、22 C、12 D、1034、对两个数组a和b进行如下的初始化:char a =”ABCDEF”;char b =A,B,C,D,E,F 则以下叙述正确的是(D) A、a与b数组完全相同 B、a与b长度相同
10、C、a中存放字符串,b中存放字符 D、a数组比b数组长度长 35、凡是函数中未指定存储类别的局部变量,其隐含的存储类别是(A)变量 A、自动(auto) B、静态(static) C、外部(extern) D、寄存器(register) 36、若有以下定义和说明,以下不能将文件内容读入数组x中的语句(组)是(C)struct ss int n; float x; x30; FILE*fp;A、for(i=0;i10;i+)/fread(&xi,sizeof(struct ss),1L,fp);B、for(i=0;i10;i+)/fread(&xi,sizeof(struct ss),2L,fp
11、);C、for(i=0;i10;i+)/fread(xi,sizeof(struct ss),1L,fp);D、for(i=0;i10;i+)/fread(x,sizeof(struct ss),1L,fp);37、以下C程序正确的运行结果是(C)void main(void) long y=-43456; printf(y=%-81d n,y); printf(y=%-081d n,y); printf(y=%081d n,y); printf(y=%+81d n,y); A、y=_-43456 y=-_43456 y=-0043456 y=-43456B、y=-43456 y=-43456
12、 y=-0043456 y=_-43456C、y=-43456 y=-43456 y=-0043456 y=-43456D、y=_-43456 y=-43456 y=00043456 y=+4345638、以下程序的输出结果是(B)void main(void)int x=2,y=-1,z=2; if(xy) if(y0) z=0; else z+=1; printf(y=%d n,z);A、3 B、2 C、 1 D、039、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数
13、,则选择(D)#include void main(void) int i; for(i=100;i200;i+) if(i-2)%4=0) if(!(i-3)%7) if( ) printf(%d ,i);A、i%9=5 B、i%9!=5 C、(i-5)%9!=0 D、i%9=540、下述对C语言字符数组的描述中错误的是(C) A、字符数组可以存放字符串 B、字符数组的字符可以整体输入输出 C、可以在赋值语句中通过赋值运算符“”对字符数组整体赋值 D、可以用关系运算符对字符数组中的字符进行比较41、下面程序的功能是从键盘输入一行字符,统计其中有多少单词,单词之间用空格分隔。请选择填空(C)
14、#include void main(void) char s80,c1= ,c2; int i=0,num=0; get(s); while(si!=0) c2=si; if(i0) c1=si-1; if(l) num+; i+; printf(These are %d words.n,num); A、c1= &c2= B、c1!= &c2= C、c1= &c2!= D、c1!= &c2!= 42、若有宏定义#define z(x,y) x*y,则执行以下程序段后,z的值为(B) int z; z=z(3+5,4); A、32 B、 23 C、 17 D、 20 43、当说明一个共同体变量
15、时系统分配给它的内存是(C)A、共同体第一个成员所需的内存量B、共同体最后一个成员所需的内存量C、共同体成员中占内存量最大者所需的容量D、共同体中各成员所需内存量的总和44、设有以下结构体类型数组的定义,且数组mini的10个元素都已赋值,若要将这些元素写到文件fp中,以下不正确的形式是(B) struct abcint a;char b;floar c4;mini10;A、fwrite(mini,10*sizeof(struct abc),1,fp)B、fwrite(mini,5*sizeof(struct abc),5,fp)C、for(i=0;i10;i+) fwrite(mini,si
16、zeof(struct abc),1,fp)D、fwrite(mini, sizeof(struct abc),10,fp)45、函数fgets(string,m,fp)的作用是(D) A、从fp所指向的文件中读取长度不超过m的字符串,存入由指针string指向的内存区域 B、从fp所指向的文件中读取长度为m字符串,存入由指针string指向的内存区域 C、从fp所指向的文件读取m个字符串,存入由指针string指向的内存区域 D、从fp所指向的文件读取长度不超过m-1的字符串,存入由指针string指向的内存区域 46、微机主存有ROM和RAM,计算机突然停电后,存储的信息就会丢失的是(RA
17、M) 47、字符的ASCII编码在机器中的表示方法准确地描述应是使用八位二进制代码,最高位为(0) 48、与十进制数254等值的二进制数是(11111110) 49、在Windows 98的操作过程中,光标所指的图标称为(活动)图标 50、在Windows 98中,要查找所有的DOC文档文件,应在“查找”对话框“名称和位置”标签的“名称”文本框中输入(*doc)51、根据以下函数关系,对输入的每个x值,计算出相应的y值。 x y x0 0 0=x10 x 10=x10 10 20=x40 -0.5+20程序:void main(void) int x,c,m; float y; scanf(“
18、%d”,&x); if(x=0&c=9) n+; c=getchar( ); 53、将以下含有switch语句的程序段改写成对应的含有非嵌套if语句的程序段,含有switch 语句的程序段: int s,t,m; t=(int)(s/10); switch(t) case 10:m=5;break; case 9:m=4;break; case 8:m=3;break; case 7:m=2;break; case 6:m=1;break; default:m=0; 含有非嵌套if语句的程序段: int s,m; if(s=100) m=5; if(s=90) m=4; if(s=80) m=
19、3; if(s=70) m=2; if(s690) m=1; if(s109) (m=0);54、打印100以内个位数为6且能被3整除的所有数。void main(void)int i,j; for(i=0;(iy) u=x; else u=y; if(uz) v=u; else v=z; prinf(“v=%d”,v);56、假设a数组中的数据已按又小到大的顺序存放,以下程序可把a 数组中相同的数据删除只剩一个,然后以每行4个数据的格式输出a数组。 #define M 10 main( ) int aM,i,j,n; for(i=0;i=0) if(*(a+i)=*(a+i-1) for(j
20、=(i);jn;j+) *(a+j)=*(a+j+1); n-; i-; for(i=1;in+1;i+) printf(“%4d”,*(a+i-1); if(i%4=0) printf(“n”); printf(“n”); 57、下面程序的功能是从三个红球,五个白球,六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。 #includevoid main(void) int i,j,k; printf(“n hong bai hein”); for(i=1;i=3;i+) for(j=1);j-1&k7) printf(“%3d %3d %3dn”,i,j,k); 58、设有三人
21、的姓名和年龄存在结构数组中,以下程序输出三人中年龄居中者的姓名、年龄,请在空白处填入正确内容。 static struct man char name20; int age; person=“li-ming”,18,“wang-hua”,19,“zhang-ping”,20; main( ) int i,j,max,min; max=min=person0.age; for(i=1;imax) (max=personi.age); else if(personi.agemin) min=personi.age; for(i=0;i3;i+) if(personi.age!=max& perso
22、ni.age!=min) printf(“%s%dn”,personi.name,personi.age); break; 59、下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中。 #includevoid main(void) int a23=1,2,3,4,5,6; int b32,i,j; printf(“array a:n”); for(i=0;i=1;i+) for(j=0;(j=2);j+) printf(“%5d”,aij); (bji=aij); printf(“n”); printf(“array b:n”); for(i=0;i=2;i+) for(j=0;j=
23、1;j+) printf(“%5d”),bij; printf(“n”); 60、下面程序以每行4个数据的形式输出a数组, a0存放输入的第1个数据,#define N 20void main(void) int aN,I; for(i=0;iN;i+) scanf(“%d”,(&ai); for(i=0;iN;i+) if(i%4=0) (printf(“n”); printf(“%3d”,ai); printf(“n”); 61、请读程序; #includevoid main(void) int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) ca
24、se 0:a+;break; case 1:b+;break; case 2: a+;b+;break; printf(“a=%d;b=%d”,a,b); 上面程序的运行结果是(a=2;b=1) 62、以下程序段的运行结果是(5,25)#include void ff1( ) extern int x,y; int a=15,b=10; x=a-b; y=a+b;int x,y;void main(void) int a=7,b=5;x=a-b; y=a+b; ff1( ); printf(%d,%dn”,x,y); 63、若有定义:double x35;则x数组中行下标的下限为(0),列下标的上限为4。 64、若有以下定义和语句,int *p3,a9,i;for(i=0;i3;i+) pi=&a3*i;则*p0引用的是数组元素(a0) 65、已知字母a的ASCII码为十进制数97;且设ch为字符型变量,则表达式ch=a+8-3的值为(102) 66、若有定义: int a32=2,4,6,8,10,12; 则*(a1+1)的值是(8)67、C语言所提供的基本数据类型包括(用汉字描述):单精度型,双精度型,(整),字符和枚举。 68、若有定义:int a35,i,j;且(则aij的地址可用五种形式表示,它们是:(1)&aij(2)ai+j(3)*(a+j)+j
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1