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

合集下载

二级c语言程序试题及答案详解

二级c语言程序试题及答案详解

二级c语言试题及答案详解************************************************* ******************************1)下面叙述正确的是________。

A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)算法的时间复杂度是指执行算法程序所需要的时间(1)C知识点:算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)评析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。

数据结构和算法是计算机科学的两个重要支柱。

它们是一个不可分割的整体。

算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。

算法的有穷性是指一个算法必须在执行有限的步骤以后结束。

算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数。

(2)以下数据结构属于非线性数据结构的是________。

A)队列B)线性表C)二叉树D)栈(2)C知识点:栈和队列的定义;栈和队列的顺序存储结构及其基本运算评析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。

栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。

一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。

所以栈又称后进先出表(Last In First Out)。

队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。

在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。

因此队列又称先进先出表(First In First Out)。

二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。

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

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

计算机二级考试真题及答案c语言一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. intD. void答案:D2. 若有定义int a=5; 则执行以下语句后,变量a的值是多少?A. a=(a++)+(++a)+a;B. a=a--+(++a)+a;C. a=(a++)+(++a)+a--;D. a=(a++)+(++a)+a--;答案:A3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. %C. *D. ^答案:C4. 下列哪个选项是C语言中合法的字符常量?A. 'a'B. "a"C. 'ab'D. '\t'答案:D5. 在C语言中,以下哪个选项是合法的数组声明?A. int a[5];B. int a[];C. int a[5][5];D. int a[5,5];答案:A6. 若有定义int x=10; 则执行以下语句后,变量x的值是多少?A. x=x+++x;B. x=++x+x--;C. x=x--+x++;D. x=x+++x--;答案:B7. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A8. 在C语言中,以下哪个选项是合法的指针声明?A. int *p;B. int *p[];C. int (*p)();D. int (*p)[5];答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do{}while(0)D. all of the above答案:D10. 在C语言中,以下哪个选项是合法的函数声明?A. int func();B. void func(int a);C. int func(int a, int b);D. all of the above答案:D11. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. all of the above答案:A12. 在C语言中,以下哪个选项是合法的文件操作函数?A. fopenB. fcloseC. freadD. all of the above答案:D13. 在C语言中,以下哪个选项是合法的字符串操作函数?A. strcpyB. strncpyC. strcatD. all of the above答案:D14. 在C语言中,以下哪个选项是合法的动态内存分配函数?A. mallocB. callocC. reallocD. all of the above答案:D15. 在C语言中,以下哪个选项是合法的位操作运算符?A. &B. |C. ^D. all of the above答案:D16. 在C语言中,以下哪个选项是合法的预处理指令?A. #includeB. #defineC. #ifdefD. all of the above答案:D17. 在C语言中,以下哪个选项是合法的类型转换运算符?A. (int)xB. (float)xC. (char)xD. all of the above答案:D18. 在C语言中,以下哪个选项是合法的条件运算符?A. ?B. :C. ||D. &&答案:A19. 在C语言中,以下哪个选项是合法的多维数组声明?A. int a[5][5];B. int a[][5];C. int a[5][];D. int a[][];答案:A20. 在C语言中,以下哪个选项是合法的枚举类型声明?A. enum color {red, green, blue};B. enum {red, green, blue};C. enum color {0, 1, 2};D. all of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用关键字________声明一个函数。

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。

main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30D. 756. .以下程序的输出结果是( c )。

main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:cA.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。

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

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

计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。

计算机二级c考试题目及答案解析

计算机二级c考试题目及答案解析

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

2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0x1.2C. 0x12.34D. 0x12p答案:A解析:在C语言中,十六进制常量以0x开头,后面跟十六进制数字。

选项A中的0x12是一个合法的整型常量,而B、C和D选项中的表示方法不符合C语言中整型常量的表示规则。

3. C语言中,以下哪个运算符用于计算两个整数的差?A. %B. /C. -D. *答案:C解析:在C语言中,减号`-`用于计算两个整数的差。

其他选项中的运算符分别用于求余(`%`)、除法(`/`)和乘法(`*`)。

二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个函数。

答案:void解析:在C语言中,`void`关键字用于定义一个函数,表示该函数没有返回值。

2. 若有以下代码段:```cint a = 10, b = 20;a = a + b;```则变量a的值为________。

答案:30解析:根据代码段,变量a被赋值为10,变量b被赋值为20,然后a 的值被更新为a和b的和,即10+20=30。

三、编程题(每题20分,共40分)1. 编写一个C语言程序,实现两个整数的加法运算,并输出结果。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```解析:该程序首先包含了标准输入输出库`stdio.h`,然后在`main`函数中定义了三个整型变量`num1`、`num2`和`sum`。

国家二级c语言考试试卷答案

国家二级c语言考试试卷答案

国家二级c语言考试试卷答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. _variableC. variable2D. variable-2答案:B2. C语言中,整型变量占用的字节数为:A. 1B. 2C. 4D. 8答案:C3. 若有定义:int a=5, b=2; 则表达式 a%b 的值是:A. 1B. 2C. 0D. 3答案:A4. 下列哪个选项不是C语言中的结构体类型?A. structB. unionC. enumD. int答案:D5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. C语言中,以下哪个选项是正确的函数声明?A. void function();B. int function;C. int function();D. void function int;答案:C7. 若有定义:int x=10; 则表达式 x++ 的值是:A. 10B. 11C. 9D. 错误答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. printfD. scanf答案:A9. 若有定义:float x=3.14; 则表达式 sizeof(x) 的值是:A. 2B. 4C. 8D. 1答案:B10. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "hello";B. char str[] = "hello";C. char str[6] = "hello";D. char str = "hello";答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符变量的关键字是 ________。

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

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

全国计算机等级考试二级C语言笔试试题及答案解析试题一:选择题1. 下列关于C语言的说法,错误的是()A. C语言是一种高级语言B. C语言具有跨平台性C. C语言编译器可以直接生成机器码D. C语言是一种解释型语言答案:D解析:C语言是一种高级语言,具有跨平台性。

编译器将C语言源程序编译成目标代码,然后通过链接器生成可执行文件,这个过程生成的机器码可以被计算机直接执行,因此C语言不是解释型语言。

2. 以下哪个选项不是C语言的基本数据类型?()A. intB. charC. floatD. string答案:D解析:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。

string不是C语言的基本数据类型,而是由字符数组构成的一种自定义类型。

试题二:填空题1. 在C语言中,每个语句的结尾必须使用()符号。

答案:分号(;)解析:在C语言中,每个语句的结尾必须使用分号(;)作为结束符,表示一个语句的结束。

2. 以下程序的输出结果是()。

```c#include <stdio.h>int main() {int a = 5;int b = 3;printf("%d\n", a % b);return 0;}```答案:2解析:在C语言中,取模运算符(%)用于计算两个整数相除的余数。

在本题中,5除以3的余数为2,因此输出结果为2。

试题三:编程题1. 编写一个C程序,实现以下功能:从键盘输入10个整数,计算并输出这些整数的平均值。

```c#include <stdio.h>int main() {int i, num;float sum = 0.0, average;for (i = 0; i < 10; i++) {printf("请输入第%d个整数:", i + 1);scanf("%d", &num);sum += num;}average = sum / 10;printf("这10个整数的平均值为:%.2f\n", average);return 0;}```解析:本题考查了循环语句、输入输出函数等基本知识。

全国计算机等级考试二级C语言公共基础知识(附例题)

全国计算机等级考试二级C语言公共基础知识(附例题)

第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。

详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。

计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法.1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。

2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。

在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。

(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构.描述算法的工具通常有传统流程图、N—S结构化流程图、算法描述语言等。

一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。

考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。

1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。

同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。

这表明使用绝对的时间单位衡量算法的效率是不合适的。

撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量”的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。

二级c语言考试题及答案文档

二级c语言考试题及答案文档

二级c语言考试题及答案文档一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. integerC. stringD. float答案:A2. C语言中,用于定义一个整型变量的关键字是?A. varB. letC. intD. integer答案:C3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. <=答案:A4. 下列哪个函数用于计算两个数的和?A. pow()C. abs()D. sum()答案:D5. 在C语言中,哪个函数用于输入一个字符?A. scanf()B. getchar()C. printf()D. puts()答案:B6. 下列哪个选项是正确的C语言变量名?A. 2variableB. variable2C. variable-nameD. variable$name答案:B7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D8. C语言中,用于输出一个整数的函数是?B. printf()C. cout()D. print()答案:B9. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. &D. |答案:A10. 在C语言中,哪个关键字用于跳过当前循环的迭代?A. continueB. breakC. returnD. exit答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个结构体。

答案:struct2. C语言标准库函数________用于计算一个浮点数的平方根。

答案:sqrt3. 使用________运算符可以将字符'A'转换为对应的ASCII码值。

答案:(int)'A'4. 在C语言中,使用________函数可以输出格式化的字符串。

《全国计算机等级考试二级教程-C语言程序设计》课后习题详解

《全国计算机等级考试二级教程-C语言程序设计》课后习题详解

《全国计算机等级考试二级教程——C语言程序设计》习题分析与解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】.EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。

第2行的错误:(1) main()是主函数的起始行,不是语句,因此最后不应当有分号(;)。

(2) 在同一行上的/ * main function * / 显然是注释;C语言规定:注释由/*开头,由*/结束,但在*号和/之间不得插入任何空格,而在此处“/ *”和“* /”之间存在空格,因此,/ * main function * /的写法是错误的,而应写成:/* main function */。

全国计算机等级考试二级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语言上机真题【附详解】

函数fun的功能是:计算正整数n的所有因子(1和n除外)之和作为函数值返回。

例如:n=120时,函数值为239。

#include<conio.h>#include<stdio.h>int fun(int n){int_1__,s=0;/*能整除n的自然数即称为因子*/for(i=2;i<n;i++)if(n%i==0)s=___2__;return(s);}main()/*主函数*/{printf("%d\n",fun(120));}(2011年2月)解析:本题的考核点是计算n所有因子的算法。

解题思路:判断因子的方法是:能被n整除的数。

由于题意中指明需将1和n除外,所以循环的范围应从2至n-1。

答案:1:i2:s+i答案:【1】i【2】s+i【真题2】已知一个数列的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。

给定程序modi.c中函数fun的功能是:计算并输出该数列前n项的平方根之和sum。

n的值通过形参传入。

例如,当n=10时,程序的输出结果应为:23.197745。

请改正函数fun中的错误,使程序能输出正确的结果。

注意:不要改动main函数,#include<conio.h>#include<stdio.h>#include<math.h>/************found************/fun(int n){double sum,s0,s1,s2,s;int k;sum=1.0;if(n<=2)sum=0.0;s0=0.0;s1=0.0;s2=1.0;for(k=4;k<=n;k++){s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;}/************found************/return sum}main(){int n;clrscr();printf("Input N=");scanf("%d",&n);printf("%f\n",fun(n));}(2011年2月)解析:本题的考核点是C语言中的函数的入口参数和类型转换。

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

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

计算机二级C语言试及答案解析计算机二级C语言试及答案解析2017知识就是力量,同学们学习不仅仅只是为了考试哟。

下面是店铺整理的计算机二级C语言试及答案解析,希望对大家有用,更多消息请关注应届毕业生网。

1: 第1题请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。

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

答案:void fun(int a,int b,long *c){*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}2: 第2题请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。

答案:float fun(float *a,int n){float ave=0.0;int i;for(i=0;iave+=a;ave/=n;return ave;}3: 第3题假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。

答案:void fun(char *a){int i=0;char *p,*q;p=q=a;while(*p)p++;p--;while(*p==‘*’)p--;while(q<=p){a=*q;i++;q++;}a=‘\0’;}4: 第4题请编写函数fun,其功能是:将两个两位数的正整数a b 合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

答案:void fun(int a,int b,long *c){c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}5: 第5题n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

请编写函数fun,它的功能是:求出平均分,由函数值返回。

计算机二级《C语言》考试题库与答案

计算机二级《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语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。

2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。

选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。

3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。

因此,5除以4的结果为1。

4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。

calloc()函数也用于动态分配内存,但会初始化分配的内存空间。

alloc()和new()不是C语言中的标准函数。

二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。

答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。

2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。

答案:2解析:在C语言中,%运算符表示求余运算。

因此,5除以3的余数为2。

3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。

国家计算机二级C语言108套操作题真题及答案及解析

国家计算机二级C语言108套操作题真题及答案及解析

所属年份:2010.9;2011.3;2012.3;2012.9下列给定程序中,函数fun 的功能是:计算如下公式()()()12222213572462n n s n -⨯+=-+-⨯…-1直到()()3221102n n -⨯+≤⨯,并且把计算结果作为函数值返回。

例如,若形参e 的值为1e-3,则函数返回值为0.551690。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANK1.C 中。

不得增行或删行,也不得更改程序的结构!#include <stdio.h> double fun(double e){ int i, k; double s, t, x; s=0; k=1; i=2;/**********found**********/ x=__1__/4;/**********found**********/ while(x __2__ e) { s=s+k*x; k=k* (-1); t=2*i;/**********found**********/ x=__3__/(t*t); i++; }return s; }main(){ double e=1e-3;printf("\nThe result is: %f\n",fun(e));}【参考答案】(1)3.0或(double)3 (2)> (3) (t+1) 【考点分析】本题考查:基本算术运算时的类型转换,其转换规则为:如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致;如果双目运算符两边运算的类型不一致,系统将自动进行类型转换,while 循环语句,一般考查如何根据题意确定循环条件,以及如何通过循环变量变化实现循环操作。

【解题思路】填空1:变量x 定义为double 类型,而运算符"/"后面是整型数,所以给x 赋值时,需要注意数据类型,此处不能将3.0写成3。

国家计算机二级C语言.110套操作题真题与答案解析

国家计算机二级C语言.110套操作题真题与答案解析

国家计算机二级考试C 语言程序设计1下列给定程序中,函数fun 的功能是:计算如下公式()()()12222213572462n n s n -⨯+=-+-⨯…-1直到()()3221102n n -⨯+≤⨯,并且把计算结果作为函数值返回。

例如,若形参e 的值为1e -3,则函数返回值为0.551690。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANK1.C 中。

不得增行或删行,也不得更改程序的结构!#include <stdio.h> double fun(double e){ int i, k; double s, t, x; s=0; k=1; i=2;/**********found**********/ x=__1__/4;/**********found**********/ while(x __2__ e) { s=s+k*x; k=k* (-1); t=2*i;/**********found**********/ x=__3__/(t*t); i++; }return s; }main(){ double e=1e-3;printf("\nThe result is: %f\n",fun(e)); }【参考答案】(1)3.0或(double)3 (2)> (3) (t +1) 【考点分析】本题考查:基本算术运算时的类型转换,其转换规则为:如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致;如果双目运算符两边运算的类型不一致,系统将自动进行类型转换,while 循环语句,一般考查如何根据题意确定循环条件,以及如何通过循环变量变化实现循环操作。

【解题思路】填空1:变量x 定义为double 类型,而运算符"/"后面是整型数,所以给x 赋值时,需要注意数据类型,此处不能将3.0写成3。

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

精选
6
在满足实体完整性约束的条件下 A. 一个关系中可以没有候选关键词 B. 一个关系中只能有一个候选关键词 C. 一个关系中必须有多个候选关键词 D. 一个关系中应该有一个或者多个候选关键词
在一个关系中,候选关键字可以有多个且在任何关系中至少有一个关键字。
所以在满足数据完整性约束的条件下,一个关系应该有一个或多个候选关键
软件生命周期不包括市场调研。
精选
9
下面不属于需求分析阶段任务的是 A、确定软件系统的功能需求 B、确定软件系统的系统的系能需求 B、制定软件集成测试计划 D、需求规格说明书审评
需求分析是对待开发软件提出的需求进行分析并给出详细的定义。
主要工作是编写软件需求规格说明书及用户手册。
需求分析的任务是导出目标系统的逻辑模型,解决“做什么”的问题。
字,选项D正确。
精选
7
有三个关系R、S和T如下:
R和S的差是由属于R但不属于S的元组组成的集合
根据本题关系R和关系S运算前后的变化,可以看出此处进行
的是关系运算的差运算
精选
8
软件生命周期中的活动不包括 A、软件维护 B、市场调研 C、软件测试 D、需求分析
软件生命周期----提出、实现、使用、维护到停止使用(退役) 软件生命周期三个阶段----软件定义、软件开发及软件运行维护 软件生命周期的主要活动阶段是可行性研究与计划制定、需求 分析、软件设计、软件实现、软件测试、运行和维护。
D、C程序的主函数必须用main作为函数名
一个C程序有且只有一个主函数 main()。
一个C 程序可以包含多个不同名字的子函数
C程序在书写时没有严格的缩进精选要求。
16
设有以下语句
Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);
若要为变量ch1和ch2分别输入字符A和B,正 确的输入形式应该是
B、编码、确定算法和数据结构、调试、整理 文档
简单程序设计的步骤:
C首、先整要确理定文算档法和、数确据定结构算法和数据结构、编码、 调然后试编码、调试
最后整理相关文档。
D、确定算法和数据结构精选、调试、编码、整理 13
关于C语言中数的表示,以下叙述正确的是 A、只有整型数在允许范围内能精确无误的表示,实型数会 有误差
那么度为1的节点数为
A、4
B、6 C、10
D、16
• 二叉树的性质3,度为0的结点数(即叶子结点数)=度为2的结点数 +1。
• 题中叶子结点数为5个,利用性质3可计算出度为2的结点数为4个。
• 二叉树只有三种结点:度为0的、度为1的、度为2的,总数为25个, 所以度为1的结点数即为25-5-4=16个,所以为D。
是对顺序队列的改进,故循环队列是队列的一种顺序存储结构
精选
3
下列叙述中正确的是
A、栈是一种先进先出的线性表 B、队列是一种后进先出的线性表 C、栈和队列都是非线性结构 D、以上三种说法都不对
栈是一种后进先出的线性表
队列是一种先进先出的线性表,二者均是线性结构,
精选
4
一棵二叉树共有25个节点,其中5个是子节点,
转义字符,即反斜杠加数字或字母的形式(例如'\n'是换行 符),转义字符本身就是一个字符。 C的\X后面是十六进制数 数字不需要以0开头的,以0开头了,0所代表的意义是指八进 制,例如01,是指八进制的1,八进制里是没有数字8和9的, 所以09是错误的,同理,D项的019错了 C以x开头代表了xff这个数是16进制,16进制里是有f的,数值 上等于十进制里的15 数字前什么都不加,例如A和B精项选 ,C语言默认为十进制。 18
全国计算机等级考试二级C语言
真题讲解
精选
1
一、选择题
精选
2
下列叙述中正确的是:
A、循环队列是队列的一种顺序存储结构 B、循环队列是队列的一种链式存储结构 C、循环队列是非线性结构 D、循环队列是一直逻辑结构
A
为了充分利用存储空间,可以把顺序队列看成一个环状空间, 即把顺序队列的头尾指针相连,这样的队列称之为循环队列。
精选
5
在下列模式中,能够给出数据库物理存储结构与物理 存取方法的是 A、内模式 B、外模式 C、概念模式 D、逻辑模式
内模式也称存储模式,它是数据物理结构和存储方 式的描述,是数据在数据库内部的表示方式
对应于物理级,它是数据库中全体数据的内部表示
或底层描述,是数据库最低一级的逻辑描述。选项
A正确。
制定软件集成测试计划是软件设计阶精段选 需要完成的任务
10
在黑盒测试方式中,设计测试用例的主要根据 是
A、程序外部功能
B、程序内部逻辑
C、程序数据结构
D、程序流程图
黑盒测试----功能测试或数据驱动测试 测试着眼于程序外部结构、不考虑内部逻辑结构
主要针对软件界面和软件功能进行测试。
精选
11
在软件设计中不使用的工具是
B、只要在在允许范围内整型和实型都能精确表示 C、只有实型数在允许范围内能精确无误的表示,整型数会 有误差
D、只有八进制表示的数在不会有误差
实型数据在内存中存储的二进制位数是有限的
例如float型数据在内存中有24位二进制尾数
而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过
尾数的存储长度,从而导致有效数字精丢选 失而产生误差。Biblioteka A、系统结构图 B、程序流程图
C、PAD图
D、数据流图(DFD图)
软件设计包括概要设计和详细设计
软件详细设计--程序流程图(PDF)和PAD(问题分析图) 是过程设计的常用工具
数据流图(DFD图)是软件定义阶段结构化分析方法常 用的工具。
精选
12
针对简单程序设计,以下叙述的实施步骤正 确的是
A、确定算法和数据结构、编码、调试、整理 文档
A、A和B之间用逗号间隔
B、A和B之间不能有任何间隔符
C在、输A入和格B式之中间定义可好以了用”%c回%c车”,其间中没隔有任何符号,所以中间不
能是D、加字任符A和何。字B符之,间包用含不空能格加间逗号隔、回车和空格,因为这些也算
精选
17
以下选项中非法的字符常量是
A、’\102’ B、’\65’ C、’\xff’ D、’\019’
14
以下关于算法叙述错误的是
A、算法可以用伪代码、流程图等多种形式来描 述
B、一个正确的算法必须有输入
C、一个正确的算法必须有输出
D、用流程图可以描述的算法可以用任何一种计 算机高级语言编写成程序代码
一个正确的算法可以有零个或者多个输入,必须有一个或者多
个输出
精选
15
以下叙述错误的是
A、一个C程序可以包含多个不同名的函数 B、一个C程序只能有一个主函数 C、C程序在书写时,有严格的缩进要求,否 则不能编译通过
相关文档
最新文档