全国计算机等级考试_二级C语言_上机考试_填空题_分类总结_解读

合集下载

计算机二级c语言操作试题及答案

计算机二级c语言操作试题及答案

计算机二级c语言操作试题及答案一、单项选择题(每题1分,共10分)1. C语言中,用于定义变量的关键字是:A. varB. defineC. intD. type答案:C2. 下列选项中,不属于C语言中的基本数据类型是:A. intB. charC. floatD. string答案:D3. 在C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. ==答案:A4. 以下哪个选项是正确的C语言函数定义?A. int function(int x, int y) { return x + y; }B. int function(int x, int y) { return x - y; }C. int function(int x, int y) { return x * y; }D. All of the above5. 在C语言中,用于从标准输入读取一个字符的函数是:A. getchar()B. getc()C. scanf("%c", &c)D. All of the above答案:D6. 下列哪个选项是C语言中的合法常量?A. 100B. 1.23C. 'a'D. All of the above答案:D7. 在C语言中,用于声明一个指针变量的关键字是:A. ptrB. pointerC. int*D. var答案:C8. 下列哪个选项是C语言中的合法字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. All of the above答案:A9. 在C语言中,用于计算数组中元素个数的运算符是:B. countofC. lengthofD. All of the above答案:A10. 下列哪个选项是C语言中的合法注释?A. // This is a single line commentB. /* This is a multi-line comment */C. /* This is a multi-line commentD. All of the above答案:A二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型变量的语句是:________。

全国计算机等级考试二级C语言上机考试题库及答案

全国计算机等级考试二级C语言上机考试题库及答案

第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。

通讯录记录每位学生的编号,姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。

答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(a/10)*1000+(b/10)*100 +(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。

然后将文件的内容读出显示在屏幕上。

文件的读写分别有自定义函数ReadText 和WriteText实现。

答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。

答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(b/10)*1000+(a%10)*100 +(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。

答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。

答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

计算机二级C语言上机程序填空题

计算机二级C语言上机程序填空题

计算机二级C语言上机程序填空题计算机二级C语言上机程序填空题考虑到一部分同学的计算机二级C语言程序填空题基础比较薄弱,为此店铺为大家整理了计算机二级C语言上机程序填空题,希望能够帮助到同学们。

一、程序填空题1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。

当调用正确时, 程序输出:x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!#includedouble f1(double x){ return x*x; }double f2(double x, double y){ return x*y; }/**********found**********/__1__ fun(int i, double x, double y){ if (i==1)/**********found**********/return __2__(x);else/**********found**********/return __3__(x, y);}main(){ double x1=5, x2=3, r;r = fun(1, x1, x2);r += fun(2, x1, x2);printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r);}2、给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。

例如,形参s所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:letter 'a' : 3 timesletter 's' : 3 times请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

计算机二级C语言上机试题库和答案解析(100套)

计算机二级C语言上机试题库和答案解析(100套)

完美WORD格式计算机二级 c 语言上机题库及答案内部资料,切勿外传!.第 1 套填空题请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。

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

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

试题程序:#include<stdio.h>longfun(int n){if ( 1 )return (n*fun( 2));return 3;}main(){printf("10!=%ld\n", fun(10));}第 1 处填空:n>1 或 1<n第 2 处填空:n-1第 3 处填空:1 或 11 或 1L改错题下列给定程序的功能是:读入一个整数 K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数 2310,则应输出:2、3、5、7、11。

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

注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(intn);{int i,m;m =1;/********found********/for (i=2; i<n;i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %dis(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第 1 处:Isprime(int n);应改为Isprime(int n)第 2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。

2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。

二、填空题1. 在C语言中,`________`关键字用于声明一个函数。

答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。

2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。

```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。

三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。

```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。

2. 编写一个C语言程序,实现将一个字符串反转。

```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。

二级C语言上机考试总结

二级C语言上机考试总结

二级C语言上机考试总结一、程序填空题填空题是计算机等级考试中的难点,占有的分值为30 分。

做填空题时注意掌握答题技巧。

填空题的分类:(一)、数学题目6、13 、2 5、2 9、36 、37 、38、44 、46解题方法:1、如果在函数中定义变量,但是没有定义成静态存储变量,即变量前面没有static ,应给变量赋初值,如果以后用到的是加减运算,则赋初0或值者为是0.0;如果以后用到的是乘除运算,则赋初值为1或者是1.0;2、循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i<=n;3、循环条件中如果用的是while语句,则循环变量的初值应该在while的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。

如果没有则一般填的是i++;4、看表达式中的每一项的运算规则,按照运算的规则把每一项中的n值替换为i,特殊情况例外。

如果是表达式中用到的是间隔相加减的运算时,注意给中间变量赋初值为1或者是1.0;在后面的运算中给变量乘以一个-1,以改变中间变量的符号。

(二)、字符串题目8、10、11、12、14、18、19、21、3 5、45、4 8、49解题方法:1、循环的条件是判断该字符是否和结束符相等,如果相等,说明该字符串结束,否则说明没有结束,继续循环。

2、把一个数字字符转变成对应的数值的格式是:ch=ch-…0‟;把大写字母转变为小写字母的格式:ch=ch+32;把小写字母转变为大写字母的格式为:ch=ch-32 ;3、区分好字符数组中的指针和指针所指的值的关系。

在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指针所指的值的自加。

4、掌握字符数组中的函数的使用的格式。

即:strlen、strcmp、strcpy、sizeof、strcat的使用格式。

注意里面的格式中使用的都是和指针。

全国计算机二级等级考试c语言题型

全国计算机二级等级考试c语言题型

全国计算机二级等级考试c语言题型全国计算机二级等级考试是检验计算机应用技能的重要标准,而C语言作为其中的一项考试科目,其题型对于考生来说至关重要。

本文将对全国计算机二级等级考试C语言的题型进行深入分析,旨在帮助考生更好地备考。

一、选择题选择题是C语言考试中常见的题型,主要考察考生对基础知识的掌握程度。

这类题目通常包括语法规则、数据类型、运算符、程序流程控制等方面的知识点。

考生在备考时,应注重对基础知识的巩固,同时多做相关练习题,提高解题速度和准确率。

二、填空题填空题也是C语言考试中的常见题型,主要考察考生对程序设计的理解和应用能力。

这类题目通常要求考生根据给定的程序,填写缺失的代码或语句。

考生在备考时,应加强对程序设计的理解,多做编程练习,提高编程能力和逻辑思维能力。

三、阅读理解题阅读理解题是C语言考试中的重要题型,主要考察考生对程序阅读和解析的能力。

这类题目通常给出一段程序代码,要求考生理解程序的功能、找出错误并修正。

考生在备考时,应注重提高阅读和理解程序的能力,多读、多分析、多实践。

四、编程题编程题是C语言考试中的核心题型,主要考察考生对程序设计语言的应用能力。

这类题目通常要求考生根据给定的任务,编写完整的程序。

考生在备考时,应注重提高编程能力和解决问题的能力,多做实际项目或模拟题目,积累编程经验。

综上所述,全国计算机二级等级考试C语言的题型主要包括选择题、填空题、阅读理解题和编程题。

考生在备考时应全面掌握基础知识,提高编程能力和逻辑思维能力,同时注重实践和积累经验。

只有这样,才能在全国计算机二级等级考试中取得优异的成绩。

全国计算机等级考试二级C语言上机题库(全)

全国计算机等级考试二级C语言上机题库(全)

int i; for(i=1;i<strlen(ss);i+=2) {if(ss[i]>=’a’&&ss[i]<=’z’) ss[i]-=32; } } 第五套 1. 程序填空 给定程序中,函数 fun 的功能是:计算下式前 n 项的和作为函数值返 回。例如:当形参 n 的值为 10 的时,函数返回:9.6125588。 第一处 s=0; 第二处 for(i=1;i<=n;i++) 第三处 s=s+(2.0*i-1)*(2.0*i+1)/(t*t); 2. 程序修改 给定程序 MODI1.C 中函数 fun 的功能是:统计 substr 所指字符串在 str 所指字符串中出现次数。 /**found**/ for(i=0;str[i];i++) /**found**/ if(substr[k+1]==’\0’) 3. 程序设计 请编写一个函数 fun,它的功能是:根据以下公
for(i=1;i<N;i++) if(max<a[i].s)max=a[i].s; for(i=0;i<N;i++) if(max==a[i].s)b[n++]=a[i]; return n; } 第九套 1. 程序填空 给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的平 均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至 数据的前部,大于等于平均数的移至 x 所指数组的后部,平均值作为 函数值返回,在主函数中输出平均值和移动后的数据。 第一处 for(i=0;i<N;i++) av+=x[i]/N 第二处 y[j]=x[i]; x[i]=-1;j++;} 第三处 i++; 2. 程序修改 给定程序 MODI1.C 中函数 fun 的功能是:统计字符串各元音字母 (即:A、E、I、O、U)的个数。注意字母不分大小写。 /**found**/ num[k]=0;

全国计算机等级考试二级C语言【附详解】

全国计算机等级考试二级C语言【附详解】

下列叙述中正确的是 A、栈是一种先进先出的线性表 B、队列是一种后进先出的线性表 C、栈和队列都是非线性结构 D、以上三种说法都不对
栈是一种后进先出的线性表 队列是一种先进先出的线性表,二者均是线性结构, 答案为选项D。
一棵二叉树共有25个节点,其中5个是子节点, 那么度为1的节点数为 A、4 B、6 C、10 D、16
指针的概念和应用 数组名本身就是地址,所以不需要用&符号。C选项不能对所 有元素赋值而是反复再给一个数值赋值且是死循环。D
有以下程序 #include <sthio.h> Main() {int a,b,k,m,*p1,*p2; ; a=/*p1-m; b=*p1+*p2+6; printf(“%d ”,a); printf(“%d\n”,b);
内模式也称存储模式,它是数据物理结构和存储方 式的描述,是数据在数据库内部的表示方式 对应于物理级,它是数据库中全体数据的内部表示 或底层描述,是数据库最低一级的逻辑描述。选项 A正确。
在满足实体完整性约束的条件下 A. 一个关系中可以没有候选关键词 B. 一个关系中只能有一个候选关键词 C. 一个关系中必须有多个候选关键词 D. 一个关系中应该有一个或者多个候选关键词
在一个关系中,候选关键字可以有多个且在任何关系中至少有一个关键字。 所以在满足数据完整性约束的条件下,一个关系应该有一个或多个候选关键 字,选项D正确。
有三个关系R、S和T如下:
R和S的差是由属于R但不属于S的元组组成的集合 根据本题关系R和关系S运算前后的变化,可以看出此处进行 的是关系运算的差运算
简单程序设计的步骤: 首先要确定算法和数据结构 然后编码、调试 最后整理相关文档。
关于C语言中数的表示,以下叙述正确的是 A、只有整型数在允许范围内能精确无误的表示,实型数会 有误差 B、只要在在允许范围内整型和实型都能精确表示 C、只有实型数在允许范围内能精确无误的表示,整型数会 有误差 D、只有八进制表示的数在不会有误差

全国计算机等级考试二级C语言笔试试卷及标准解析

全国计算机等级考试二级C语言笔试试卷及标准解析

全国计算机等级考试二级C语言笔试试卷及标准解析全国计算机等级考试二级C语言笔试试卷及标准解析一、选择题((1)一(10)每题2分(11)一(50)每题1分共60分) 下列各题A)、B)、C)、D)四个选项中只有一个选项是正确的请将正确选项涂写在答题卡相应位置上答在试卷上不得分。

(1)下列选项中不属于结构化程序设计方法的是 A)自顶向下B)逐步求精 C)模块化 D)可复用 (2)两个或两个以上模块之间关联的紧密程度称为 A)耦合度B)内聚度 C)复杂度 D)数据传输特性 (3)下列叙述中正确的是 A)软件测试应该由程序开发者来完成 B)程序经调试后一般不需要再测试 C)软件维护只包括对程序代码的维护 D)以上三种说法都不对 (4)按照“后进先出”原则组织数据的数据结构是 A)队列B)栈 C)双向链表D)二叉树 (5)下列叙述中正确的是A)线性链表是线性表的链式存储结构 B)栈与队列是非线性结构 C)双向链表是非线性结构 D)只有根结点的二叉树是线性结构 (6)对如下二叉树 ABDECF 进行后序遍历的结果为A)ABCDEFB)DBEAFC C)ABDECFD)DEBFCA (7)在深度为7的满二叉树中叶子结点的个数为A)32B)31 C)64D)63 (8)“商品”与“顾客”两个实体集之间的联系一般是 A)一对一B)一对多 C)多对一D)多对多 (9)在E-R图中用来表示实体的图形是 A)矩形B)椭圆形 C)菱形D)三角形 (10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB 和DBMS D)没有任何关系 (11)以下不合法的用户标识符是A)j2_KEYB)Double C)4dD)_8_ (12)以下不合法的数值常量是 A)011B)1e1 C)8.0E0.5D)0xabcd (13)以下不合法的字符常量是A)′\018′B)′\"′ C)′\\′D)′\xcc′(14)表达式3.6-5/2+1.2+5%2的值是 A)4.3B)4.8C)3.3 D)3.8(15)以下能正确定义字符串的语句是 A)char str[]={′\064′};B)char str="kx43"; C)charstr="; D)char str[]="\0";(16)以下数组定义中错误的是 A)int x[][3]={0};B)int x[2][3]={{l2}{34}{56}}; C)int x[][3]={{l23}{456}}; D)int x[2][3]={l23456};(17)若要求从键盘读入含有空格字符的字符串应使用函数A)getcB)gets C)getcharD)scanf(18)以下四个程序中完全正确的是 A)#includeB)#include main;main {/_programming_/{/_/programming /_/ printf("programming!\n");}printf("programming!\n");}C) #include D) include mainmain{/_/_programming_/_/{/_programming_/printf("programming!\n");} printf("programming!\n");}(19)若有定义:float x=1.5;int a=1b=3c=2;则正确的switch语句是 A)switch(x)B)switch((int)x); {case1.0:printf("_\n"); {case 1:printf("_\n");case2.0:printf("__\n");} case 2:printf("__\n");} C)switch(a+b) D)switch(a+b) {case 1:printf("_\n");{case 1:printf("_\n"); case 2+1:printf("__\n");}case c:printf("__\n");} (20)若各选项中所用变量已正确定义函数fun中通过return语句返回一个函数值以下选项中错误的程序是 A)mainB)float fun(int aint b){……} {……x=fun(210);……}main float fun(int aintb){……}{……x=fun(i,j);……} C)floatfun(intint); D)main main {floatfun(int iint j);{……x=fun(210);……}……x=fun(i,j);……}float fun(int aint b){……}float fun(int aint b){……} (21)在以下给出的表达式中与while(E)中的(E)不等价的表达式是A)(!E==0)B)(E>0‖EB)while(ch=getchar!=′N′)printf("%c",ch);C)while(ch=getchar==′N′)printf("%c",ch);D)while((ch=getchar)==′N′)printf("%c",ch); (23)已定义以下函数int fun(int _p){return _p;)fun函数返回值是 A)不确定的值 B)一个整数 C)形参P中存放的值 D)形参P的地址值 (24)若有说明语句:double _pa;则能通过scanf语句正确给输入项读入数据的程序段是 A)_p=&a; scanf("%1f"p);B)_p=&a; scanf("%f"p); C)p=&a; scanf("%1f"_p); D)p=&a; scanf("%1f"p); (25)现有以下结构体说明和变量定义如图所示指针p、q、r分别指向一个链表中连续的三个结点。

全国计算机等级考试二级C语言【附详解】

全国计算机等级考试二级C语言【附详解】

是对顺序队列的改进,故循环队列是队列的一种顺序存储结正确的是
A、栈是一种先进先出的线性表 B、队列是一种后进先出的线性表 C、栈和队列都是非线性结构 D、以上三种说法都不对
栈是一种后进先出的线性表
队列是一种先进先出的线性表,二者均是线性结构,
答案为选项D。
ppt课件
4
一棵二叉树共有25个节点,其中5个是子节点,那么度为1的节
一个C程序有且只有一个主函数 main()。
一个C 程序可以包含多个不同名字的子函数
C程序在书写时没有严格的缩进要求。
ppt课件
16
设有以下语句 Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2); 若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是 A、A和B之间用逗号间隔 B、A和B之间不能有任何间隔符 C、A和B之间可以用回车间隔 D、A和B之间用空格间隔
软件详细设计- - 程序流程图(PDF)和PAD(问题分析图)是过程设计的常 用工具 数据流图(DFD图 ) 是 软 件 定 义 阶 段 结 构 化 分 析 方 法 常 用 的 工 具 。
ppt课件
12
针对简单程序设计,以下叙述的实施步骤正确的是 A、确定算法和数据结构、编码、调试、整理文档 B、编码、确定算法和数据结构、调试、整理文档 C、整理文档、确定算法和数据结构、编码、调试 D、确定算法和数据结构、调试、编码、整理文档
在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包 含不能加逗号、回车和空格,因为这些也算是字符。
ppt课件
17
以下选项中非法的字符常量是 A、’\102’ B、’\65’ C、’\xff’

计算机等级考试二级C语言上机填空题考点总结

计算机等级考试二级C语言上机填空题考点总结

天津光华教育 计算机二级C 编程题的解答!40分轻松几分钟搞定!
1 计算机等级考试二级C 语言上机填空题考点总结
2010-12-20
程序填空题
程序填空题分值为30分,是在一个完整的程序中挖出2~4个空让考生填写,所考查的内容一般是C 语言中最基础的内容。

1. 基本语句方面的知识点,如printf( )函数和Scanf( )函数的相关知识点。

2. 变量等的初始化,以作为累加器或累乘器。

3. 选择结构或循环结构语句的考查。

4. 函数的相关知识,如函数类型的定义、形参的定义,以及确定函数的返回值等。

5. 数组、指针、结构体等的应用。

2020年全国计算机等级考试二级c语言上机精选题库(共60套)

2020年全国计算机等级考试二级c语言上机精选题库(共60套)
r=(r*t+c)%m;
return((double)r/m);
}
main()
{
int age[N], i, d[M];
FILE *out ;
for(i=0; i<N; i++)
age[i]=(int)(115*rnd());
printf("The original data :\n");
for(i=0; i<N; i++)
}
二、改错题
下列给定程序中,函数fun的功能是:根据整型行参m,计算如下公式的值。
y=
例如,若m=2000,则应该输出:0.000160。
请改正程序中的错误,使它能得出正确的结果。
#include <conio.h>
#include <stdio.h>
/********found********/
fun(int m)
h= a[i];
*s =h;
}
main()
{
STU a[N] =
{
{"A01", 81}, {"A02", 89}, {"A03", 66}, {"A04", 87},
{"A05", 77}, {"A06", 90}, {"A07", 79}, {"A08", 61},
{"A09", 80}, {"A10", 71}
printf((i+1)%10==0?"%4d\n":"%4d",age[i]);

计算机二级c语言考试题及答案

计算机二级c语言考试题及答案

计算机二级c语言考试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级编程语言B. C语言具有可移植性C. C语言可以直接在操作系统上运行D. C语言具有结构化编程的特点答案:C2. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是()。

A. 数组必须在程序的开始处定义B. 数组的大小在定义后可以改变C. 数组可以存储不同类型的数据D. 数组的下标从0开始答案:D二、填空题1. 在C语言中,使用________关键字可以定义一个函数。

答案:void2. C语言中,用于输入输出的库函数分别是________和________。

答案:scanf; printf3. 在C语言中,声明一个字符型数组可以使用________关键字。

答案:char三、编程题1. 编写一个C语言程序,计算并输出100以内的奇数和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("100以内的奇数和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现两个整数的交换。

```c#include <stdio.h>int main() {int a = 10, b = 20, temp;temp = a;a = b;b = temp;printf("交换后的值:a = %d, b = %d\n", a, b);return 0;}```四、简答题1. 简述C语言中指针的作用。

答案:指针在C语言中用于存储变量的内存地址,它允许程序间接访问内存中的数据。

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案一、选择题(每小题2分,共70分)(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是A)10B)8C)6D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是 A)编译程序B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。

下列叙述中正确的是A)提高耦合性降低内聚性有利他哦高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R, S如下:由关系R通过运算得到关系S,则所使用的运算为A)选择C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)对C++编译器区分重载函数无任何意义的信息是A)参数类型B)参数个数C)返回值类型D)常成员函数关键字coast(12)有如下类定义和变量定义:class A{publie:A(){data=0;}~A(){}int GetData () coast { return data;}void SetData(int n) {data=n;}private:int data;};ccnst A a;A b;下列函数调用中错误的是A)a .GetData();B)a .SetData(10);C)b .GetData();D)b .SetData(10);(13)有如下类定义和变量定义:class Parents{public:int publicuata;private:int privateData;};class ChildA:public Parents{/*类体略*/};class ChildB:private Parents{/*类体略*/);ChildA a;ChildBb;下列语句中正确的是A)cout<<a.publicData <<endl ;B)cout<<a.privateData <<endl ;C)cout<<b.publicData <<endl ;D)cout<<b.privateData <<endl ;(14)运算符重载时不需要保持的性质是A)操作数个数B)操作数类型C)优先级D)结合性(15)下列关于函数模板的描述中,错误的是A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D)模板参数表不能为空(16)要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是 A)ifstream fin=ifstream.open(“file.dat”);B)ifstream*fir.=new ifstream(“file.dat”);C)ifstream fin; fin.open(“file.dat”);D)ifstream *fin=new ifstream();fin一>open(“file.dat”);(17)下列描述中,不属于面向对象思想主要特征的是A)封装性B)跨平台性C)继承性D)多态性(18)有如下程序段:Tnt i=4;int j=l;int main(){int i=8,j=i;cout<<i<<j<<endl;}运行时的输出结果是A)44B)41C)88D)81(19)有如下程序段:int i=5;while(int i=0){cout《'*';i--;}运行时输出“*”的个数是A)0B)1C)5D)无穷(20)己知有数组定义char a[3][4];下列表达式中错误的是A)a[2]=“WIN”B)strcpy(a[2],“WIN”)C)a [2][3]='W'D)a[0][1]=a[0][1](21)已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是A)char fun(int,int);B)double fun(int,int,double);C)int fun(int,char*);D)float fun (int, int, int);(22)建立一个类对象时,系统自动调用A)析构函数B)构造函数C)静态函数D)友元函数(23)通过派生类的对象可直接访问其A)公有继承基类的公有成员C)私有继承基类的公有成员D)私有继承基类的私有成员(24)己知表达式++a中的“++”是作为成员函数重载的运算符,则与十+a等效的运算符函数调用形式为A)a .orerator++(1)B)operator++(a)C)operator++(a,l)D)a.operator++()(25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是A)()B)[ ]C)< >D){ }(26)当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 A)ios_base::inB)ios_base::in|ios_base::outC)ios_base::outD)ios_base::in&ios_base::out(27)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCD{char* a;int b;public:XCD(char* aa, int bb){a=new char[strlen(aa)+1];strcpty(a,aa);b=bb;}Char* Geta (){return a;)int Getb(){ return b;}};int main(){char *pl=“abcd”,*p2=“weirong”;int dl=6, d2=8;XCD x(pl,dl),Y(p2,d2);cout<<strien (x .Geta())+y. Getb()+endl;return 0;}运行时的输出结果是A)12B)16C)14D)11(28)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCF{int a;XCF(int aa=0):a (aa){cout<<“1”;}XCF(XCF& x){a=x .a; cout<<“2”;)~XCF(){cout<<a;}int Geta(){return a;}};int main(){XCF dl(5),d7 (dl);XCF *pd=new XCF(8);cout<<pd一>Geta();delete pd;return 0;}运行时的输出结果是A)121SS88B)12188SSC)12185D)128512(29)已知类MyClass声明如下:class MyClass{int n;public;MyClass(int k):n(k){}int getValue()const{return n;}};在下列数组定义中正确的是A)MyClass x1[2];B)MyClass x2[2]={new MyClass(1),new MyClass(2)};C)MyClass *x3[2];D)MyClass *x4[2]={MyClass(1),MyClass(2)};(30)有如下程序:#include<iostream>using namespace std;class AA{lilt k;protected:int n;void setK(int k){ this->k=k;}public:void setN(int n){ this->n=n;}};class BB: public }{/*类体略*/};int main(){BB x_ ; //1x .n=1; //2x.setN (2); //3x.k=3; //4x .setK(4);return 0;}在标注号码的四条语句中正确的是A)1B)2C)3D)4(31)有如下类定义:class XX{int xx;public:XX():xx(0){cout<<' A';}XX(int n):xx ( n){tout<<' B';}};Class YY:public XX{Int yy;public:YY():yy ( 0){cout+yy;}YY(int n):XX(n+1),yy(n){cout<<yy;}YY (int m, int n):XX (m),yy(n){cout<<yy;} };下列选项中,输出结果为A0的语句是A)YY y1(0,0);B)YY y2(1);C)YY y3(0);D)YY y4;(32)有如下程序:#include<iostream>Using namespace std;class A{public:virtual void f(){cout+1;}void g(){cout<<2;}};class B:public A{public:virtual void f(){cout<<3;}void g(){ecut<<4;}};void show(A &a){a.f();a.g();}int main(){B b;show(b);return 0;}运行时的输出结果是A)12B)34C)14D)32(33)有如下程序:#include<iostream>using namespace std;class Pair{int m;int n;public:boot operator >(pair p)const; //须在类体外给出定义};int main(){Pair Al(3,4),p2(4,3);p3(4,5);Cout<<(pl>p2)<<(P2>P1)<<(p2>p3)<<(p3>p2);return 0;}运算符函数。

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

全国计算机等级考试-二级C 语言-上机考试-填空题-分类总结填空题的分类(分为7类):
一、数学题目6、13、25、29、36、37、38、44、46
解题方法:
1. 如果在函数中定义变量,但是没有定义成静态存储变量,即变量前面没有static ,应给变量赋初值,如果以后用到的是加减运算,则赋初值为0 或者是
0.0;如果以后用到的是乘除运算,则赋初值为1 或者是1.0;
2. 循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到
了第m 项或者是第n 项,如果到了第m 或者第n 项,则在循环中的第二个表达式中用到的是i<=m 或者是i<=n;
3. 循环条件中如果用的是while 语句,则循环变量的初值应该在while 的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。

如果没有则一般填的是i++;
4. 看表达式中的每一项的运算规则,按照运算的规则把每一项中的n 值替换
为i, 特殊情况例外。

如果是表达式中用到的是间隔相加减的运算时,注意给中间
变量赋初值为1 或者是1.0;在后面的运算中给变量乘以一个-1,以改变中间变量的符号。

二、字符串题目8、10、11、12、14、18、19、21、35、45、48、49
1、循环的条件是判断该字符是否和结束符相等,如果相等,说明该字符串结束,否则说明没有结束,继续循环。

2、把一个数字字符转变成对应的数值的格式是:ch=ch-‘0’; 把大写字母转变为小写字母的格式:ch=ch+32; 把小写字母转变为大写字母的格式为:ch=ch-32;
3、区分好字符数组中的指针和指针所指的值的关系。

在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指针所指的值的自加。

4、掌握字符数组中的函数的使用的格式。

即:strlen 、strcmp 、strcpy 、sizeof 、strcat
的使用格式。

注意里面的格式中使用的都是指针。

5、字符数组结束时都有一个结束符:‘\0’; 在字符数组中的题目中的结束后要加上一个结束符。

三、结构体题目2、3、16、22、23、33
结构体类型的题目
1、看清题目的意思。

2、定义结构体变量时的格式。

3、结构体中成员的调用格式。

结构体中的成员分为多种类型,调用结构体中的成员,使用的是“. ”或者是“—>”运算符。

如16.2。

得到结构体中学生分数,a —>score[i]。

4、如果返回的是结构体的话,函数的返回类型必须是结构体类型。

调用函数的格式中,调用的若
是结构体数组,则只用写结构体数组名。

四、函数题目1、27
函数题目:
1、看函数的返回类型,函数的返回类型必须和return 语句返回的表达式的类型一致。

2、函数的调用的情况,函数调用时只用写函数的名称,以及函数的参数。

如:第一题中的第二和第三空的内容就是调用函数,填写时只用填写函数的名称和参数,故填f1(x和f2(x,y;
3、函数指针的调用格式,类型名(*f)( ;27 题中第一空。

4、函数参数的传递时的调用的格式,如果函数传递的是二维数组,则在函数
的传递过程中形式参数必须使用的是由m 个元素组成一行的指针变量。

第10题中
的第一个答案:(*ss )[M].
五、链表题目:15、42、43、50
链表题目的步骤:
1、首先看清楚题目要求和意思。

看清楚链表有没有带头结点,如果带有头结点,第一空填的内容是p=h—>next; 如果不带有头结点,则第一个空填写的是p=h;
2、如果第二个空是在循环语句while 的括号中的时候里面的内容填写的是p 或者是q , 以最近出现的为主; 如果是在循环语句的里面的时候,填写的是q=p—>next;
3、如果是排序的时候,从小到大的时候是大于号,从大到小的时候是小于
号。

如果是出现了r 的地方,则在后面的空中填的是r
六、文件类型的填空28、30、32、47
1、文件类型的题目,看清楚题目意思,定义一个文件的指针,第一个位置出
现fp 的时候要填FILE *;
2、掌握文件中fopen 、fprintf 、fscanf 、fputs 、fputc 、fgets 、
fgetc 、fseek 、fwrite 、fread 、rewind 函数的使用的格式。

fopen(“文件名”,“打开方式” ;
fclose (文件指针);
fscanf (文件指针,格式控制字符串,输入列表项);
fprintf (文件指针,格式控制字符串,输出列表项);
fwrite(存入数据的指针,每一个数据占有的字节,输入数据的个数,文件指针;
fread(读出数据的指针,每一个数据占有的字节,输出数据的个数,文件指针;
3、文件打开之后要注意关闭文件,关闭文件的函数fclose(文件指针;
4、在循环语句中如果使用到的是while(!feof( 空格中填写的文件指针,表明判断的是文件指针是否已经指到了文件的末尾。

备注:如果文件指针指到了文件的末尾,则feof 返回的是非零值,如果没有指在文件的末尾,返回的是0 值。

七、数组题目3、4、7、17、20、24、26、31、34、39、40、41
数组填空题在C 语言考试中出现的频率很高,数组分为一维数组和二维数组。

一维数组较二维数组来说简单一些。

一维数组中存在这样一些类型:3、17、20、24、31、41
1、求一个数值数组中的所有值的平均值和把大于或者小于平均值的数赋到另外一个数组中。

在计算平均值时,首先定义一个变量来存放平均分,平均分一般用av 变量来代替,如果av 已经定义但是没有赋初值,那么这个空填写的内容的为:av=0;
2、计算平均值时有两种方法,第一种是算出总的分数,最后再除以总的个数即可,如算1 到6 之间的数的平均值,首先算出1 到6 的和,其次用总和除以总的个数6,即可以得到平均值;第二种方法是用每一个数除以6 再把所有的和加起
来。

即1/6+2/6+3/6+4/6+5/6+6/6;所以在执行的一维数组中算平均值时也是存在
两种情况,如果在for 语句的后面有av=av/N;则第二个空一般填写的是av+=s[i]; 如果说没有av=av/N;则填写的是:av+=s[i]/N;
3、在后面的一个空填写的时候要注意变量的使用情况,如果变量使用了j 和i, 那么这一个空的填写的内容为:j++;
4、如果一维数组中求的是把大于或者是小于平均值的数移动到数组的首部的
时候,这种题目的解答是这样的,第一个空一般填写的内容为:j++; 第二个空填
写的内容是-1;
5、对数组进行排序时:如果是从大到小的排序的时候,用的是小于符号,如
果是从小到大排序时使用的是大于符号。

二维数组中的题目类型以及解决的技巧:4、7、26、34、39、40
1、二维数组的题目,填空的时候一般是填在函数调用,函数在调用时候写的
应该是二维数组的名字;在定义函数的时候使用的是函数的类型和由m 个元素组
成一行的指针变量,假设二维数组的名字是ss, 那么填写的内容是:(*ss[M]; 如
果调用的是普通变量则填写的内容为:int n;
2、二维数组遍历时,使用的是两个循环,使用的是循环的嵌套使用,第二个
循环的使用的时候填写的内容为:j=0;(特殊的特殊处理
3、交换两个变量的值使用的格式为: t=a;a=b;b=t; 记住交换变量的格式和顺序。

4、如果二维数组是字符串的时候,要记住字符串中函数的使用的格式;即:strlen 、strcmp 、strcpy 、sizeof 、strcat 的使用格式。

注意里面的格式中
使用的都是和指针。

5、特殊的特殊处理。

第7 题的填空的内容记住。

相关文档
最新文档