全国计算机二级C考试题库(程序设计部分)
全国二级计算机C语言程序设计题库
一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是。
A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由。
A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是。
A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是。
A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是。
#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是。
#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是。
全国计算机等级考试《二级C++语言程序设计》历年真题精选及详解
运行这个程序的输出结果是( A. 22 B. 23 C. 24 D. 25
【答案】 D 【解析】 需求分析阶段的工作主要包括 4 个方面:①需求获取,其目的是确定对目标系统 的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解 决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用 户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。制定软件集 成测试计划属于概要设计阶段的任务。答案选择 D 选项。 9. 在黑盒测试方法中,设计测试用例的主要根据是( )。 A. 程序内部逻辑 B. 程序外部功能 C. 程序数据结构 D. 程序流程图
运行这个程序的输出结果是( A. 3 B. 5 C. 7 D. 9
)。
【答案】 C 【解析】 for 语句基本格式:for(表达式 1;表达式 2;表达式 3)。执行过程如下:①先 求解表达式 1;②求解表达式 2,若其值为真(值为非 0),则执行 for 语句中
指定的内嵌语句,然后执行下面第(3)步。若为假(值为 0),则结束循环, 转到第(5)步;③求解表达式 3;④转回上面第(2)步骤继续执行;⑤循环结 束,执行 for 语句下面的一个语句。 20. 若 字符 指 针 p 所 指 向 的 字 符串 为 "abcdefg" , 在执 行 语 句 char*ap=new char[strlen(p)+1];之后,ap 指向的字符数组的元素个数为( )。 A. 9 B. 8 C. 7 D. 6
2023年全国计算机二级C考试题库程序设计部分
1、找出2xM整型二维数组中最大元素的值,并将此值返回调用函数。
int fun (int a[][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}2、根据以下公式求π值。
double fun ( double eps){ double s=0.0,s1=1.0;int n=0;while(s1>=eps){ s=s+s1;s1=s1*n/(2*n+1);n++;}return 2*s;}3、求出1~1000之间能被7或11整除但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。
void fun (int *a, int *n){ int i,j=0; for(i=1;i<=1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}4、删除字符串中所有*号。
void fun( char *a ){ int i,j=0;for(i=0;a[i]!='\0';i++)if(a[i]!='*')a[j++]=a[i];a[j]='\0';}5、实现两个字符串的连接(不要同时使用库函数),即把p2所指的字符串连接到p1所指的字符串的后面。
void fun(char p1[], char p2[]){int i,j;for(i=0;p1[i]!='\0';i++) ;for(j=0;p2[j]!='\0';j++)p1[i++]=p2[j];p1[i]='\0';}6、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能:求出平均分,并放入记录的ave成员中。
《全国计算机等级考试二级教程C语言程序设计》
《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案第一章程序设计基本概念1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______.答案:.exe1。
2 C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是____ _.答案:。
c 。
obj 。
exe1.3 结构化程序由_____、_____、_____三种基本结构组成.答案:顺序、选择、循环第二章 C程序设计的初步知识一、选择题2。
1 以下选项中正确的整型常量是A)12. B)—20 C)1,000 D)4 5 6答案:B2.2 以下选项中正确的实型常量是A)0 B)3。
1415 C)0.329×10(2)(10的2次方) D)。
871答案:D2。
3 以下选项中不正确的实型常量是A)2。
607E-1 B)0。
8103e 2 C)—77。
77 D)456e-2答案:B2。
4 以下选项中不合法的用户标识符是A)abc。
c B)file C)Main D)PRINTF答案:A2.5 以下选项中不合法的用户标识符是A)_123 B)printf C)A$D)Dim答案:C2。
6 C语言中运算对象必需是整型的运算符是A)%B)/ C)!D)**答案:A2.7 可在C程序中用作用户标识符的一组标识符是A)void define WORDB)as_b3 _123 IfC)For -abc caseD)2c DO SIG答案:B2。
8 若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4)D)a=a+7=c+b答案:B2.9 以下叙述中正确的是A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值.B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式.C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b 的值由原值变为0.D)已有a=3,b=5。
3月全国计算机等级考试二级C语言上机题库(20~30套)
3月全国计算机等级考试二级C语言上机题库(20~30套)3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。
第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。
ss所指字符串数组中共有N个字符串,且串小于M。
第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。
例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。
/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。
请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
函数fun中给出的语句仅供参考。
void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。
例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。
作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。
选择题部分只能进入一次,退出后不能再次进入。
选择题部分不单独计时。
)1.下列叙述中正确的是()。
A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项。
2.以下叙述中错误的是()。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。
C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。
答案选择A选项。
3.C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。
2022年9月全国计算机等级考试二级C笔试试卷与答案
2022年9月全国计算机等级考试二级C笔试试卷与答案C++语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列链表种,其逻辑结构属于非线性结构的是A)循环链表B)双向链表C)带链的栈D)二叉链表(2)设循环队列的存储空间为Q(l:35),初始状态为front二rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A)16B)20C)0或35D)15(3)下列关于栈的叙述中,正确的是A)二维表B)树状结构C)属性D)网状结构A)程序流程图B)数据流图(DFD图)C)方框图D)软件结构图(8)软件需求规格说明书的作用不包括A)软件可行性研究的依据B)用户与开发人员对软件要做什么的共同理解C)软件验收的依据D)软件设计的依据(9)下面属于黑盒测试方法的是A)逻辑覆盖B)语句覆盖C)路径覆盖D)边界值分析(10)下面不属于软件设计阶段任务的是A)数据库设计B)算法设计C)软件总体设计D)制定软件确认测试计划(11)下列关于函数重载的叙述中,错误的是A)重载函数的参数个数可以不同B)重载函数的参数类型可以不同C)重载函数的返回值类型必须不同D)重载函数的参数个数或参数类型必须有所不同(12)下列关于类成员对象构造函数调用顺序的叙述中,正确的是A)与它们在初始化列表中顺序相同B)与它们在类中声明的顺序相同C)与析构函数的调用顺序相同D)顺序不确定(13)下列关于派生类的叙述中,错误的是A)派生类至少要有一个基类B)派生类中包括了从基类继承的成员C)一个派生类可以作为另一个派生类的基类D)基类成员被派生类继承以后访问权限保持不变(14)下列关于运算符重载的叙述中,正确的是A)通过运算符重载机制可以为C++语言扩充新的运算符B)运算符重载的作用是使已有的运算符作用于类的对象C)重载运算符的操作数类型可以全部为基本类型D)所有运算符都可以重载(15)下列关于模板的叙述中,错误的是A)调用模板函数时,有时可以省略模板实参B)函数模板的每个实例就是一个函数定义C)类模板的每个实例就是一个类定义D)类模板的实例是一个类对象(16)下列关于输入输出流的叙述中,正确的是(17)下列选项中可以做C++标识符的是A)_256B)fat/pigC)deleteD)5char(18)关键字unigned不能修饰的类型是A)charB)intC)floatD)longint(19)有如下程序:#includeuingnamepacetd;intmain(){chara;cin>>a;if(a二'某')cout〈A)某某某B)###C)某某某###D)无输出(20)下列对一维数组a的定义中,语法正确的是A)inta(10)B)intn=7,a[n];C)intn;cin>>n;inta[n];D)contintize=10; inta[ize];(21)假设函数fun已经定义,其原型为”voidfun(inta,intb=7,char某p二”某某”);”,下列函数调用中错误的是A)fun(5)B)fun(5,8)C)fun(6,”##”)D)fun(0,0.”==”)(22)已经函数print()没有返回值,如果在类中将之声明为常成员函数,正确的是A)voidprint()cont;B)contvoidprint();C)voidcontprint();D)voidprint(cont);(23)已知基类Employee只有一个构造函数,其定义如下:Employee::Employee(intn):id(n){}Manager是Employee的派生类,则下列对Manager的构造函数的定义中,正确的是A)Manager::Manager(intn):id(n){}B)Manager::Manager(intn){id=n;}C)Manager::Manager(intn):Employee(n){}D)Manager::Manager(intn) {Employee(n);}A)cl.operator某(c2.operator+(cl))B)cl.operator+(c2.operator某(c1))C)cl.operator某(cl.operator+(c2))D)c2.operator+(c1.opera七0丫某(c1))(25)下列类模板的定义中语法格式错误的是A)templateclaBuffer{/某…某/};B)templateclaBuffer{/某…某/};C)templateclaBuffer{/某…某/};D)templateclaBuffer{/某…某/};(26)在C++中既可以用于文件输入又可以用于文件输出的流类是A)ftreamB)iftreamC)oftreamD)iotream(27)有如下类定义:claMyCla{intb;chara;doublec;public:MyCla():c(0.0),b(0),a(','){}};创建这个类的对象时,数据成员的初始化顺序是A)a,b,cB)c,b,aC)b,a,cD)c,a,b(28)有如下类定义claMyCla{int某;public:MyCla():某(0),y(0){}intGet某(){return某;}voidSet某(int某某){某=二某某;}inty;};已知obj是类MyCla的对象,下列语句中违反类成员访问控制权限的是A)obj.某;B)obj.y;C)obj.Ge七某();D)obj.Set某(0);(29)有如下类定义claTet{chara;contcharb;public:Tet(charc){a=c;b=c;}//第1行voidf(chara)cont{thi-〉a=a;}//第2行voidg(charb){thi-〉b二b;}//第3行charh()cont{returna;}//第4行};编译时没有错误的行是A)第1行B)第2行C)第3行D)第4行(30)有如下程序:#includeuingnamepacetd;claA{public:A(){coutclaB:publicA{public:B(){cout<intmain(){Bobj;return0;}运行这个程序的输出结果是A)GATCB)AGTCC)GACTD)AGCT(31)有如下程序:#includeuingnamepacetd;claBae{public;voidfun(){cout<claDerived:publicBae{public;voidfun(){cout<intmain(){Derivedd;d.fun();return0;}若程序的输出结果是BD,则划线处缺失的部分是A)fun()B)Bae.fun()C)Bae::fun()D)Bae-〉fun()(32)有如下程序:#includeuingnamepacetd;claB{public;virtualvoidf(){cout<claD;publicB{public;voidf(){cout<voidh(B某p){p-〉f();p-〉g();}intmain(){Dobj;h(&obj);return0;}运行这个程序的输出结果是:A)DDB)BBC)BDD)DB(33)有如下程序:#include#includeuingnamepacetd;claMyString{public;chartr[80];#include#includeuingnamepacetd;claMyString{public;MyString(contchar某){trcpy(tr,);}MyString&operator+=(MyStringa){trcat(tr,a.tr);ret urn某thi;}};otream&operator<intmain(){MyString某(\,y(\;cout〈运行这个程序的输出结果是A)abcB)cdeC)abcdeD)abccde(34)有如下程序:#include#includeuingnamepacetd;intmain(){cout〈A)##OK123B)##OK#123C)OK##123D)OK##123#(35)有如下语句序列:iftreaminfile(\if(infile.good())cout〈cout〈oftreamoutfile(\if(outfile.fail())cout〈若执行这个语句序列显示的是BD,则说明文件DATA.DATA)以读方式打开成功B)以读方式打开失败,但以写方式打开成功C)以读方式打开失败,以写方式打开也失败D)以读方式打开成功,以写方式打开也成功二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】〜【15】序号的横线上,答在试卷上不得分。
全国计算机二级C语言程序设计题((100%全中必过)
目录题目一“回文”字符串 (3)题目二迭代法求给定多项式的值 (4)题目三迭代法求给定方程的根 (5)题目四二维数组三角元素操作1 (6)题目四二维数组三角元素操作2 (7)题目四二维数组三角元素操作3 (9)题目五二维数组元素求最值 (10)题目六二维数组周边元素1 (11)题目六二维数组周边元素2 (12)题目七二维数组转一维数组1 (13)题目七二维数组转一维数组2 (14)题目七二维数组转一维数组3 (15)题目七二维数组转一维数组4 (16)题目八结构体数组排序1 (17)题目八结构体数组排序2 (18)题目八结构体数组排序3 (19)题目八结构体数组排序4 (20)题目九结构体数组求最值1 (22)题目九结构体数组求最值2 (23)题目九结构体数组求最值3 (23)题目九结构体数组求最值4 (24)题目十结构体数组筛选 (25)题目十一结构体数组字符串比较 (26)题目十二矩阵操作1 (27)题目十二矩阵操作2 (28)题目十三类似素数判断1 (29)题目十三类似素数判断2 (30)题目十四累加累乘求和1 (30)题目十四累加累乘求和2 (31)题目十四累加累乘求和3 (31)题目十四累加累乘求和4 (32)题目十四累加累乘求和5 (32)题目十四累加累乘求和6 (33)题目十四累加累乘求和7 (34)题目十四累加累乘求和8 (35)题目十四累加累乘求和9 (35)题目十四累加累乘求和10 (36)题目十四累加累乘求和11 (37)题目十四累加累乘求和12 (37)题目十四累加累乘求和13 (38)题目十四累加累乘求和14 (39)题目十四累加累乘求和15 (39)题目十四累加累乘求和16 (40)题目十五链表2 (42)题目十六删除整数位某数位 (43)题目十七删除字符串中指定字符1 (44)题目十七删除字符串中指定字符2 (45)题目十七删除字符串中指定字符3 (45)题目十七删除字符串中指定字符4 (46)题目十七删除字符串中指定字符5 (47)题目十七删除字符串中指定字符6 (47)题目十七删除字符串中指定字符7 (48)题目十七删除字符串中指定字符8 (48)题目十七删除字符串中指定字符9 (49)题目十七删除字符串中指定字符10 (50)题目十七删除字符串中指定字符11 (50)题目十七删除字符串中指定字符12 (51)题目十七删除字符串中指定字符13 (52)题目十七删除字符串中指定字符14 (53)题目十七删除字符串中指定字符15 (54)题目十七删除字符串中指定字符16 (54)题目十七删除字符串中指定字符17 (55)题目十七删除字符串中指定字符18 (56)题目十八数字字符串转整数1 (57)题目十八数字字符串转整数2 (58)题目十九素数判定1 (58)题目十九素数判定2 (59)题目十九素数判定3 (60)题目二十统计问题 (61)题目二十一小数位操作 (62)题目二十二一维数组或字符串排序1 (62)题目二十二一维数组或字符串排序2 (63)题目二十二一维数组元素的筛选1 (64)题目二十二一维数组元素的筛选2 (64)题目二十二一维数组元素的筛选3 (65)题目二十二一维数组元素的筛选4 (66)题目二十二一维数组元素的筛选5 (67)题目二十二一维数组元素的筛选6 (67)题目二十二一维数组元素的筛选7 (68)题目二十二一维数组元素的筛选8 (69)题目二十二一维数组元素的筛选9 (70)题目二十三一维数组元素筛选 (70)题目二十五一维数组最值求解1 (71)题目二十五一维数组最值求解2 (72)题目二十五一维数组最值求解3 (73)题目二十六移动问题1 (73)题目二十七整数合并1 (75)题目二十七整数合并2 (75)题目二十七整数合并3 (76)题目二十七整数合并4 (76)题目二十七整数合并5 (77)题目二十七整数合并6 (77)题目二十七整数合并7 (78)题目二十七整数合并8 (78)题目二十八字符串长度比较1 (78)题目二十八字符串长度比较2 (79)题目二十九字符串的逆置 (80)题目三十字符串计数 (81)题目三十一字符串连接1 (82)题目三十一字符串连接2 (82)题目三十一字符串连接3 (83)题目三十二字符串中指定字符查找 (84)题目三十三字母大小的判断及转换 (84)题目一“回文”字符串3.请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。
全国计算机等级考试二级Visual+Basic语言程序设计真题精选2(含答案)
全国计算机等级考试二级Visual+Basic语言程序设计真题精选2一、单项选择题1.软件设计中模块划分应遵循的准则是()。
A.低内聚低耦合B.高内聚低耦合√C.低内聚高耦合D.高内聚高耦合解析:软件设计中,模块划分应遵循的准则是高内聚低耦合、模块大小规模适当、模块的依赖关系适当等。
模块的划分应遵循一定的准则,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性高,易于理解和维护。
模块之间的耦合应尽可能地低,模块的内聚应尽可能地高。
2.栈和队列的共同点是()。
A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素√D.没有共同点解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。
二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。
3.设窗体上有2个直线控件Line1和Line2,若使两条直线相连接,需满足的条件是()。
A.Line1.X1=Line2.X2且Line1.YI=Line2.Y2 √B.Line1.X1=Line2.Y1且Line1.Y1=Line2.X1C.Line1.X2=Line2.X1且Line1.Y1=Line2.Y2D.Line1.X2=Line2.X1且Line1.Y2=Line2.Y2解析:直线控件的X1、Y1和X2、Y2属性分别表示直线两个端点的坐标,即(X1,Y1)和(X2,Y2)。
如果要使两条直线相连,显然这两条直线的某一端点的坐标相同才行。
因此本题需要Line1.X1=Line2.X1且Line1.Y1=Line2.Y1,或Line1.X1=Line2.X2且Line1.Y1=Line2.Y2,或Line1.X2=Line2.X1且Line1.Y2=Line2.Y1,或Line1.X2=Line2.X2且Line1.Y2=Line2.Y2。
计算机二级《C语言》考试题库与答案
计算机二级《C语言》考试题库与答案一、程序填空题(共18分)、下列给定程序中,函数flm的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。
例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANKl.c中。
不得增行或删行,也不得更改程序的结构!二、程序修改题(共l8分)下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!三、程序设计题(共24分)编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串123412132,输入字符为l,则输出3。
注意:部分源程序在文件PROCl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。
参考答案一、程序填空题【参考答案】(1)j++或j+=1或++j或j=j+1(2)s[i]=t1[i](3)j【考点分析】本题考查:指针型变量;数组变量赋值;for循环语句。
【解题思路】填空1:根据函致fun中的内容可知,数组t1存储了s中的非数字字符,数组口存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。
填空2:将S串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。
填空3:最后将敦字字符加到s串之后,并且i要小于数字的.个数j。
二、程序修改题【参考答案】(1)fh(j=i+1;j<6;j++)(2)*(pstr+i)=}(pstr+j);【考点分析】本题考查:冒泡排序算法;for循环语句格式;指针数组。
计算机二级考试C语言程序设计试题及答案
计算机二级考试C语言程序设计试题及答案计算机二级考试C语言程序设计试题及答案计算机二级考试采用全国统一命题、统一考试的形式。
下面店铺整理了计算机二级考试C语言程序设计试题及答案,希望对大家有帮助!一、选择题((1)--(40)每小题1分, (41)--(50)每小题2分, 共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。
(1) 下列述叙中正确的是A) 显示器和打印机都是输出设备 B) 显示器只能显示字符C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格(2) 微型计算机中运算器的主要功能是进行A) 算术运算 B) 逻辑运算 C) 算术和逻辑运算 D) 初等函数运算(3) COMMAND。
COM是DOS系统的最外层模块,通常称之为A) 引导程序 B) 输入输出系统 C) 命令处理系统 D) 文件管理系统(4) 电子邮件是A)网络信息检索服务B)通过Web网页发布的公告信息C)通过网络实时交互的信息传递方式D)一种利用网络交换信息的非交互式服务(5) 和十进制数225相等的二进制数是A) 11101110 B) 11111110 C) 10000000 D) 11111111(6) 下列叙述中正确的是A) 指令由操作数和操作码两部分组成B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集(7) 计算机的内存储器比外存储器A) 价格便宜 B) 存储容量大 C) 读写速度快 D) 读写速度慢(8) 设当前盘为C盘,执行DOS命令"COPY B:A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PRN文件(9) 要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:WSB1.TXT B:.TXTC) COPY A:X1.TXT+C:WSB1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT(10) 下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON(11) 设当前目录为D:BB,现要把D:AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL AAA.TXTC) DEL AAA*.TXT D) DEL AAA?.TXT(12) 在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标B) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标(13) 在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框(14) 在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中 B) ROM中 C) 硬盘中 D) 寄存器中(15) 使计算机病毒传播范围最广的媒介是A) 硬磁盘 B) 软磁盘 C) 内部存储器 D) 互联网(16) 设有 int x=11; 则表达式 (x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 12(17) 下列程序的输出结果是A) 3 B) 3.2 C) 0 D) 3.07main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d ", d*y);}(18) 下列程序执行后的输出结果是(小数点后只写一位)A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.0main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f ", i,l,f,d);}(19) 下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;(20) 设 int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1 C) 2 D) -1(21) 与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1; B) if(x)else if(x<0)y=-1; if(x>0)y=1;else y=0; else if(x<0)y=-1;else y=0;C) y=-1 D) y=0;if(x) if(x>=0)if(x>0)y=1; if(x>0)y=1;else if(x==0)y=0; else y=-1;else y=-1;(22) 以下循环体的执行次数是A) 3 B) 2 C) 1 D) 0main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d ",i);}(23) 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替。
全国计算机二级C语言等级考试试题
题库名:程序设计基础总试题库.mdb题数:167题1、在语句cin>>data;中,cin是(判断题)所属章节:4.C语言二级考试题库难度系数:1A. C++的关键字B. 类名C. 对象名D. 函数名说明: 此写解题要点或对题目做说明。
2、假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下执行下面的语句:u=(a==2)?b+a:c+a;执行该语句后整型变量u的值为()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 0B. 3C. 4D. 5答案: C说明: 此写解题要点或对题目做说明。
3、分析下面的代码:if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");如果x=30,y=150,输出为()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. GoodB. BadC. Good BadD. Bad Good答案: B说明: 此写解题要点或对题目做说明。
4、分析下面的代码:#include<stdio.h>void main(){int a;scanf("%d",&a);switch(a){case 1:printf("星期一");case 2:printf("星期二");case 3:printf("星期三");case 4:printf("星期四");case 5:printf("星期五");case 6:printf("星期六");case 7:printf("星期日");default:printf("输入错误\n");}}若a=6,则输出结果是()。
2019年全国计算机等级考试二级C语言程序设计模拟试题及答案(一)
2019年全国计算机等级考试二级C语言程序设计模拟试题及答案(一)一、选择题(1)在32位计算机中,一个字长所占的字节数为______。
A) 1 B) 2 C) 4 D) 8(2)与十进制511等值的十六进制数为______。
A) 1FF B) 2FF C) 1FE D) 2FE(3)能将高级语言编写的源程序转换成目标程序的是______。
A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序(4)在计算机系统中,存储一个汉字的国标码所需要的字节数为______。
A) 1 B) 2 C) 3 D) 4(5)下列带有通配符的文件名,能表示文件ABC.TXT的是______。
A) *BC.? B) A?.* C) ?BC.* D) ?.?(6)在多媒体计算机系统中,不能用以存储多媒体信息的是______。
A) 光缆 B) 软盘 C) 硬盘 D) 光盘(7)DOS命令“COPY/?”的功能是______。
A) 将当前盘当前目录中的所有文件复制到当前盘的根目录下B) 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C) 以提示方式复制文件D) 显示COPY命令的帮助信息(8)在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按______。
A) Ctrl+PrintScreen键B) Shift+PrintScreen键C) PrintScreen键D) Alt+PrintScreen键(9)在Windows环境下,单击当前应用程序窗口的“关闭”按钮,其功能是______。
A) 将当前应用程序转为后台运行B) 退出Windows后再关机C) 退出Windows后重新启动计算机D) 终止当前应用程序的运行(10)在Windows环境下,粘贴快捷键是______。
A) Ctrl+Z B) Ctrl+X C) Ctrl+C D) Ctrl+V(11)以下叙述中正确的是______。
全国计算机等级考试二级C语言程序设计真题精选6(含答案)
全国计算机等级考试二级C语言程序设计真题精选6一、单项选择题1.有以下程序:#includ<stdio.h>#defin4voifun(ina[][N],inb[])ini; for(i=0;i<N;i++)b[i]=a[i][i];}main()inx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("");}程序运行的结果是()。
A.1,2,3,4,B.1,0,7,0, √C.1,4,5,9D.3,4,8,0解析:数组x有4列。
fun函数中for循环的作用是将二维数组前4行的对角线元素赋给b[0],b[1],b[2],b[3]。
在主函数中,二维数组初始化为{1,2,3},{4},{5,6,7,8},{9,10},所以可以看出对角线元素为1,0,7,0,。
2.有以下程序:#includ<stdio.h>main()chaa=4; printf("%",a=a<<1);}程序运行的结果是()。
A.40B.16C.8 √D.4解析:左移一位相当于原数乘以2,右移一位相当于除以2。
a<<1结果为4*2=8,没有超过char类型的范围。
3.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则出栈的顺序应为其逆序,即EDCBA54321。
4.有以下程序:#includ<stdio.h>strucstinx,y;data[2]={1,10,2,20};main ()strucs*p=data; printf("%d,",p->y);printf("%",(++p)->x);}程序运行的结果是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、找出2xM整型二维数组中最大元素的值,并将此值返回调用函数。
int fun (int a[][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}2、根据以下公式求π值。
double fun ( double eps){ double s=0.0,s1=1.0;int n=0;while(s1>=eps){ s=s+s1;s1=s1*n/(2*n+1);n++;}return 2*s;}3、求出1~1000之间能被7或11整除但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。
void fun (int *a, int *n){ int i,j=0;for(i=1;i<=1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}4、删除字符串中所有*号。
void fun( char *a ){ int i,j=0;for(i=0;a[i]!='\0';i++)if(a[i]!='*')a[j++]=a[i];a[j]='\0';}5、实现两个字符串的连接(不要同时使用库函数),即把p2所指的字符串连接到p1所指的字符串的后面。
void fun(char p1[], char p2[]){int i,j;for(i=0;p1[i]!='\0';i++) ;for(j=0;p2[j]!='\0';j++)p1[i++]=p2[j];p1[i]='\0';}6、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能:求出平均分,并放入记录的ave成员中。
void fun(STREC *a){ int i;a->ave=0.0;for(i=0;i<N;i++)a->ave=a->ave+a->s[i];a->ave/=N; } 7、n名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。
求出平均分,并由函数值返回double fun( STREC *h ){ double ave=0.0;STREC *p=h->next;while(p!=NULL){ ave=ave+p->s;p=p->next;}return ave/N;}8、将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过K返回。
void fun( int m, int *k, int xx[] ){ int i,j,n=0;for(i=4;i<m;i++){ for(j=2;j<i;j++)if(i%j==0) break;if(j<i) xx[n++]=i;}*k=n;}9、求ss所指字符串中指定字符的个数,并返回此值。
int fun(char *ss, char c){ int i=0;for(;*ss!='\0';ss++)if(*ss==c)i++;return i;}10、计算n门课程的平均分,结果作为函数值返回。
float fun ( float *a , int n ){ int i;float av=0.0;for(i=0; i<n;i++)av=av+a[i];return(av/n);}11、学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,求最高的学生数据放在b所指的数组中。
注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
int fun( STREC *a, STREC *b ){ int i,j=0,max=a[0].s;for(i=0;i<N;i++)if(max<a[i].s) max=a[i].s;for(i=0;i<N;i++)if(max==a[i].s)b[j++]=a[i];return j; }12、除了字符串前导的*号之外,将串中其他*号全部删除。
void fun( char *a ){ int i=0;char *p=a;while(*p&&*p=='*'){ a[i]=*p;i++;p++;}while(*p){ if(*p!='*'){a[i]=*p;i++;}p++;}a[i]='\0';}13、统计在tt所指的字符串中’a’到’z’26个小写字母给出现的次数,并依次放在pp所指数组中。
void fun(char *tt, int pp[]){ int i;for(i=0;i<26;i++)pp[i]=0;for(;*tt!='\0';tt++)if(*tt>='a'&&*tt<='z')pp[*tt-'a']++;}14、将字符串尾部的*号全部删除,前面和中间的*号不动。
void fun( char *a ){ while(*a!='\0')a++;a--;while(*a=='*')a--;*(a+1)='\0'; }15、比较字符串的长度,函数返回较长的字符串,如果相同,则返回第一个字符串。
char *fun ( char *s, char *t){ int i,j;for(i=0;s[i]!= '\0';i++);for(j=0;t[j]!= '\0';j++);if(i<=j)return t;elsereturn s;}16、学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s中,函数返回该学生的学生数据,指定的学号在主函数中输入。
若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数数值返回。
STREC fun( STREC *a, char *b ){int i;STREC str={"\0",-1};for(i=0;i<N;i++)if(strcmp(a[i].num,b)==0)str=a[i];return str;}17、将s所指字符串中除下标为偶数同时ASCII码值也为偶数的字符外,其余的全部删除字符串中剩余的字符所形成的新串放在t数组中。
void fun(char *s, char t[]) {int i,j=0;for(i=0;s[i]!='\0';i++)if(i%2==0 && s[i]%2==0)t[j++]=s[i];t[j]='\0';}18、利用下面的简单迭代方法求方程cos(x)-x=0的一个实根s。
double fun(){ double x0,x1;x1=0.0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6);return x1;}19、将字符串中的前导*号全部移到字符串尾部。
void fun( char *a ){ int i=0,n=0;char *p;p=a;while (*p=='*') /*判断*p是否是*号,并统计*号的个数*/{n++;p++;}while(*p) /*将前导*号后的字符传递给a*/ {a[i]=*p;i++;p++;}while(n!=0){a[i]='*';i++;n--;}a[i]='\0';}20、N名学生的数据已放入主函数中的结构体数组中,把分数最低的学生数据放入b所指的数组中。
int fun( STREC *a, STREC *b ){int i,j=0,min=a[0].s;for(i=0;i<N;i++)if(min>a[i].s)min=a[i].s; /*找出最小值*/for(i=0;i<N;i++)if(min==a[i].s)b[j++]=a[i]; /*找出成绩与min相等的学生的记录,存入结构体b中*/return j;}21、计算double fun( int m ){ int i;double s=0.0;for(i=1;i<=m;i++)s=s+log(i);return sqrt(s);}22、只删除字符前导和尾部的*号,串中字母间的*号都不删除。
void fun( char *a, int n,int h,int e ){ int i,j=0;for(i=h;i<n-e;i++)a[j++]=a[i];a[j]='\0'; }23、将s所指字符串中下标为偶数的字符删除,剩余字符形成的新串放在t所指数组中void fun(char *s, char t[]){ int i,j=0,k=strlen(s);for(i=1;i<k;i=i+2)t[j++]=s[i];t[j]='\0';}24、将a,b中的两位正整数合并成一个新的整数放在c 中。
合并方式是:将a中的十位和个位依次放在变量c的百位和个位上,B中的十位和个位数依次放在变量c的十位和千位上。
void fun(int a, int b, long *c){*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;}25、除了尾部的*号之外,将字符中的其他的*号全部删除。
形参p已指向字符串最后的一个字母。
void fun( char *a, char *p ){ char *t=a;for(;t<=p;t++)if(*t!='*')*(a++)=*t;for(;*t!='\0';t++)*(a++)=*t;*a='\0';}26、N名学生的数据已放入主函数中的结构体数组中,按分数降序排列学生的记录,高分在前,低分在后。
void fun( STREC a[] ){ int i,j;STREC t;for(i=1;i<N;i++)for(j=0;j<N-1;j++)if(a[j].s<a[j+1].s){t=a[j];a[j]=a[j+1];a[j+1]=t;}}27、N名学生的数据已放入主函数中的结构体数组中,把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。