2024年计算机考试-计算机等级考试(二级C语言)笔试参考题库含答案_第1页
2024年计算机考试-计算机等级考试(二级C语言)笔试参考题库含答案_第2页
2024年计算机考试-计算机等级考试(二级C语言)笔试参考题库含答案_第3页
2024年计算机考试-计算机等级考试(二级C语言)笔试参考题库含答案_第4页
2024年计算机考试-计算机等级考试(二级C语言)笔试参考题库含答案_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

“人人文库”水印下载源文件后可一键去除,请放心下载!(图片大小可任意调节)2024年计算机考试-计算机等级考试(二级C语言)笔试参考题库含答案“人人文库”水印下载源文件后可一键去除,请放心下载!第1卷一.参考题库(共75题)1.下面函数在一维数组v中将x插入到下标为i(i>=0)的元素前,如果i大于等于元素的个数,则x添加到v数组原数据的末尾。V数组原有元素个数保存在指针n所指向的变量中,插入后元素个数加1;空格处应填什么? 2.以下程序段运行的结果是() A、15B、17C、18D、193.设已定义:chars1[20]=”Youare”,s2[9]=”welcome!”;若要形成字符串”Youarewelcome!”,正确的语句是()A、strcat(s1,s2)B、strcpy(s1,s2)C、s1+s2D、s1&s24.设有定义intm=1,n=-1;则执行语句printf(〞%d/n〞,(m--&&++n));后的输出结果是()A、-1B、0C、1D、25.C语言中,复合语句的构成是将一系列语句置于()A、begin与end之间B、一对圆括号“()”之间C、一对花括号“{}”之间D、一对方括号“[]”之间6.编程序实现功能:在一个元素值按升序存放的整型数组中插入一个数,使得插入后的数组元素仍然有序7.在对无符号数的位运算中,操作数左移一位相当于()。A、操作数除以2B、操作数乘以2C、操作数除以4D、操作数乘以48.编程序实现功能:求出所有各位数字的立方和等于1099的3位整数。9.以下有关宏替换的叙述不正确的是()。A、宏替换不占用运行时间B、宏名无类型C、宏替换只是字符串替换D、宏替换是在运行时进行的10.补充程序Ccon0112.C,其功能是求下列级数的部分和。 例如:当m=100,x=2时,ex=7.389057 11.有定义语句:"inta=1,b=2,c=3,x;",则以下选项中各程序段执行后,x的值不为3()A、if(c<a)x=1;elseif(b<a)x=2:elsex=3;B、if(a<3)x=3:elseif(a<2)x=2;elsex=1;C、if(a<3)x=3;if(a<2)x=2;if(a<l)x=1;D、if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;12.执行下面C语言序列后,Inta,b,c;a=b=c=1;++a||++b&&++c;变量b的值是()。A、错误B、0C、2D、113.位运算中,操作数每左移一位,在没有溢出的情况下其结果相当于()。A、操作数乘以2B、操作数除以2C、操作数除以4D、操作数乘以414.下面程序的输出结果为() A、1,1,1B、2,0,1C、2,1,1D、2,0,015.补充程序Ccon0113.C,计算存放在数组score中12位学生成绩的平均分,并输出高于平均分的人数 16.以下对C语言字符数组描述中,正确的是()A、可以用length函数计算字符数组中字符串的长度B、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值C、存放在字符数组中的字符串,以’/0’作为该字符串结束标志D、字符数组只能存放字符串,不能存放字符17.下面程序的运行结果是() A、10,10B、1000,10C、10,1000D、1000,100018.C语言中数组元素下标的数据类型是()A、实型常量B、整型常量或整型表达式C、任何类型的表达式D、字符型常量19.调用feof库函数可以判断文件内部读写位置指针是否达到文件尾,当读写位置指针到达文件尾时,该函数的返回值是()20.结构体数据类型仍然是一类变量的抽象形式,系统不会为数据类型分配存储空间。要使用结构体类型数据,必须要()21.以下不能对二维数组arr进行正确初始化的语句是()A、intarr[2][3]={0}B、intarr[][3]={1,2,3,4,5}C、intarr[2][3]={{1,2},{3,4},{5,6}}D、intarr[2][3]={{1},{3,4,5}}22.以下程序段运行后变量n的值为() inti=1,n=1; for(;iA、4B、3C、2D、123.若有定义: 则函数fun()的功能是()。A、删除单向链表B、显示单向链表中的所有数据C、显示单向链表中的第一个数据D、创建单向链表24.设已定义:charstr1[10],str2[10]=”Fujian”;则能将字符串”Fujian”赋给数组str1的正确语句是()A、str1=”Fujian”B、strcpy(str1,str2)C、strcpy(str2,str1)D、str1=str225.若已定义:inta=-36,b=-30,c;则语句c=aA、1B、tC、0D、f26.若有定义:inta=2;则语句a=strcmp("miss","miss");运行后a的值为()A、1B、0C、-1D、227.以下程序的可执行文件名为cmdline.exe。 在DOS命令行输入:cmdlineharry,则输出结果是()。A、YouforgottotypeyournameoryoutypedmoreparametersB、HelloharryC、HellocmdlineD、Hello28.下面叙述正确的是()A、2/3与2.0/3.0等价B、(int)2.0/3与2/3等价C、++5与6等价D、‘A’与”A”等价29.若有定义:inta=20,b=28,c;则执行语句c=(a^b)A、2B、5C、32D、9230.设有定义:intx,*p;,能使指针变量p指向变量x的语句是()A、*p=&x;B、p=&x;C、*p=x;D、p=*&x;31.以下程序段运行后*(++p)的值为() chara[5]=”work”; char*p; p=a;A、‘w’B、存放’w’的地址C、’o’D、存放’o’的地址32.定义一个结构体变量后,该变量所占内存大小是()A、结构体中第一个成员所需内存容量B、结构体中最后一个成员所需内存容量C、结构体中各成员所需内存容量总和D、结构体成员中占内存容量最大者所需的容量33.补充程序Ccon041.C,使其实现从键盘输入一个同学的姓名(如“Jack”),输出问候该同学的信息(如“Hello,Jack!”)。 34.以下程序的输出结果为多少? 35.以下程序段运行后*(p+3)的值为() chara[]=”good”; char*p; p=a; A、‘d’B、‘/0’C、存放’d’的地址D、‘0’36.下列程序的运行结果是多少? 37.下列程序的运行结果是多少? 38.设有字符数组a,则正确的输入语句是()。A、gets(’a’);B、scanf("%c",a);C、scanf("%s",a);D、gets("a");39.若有已经建好的链表结构如下,指针平p、q分别指向图示节点(b节点为插入c节点前的链表末尾);不能实现将q所指节点插入到链表末尾的一组语句是()。 A、q->next = NULL;p=p->next;p->next=q;B、p=p->next;q->next=p->next;p->next=q;C、p=p->next;q->next=p;p->next=q;D、p=(*p).next;(*q).next=(*p).next;(*p).next=q;40.已知’E’的ASCII码是69,则执行下面C语句的结果是()printf(〞%c〞,’D’-‘8’+’5’);A、66B、AC、BD、E41.在C语言中,函数默认的存储类型为()。A、autoB、registerC、staticD、extern42.以下程序段运行后,循环体运行的次数为() inti=0,x; for(;iA、10B、0C、1D、无限43.下面C程序运行后变量x的值是()。 A、34B、4C、35D、344.运行以下程序段时编译出错,其原因是() A、c2是字符变量,只能赋以字符常量,不能赋以字符串常量B、字符串要用“2008“表示,而‘2008’不是字符串表示C、‘2008’只能赋值给字符数组D、字符变量不能用%d格式输出45.在下列运算符中,优先级最高的运算符是()A、B、C、D、46.以下程序执行时,输入12345,输出为() A、54321B、12345C、23451D、4321547.程序Cmody091.C,其功能是计算1至100之间的奇数之和,偶数之和。请改正错程序中的错误。 48.C语言的函数体由()括起来A、()B、{}C、[]D、/**/49.程序Cmody081.c,其功能是求一堆零件的总数(100到200之间)。如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。请改正错程序中的错误。 50.若有定义:inta=1,b=2,c=3;则以下程序段运行后c的值为() A、2B、0C、1D、-151.设有下列C语句,则下面叙述正确的选项是() A、Stt是结构体变量名B、Stt是结构体类型名C、typedef struct是结构体类型D、struct是结构体类型名52.字符串常量〞abc/nt/012/xa1*2〞在内存中所占的存储空间节数是()。A、11B、13C、15D、1853.有如下程序段:intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf("%d/n",t[2][1]);则执行该程序段后输出结果是()A、8B、7C、4D、254.设已定义:inta[][4]={0,0};则下列描述错误的是()A、数组a的每个元素都可得到初值0B、二维数组a的第一维大小为1C、数组a的行数为1D、只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值055.以下程序运行结果是() A、-7.9B、-7C、-6.3D、-656.程序Cmody041.c,其功能是统计输入字符串中小写英文字母的个数。请改正错程序中的错误。 如输入:abcdEFGHIJK123 输出:4 57.以下程序的输出结果为()。 A、0B、5C、6D、前3个选项都错58.补充程序Ccon062.C,使程序中的fun()函数用二分法在按从小到大排好序的数组a中查找q,若找到第一个q则返回对应的下标,没找到返回-1。 59.若有定义:charstr1[6]="abcdm",*ps,*str2="abcdef";则()是正确的A、strcpy(str1,str2)B、表达式strcmp(str1,str2)的值大于0C、str1=str2D、表达式strlen(str1)的值为660.下面程序的输出结果是() A、产生错误B、1C、2D、361.以下()是不正确的字符串常量A、‘abc’B、“12’12”C、“0”D、““62.以下程序的运行结果是() A、errorB、goodC、error.goodD、warn63.程序Cmody072.c,其功能是求解百马百担问题。请改正错程序中的错误。 有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马数可分别为多少?有多少种解决方案? 64.若有定义:intx=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为()A、123412312B、12341234123412341231231231212C、1234+1234+1234D、1234+123+1265.若有C语句intk=5;floatx=1.2;,则表达式(int)(x+k)的值是()A、5B、6.2C、7D、666.打开程序Cprog062.C,完成其中的fun()函数,使其实现四则运算功能。 如 输入:3.22.1 输出:3.20+2.10=5.30 3.20-2.10=1.10 3.20*2.10=6.72 3.20/2.10=1.52 67.若有定义:inta[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为()A、0B、{1,2}C、1D、368.在c语言中while循环和do-while循环的主要区别是()A、do-while循环体内可以使用break语句,while循环体内不能使用break语句B、do-while的循环体至少无条件执行一次,while的循环体不是C、do-while循环体可以使用continue语句,while循环体内不能使用continue语句D、while的循环体至少无条件执行一次,do-while的循环体不是69.下面程序从终端输入一行字符串存入字符数组,然后输出;空格处应填什么? 70.程序Cmody092.C的功能是求满足等式xyz+yzz=520的x,y,z值(其中xyz和yzz分别表示一个三位数)请改正错程序中的错误。 71.函数fun的功能是判断一个3位整数的各位数和百位数之和是否等于其十位上的数字,是则返回〞yes!〞,否则返回〞no!〞,空格处应填什么? 72.打开Cprog031.C,完成其中的函数fun1,该函数的数学表达式是: 例如: fun1(0.76)=1.200 fun1(3.00)=10.000 fun1(3.76)=8.520 73.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()A、float型B、long型C、int型D、double型74.打开程序Cprog081.C,完成其中的f(x)函数,使其计算: 如 输入:-1.2输出:f(-1.200)=0.241 输入:6输出:f(6.000)=19.879 75.打开Cprog032.C,完成其中的函数fun(char*s),使程序实现统计输入字符串中空格的个数*/ 第2卷一.参考题库(共75题)1.以下程序段运行后x的值为() A、不确定B、24C、120D、602.程序Cmody051.c,其功能是统计输入字符串中大写英文字母的个数。请改正错程序中的错误。 如输入:abcDEFGH123 输出:5 3.设有以下语句,则()是对a数组元素的不正确引用,其中0A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))4.下面程序的输出结果是? 5.程序Cmody062.c,其功能是将程序中的两个字符串"ABC"、"xyz"连接在一起,并输出"ABCxyz"。请改正错程序中的错误。 6.已知:chars[4]=〞cba〞;char*p;执行语句列p=s;printf(〞%c/n〞,*p+1);后,其输出为()。A、cB、bC、aD、d7.下面语句定义了共用体(联合体)变量a,则a占用()个字节。uniondata{shortinti;charc;doubled;}a;8.C语言的运算符按运算对象的个数可以分为()A、单目运算符一种B、单目和双目运算符C、单目、双目和三目运算符D、单目、双目、三目和四目运算符9.若已定义:inta=3,b=15,c;则语句c=a>b;运行后c的值为()A、1B、0C、tD、f10.已有定义:charstr1[15]={“university”},str2[15];则以下语句中正确的是()A、str2=str1B、str2=”college”C、scanf(“%s”,&str2)D、printf(“%s”,str1)11.程序Cmody011.c的功能是:从字符串数组str1中取出ACSII码值为偶数且下标为偶数的字符依次存放到字符串t中。请改正错程序中的错误。 例如,若str1所指的字符串为:4AZ18c?Ge9a0z! 则t所指的字符为:4Z8z 注意:数组下标从0开始。

12.在C语言中,正确的用户标识符是()A、3fB、_forC、structD、_f.513.以下程序的运行结果是() A、10B、15C、6D、714.执行下面的程序后,变量a的值是()。 A、10B、1C、5D、015.下面程序执行后输出为() A、5B、6C、4D、编译时出错16.若有定义:inta=2;则正确的赋值表达式是()A、a-=(a*3)B、double(-1)C、a*3D、a*4=317.若已定义x和y为double类型,则表达式x=2,y=x+10/4的值是()A、2B、4C、4.0D、4.518.若有定义:chara[]="abcdef";charb[]="xyz";则以下程序段运行后屏幕输出为() strcpy(a,b); printf("%c",a[2]);A、cB、zC、/0D、d19.以下程序的运行结果是() A、10B、13C、15D、120.以下程序段的运行结果是() A、12B、15C、25D、2721.若有定义:intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A、3,3B、4,4C、4,3D、3,422.若有定义:inti=1,j=5;则表达式(++j)*(i--)的值为()A、1B、0C、6D、723.以下程序运行后屏幕输出为() A、3,2B、2C、3D、424.在C语言中,变量所分配的内存空间大小是()A、由变量的类型决定B、由用户自己决定C、任意的D、均为两个字节25.在标准库函数的调用形式“fread(buffer,size,count,fp);”中,参数buffer代表的是()A、一个整型变量,代表要读入的数据总数B、一个文件指针,指向要读的文件C、一个指针,指向读入数据存放的首地址D、一个存储区,存放要读的数据项26.下面程序执行后输出为() A、5B、4C、6D、不确定27.C语言中,能正确表示条件10A、B、C、D、28.定义枚举类型的关键字是()。A、defineB、enumC、unionD、struct29.在循环语句的循环体中,break语句的作用是()A、暂停程序的运行B、结束本次循环C、继续执行break语句之后的循环体各语句D、提前结束循环,接着执行该循环后续的语句30.下面程序运行后的结果是()。 A、1020B、1030C、2030D、201031.下面程序的运行结果是什么? 32.在C语言中无固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由()提供。33.打开程序Cprog072.C,完成其中的fun函数,该函数将4阶矩阵A的各行中0之前的所有正数依次存放到数组b中,并返回这些正数之和。如矩阵A为 则调用函数fun()后,b[0]为1,b[1]为2,b[2]为23,b[3]为32,函数返回58。 34.关于C语言数据类型的叙述,正确的是()A、枚举类型不是基本类型B、数组不是构造类型C、变量必须先定义后使用D、不允许使用空类型35.已有定义intk=2;int*ptrl,*ptr2,且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是()A、k =*ptr1+*ptr2;B、ptr2 = k;C、ptr1=ptr2;D、k = *ptr1*(*ptr2);36.以下程序运行后,屏幕输出为() A、2B、3C、4D、637.在执行语句if((x=y=2)>=x&&(x=5))y*=x;后变量x,y的值应分别为()A、2、2B、5、2C、5、10D、执行时报错38.以下程序运行后屏幕输出为() A、0B、2+3=5C、2+3=0D、3+2=539.以下C语言共用体类型数据的描述中,不正确的是()A、共用体变量占的内存大小等于所需内存最大的成员所占的内存B、共用体类型可以出现在结构体类型定义中C、在定义共用体变量的同时允许对第一个成员的值进行初始化D、同一共用体各成员的首地址不相同40.以下程序段运行后s的值是() A、18B、108C、2D、1241.若有定义:int*p,a=4;p=&a;则以下均代表地址的是()A、a,pB、&a,pC、&a,*pD、a,*p42.若有以下类型说明,叙述正确的是()。 A、STU是变量名B、PSTU是变量名C、PSTU是指向结构体类型STU的指针类型名D、类型说明语句有错误43.若有定义: 则下列叙述不正确的是()A、struct是结构体类型的关键字B、structteacher是用户定义的结构体类型C、num,sex,age都是结构体变量teacher1的成员D、teacher1是结构体类型名44.程序Cmody071.c,其功能是从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示。请改正错程序中的错误。 如输入:6911 输出:26.98 45.以下程序的输出结果是() A、0B、1C、3D、646.设有inta=0,b=5,c=2,x=0;,下面可以执行到x++的语句是()A、if(a)x++;B、if(a=b)x++;C、if(a>=b)x++;D、if(!(b-c))x++;47.补充程序Ccon093.C,输出Fibonacci数列的前15项。Fibonacci数列的计算方法是: 48.若有说明语句:double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是()A、*p=&a;scanf(“%lf”,p)B、*p=&a;scanf(“%lf”,*p)C、p=&a,scanf(“%lf”,*p)D、p=&a;scanf(“%lf”,p)49.以下程序的运行结果是() A、9B、10C、12D、1850.设有定义:char*s=”/t/”Name//Address/”/n”;,那么strlen(s)等于()A、15B、16C、17D、1851.若有定义:intx=3,y=4;则表达式!x||y的值为()A、1B、0C、3D、452.对枚举类型进行定义,不正确的是()。A、B、C、D、53.若有定义inta,b,x;且变量都已正确赋值,下面选项中合法的if语句是()。A、if(a==b) x++;B、if(a=b) x++;54.下面程序的功能是输出数组中的各字符串,空格处应填什么? 55.以下程序的输出结果是()。 A、3B、4C、5D、656.任何程序都可调用标准函数exit(),当它被调用时就()程序的执行。57.根据下面定义,能打印出字母’H’的语句是() A、printf("%c/n",class[3].name)B、printf("%c/n",class[3].name[1])C、printf("%c/n",class[2].name)D、printf("%c/n",class[2].name[0]58.下面函数mfc用于求取两个正整数的最大公因子,空格处应填什么? 59.补充程序Ccon043.C,使程序中的fun()函数能用勾股定理判断一个三角形是否为直角三角形,即输入一个三角形的三边长a,b,c。若能构成直角三角形则返回1,不能则返回0。 60.设有如下语句: 则下面表达式的值为102的是()A、(p++)->numB、(p++)->ageC、(*p).ageD、(*++p).num61.若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达式()。A、x==yB、x-y==0C、fabs(x-y)62.以下四项中,符合C语言语法的语句是()A、inta+b=cB、inta=12:b=12:c=12C、inta=12,b=12,c=12D、inta,b=12,floatc=2163.下面程序的运行结果是什么? 64.若程序中需要表示关系x≥y≥z,应使用C语言表达式为()A、(x>=y)&&(y>=z)B、(x>=y)AND(y>=z)C、(x>=y>=z)D、(x>=y)&(y>=z)65.以下()是正确的浮点数A、e3B、1.62C、2e4.5D、12366.下面程序的功能是将字符串str的内容颠倒过来并输出,空格处应填什么?  67.补充程序Ccon081.C,根据输入的整数m(m>=0)值,计算 68.在C语言中,下面关于数组的描述中正确的是()。A、数组的大小是固定的,但可以有不同类型的数组元素B、数组的大小是可变的,但所有数组元素的类型必须相同C、数组的大小是固定的,所有数组元素的类型必须相同D、数组的大小是可变的,可以有不同的类型的数组元素69.设有C语句inta[3][4];,则每次移动过a数组一行元素的指针变量定义形式是()A、int *p;B、int **p;C、int(*p)[4];D、int *p[4];70.若有定义:inta[3][3];则表达式&a[2][1]-a的值为()A、7B、8C、6D、971.函数cut的原型为:void*cut(char*s,intm,intn);,其功能是:从字符串s中第m个位置开始,截取含有n个字符的子串;若从m开始剩余的字符不足n个,则截取剩余的所有字符;函数返回所截子串的首地址。编制函数reverse并用相应的主函数进行测试。72.以下程序段运行时,若从键盘输入10,则输出结果是() A、2B、11C、3D、1273.调试程序是指对程序进行()A、编辑B、编译C、查错和排错D、连接74.下面程序的执行结果是多少? 75.C语言的整型数据在内存中的存储形式是()A、原码B、反码C、补码D、ASCII码第1卷参考答案一.参考题库1.参考答案:i=i;v[j+1]2.参考答案:C3.参考答案:A4.参考答案:B5.参考答案:C6.参考答案:7.参考答案:B8.参考答案:9.参考答案:D10.参考答案: /**/s=1;tem=1;/**/ /for(i=1;**/i11.参考答案:D12.参考答案:D13.参考答案:A14.参考答案:A15.参考答案: aver=/**/sum/N;/**/ return(/**/c/**/); cn=/**/count/**/(score);16.参考答案:C17.参考答案:B18.参考答案:B19.参考答案:非020.参考答案:定义结构体类型变量21.参考答案:C22.参考答案:D23.参考答案:B24.参考答案:B25.参考答案:A26.参考答案:D27.参考答案:B28.参考答案:B29.参考答案:C30.参考答案:B31.参考答案:C32.参考答案:C33.参考答案: /**/#include/**/ /**/char/**/str[11];34.参考答案:765432135.参考答案:A36.参考答案:432137.参考答案:x=-2438.参考答案:C39.参考答案:C40.参考答案:B41.参考答案:D42.参考答案:A43.参考答案:B44.参考答案:A45.参考答案:C46.参考答案:A47.参考答案: /**/inta=0,c=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论