二级C语言笔试95
全国计算机等级考试二级C语言笔试试题及答案
老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
D) 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) YYy3(0); D) YYy4; (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) 12 B) 34 C) 14 D) 32 (33) 有如下程序: #include<iostream> using namespace std; class Pair( int m; int n; public: Pair ( int i, int j ): m(i), n(j) (} 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; } 运算符函数。operator〉的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则 返 回 false。比较规则是首先比较两对象的 m 成员,m 大者为大;当 m 相等时比较 n, n 大者为大。程序输 出 0101, 下列对运算符重载函数的正确定义是 A ) bool Pair::operator> ( Pair p ) const {if (m!=p.m) return m>p.m; return n>p.n;}
c语言二级考试试题及答案
c语言二级考试试题及答案C语言二级考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中数组的描述,正确的是:A. 数组名是一个变量名B. 数组名是一个常量C. 数组名是一个指针D. 数组名是一个函数答案:B2. 以下哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World" + "Hello World"D. "Hello\nWorld"答案:D4. C语言中,以下哪个不是标准输入输出库函数?A. printf()B. scanf()C. getchar()D. puts()答案:C5. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. C语言中,以下哪个是正确的函数定义?A. int function_name(int x, int y) { /* ... */ }B. int function_name(int x, int y);C. int function_name(int x, y) { /* ... */ }D. int function_name(int x; int y) { /* ... */ }答案:A7. 在C语言中,以下哪个是正确的递归函数调用?A. function_name(x)B. function_name(x, y)C. function_name(function_name(x))D. function_name(&x)答案:C8. 在C语言中,以下哪个是正确的结构体定义?A. struct person { int age; char name[50]; };B. struct person { int age; char name[50] }C. struct person { int age; char name[50]; }D. struct person { int age; char name[50] } person;答案:A9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共10分)1. C语言中,使用________运算符可以实现两个整数的按位与操作。
计算机二级c语言得分分布
计算机二级c语言得分分布我们来看一下计算机二级c语言考试的总体分布情况。
根据往年的数据统计,考试成绩一般呈现正态分布,即大部分学生的得分集中在中间分数段,少部分学生的得分偏高或偏低。
这是因为c语言作为一门基础课程,需要学生具备一定的编程能力和逻辑思维能力,而这些能力的培养需要一定的时间和经验。
因此,大部分学生在考试中的得分会相对稳定。
接下来,我们来分析一下不同得分段的学生情况。
一般来说,得分在90分以上的学生属于优秀水平,他们对c语言的语法和常用函数掌握得很好,并且能够独立完成一些较为复杂的编程任务。
得分在80-90分之间的学生属于良好水平,他们对c语言掌握较好,能够熟练运用常用语法和函数进行编程。
得分在70-80分之间的学生属于中等水平,他们对c语言的掌握程度还有待提高,需要更多的练习和实践。
得分在60-70分之间的学生属于及格水平,他们对c 语言的掌握较为薄弱,需要加强基础知识的学习和理解。
而得分在60分以下的学生属于不及格水平,他们对c语言的掌握非常有限,需要加倍努力提高自己的编程能力。
除了总体分布和不同得分段的学生情况,我们还需要关注考试中的常见错误和易错点。
在c语言考试中,常见的错误包括语法错误、逻辑错误和运行错误。
语法错误主要是指对于c语言的基本语法规则掌握不牢固,比如缺少分号、括号不匹配等。
逻辑错误主要是指对于编程逻辑的理解有误,导致程序运行结果不符合预期。
运行错误主要是指程序在运行过程中出现了错误,比如数组越界、空指针引用等。
为了避免这些错误,学生需要加强对于c语言的学习和理解,多进行编程实践,提高自己的错误排查和调试能力。
除了错误和易错点,我们还需要关注学生在编程能力上的提升。
在c语言的学习过程中,学生不仅需要掌握基本的语法规则和常用函数,还需要培养自己的编程思维和解决问题的能力。
编程思维主要包括问题分析、算法设计和程序实现等方面,而解决问题的能力则需要学生具备良好的逻辑思维和创新能力。
全国计算机二级《C语言》考试题库与答案
全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。
什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。
全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
二级C语言笔试-95
二级C语言笔试-95(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:70.00)1.以下关于函数的叙述中正确的是( )。
(分数:2.00)A.每个函数都可以被其它函数调用(包括main函数)B.每个函数都可以被单独编译√C.每个函数都可以单独运行D.在一个函数内部可以定义另一个函数解析:[解析] 本题考查函数的一些概念。
main()函数是一个程序的主函数,它由系统调用,所以选项A)不正确。
一个C语言源程序文件可以只包含一个函数,每个源文件都可以被单独编泽成.obj文件,最后链接成可执行文件。
因此每个函数都可以被单独编译,选项B)正确。
一个C程序必须从主函数main()开始运行,其他函数只能是直接或间接被main()函数调用才能得以运行,因此选项C)错误。
C语言不支持函数的嵌套定义,所有函数只能是全局函数,所以选项D)错误。
故应该选择B)。
2.若有以下定义的语句:struct studentint age;int num;;struct student stu[3]=1001,20,1002,19,1003,21;main()(struct student *p;p=stu;…则以下不正确的引用是( )。
(分数:2.00)A.(p++)->numB.p++C.(*p).numD.p=&stuage √解析:[解析] 考查对结构体成员的引用方法。
结构体成员的引用可以用“结构体变量名.成员名”或者“结构体变量指针->成员名”两种方式来引用。
3.有以下程序:#include<stdio.h>main()FILE *fp;int a[10]=[1,2,3],i,n;fp=fopen("d1.dat","w");for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);fprintf(fp,"/n");fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d,&n);fdose(fp);printf("%d/n",n);(分数:2.00)A.12300B.123 √C.1D.321解析:[解析] 本题主要考查的是文件的操作。
c语言二级考试题及答案
c语言二级考试题及答案一、单项选择题(本大题共40小题,每小题2分,共80分)1. 在C语言中,下列哪个选项是正确的整型常量?A. 0.5B. 0x12C. 0x12.0D. 0x12L答案:B2. C语言中,下列哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "hello'"D. 'hello"答案:A3. 在C语言中,下列哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C4. 下列哪个选项是C语言中的关键字?A. intB. integerC. realD. double答案:A5. 在C语言中,下列哪个选项是正确的二进制常量表示?A. 0x1BB. 0b1101C. 0B1101D. 0x1101答案:B6. C语言中,下列哪个选项是正确的浮点型常量表示?A. 3.14B. 3.14e2C. 3.14E-2D. 3.14f答案:C7. 在C语言中,下列哪个选项是正确的字符常量表示?A. 'a'B. "a"C. 'ab'D. '0x61'答案:A8. 下列哪个选项是C语言中合法的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = {1, 2, 3, 4, 5};答案:A9. 在C语言中,下列哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int, int);D. int add(int a, b);答案:A10. 下列哪个选项是C语言中合法的指针声明?A. int *p;B. int *p[];C. int *p[5];D. int (*p)();答案:A11. 在C语言中,下列哪个选项是正确的结构体声明?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. struct Point { int x; int y; };D. struct { int x; int y; };答案:C12. 下列哪个选项是C语言中合法的枚举声明?A. enum {RED, GREEN, BLUE} color;B. enum color {RED, GREEN, BLUE};C. enum {RED, GREEN, BLUE};D. enum color {0, 1, 2};答案:B13. 在C语言中,下列哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI(3.14159)D. #define PI 3.14159;答案:A14. 下列哪个选项是C语言中合法的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A15. 在C语言中,下列哪个选项是正确的条件语句?A. if (a > b) { ... }B. if a > b { ... }C. if (a > b) then { ... }D. if a > b then { ... }答案:A16. 下列哪个选项是C语言中合法的循环语句?A. for (i = 0; i < n; i++) { ... }B. for i = 0; i < n; i++ { ... }C. for (i = 0; i < n; i++) { ... }D. for i = 0 to n { ... }答案:A17. 在C语言中,下列哪个选项是正确的switch语句?A. switch (a) { case 1: ...; case 2: ...; }B. switch (a) { case 1: ...; case 2: ...; default: ...; }C. switch (a) { case 1: ...; case 2: ...; break; }D. switch (a) { case 1: ...; case 2: ...; default: ...; }答案:D18. 下列哪个选项是C语言中合法的goto语句?A. goto label;B. goto 10;C. label: ...D. goto;答案:C19. 在C语言中,下列哪个选项是正确的函数调用?A. printf("%d", 10);B. scanf("%d", &a);C. printf("%d", a);D. scanf("%d", a);答案:B20. 下列哪个选项是C语言中合法的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a, b) { return a + b; }C. int add(int a, int b) { return a + b; }D. int add(a, b) { return a + b; }答案:A21. 在C语言中,下列哪个选项是正确的递归函数调用?A. int factorial(int n) { return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { return n * factorial(n + 1); }D. int factorial(int n) { if (n == 1) return 1; else return n * factorial(n - 1); }答案:B22. 下列哪个选项是C语言中合法的数组初始化?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3, 4};C. int a[5] = {1, 2, 3};D. int a[5] = {1, 2, 3, 4, 5, 6};答案:A23. 在C语言中,下列哪个选项是正确的字符串复制?A. strcpy(a, b);B. strcopy(a, b);C. copy(a, b);D. strcp(a, b);24. 下列哪个选项是C语言中合法的内存分配?A. int *p = (int *)malloc(sizeof(int) * 10);B. int *p = malloc(10 * sizeof(int));C. int *p = (int *)malloc(10);D. int *p = malloc(sizeof(int) * 10);答案:A25. 在C语言中,下列哪个选项是正确的内存释放?A. free(p);B. delete p;C. deallocate p;D. dispose p;答案:A26. 下列哪个选项是C语言中合法的指针运算?B. p--;C. p += 2;D. p = 2;答案:A27. 在C语言中,下列哪个选项是正确的结构体赋值?A. Point p1 = {1, 2};B. Point p1 = p2;C. Point p1 = {1, 2};D. Point p1 = {1, 2, 3};答案:B28. 下列哪个选项是C语言中合法的枚举值使用?A. color = RED;B. color = 0;C. color = "RED";D. color = 1;答案:A29. 在C语言中,下列哪个选项是正确的宏替换?A. #define SQUARE(x) x * xB. #define SQUARE(x) (x) * (x)C. #define SQUARE(x) x * xD. #define SQUARE(x) (x) * (x)答案:D30. 下列哪个选项是C语言中合法的文件操作?A. FILE *fp = fopen("file.txt", "r");B. FILE *fp = open("file.txt", "r");C. FILE *fp = fopen("file.txt", "w");D. FILE *fp = open("file.txt", "w");答案:A31. 在C语言中,下列哪个选项是正确的文件读取?A. fscanf(fp, "%d", &a);B. scanf(fp, "%d", &a);C. fscanf(fp, "%d", a);D. scanf(fp, "%d", a);答案:A32. 下列哪个选项是C语言中合法的文件写入?A. fprintf(fp, "%d", a);B. printf(fp, "%d", a);C. fprintf(fp, "%d", &a);D. printf(fp, "%d", &a);答案:A33. 在C语言中,下列哪个选项是正确的文件关闭?A. close(fp);B. fclose(fp);C. fclose(fp);D. close(fp);答案:B34. 下列哪个选项是C语言中合法的错误处理?A. if (fp == NULL) { perror("Error opening file"); exit(1); }B. if (fp == NULL) { printf("Error opening file"); exit(1); }C. if (fp == NULL) { perror("Error opening file"); return 1; }D. if (fp == NULL) { printf("Error opening file"); return 1; }答案:A35. 在C语言中,下列哪个选项是正确的位运算?A. a & b;B. a && b;D. a || b;答案:A36. 下列哪个选项是C语言中合法的逻辑运算?A. a && b;B. a || b;C. a & b;D. a | b;答案:A37. 在C语言中,下列哪个选项是正确的自增运算?A. a++;B. ++a;C. a += 1;D. a = a + 1;38. 下列哪个选项是C语言中合法的自减运算?A. a--;B. --a;C. a -= 1;D. a = a - 1;答案:A39. 在C语言中,下列哪个选项是正确的类型转换?A. (int)a;B. int(a);C. (int)(a);D. int a;答案:C40. 下列哪个选项是C语言中合法的sizeof运算?A. sizeof(a);B. sizeof int;C. sizeof(int);D. sizeof "string";答案:C二、程序填空题(本大题共2小题,每小题10分,共20分)1. 给定以下代码片段,请填写缺失的部分以实现计算并打印两个整数的和。
全国计算机等级考试二级C语言笔试试题及答案
2005 年4 月全国计算机等级考试二级 C 语言笔试试题及答案一、选择题((1)~(10)每小题 2 分,(11)~(50)每小题 1 分,共60 分)下列各题 A )、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)数据的存储结构是指______。
A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的是______。
A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。
A.冒泡排序为n/2B.冒泡排序为nC.快速排序为nD.快速排序为n(n-1)/2(4)对长度为n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
A.log2nB.n/2C.nD.n+1(5)下列对于线性链表的描述中正确的是______。
A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的(6)下列对于软件测试的描述中正确的是______。
A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则(7)为了使模块尽可能独立,要求______。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱2005 年4 月全国计算机等级考试二级 C 语言笔试试题及答案一、选择题((1)~(10)每小题 2 分,(11)~(50)每小题 1 分,共60 分)下列各题 A )、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
全国计算机等级考试二级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语言笔试400题及答案
1、C语言程序的基本单位是____ A) 程序行 B) 语句 C) 函数 D) 字符、C、12、C语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构、A、13、C语言规定,程序中各函数之间 A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用、A、14、C语言中可处理的文件类型是( ) A) 文本文件和数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件、B、15、C语言可执行程序的开始执行点是( ) A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数、C、16、C语言提供的合法的数据类型关键字是 A)double B) short C) integerD) char、B、17、C语言中,运算对象必须是整型数的运算符是 A) % B) \ C) %和\ D) * *、A、18、C语言中函数返回值的类型是由( )决定。
A) return语句中的表达式类型 B) 调用函数的主调函数类型 C) 调用函数时临时 D) 定义函数时所指定的函数类型、D、19、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。
A、该数组的长度。
B、该数组的元素个数。
C、该数组中各元素的值。
D、该数组的首地址。
、D、110、C语言中数组下标的下限是________。
A、1 B、0 C、视具体情况 D、无固定下限、B、111、C语言中提供的合法关键字是____ A、swith B、cher C、case D、default、D、112、C语言中文件的存取方式是________。
c语言二级考试试题与答案doc
c语言二级考试试题与答案doc一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B2. 若有定义int a=5;,则表达式a++的值是多少?A. 4B. 5C. 6D. 0答案:B3. C语言中,用于表示逻辑“与”操作的运算符是什么?A. &&B. ||C. !D. &答案:A4. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. coutD. getchar()答案:C5. 在C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. 若有定义float x=3.14;,则表达式sizeof(x)的值是多少?A. 2B. 4C. 8D. 10答案:B7. C语言中,哪个关键字用于声明一个指针变量?A. *B. &C. %D. #答案:A8. 下列哪个选项是正确的C语言数组声明?A. int a[];B. int b[5];C. int c[5]={0};D. All of the above答案:D9. 在C语言中,哪个关键字用于声明一个无限循环?A. forB. whileC. do...whileD. switch答案:B10. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. All of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量并初始化为10,可以使用语句:________。
答案:int a = 10;2. 若有定义int a=5;,则执行语句a=a+1;后,变量a的值是________。
答案:63. 在C语言中,使用________运算符可以实现逻辑“或”操作。
全国计算机二级C语言考试题型及考试重点
◆ 基本要求 1.熟悉 Visual C++ 6.0 集成开发环境。 2.掌握结构化程序设计的方法,具有良好的程序设计风格 3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。 4.在 Visual C++ 6.0 集成环境下,能够编写简单的 C 程序,并具有基本的纠错和调试程
序能力
◆ 考试内容 一、C 语言程序的结构 1.程序的构成,main 函数和其他函数。 2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。 3.源程序的书写格式。 4.C 语言的风格。
◆ 考试重点
一般每 3 年教材作一次调整,通过对最近 3 年等级考试真题分析,各章内容及 出题比例大约如下表所示。
各章内容及序号 第 1 章 程序设计基本概念 第 2 章 C 程序设计的初步知识 第 3 章 顺序结构 第 4 章 选择结构 第 5 章 循环结构 第 6 章 字符型数据 第 7 章 函数 第 8 章 地址和指针 第 9 章 数组 第 10 章 字符串 第 11 章 对函数的进一步讨论 第 12 章 C 语言中用户标识符的作用域和存储类 第 13 章 编译预处理和动态存储分配 第 14 章 结构体、共用体和用户定义类型 第 15 章 位运算 第 16国计算机等级考试二级 C 语言每年上半年 3 月份与 9 月份两次考试,报名时间查看通
全国计算机等级考试二级c语言笔试试题及答案
全国计算机等级考试二级c语言笔试试题及答案1. 单项选择题:以下哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 单项选择题:在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. 单项选择题:C语言中,哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C4. 单项选择题:以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello''';D. char str[] = "Hello";答案:A5. 单项选择题:C语言中,哪个函数用于计算数组中元素的个数?A. sizeofB. lengthC. countD. size答案:A6. 单项选择题:在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[3,4];C. int array[3][];D. int array[][];答案:A7. 单项选择题:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 单项选择题:在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr*[];答案:A9. 单项选择题:C语言中,哪个函数用于输入一个字符?A. scanfB. printfC. getcharD. putchar答案:C10. 单项选择题:在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. default (condition)答案:A11. 单项选择题:C语言中,哪个关键字用于定义一个循环?A. forB. whileC. doD. All of the above答案:D12. 单项选择题:在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. float myFunction();D. All of the above答案:D13. 单项选择题:C语言中,哪个运算符用于计算两个数的除法?A. /B. *C. %D. //答案:A14. 单项选择题:在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. define PI 3.14C. #define "PI" 3.14D. #define PI = 3.14答案:A15. 单项选择题:C语言中,哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A16. 单项选择题:在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. freadD. All of the above答案:D17. 单项选择题:C语言中,哪个关键字用于定义一个联合体?A. unionB. structC. enumD. typedef答案:A18. 单项选择题:在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D19. 单项选择题:C语言中,哪个函数用于输出一个字符串?A. scanfB. printfC. getcharD. putchar答案:B20. 单项选择题:在C语言中,以下哪个选项是正确的递归函数声明?A. int factorial(int n);B. int factorial();C. int factorial(int);D. int factorial(int n) { if (n <= 1) return 1; else return n * factorial(n - 1); }答案:D。
2023年3月二级C语言笔试试卷及参考答案
绝密★启用前3月全国计算机等级考试二级笔试试卷C语言程序设计及参照答案(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分。
共70分)下列各题A)、B)、C)、D)四个选项中,只有一种选项是对旳旳,请将对旳选项涂写在答题卡上,答在试卷上不得分。
(1) 下列论述中对旳旳是A)对长度为n旳有序链表进行查找,最坏状况下需要旳比较次数为nB)对长度为n旳有序链表进行对分查找,最坏状况下需要旳比较次数为(n/2)C)对长度为n旳有序链表进行对分查找,最坏状况下需要旳比较次数为(log2n)D) 对长度为n旳有序链表进行对分查找,最坏状况下需要旳比较次数为(n log2n)(2) 算法旳时间复杂度是指A)算法旳执行时间B)算法所处理旳数据量C)算法程序中旳语句或指令条数D)算法在执行过程中所需要旳基本运算次数(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件旳是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4) 软件(程序)调试旳任务是A)诊断和改正程序中旳错误B)尽量多地发现程序中旳错误C)发现并改正程序中旳所有错误D)确定程序中错误旳性质(5) 数据流程图(DFD图)是A)软件概要设计旳工具B)软件详细设计旳工具C)构造化措施旳需求分析工具D)面向对象措施旳需求分析工具(6) 软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7) 数据库管理系统中负责数据模式定义旳语言是A)数据定义语言B)数据管理语言 C)数据操纵语言D)数据控制语言(8) 在学生管理旳关系数据库中,存取一种学生信息旳数据单位是A)文献B)数据库C)字段D)记录(9) 数据库设计中,用E-R图来描述信息构造但不波及信息在计算机中旳表达,它属于数据库设计旳A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10) 有两个关系R和T如下:R T选择B)投影C)交D)并(11) 如下论述对旳旳是A)C语言程序是由过程和函数构成旳B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文献形式存在(12) 如下有关C语言旳论述中对旳旳是A)C语言中旳注释不可以夹在变量名或关键字旳中间B)C语言中旳变量可以再使用之前旳任何位置进行定义C)在C语言算术旳书写中,运算符两侧旳运算数类型必须一致D)C语言旳数值常量中夹带空格不影响常量值旳对旳表达(13) 如下C语言顾客标示符中,不合法旳是A)_1 B)AaBc C)a_b D)a--b(14) 若有定义:double a=22;int i=0,k=18;则不符合C语言规定旳赋值语句是A)a=a++,i++ B)i=(a+k)<=(i+k) C)i=a%11 D)i=!a(15)#include <stdio.h>main(){char a,b,c,d;scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一种字符)12<CR>34<CR>则输出成果是:A、1234B、12C、12D、123 3416、如下有关C语言数据类型使用旳论述中错误旳是:A、若要精确无误旳表达自然数,应使用整数类型。
国家二级(C语言)笔试模拟试卷95(题后含答案及解析)
国家二级(C语言)笔试模拟试卷95(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.算法的时间复杂度是指_______。
A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数正确答案:C解析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
2.下列叙述中正确的是_______。
A.线性表是线性结构B.栈与队列是非线性结构C.线性键表是非线性结构D.二叉树是线性结构正确答案:A解析:一般将数据结构分为两大类型:线性结构与非线性结构。
线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。
3.下面关于完全二叉树的叙述中,错误的是_______。
A.除了最后一层外,每一层上的结点数均达到最大值B.可能缺少若干个左右叶子结点C.完全二叉树一般不是满二叉树D.具有结点的完全二叉树的深度为[log2n]+1正确答案:B解析:满二叉树指除最后一层外每一层上抽有结点都有两个子结点的二叉树。
完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。
4.结构化程序设计主要强调的是_______。
A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性正确答案:B解析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序能够进行逐步求精、程序证明和测试,以保证程序的正确性。
5.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_______。
A.概要设计B.详细设计C.可行性分析D.需求分析正确答案:D解析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。
二级c语言笔试题库
二级c语言笔试题库题目一:编写一个函数,接受一个整数数组和一个目标值,在数组中找到两个数的和等于目标值,并返回两个数的下标。
题目二:编写一个函数,接受一个字符串和一个字符,统计字符串中该字符出现的次数,并返回次数。
题目三:编写一个函数,接受一个整数数组,将数组中的元素按照从大到小的顺序进行排序,并返回排序后的数组。
题目四:编写一个函数,接受一个整数数组和一个整数,将数组中的每个元素都乘以这个整数,并返回新的数组。
题目五:编写一个函数,接受一个整数数组,找出数组中最小的非负整数并返回。
题目六:编写一个函数,接受一个字符串,将字符串中的元音字母反转,并返回反转后的字符串。
题目七:编写一个函数,接受一个整数数组和一个整数,将数组中的所有元素移除等于该整数的元素,并返回移除后的数组。
题目八:编写一个函数,接受一个整数数组和一个整数,将数组中的所有元素移到数组的末尾,并返回移动后的数组。
题目九:编写一个函数,接受一个字符串数组和一个字符串,统计数组中包含该字符串的元素个数,并返回个数。
题目十:编写一个函数,接受一个整数数组和一个整数,返回数组中存在的两个数和等于目标值的组合的个数。
题目十一:编写一个函数,接受一个整数数组和一个整数,找到数组中任意四个数的和等于目标值的组合,并返回组合的个数。
题目十二:编写一个函数,接受一个整数数组和一个整数,返回数组中存在的三个数和等于目标值的组合的个数。
题目十三:编写一个函数,接受一个整数数组和一个整数,返回数组中存在的两个不同数和等于目标值的组合的个数。
题目十四:编写一个函数,接受一个整数数组,将数组中的所有元素进行去重,并返回去重后的数组。
题目十五:编写一个函数,接受一个整数数组和一个整数,找到数组中存在的所有两个数和等于目标值的组合,并返回组合的下标。
题目十六:编写一个函数,接受一个字符串数组和一个字符串,找到数组中存在的所有包含该字符串的元素,并返回元素。
题目十七:编写一个函数,接受一个整数数组和一个整数,找到数组中存在的所有三个数和等于目标值的组合,并返回组合的下标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级C语言笔试95(总分:94.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:50,分数:60.00)1.若有以下程序: main() { int k=2,i=2,m; m=(k+=i*=k); print f("%d,%d/n",m,i); } 执行后的输出结果是( )。
(分数:1.00)A.8,6B.8,3C.6,4 √D.7,4解析:在复合赋值语句中,应该由右向左依次赋值,在表达式中,右端由i*=kk得i=2*2为4,k=k+i,即k值为6,m=k故m=6。
所以4个选项中C正确。
2.数据库设计的4个阶段是:需求分析、概念设计、逻辑设计和( )。
(分数:1.00)A.编码设计B.测试阶段C.运行阶段D.物理设计√解析:数据库的生命周期可以分为两个阶段:一是数据库设计阶段;二是数据库实现阶段。
数据库的设计阶段又分为如下4个子阶段:即需求分析、概念设计、逻辑设计和物理设计。
3.有以下程序段: typedef struct NODE {int num; struct NODE * next; }OLD;以下叙述中正确的是( )。
(分数:1.00)A.以上的说明形式非法B.NODE是一个结构体类型C.OLD是一个结构体类犁√D.OLD是一个结构体变量解析:将题目中的定义语句去掉前面的typedef和后面的OLD(分号保留),就是一条完整的结构体定义语句,其中struct是说明符,NODE是结构体名,大括号里面的是结构体成员的定义。
此时要声明该结构体变量时需要使用struct加结构体名.起来声明,struct NODE一起构成一个结构体类型,就好像字符类型char。
若只去掉前面的typedcf,就是一条结构体定义同时声明一个结构体变量OLD的语句,因为OLD的前面部分是struct NODE的完整写法,可以看作是struct NODE。
C语言允许用typedef说明一种新类型名,其语法格式为: typedef类型名标识符;以后就可以用该标识符来代替被说明的类型名了。
因此,当前面存在typedef时,该语句就变成了给struct NODE的完辖写法定义一个新的名称OLD。
所以,此时的OLD 是一个结构体类型,它相当于struct NODE,即可以和char一样单独用来声明该结构体变量,而NODE只是一个结构体名,不能单独用来声明变量。
所以, 4个选项中C符合题意。
4.有以下程序: void f(int b[]) { int i; for(i=2;i<6;i++) b[i]*=2; } main() { inta[10]={1,2,3,4,5,6,7,8,9,10},i; f(A) ; for(i=0;i<10;i++) printf("%d,",a[i]); } 程序运行后的输出结果是( )。
(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.1,2,6,8,10,12,7,8,9,10,√C.1,2,3,4,10,12,14,16,9,10,D.1,2,6,8,10,12,14,16,9,10,解析:本题中,f()函数通过一个for循环语句,将传入数组的元素从下标2到下标5每个自乘以2。
因此,调用结束时,数组a中的内容为{1,2,6,8,10,12,7,8,9,10},故本题应该选择B。
5.有以下程序:void fun1(char*p) { char *q;q=p;while(*q!='/0') { (*q)++; q++; } } main() { char a[]={"Program"),*p; p=&a[3]; fun1(p) printf("%s/n",A) ; } 程序执行后的输出结果是( )。
(分数:1.00)A.Prohsbn √B.PrphsbnC.ProgsbnD.Program解析:在函数fun1()中,首先将形参p的内容存入临时指针q中,然后使用—个while循环,当q所指内容不是字符串结束标志"/0'时,让q所指内容增1,然后将指针q增1指向下一个位置。
所以函数fun1()实现的功能是:将传入字符串的所有字符自增1。
主函数,指针p在被传入fun1()函数之前,初始化指向的是宁符数组a的第4个元素'g',所以最终输出的结果应该是Prohsbn。
故应该选择A。
6.以下程序的输出结果是( )。
#include <stdio.h> #include<string.h> mam() { charb1[8]="abcdefg",b2[8],*pb=b1+3;while(--pb>=b1) strcpy(b2,pB) ; printf("%d/n",strlen(b2)); } (分数:1.00)A.8B.3C.1D.7 √解析:首先定义了两个字符数组b1和b2,并用一个字符串给b1赋初值,然后定义了一个字符型指针变量pb,通过赋初值使它指向b1[3]。
接着执行while循环,该循环执行了3次:第一次判断条件“--pb>=b1”,使pb的值为“b1+2”,执行“st repy(b2,pB) ;”后,b2中的内容为“cdefg”:第二次判断条件“--pb >=b1”,使pb的值为“b1+1”,执行“strcpy(b2,pB) ;”后b2的内容为“bedefg”第三次判断条件“--pb>=b1”使pb的值为“b1”,执行“strcpy(b2,pB) :”后b2的内容为“abcdefg”。
最后输出b2数组巾存放的字符串长度,显然是7。
(这里还有一个关键点:就是每当执行—次while循环判断条件,就执行一次“--pb”,他使得指针pb自减1,即前移一位)所以,4个选项中D为所选。
7.有以下程序: main() { int a[][3]={{1,2,3},{4,5,0}},(*pa)[3],i; pa=a; for(i=0;i<3;i++) if(i <2) pa[1][i]=pa[1][i]-1; else pa[1][i]=1; printf("%d/n",a[0][1]+a[1][1]+a[1][2]); } 执行后输出结果是( )。
(分数:1.00)A.7 √B.6C.8D.无确定值解析:本题定义了一个指向由3个元素组成的一维数组的指针变量pa,通过赋值让它指向具有2行3列的数组a,此时用指针变量pa,表示数组元素a[i][j]的形式是pa[im][j])。
for循环执行了3次;第一次i 值为0,执行pa[1][0]=pa[1][0]-1,执行后a[1][0]的值变为3;第二次i值为1,执行pa=[1][1]=pa[1][1]-1,执行后a[1][1]的值为4;第三次i值为2,执行pa[1][2]=1,执行后a[1][2]的值变为1。
故prinff语句输入的值为2+4+1=7。
所以,A选项为所选。
8.用C言编写的代码程序( )。
(分数:1.00)A.可立即执行B.是个源程序√C.经过编译即可执行D.经过编译解释即可执行解析:C语言一种高级语言,C语言源程序经过C语言编译程序编译之后,生成一个后缀为.obj的二进制文件(称为目标文件),最后还要由称为“连接程序”(Link)的软件,把此.obj文件与C语言提供的各种库函数连接在一起,生成一个后缀.exe的可执行文件。
显然C语言不能立即执行,故选项A错误;根据以上定义,选项C和选项D错误,所以,4个选项中选项B符合题意。
9.有以下程序: main() { int a[3][3],*p.i; p=&a[0][0]; for(i=0;i<9;i++)p[i]=i; for(i=0;i<3;i++)printf("%d",a[1][i]); } 程序运行后的输出结果是( )。
(分数:1.00)A.0 1 2B.1 2 3C.2 3 4D.3 4 5 √解析:本题中定义的二维数组a[3][3]中9个元素在内存中的排列顺序是:a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]。
在主函数中,首先定义了二维数组a[3][3],然后定义了—个指针p指向数组a的第1个元素a[0][0]在第一个for循环中,依数组a在内存中的排列顺序为其元素赋从0~8九个值,然后用第二个for循环依次输出a[1][0],a[1][1],a[1][2]三个元素的值。
所以,4个选项中选项D符合题意。
10.有以下函数定义: void fun(int n,doub x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。
(分数:1.00)A.fun(int y,double ;B.k=fun(10,12.5);C.fun(x,;√D.void fum(n,;解析:选项A中应将y和m前面的函数的类型说明符去掉,故选项A不正确;选项B中函数传了2个参数,其中一个为整型—个为浮点型,而fun()函数在定义时声明的2个参数,一个为整型一个为双精度型,其参数类型不一致,故选项B不正确;选项D在调用函数时,不应该再声明其返回类型,故选项D不正确。
所以,4个选项中选项C符合题意.11.以下能正确定义一维数组的选项是( )。
(分数:1.00)A.int num[];B.#define N 100 int num; √C.int num[0..100];D.int N=100; int num;解析:选项A定义数组时省略了长度,而C语言中规定,只有在定义并同时进行初始化时,数组的长度才可以省略,数组的长度为初始化时候的成员个数,故选项A错误;在C语言中规定,数组的长度必须是一个整数或整型常量表达式,故选项C不正确:定义时数组的长度不能使用变量表示,故选项D不正确,所以,4个选项中选项B符合题意。
12.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。
(分数:1.00)A.概要设计B.详细设计C.可行性分析D.需求分析√解析:在需求分析阶段中,根据可行性研究阶段所提交的文档,特别是从数据流图出发,对目标系统提出清晰、准确和具体的要求,即要明确系统必须做什么的问题。
解析:分析题目中给出的表达式可知,如果a>b和b>c同时成立,k=1,否则k=0。
所以,4个选项中选项A符合题意。
14.指出下面不了确的赋值语句( )。
(分数:1.00)A.a++;B.a==b;√C.a+=b;D.a=1,b=1;解析:选项A中a++相当于a+1,是赋值语句;选项C和选项D也是赋值语句。