计算机二级C语言考试参考题

合集下载

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

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语言二级考试题库及详解答案一、选择题1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. 3numberD. variable#答案:B2. C语言中,整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节答案:C(注:实际字节数可能因编译器和平台而异,但通常为4字节)3. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. goto答案:B(注:switch也是C语言的控制语句,此题有误)二、填空题1. 在C语言中,若要定义一个整型数组,可以使用以下语法:___________。

答案:int array_name[array_size];2. C语言中,用于计算两个数的乘积的运算符是:___________。

答案:*三、简答题1. 简述C语言中数组和指针的区别。

答案:数组是一种数据结构,用于存储相同类型的元素集合。

指针是一个变量,它存储了另一个变量的内存地址。

数组名可以作为指针使用,但数组本身不是指针。

数组的大小在定义时确定,而指针可以指向不同大小的内存块。

2. 解释C语言中的递归函数。

答案:递归函数是一种函数,它在执行过程中调用自己。

递归函数通常用于解决可以分解为相似子问题的问题。

递归函数必须有一个明确的终止条件,以避免无限递归。

四、编程题1. 编写一个C语言程序,实现求1到100的和。

答案:```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串反转。

答案:```cvoid reverseString(char *str) {int len = 0;while(str[len] != '\0') {len++;}for(int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - 1 - i];str[len - 1 - i] = temp;}}```五、论述题1. 论述C语言中函数的作用和重要性。

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

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

计算机二级c语言试题及答案详解一、基础知识部分1. 下列关于C语言的描述中,错误的是:A) C语言是一种高级语言B) C语言是一种编译型语言C) C语言是一种面向对象语言D) C语言是一种结构化语言答案:C) C语言是一种面向对象语言解析:C语言是一种过程式语言,不是面向对象语言。

2. 下列关于C语言标识符的说法中,错误的是:A) 标识符由字母、数字和下划线组成B) 标识符可以以字母或下划线开头C) 标识符区分大小写D) 标识符不能与C语言的关键字相同答案:C) 标识符区分大小写解析:C语言标识符是不区分大小写的。

3. 以下哪项不是C语言关键字?A) ifB) whileC) varD) for答案:C) var解析:C语言中没有关键字var,正确的关键字是int。

4. 下列代码中,哪个选项是合法的C语言注释?A) /* This is a comment */B) // This is a commentC) # This is a commentD) <!-- This is a comment -->答案:A) /* This is a comment */解析:C语言的注释格式是/* ... */。

二、程序设计部分请写一段C语言程序,实现将两个数相加并输出结果的功能。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```解析:以上代码实现了从用户输入两个整数,然后将其相加并输出结果的功能。

三、综合应用部分下列代码中,输出的结果是多少?```c#include <stdio.h>int main() {int a = 5, b = 2;float result;result = a / b;printf("结果为:%f\n", result);return 0;}```答案:结果为2.000000解析:由于a和b都是整数类型,除法运算得到的结果也是整数类型。

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

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

计算机二级证考试c语言试题及答案一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是面向对象编程语言B. C语言是一种解释性语言C. C语言是一种编译性语言D. C语言主要用于网页开发2. C语言中的数组下标是从几开始计数的?A. 0B. 1C. -1D. 由用户指定3. 下列代码中,输出的结果是什么?```cint a = 10;int b = 5;printf("%d", a % b);```B. 5C. 2D. 04. 下列关于函数的说法中,正确的是:A. 函数只能在主函数中调用B. 函数可以在任何地方调用C. 函数只能接收一个参数D. 函数不能返回值5. 下列代码中,循环体会执行几次? ```cint i;for(i = 0; i < 5; i++) {printf("%d ", i);}```A. 0次B. 4次D. 6次二、填空题1. C语言中,用于定义常量的关键字是 __________。

2. 下列代码中,空格处应该填入什么值才能使程序输出结果为20?```cint a = 10;int b = __________;printf("%d", a * b);```3. 下列代码中,空格处应该填入什么运算符才能使程序输出结果为1?```cint a = 5;int b = 4;printf("%d", a ________ b);```三、编程题1. 编写一个程序,要求用户输入一个整数n,然后输出1到n之间所有偶数的和。

2. 编写一个函数,实现计算两个整数之间的最大公约数(GCD)的功能,并在主函数中调用该函数。

3. 编写一个程序,定义一个字符串数组,其中有5个元素,每个元素是一个字符串。

然后使用循环输出该数组中所有的字符串内容。

四、综合题1. 下面是一个简化的学生成绩管理程序的代码,有一些错误,请帮助找出并修复错误。

计算机二级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语言试题及答案解析一、选择题1. C语言中,下列哪个选项是正确的字符串定义方法?A. char str = "Hello World";B. char str[] = "Hello World";C. string str = "Hello World";D. string str[] = "Hello World";答案:B解析:C语言中,字符串需要使用字符数组来定义,可以使用字符数组名或者指针来存储字符串的地址。

2. 下列哪个选项可以用于在C语言中接收用户输入的整数?A. get()B. scanf()C. read()D. input()答案:B解析:scanf()函数可以用于从标准输入中接收用户的输入,并将其存储到指定的变量中。

3. 以下哪个选项是C语言中的关键字?A. printB. whileC. ifD. void答案:C解析:C语言中的关键字用于表示特定的语法结构或功能,而print、while、void都不是C语言的关键字。

二、填空题1. C语言中,用于循环控制的语句是______。

答案:for、while、do-while解析:C语言中可以使用for、while、do-while三种语句进行循环控制。

2. C语言中,用于定义宏的关键字是______。

答案:#define解析:C语言中使用#define关键字来定义宏,宏是一种简单的文本替换方式。

三、代码题请编写一个C语言函数,实现将一个整数数组中的所有元素逆序排列的功能。

```c#include <stdio.h>void reverseArray(int arr[], int length) {int i, temp;for (i = 0; i < length / 2; i++) {temp = arr[i];arr[i] = arr[length - 1 - i];arr[length - 1 - i] = temp;}}int main() {int i;int arr[] = {1, 2, 3, 4, 5};int length = sizeof(arr) / sizeof(arr[0]);printf("Original Array: ");for (i = 0; i < length; i++) {printf("%d ", arr[i]);}reverseArray(arr, length);printf("\nReversed Array: ");for (i = 0; i < length; i++) {printf("%d ", arr[i]);}return 0;}```答案解析:以上是一个简单的C语言程序,通过reverseArray函数来实现将数组中的元素逆序排列的功能。

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

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

计算机二级c语言考试题目及答案考试题目一:1. 下面哪个选项是 C 语言中的预处理指令?A. #includeB. intC. printfD. if答案:A. #include考试题目二:2. 在 C 语言中,如何声明一个整型变量?A. String num;B. int num;C. float num;D. num int;答案:B. int num;考试题目三:3. C 语言中的逻辑与运算符是什么?A. &&B. ||C. !D. &答案:A. &&考试题目四:4. 下面哪个选项是正确的C语言定义和初始化数组的方法?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = (1, 2, 3, 4, 5);C. int arr = [1, 2, 3, 4, 5];D. int arr[5] = [1, 2, 3, 4, 5];答案:A. int arr[5] = {1, 2, 3, 4, 5};考试题目五:5. 下面程序的输出结果是什么?```c#include <stdio.h>int main() {int i = 5;if (i == 5) {printf("Hello, World!");}else {printf("Goodbye, World!");}return 0;}```A. Hello, World!B. Goodbye, World!C. 编译错误D. 运行错误答案:A. Hello, World!考试题目六:6. 下面哪个选项是 C 语言中的循环语句?A. chooseB. forC. switchD. if答案:B. for考试题目七:7. 在 C 语言中,如何访问数组的第一个元素?A. arr[0]B. arr[1]C. arr[-1]D. arr[first]答案:A. arr[0]考试题目八:8. 下面哪个选项是 C 语言中的条件语句?A. do-whileB. switchC. breakD. continue答案:B. switch考试题目九:9. 下面哪个选项是 C 语言中的自增运算符?A. +=B. -=C. ++D. --答案:C. ++考试题目十:10. 下面程序的输出结果是什么? ```c#include <stdio.h>int main() {int i = 0;while (i < 5) {printf("%d ", i);i++;}return 0;}```A. 0 1 2 3 4B. 1 2 3 4 5C. 0 1 2 3 5D. 编译错误答案:A. 0 1 2 3 4以上是计算机二级C语言考试题目及答案。

全国计算机等级考试二级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语言往年试题及答案一、选择题1. 下列不属于C语言关键字的是:A) if B) else C) switch D) case答案: D2. 在C语言中,下列关于数组说法正确的是:A) 数组的下标可以为负数B) 数组的大小可以在运行时动态改变C) 数组下标的类型可以是浮点数D) 数组元素的类型可以不相同答案: D3. 下面哪个运算符的优先级最高?A) ! B) ++ C) + D) &&答案: B4. 以下哪个循环语句无法在其内部控制循环的流程?A) while B) do-while C) for D) if-else答案: D5. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int a = 5, b = 2;printf("%d", a++ - b);printf("%d", a);}```A) 2, 6 B) 3, 6 C) 3, 7 D) 2, 7答案: A二、填空题1. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int x = 3;while (x++ < 6)printf("%d ", x);return 0;}```答案: 4 5 62. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int i = 0;while (i < 3){printf("%d ", ++i);i++;}return 0;}```答案: 1 3三、编程题1. 编写一个C程序,实现输入一个正整数n,计算并输出n的阶乘。

```c#include <stdio.h>unsigned long long factorial(unsigned int n);int main(){unsigned int n;printf("请输入一个正整数:");scanf("%u", &n);printf("%d的阶乘为:%llu", n, factorial(n));return 0;}unsigned long long factorial(unsigned int n){if (n == 0 || n == 1)return 1;elsereturn n * factorial(n - 1);}```以上为编写的一个简单的阶乘计算程序。

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

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

计算机二级试题c语言试题及答案计算机二级试题 C 语言试题及答案一、选择题1. 下面哪个选项是关于 C 语言的描述?A. C 语言是一种面向过程的编程语言。

B. C 语言是一种面向对象的编程语言。

C. C 语言是一种支持并发的编程语言。

D. C 语言是一种解释型的编程语言。

答案:A2. 下面哪个选项是定义一个整型变量的正确方式?A. int x;B. x as Integer;C. int x = 0;D. Integer x;答案:A3. 下面哪个选项是计算整型变量 y 的平方的正确方式?A. y * 2;B. y ^ 2;C. pow(y, 2);D. y * y;答案:D二、填空题1. 下面这段代码的输出是什么?```c#include <stdio.h>int main() {int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```答案:2.0000002. 下面这段代码的输出是什么?```c#include <stdio.h>int main() {int x = 7;int y = 3;printf("%d", x % y);return 0;}```答案:1三、简答题1. 请简述 C 语言中指针的概念及用途。

答:C 语言中的指针是指存储变量内存地址的变量,通过指针可以访问内存中的内容。

指针的用途包括但不限于以下几个方面: - 动态内存管理:通过指针可以在运行时分配内存和释放内存,灵活地管理内存空间。

- 数组访问:通过指针可以更高效地访问数组元素,通过指针进行数组操作。

- 函数传参:通过指针可以在函数之间传递复杂的数据结构,如数组、结构体等。

- 数据结构实现:指针可以用来实现各种数据结构,如链表、树等。

2. 请简述 C 语言中的控制结构 if 语句和 switch 语句的区别。

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

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

计算机二级考试c语言试题及答案计算机二级考试C语言试题及答案一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,哪个运算符用于计算两个整数的最小公倍数?A. %B. /C. *D. &答案:A3. 下列哪个选项是正确的C语言数组声明?A. int array[10];B. int [10] array;C. Both A and BD. None of the above答案:C4. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strncat()D. strncpy()答案:A5. C语言中,以下哪个语句用于结束程序的执行?A. exit();B. return;C. break;D. continue;答案:A二、填空题6. 在C语言中,一个变量声明为`static int count;`,它的生命周期是_________。

答案:整个程序运行期间7. C语言中,`printf`函数用于输出,其对应的输入函数是_________。

答案:scanf8. 在C语言中,`sizeof`运算符用于获取_________。

答案:变量或类型所占内存的大小9. C语言中,`switch`语句中`case`后面跟的是_________。

答案:常量表达式10. C语言中,`for`循环的一般形式是`for(________;________;________)`。

答案:初始化表达式;条件表达式;迭代表达式三、简答题11. 简述C语言中指针和引用的区别。

答案:指针是一个变量,它存储了另一个变量的内存地址。

引用则是一个别名,它不是独立的变量,而是另一个已存在变量的另一个名字。

12. 解释C语言中的递归函数。

答案:递归函数是指在函数内部调用自身的函数。

全国计算机等级考试二级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语言试题及答案

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

计算机二级证c语言试题及答案一、选择题(每题2分,共40分)1. 下列哪个是C语言的关键字?A. mainB. ifC. forD. print2. C语言中,用于定义常量的关键字是:A. constB. staticC. finalD. volatile3. 在C语言中,定义整型变量的关键字是:A. floatB. intC. doubleD. char4. 下面哪个是C语言的赋值运算符?A. =B. ==C. +D. *5. 下列哪个运算符具有最高的优先级?A. +B. *C. =D. /二、填空题(每题4分,共40分)1. C语言中,用于输入函数的是______函数。

2. C语言中,用于输出函数的是______函数。

3. 声明函数的返回类型为整型时,应使用关键字______。

4. 下面代码的运行结果是:______。

int a = 5;int b = 2;double result = a / b;5. C语言中,用于定义宏的关键字是______。

三、编程题(共20分)请编写一个C语言程序,接受用户输入的四个整数,计算它们的和并输出结果。

```c#include <stdio.h>int main() {int num1, num2, num3, num4;printf("请输入四个整数:\n");scanf("%d %d %d %d", &num1, &num2, &num3, &num4);int sum = num1 + num2 + num3 + num4;printf("四个整数的和为:%d\n", sum);return 0;}```四、简答题(每题10分,共20分)1. 什么是C语言?C语言是一种广泛应用于系统编程和应用程序开发的程序设计语言,由Dennis Ritchie在20世纪70年代早期在贝尔实验室开发。

国家计算机二级c考试试题及答案

国家计算机二级c考试试题及答案

国家计算机二级c考试试题及答案一、选择题(每题2分,共40分)1. 下列关于C语言中变量定义的描述,错误的是:A. 变量必须先定义后使用B. 变量的类型必须与赋值的值类型一致C. 变量的作用域可以是局部的或全局的D. 变量的存储类别可以是自动的或静态的答案:B2. 在C语言中,用于文件操作的函数是:A. printfB. scanfC. fopenD. fclose答案:C3. 下列关于C语言中数组的描述,正确的是:A. 数组必须在函数内定义B. 数组的元素类型必须相同C. 数组的大小在定义后不能改变D. 数组可以作为函数的参数答案:B4. C语言中,用于定义结构体的关键字是:A. intB. structC. floatD. char答案:B5. 在C语言中,下列哪个运算符用于取地址?A. *B. &C. %D. #答案:B6. 下列关于C语言中指针的描述,错误的是:A. 指针可以指向任何类型的变量B. 指针变量本身也占用内存空间C. 指针可以被赋值为NULLD. 指针不能作为函数的参数答案:D7. 在C语言中,下列哪个函数用于字符串连接?A. strcatB. strcpyC. strcmpD. strlen答案:A8. C语言中,用于将字符串转换为浮点数的函数是:A. atoiB. atofC. itoaD. sprintf答案:B9. 下列关于C语言中函数的描述,正确的是:A. 函数必须有返回值B. 函数可以有多个返回值C. 函数的返回值类型必须与定义时的类型一致D. 函数可以嵌套定义答案:C10. 在C语言中,下列哪个关键字用于定义一个无限循环?A. whileB. forC. doD. goto答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是 ________ 。

答案:&&2. C语言中,用于定义一个空指针的值是 ________ 。

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

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

全国计算机c语言二级试题及答案全国计算机C语言二级试题及答案一、单选题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的整型常量表示方法?A. 0x1AB. 0.123C. 1.23e10D. 1.23E+10答案:A2. 下列关于C语言中数组的描述,错误的是?A. 数组可以存储相同类型的元素B. 数组的元素必须在编译时确定C. 数组的元素可以是任意数据类型D. 数组的大小在运行时可以改变答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. classB. structC. functionD. void答案:D4. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 下列哪个选项不是C语言中的控制结构?A. 循环B. 选择C. 跳转D. 继承答案:D6. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. _variableD. variable$答案:C7. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A8. 在C语言中,以下哪个选项是正确的结构体定义?A. struct {int a;float b;};B. struct {int a;float b;} myStruct;C. struct {int a;float b;} myStruct;D. struct myStruct {int a;float b;};答案:D9. C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fwriteD. All of the above答案:D10. 在C语言中,以下哪个选项是正确的指针类型声明?A. int *p;B. *int p;C. int *p;D. int p*;答案:A二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是________。

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

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

计算机国家二级考试c语言试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义:int a=5, b=2;,则表达式a%b的值是:A. 0B. 1C. 2D. 5答案:B3. 下列哪个选项不是C语言中合法的变量名?A. _sumB. sum$C. 2sumD. sum答案:C4. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strncat5. 若有定义:char c='A';,则变量c占用的内存空间是:A. 1字节B. 2字节C. 4字节D. 8字节答案:A6. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. "r+"答案:D7. 在C语言中,以下哪个关键字用于声明一个函数?A. voidB. intC. returnD. function答案:A8. 若有定义:int x=10;,则表达式x++的结果是:A. 9B. 10C. 11D. 无法确定答案:B9. 在C语言中,以下哪个选项是正确的字符串比较函数?B. strcpyC. strlenD. strcat答案:A10. 若有定义:int a=3, b=4;,则表达式a<b?a:b的值是:A. 3B. 4C. 7D. 无法确定答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个指针变量。

答案:*2. 若有定义:int a=5;,则表达式sizeof(a)的值是________字节。

答案:43. 在C语言中,使用________函数可以计算一个字符串的长度。

全国计算机等级考试二级C语言程序设计真题精选6(含答案)

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

站长提醒广大考生:下面的138道题目,在二级考试中命中率极高。

一、选择题(1)下面叙述正确的是(C)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是(C)A.队列B.线性表C.二叉树D.栈(3)在一棵二叉树上第5层的结点数最多是(B)注:由公式2k-1得A.8B.16C.32D.15(4)下面描述中,符合结构化程序设计风格的是(A)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用goto语句(5)下面概念中,不属于面向对象方法的是(D)注:P55-58A.对象B.继承C.类D.过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A.可行性分析B.需求分析C.详细设计D.程序编码(7)在软件开发中,下面任务不属于设计阶段的是(D)A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型(8)数据库系统的核心是(B)A.数据模型B.数据库管理系统C.软件工具D.数据库(9)下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)注:P108A.内模式B.外模式C.概念模式D.逻辑模式(11)算法的时间复杂度是指(C)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数(12)算法的空间复杂度是指(D)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间(13)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B)注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A.349B.350C.255D.351(14)结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性(15)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)注:即第一个阶段A.概要设计B.详细设计C.可行性分析D.需求分析(16)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是(A)注:P67A.控制流B.加工C.数据存储D.源和潭(17)软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)注:P66A.阶段性报告B.需求评审C.总结D.都不正确(18)下述关于数据库系统的叙述中正确的是(A)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据(19)关系表中的每一横行称为一个(A)A.元组B.字段C.属性D.码(20)数据库设计包括两个方面的设计内容,它们是(A)A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计(21)下列叙述中正确的是(A)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构(22)下列关于栈的叙述中正确的是(D)A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表(23)下列关于队列的叙述中正确的是(C)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表(24)对建立良好的程序设计风格,下面描述正确的是(A)注:P48A.程序应简单、清晰、可读性好B.符号名的命名要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无(25)下面对对象概念描述错误的是(A)注:P55A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态性属性(26)下面不属于软件工程的3个要素的是(D)注:P62A.工具B.过程C.方法D.环境(27)程序流程图(PFD)中的箭头代表的是(B)注:P81A.数据流B.控制流C.调用关系D.组成关系(28)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

其中数据独立性最高的阶段是(A)A.数据库系统B.文件系统C.人工管理D.数据项管理(29)用树形结构来表示实体之间联系的模型称为(B)A.关系模型B.层次模型C.网状模型D.数据模型(30)关系数据库管理系统能实现的专门关系运算包括(B)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表(31)算法一般都可以用哪几种控制结构组合而成(D)注:P3A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环(32)数据的存储结构是指(B)注:P13,要牢记A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据(33)设有下列二叉树:图见书P46对此二叉树中序遍历的结果为(B)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA(34)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)注:P56A.调用语句B.命令C.口令D.消息(35)检查软件产品是否符合需求定义的过程称为(A)注:P95A.确认测试B.集成测试C.验证测试D.验收测试(36)下列工具中属于需求分析常用工具的是(D)注:P67A.PADB.PFDC.N-SD.DFD(37)下面不属于软件设计原则的是(C)注:P73A.抽象B.模块化C.自底向上D.信息隐蔽(38)索引属于(B)A.模式B.内模式C.外模式D.概念模式(39)在关系数据库中,用来表示实体之间联系的是(D)A.树结构B.网结构C.线性表D.二维表(40)将E-R图转换到关系模式时,实体与联系都可以表示成(B)A.属性B.关系C.键D.域(41)在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A.确定性B.可行性C.无穷性D.拥有足够的情报(42)希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法(43)在深度为5的满二叉树中,叶子结点的个数为(C)A.32B.31C.16D.15(44)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B)注:要牢记A.N+1B.NC.(N+1)/2D.N/2(45)信息隐蔽的概念与下述哪一种概念直接相关(B)注:P74A.软件结构定义B.模块独立性C.模块类型划分D.模拟耦合度(46)面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考(47)在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C)注:总体设计也就是概要设计A.详细设计B.需求分析C.总体设计D.编程调试(48)软件调试的目的是(B)注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能(49)按条件f对关系R进行选择,其关系代数表达式为(C)A.R|X|RB.R|X|RfC.бf(R)D.∏f(R)(50)数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)注:P127,要牢记A.自顶向下B.由底向上C.由内向外D.由整体到局部(51)在计算机中,算法是指(C)A.查询方法B.加工方法C.解题方案的准确而完整的描述D.排序方法(52)栈和队列的共同点是(C)注:这一共同点和线性表不一样A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点(53)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(A)注:P38,前提要掌握三种遍历的方法A.cedbaB.acbedC.decabD.deabc(54)在下列几种排序方法中,要求内存量最大的是(D)注:要牢记,书中没有提到。

A.插入排序B.选择排序C.快速排序D.归并排序(55)在设计程序时,应采纳的原则之一是(A)注:和设计风格有关A.程序结构应有助于读者理解B.不限制goto语句的使用C.减少或取消注解行D.程序越短越好(56)下列不属于软件调试技术的是(B)注:P98A.强行排错法B.集成测试法C.回溯法D.原因排除法(57)下列叙述中,不属于软件需求规格说明书的作用的是(D)注:P71A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析(58)在数据流图(DFD)中,带有名字的箭头表示(C)A.控制程序的执行顺序B.模块之间的调用关系C.数据的流向D.程序的组成成分(59)SQL语言又称为(C)A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言(60)视图设计一般有3种设计次序,下列不属于视图设计的是(B)A.自顶向下B.由外向内C.由内向外D.自底向上(61)数据结构中,与所使用的计算机无关的是数据的(C)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构(62)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是(D)A.ABCEDB.DBCEAC.CDABED.DCBEA(63)线性表的顺序存储结构和线性表的链式存储结构分别是(B)A.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构(64)在单链表中,增加头结点的目的是(A)A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现(65)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(B)注:P73A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程(66)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(B)注:P82A.PAD图B.N-S图C.结构图D.数据流图(67)数据处理的最小单位是(C)注:数据项不可再分割A.数据B.数据元素C.数据项D.数据结构(68)下列有关数据库的描述,正确的是(C)注:P102A.数据库是一个DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件(69)单个用户使用的数据视图的描述称为(A)注:P108A.外模式B.概念模式C.内模式D.存储模式(70)需求分析阶段的任务是确定(D)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能(71)算法分析的目的是(D)注:书中没有总结,但要牢记A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进(72)链表不具有的特点是(B)A.不必事先估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比(73)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是(B)A.堆排序B.直接插入排序C.快速排序D.直接选择排序(74)用链表表示线性表的优点是(A)注:因为不需要移动元素A.便于插入和删除操作B.数据元素的物理顺序与逻辑顺序相同C.花费的存储空间较顺序存储少D.便于随机存取(75)下列不属于结构化分析的常用工具的是(D)注:P67A.数据流图B.数据字典C.判定树D.PAD图(76)软件开发的结构化生命周期方法将软件生命周期划分成(A)A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计(77)在软件工程中,白箱测试法可用于测试程序的内部结构。

相关文档
最新文档