C++练习试卷2及参考答案

合集下载

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考试真题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. 3D. 'ab'答案:A解析:在C语言中,字符常量需要用单引号括起来,因此'a'是合法的字符常量。

选项B是字符串常量,选项C是整数常量,选项D是两个字符的序列,不是单个字符常量。

2. 若有以下定义:```cint a = 3, b = 4;```则表达式`a + b`的值是:A. 7B. 3C. 4D. 0答案:A解析:根据题目中给出的变量定义,a的值为3,b的值为4。

因此,表达式`a + b`的值是3 + 4,即7。

3. 在C语言中,以下哪个选项是正确的整型变量声明?A. int a;B. float b;C. double c;D. All of the above答案:D解析:在C语言中,int、float和double都是合法的整型和浮点型变量声明。

因此,选项A、B和C都是正确的整型变量声明。

4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D解析:在C语言中,&&代表逻辑与,||代表逻辑或,!代表逻辑非,它们都是C语言中的逻辑运算符。

5. 若有以下定义:```cint x = 10;```则表达式`x % 3`的值是:A. 1B. 2C. 3D. 0答案:A解析:表达式`x % 3`表示x除以3的余数。

10除以3的商是3,余数是1,因此`x % 3`的值是1。

6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[10] = "Hello";B. char str[] = "Hello";C. Both A and BD. None of the above答案:C解析:在C语言中,选项A和B都是正确的字符串声明方式。

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语言测试题(含答案)
7.表达式(int)1.7*2+8/3-3%2的值是_________。
A. 2 B. 3 C. 4 D. 5
答案:
1. A
2. F
3. C
4. C
5. A
6. B
7. B
C语言测试题(第三章)
1.以下程序的输出结果是________。
main()
{
int k=8765;
printf("*%-06d*\n",k);
}
A.输出格式描述符不合法 B.*008765*
C.*8765 * D.*-08765*
【答案】 C.
2.有程序段如下:
int i;
float f;
scanf("i=%d,f=%f",&i,&f);
若要求把数值100和765.12分别赋给变量i和f,则正确的输入格式为________。
A.100765.12 B.i=100,f=765.12
z=x/y;
}
else
break;
}
printf("%5.2f\n",y);
}
运行该程序,按如下形式从键盘输入数据,程序的数出结果是________。
键盘输入数据:3.6,2.4
A. 1.50 B. 1.60 C. 2.0 D. 2.40
答案:
1. C 2. C 3. C 4. A 5. B
C语言测试题(第六章)
答案:
1. B
2. D
3. k=p
4.①str[i]!= '\0'或简写成str[i]
②str[i]>= 'a'&& str[i]<= 'z'

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

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

计算机二级c考试题目及答案考试题目一:1. 下面哪个选项中的语句能够正确实现两个整数的交换?A. a = b; b = a;B. a = b; b = a + b; a = b - a;C. temp = a; a = b; b = temp;D. a = a + b; b = a - b; a = a - b;答案:C. temp = a; a = b; b = temp;2. 在C语言中,关键字是指由编译器预定义,用来表示某种特定含义的标识符。

下列选项中,哪个不是C语言的关键字?A. elseB. whileC. friendD. break答案:C. friend3. 下列代码片段中,存在语法错误的是:A. int x; scanf("%d", &x);B. float y = 3.14;C. int a = 5, b = 10;D. for (int i = 0; i < 5; i++) {}答案:D. for (int i = 0; i < 5; i++) {}4. 在C语言中,什么是函数的返回值?A. 函数体内用于输出结果的语句B. 函数调用表达式的值C. 函数体中的变量D. 函数体内用于输入参数的语句答案:B. 函数调用表达式的值5. 下面哪个选项中的运算符具有最低的优先级?A. *B. ||C. ++D. &&答案:B. ||考试题目二:1. 下面关于数组的说法中,哪个是正确的?A. 数组中的元素必须是相同的数据类型B. 数组的大小可以在程序运行过程中改变C. 数组可以存储不同类型的数据D. 数组的下标从1开始计数答案:A. 数组中的元素必须是相同的数据类型2. 下列代码片段中,哪个选项中的循环语句可以正确输出数组元素的值?A. for (int i = 1; i <= n; i++) { printf("%d ", array[i]); }B. for (int i = 0; i < n; i++) { printf("%d ", array[i]); }C. while (i < n) { printf("%d ", array[i]); i++; }D. do { printf("%d ", array[i]); i++; } while (i < n);答案:B. for (int i = 0; i < n; i++) { printf("%d ", array[i]); }3. 在C语言中,下面哪个选项是正确的字符串表示方式?A. 'hello'B. "hello"C. `hello`D. “hello”答案:B. "hello"4. 下面哪个选项中的函数可以将字符串转换为整数?A. atof()B. atoi()C. strtoi()D. strol()答案:B. atoi()5. 在C语言中,下面哪个选项用于在程序中引入头文件stdlib.h?A. #include <stdlib>B. #include <stdlib.h>C. #include "stdlib.h"D. using namespace std;答案:B. #include <stdlib.h>注意:以上题目及答案仅供参考,实际考试内容以考试要求为准。

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

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

2016年计算机二级C语言测试题及答案解析(二) 基本输入输出及流程控制1.#in elude?mai n(){ int a=1,b=3,c=5;if (c==a+b)prin tf("yes\n");elseprin tf(" no\n");}运行结果为:no详见教材p89选择结构详见教材p91关系符号详见附录D p378符号的优先级==表示判断符号两边的值是否相等;二表示将符号右边的值赋给左边的变量本题考点是选择结构3种基本形式的第二种选择结构三种一般形式中的“语句”皆为复合语句,复合语句要用{ }括起来,只有当复合语句中只包括一条语句时可以省略{ },此题即如此,因此两个printf 操作没有加{ }若c==a+b 成立,则执行printf("yes\n");否则(即c==a+b不成立),执行printf("no\n");+的优先级高于==,因此先算a+b,值为4,表达式5==4不成立,因此执行printf("no\n"); 即输出字符串no2.?#in clude?mai n(){ int a=12, b= -34, c=56, min=0;mi n=a;if(mi n>b)?mi n=b;if(min >c)?mi n=c;prin tf("mi n=%d", mi n);}运行结果为:min二-34详见教材p89选择结构本题考点是选择结构3种基本形式的第一种一共包含了两个选择结构(两个if语句)定义变量,并赋值此时a=12, b= -34, c=56, min=O将a中值拷贝,赋给min,覆盖了min中的0,此时min中的值被更新为12。

若min>b成立,则执行min二b;若min>c成立,则执行min二c;输出min中的值12大于-34,第一个if语句的表达式成立,因此执行min二b;执行后min 中的值被更新为-34.-34小于56,第二个if语句的表达式不成立,因此不执行min二c;最后输出min中的值,为-34.3.#in elude?mai n(){ int x=2,y= -1,z=5;if(x if(yvO)?z=0;elsez=z+1;printf( “ %d\n” ,z);}运行结果为:5遇到选择结构,首先要明确条件表达式成立时执行哪些操作。

c二级考试试题和答案及分析

c二级考试试题和答案及分析

c二级考试试题和答案及分析1. 以下哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A分析:在C语言中,`int` 是一个关键字,用于声明整型变量。

而`float` 和 `double` 用于声明浮点型变量,`string` 不是C语言的关键字,它是C++中的关键字。

2. 以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. average(a, b)答案:C分析:在C语言中,并没有内置的 `sum` 函数,但是可以通过自定义函数来实现两个数的求和。

通常,自定义的求和函数可以命名为`sum`,其函数原型可以是 `int sum(int a, int b)`。

3. 在C语言中,以下哪个语句用于声明一个整型数组?A. int array[5];B. int [5] array;C. int array[];D. int array = 5;答案:A分析:在C语言中,声明一个整型数组的正确方式是指定数组类型、数组名和数组大小。

因此,`int array[5];` 是正确的声明方式,它声明了一个包含5个整型元素的数组。

4. 以下哪个选项是C语言中的条件语句?A. ifB. switchC. whileD. for答案:A分析:在C语言中,`if` 是条件语句,用于根据条件的真假来执行不同的代码块。

而 `switch` 是多分支选择语句,`while` 和 `for` 是循环语句。

5. 在C语言中,以下哪个函数用于输出字符串?A. printf("%s", str);B. scanf("%s", str);C. puts(str);D. gets(str);答案:C分析:`puts(str)` 是C语言中用于输出字符串的函数,它会在输出的字符串后自动添加一个换行符。

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

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

计算机二级c语言考试题及答案一、选择题1. 下面哪个标识符不符合C语言的命名规则?A.MyVariable B.2Cool C._age D.TotalMarks答案:B.2Cool2. 在C语言中,以下表达式的结果是什么?int x = 5, y = 10;int z = x++ + --y;printf("%d", z);答案:143. 下面哪个关键字不是C语言中的关键字?A.int B.for C.while D.switch答案:D.switch4. 下面哪个函数可以用于从标准输入获取一个字符?A.getchar() B.scanf() C.gets() D.puts()答案:A.getchar()5. 在C语言中,如何声明一个指向整型数据的指针变量? A.int *x; B.int x; C.*int x; D.*x int;答案:A.int *x;二、编程题题目一:请编写一个C程序,要求用户输入一个整数n,然后计算并输出1到n的所有整数之和。

代码如下:```c#include <stdio.h>int main() {int n, sum = 0;printf("请输入一个整数:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d的和为:%d\n", n, sum);return 0;}```题目二:请编写一个C程序,输入一个字符,判断它是大写字母、小写字母还是其他字符,并分别输出结果。

代码如下:```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("输入的字符是大写字母\n");} else if (ch >= 'a' && ch <= 'z') {printf("输入的字符是小写字母\n");} else {printf("输入的字符是其他字符\n");}return 0;}```题目三:请编写一个C程序,输入一个数字n,输出n的阶乘。

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

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

计算机二级c语言试题题库及答案一、选择题1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个函数用于将字符串从源地址复制到目标地址?A. strcpyB. strncpyC. strcatD. strcmp答案:A3. C语言中,用于声明一个变量的关键字是:A. varB. varibleC. letD. int答案:D二、填空题1. 在C语言中,定义一个整型数组的语句是:________。

答案:int array_name[size];2. 若一个函数的返回类型为void,则该函数______。

答案:不返回任何值3. 在C语言中,使用________关键字可以定义一个全局变量。

答案:extern三、简答题1. 简述C语言中指针的作用。

答案:指针在C语言中用于存储变量的内存地址,通过指针可以间接访问和操作变量的值。

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

答案:递归函数是指函数在其定义中调用自身的函数。

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

四、编程题1. 编写一个C语言程序,实现两个整数的加法。

```c#include <stdio.h>int add(int a, int b) {return a + b;}int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = add(num1, num2);printf("Sum of %d and %d is %d.\n", num1, num2, sum); return 0;}```2. 编写一个C语言程序,实现字符串反转。

```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) { char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str); return 0;}```。

计算机二级C语言测试题含答案

计算机二级C语言测试题含答案

计算机二级C语言测试题含答案计算机二级C语言测试题含答案C语言的设计目标是供应一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

下面我整理了计算机二级C语言测试题含答案,盼望对大家有关心!1、设一棵满二叉树共有15个结点,则在该满二叉树中的叶子结点数为()。

A.7B.8C.9D.10参考答案:B参考解析:在具有n个结点的满二叉树,其非叶子结点数为int(n/2),而叶子结点数等于总结点数减去非叶子结点数。

本题n=15,故非叶子结点数等于int(15/2)=7,叶子结点数等于15-7=8。

2、数据流图用于抽象描述一个软件的规律模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是()。

A.掌握流B.加工C.存储文件D.源和潭参考答案:A参考解析:数据流图用于抽象描述一个软件的规律模型,它由一些特定的图符构成,包括4个方面,即加工、数据流、存储文件、源和潭。

3、对关系S和R进行集合运算,结果中既包含S中的全部元组也包含R中的全部元组,这样的集合运算称为()。

A.并运算B.交运算C.差运算D.积运算参考答案:A参考解析:关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,新关系中包含两个关系中的全部元组。

4、下列方法中,属于白盒法设计测试用例的方法的是()。

A.错误推想B.因果图C.基本路径测试D.边界值分析参考答案:C参考解析:白盒测试方法也称为结构测试或规律测试,主要方法有规律掩盖测试、基本路径测试等。

5、设R是一个2元关系,有3个元组,S是一个3元关系,有3个元组。

如T=RX S,则T的元组的个数为()。

A.6B.8C.9D.12参考答案:C参考解析:R为n元关系,有P个元组S为m元关系,有q 个元组。

两个关系笛卡儿积是一个n+m元的关系,元组个数是qXp。

所以T的元组的个数为9个。

6、在数据库系统中,数据库用户能够观察和使用的局部数据的规律结构和特征的描述是()。

全国等级考试二级c试题答案

全国等级考试二级c试题答案

全国等级考试二级c试题答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中定义一个整型变量的正确方式?A. int number;B. integer number;C. var number;D. number int;答案:A2. 在C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C3. 若有以下代码段:```cint a = 5, b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B4. C语言中,用于计算两个数的乘积的运算符是什么?A. +B. -C. *D. /答案:C5. 在C语言中,哪个函数用于输入一个字符?A. scanf()B. printf()C. getchar()D. getc()答案:C6. 若有以下代码段:```cint x = 3;printf("%d", x++);```执行后,输出的结果是多少?A. 2B. 3C. 4D. 5答案:B7. 在C语言中,哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C8. 下列哪个选项是C语言中声明一个浮点型变量的正确方式?A. float number;B. floating number;C. real number;D. decimal number;答案:A9. C语言中,用于计算两个数的和的运算符是什么?A. +B. -C. *D. /答案:A10. 若有以下代码段:```cint a = 5, b = 10;b = a + b;```执行后,变量b的值是多少?A. 5B. 10C. 15D. 20答案:C11. 在C语言中,哪个函数用于输出一个整数?A. scanf()B. printf()C. getchar()D. getc()答案:B12. C语言中,用于计算两个数的差的运算符是什么?A. +B. -C. *D. /答案:B13. 若有以下代码段:```cint x = 3;printf("%d", ++x);```执行后,输出的结果是多少?A. 3B. 4C. 5D. 6答案:B14. 在C语言中,哪个关键字用于声明一个数组?A. arrayB. listC. sequenceD. []答案:D15. C语言中,用于计算两个数的商的运算符是什么?A. +B. -C. *D. /答案:D16. 若有以下代码段:```cint a = 5, b = 10;a = a * b;```执行后,变量a的值是多少?A. 25B. 50C. 100D. 500答案:B17. 在C语言中,哪个函数用于输入一个字符串?A. scanf()B. printf()C. gets()D. fgets()答案:D18. C语言中,用于计算两个数的余数的运算符是什么?A. +B. -C. %D. /答案:C19. 若有以下代码段:```cint x = 3;printf("%d", x--);```执行后,输出的结果是多少?A. 2B. 3C. 4D. 5答案:B20. 在C语言中,哪个关键字用于声明一个结构体?A. structB. typeC. classD. record答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个字符型变量的关键字是________。

c语言二级考试题及答案

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语言考试试题及答案

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

计算机二级c语言考试试题及答案一、单项选择题(每题2分,共20分)1. 下列关于C语言的描述中,不正确的是()。

A. C语言是一种高级编程语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持多种数据类型答案:B2. C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A3. 下列选项中,不属于C语言运算符的是()。

A. %B. &&C. :D. ++答案:C4. 在C语言中,用于定义一个函数的关键字是()。

A. defineB. functionC. voidD. int答案:B5. 下列关于C语言数组的描述中,正确的是()。

A. 数组可以存储不同类型的数据B. 数组的索引从0开始C. 数组的大小在定义后可以改变D. 数组的元素必须是连续存储的答案:B6. 在C语言中,用于输入输出的库函数是()。

A. printfB. scanfC. coutD. cin答案:B7. 下列关于C语言指针的描述中,不正确的是()。

A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以进行算术运算D. 指针可以存储任何类型的数据答案:D8. 在C语言中,用于定义一个枚举类型的关键字是()。

A. enumB. structC. unionD. typedef答案:A9. 下列关于C语言函数的描述中,不正确的是()。

A. 函数可以有返回值B. 函数可以没有返回值C. 函数可以没有参数D. 函数的参数必须是变量答案:D10. 在C语言中,用于定义一个联合体的关键字是()。

A. unionB. structC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是______。

答案:&&2. C语言中,用于声明一个字符型变量的关键字是______。

C二级试题及答案解析

C二级试题及答案解析

1.以下有4组用户标识符,其中合法的一组是()。

A) For -sub Case B) 4d DO SizeC) f2_G3 IF abc D) WORD void define答案C解析:标识符的命名规则:由字母、数字、下划线组成,第一个字符必须是字母或者下划线,标示符的命名不能同C语言的关键字相同(关键字表格教材第6页)A-sub错误;B,4d错误;Dvoid是关键字。

注意:关键字都是小写的,如果大写就不是关键字了。

2、以下选项中合法的字符常量是()。

A) “B”B) …\010‟C) 68 D) D答案B解析:字符常量使用‘’括起来的。

参考课本24页转义字符书写方法:1.\加上字母;2.\加上1~3位八进制数,这里八进制数以0开头;3.\加上1~2位十六进制数,这里十六进制数以x开头。

例如:‘\n’第一种方法‘\012’第二种方法‘\xa’第三种方法4、设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为()。

A) int B) float C)double D) 不确定答案:C,按照低精度转换成高精度的原则(教材34页)5、.以下程序的输出结果是main(){char c=‘z';printf(“%c”,c-25);}A) a B) Z C) z-25 D) y答案:A解析:方法一:‘z’对应的ASCII码是122,122-25=97,输出的是%c,即字符的形式,97对应小写字母a。

方法二:与小写字母z相差22的就是小写字母a6、设有int x=11; 则表达式(x++ * 1/3) 的值是()。

A)3B) 4C) 11D) 12答案:A解析:x++,先取x的值再乘以1除以3,11*1=11,11/3=3因为都是整形的数据,因此相除之后的结果应该为整形。

7、假设所有变量均为整型,则表达式(a=2, b=5, b++, a+b)的值是()。

A) 7B) 8C) 6D) 2答案:B解析:逗号表达式的值为表达式最右边式子的值,计算过程a=2,b=5,b=b+1=6,a+b=2+6=8;最右边式子是a+b其值为8,因此整个逗号表达式的值为8.8、以下程序的输出结果是()。

全国等级考试二级c试题及答案

全国等级考试二级c试题及答案

全国等级考试二级c试题及答案全国等级考试二级C试题及答案1. 选择题:以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. 填空题:在C语言中,以下代码段的输出结果是什么?```c#include <stdio.h>int main() {int i = 10;printf("%d", i++);return 0;}```输出结果为:103. 简答题:请解释C语言中指针的概念及其用途。

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

指针的主要用途包括动态内存分配、数组操作、函数参数传递等,它们使得程序能够更加灵活地处理数据和内存。

4. 编程题:编写一个C语言函数,该函数接受一个整数数组和数组的大小作为参数,返回数组中的最大值。

```cint findMax(int arr[], int size) {int max = arr[0];for (int i = 1; i < size; i++) {if (arr[i] > max) {max = arr[i];}}return max;}```5. 论述题:请论述C语言中结构体(struct)的定义和使用。

答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的数据结构。

定义结构体时,需要使用`struct`关键字,后跟结构体的名称和一对花括号,其中包含结构体成员的定义。

结构体的使用包括声明结构体变量、访问成员、作为函数参数传递等,它在处理复杂数据时非常有用。

6. 多选题:以下哪些是C语言中合法的函数声明?A. void myFunction(int a, int b);B. int myFunction();C. double myFunction(int a);D. void myFunction(int a, double b);答案:A, B, C, D7. 判断题:C语言中的全局变量在整个程序的生命周期内都是有效的。

c语言二级考试题及答案

c语言二级考试题及答案

c语言二级考试题及答案一、考试题目1. 判断题:a) C语言中,switch语句中的case标签可以是字符型常量、整型常量、枚举类型常量以及浮点型常量。

b) C语言中,指针变量可以通过使用*运算符来获取指针所指向的变量的值。

2. 填空题:a) 下列哪个关键字用于定义无返回值的函数:______。

b) 在C语言中,使用malloc函数可以动态申请内存空间,并返回所申请内存空间的首地址。

申请的内存空间大小由______指定。

3. 简答题:a) 请简述C语言中的常量、变量和数组的概念及其区别。

b) 请简要解释C语言中的递归函数,并说明其优缺点。

二、答案解析1. 判断题:a) 正确。

C语言中,switch语句中的case标签可以是字符型常量、整型常量、枚举类型常量以及浮点型常量。

b) 错误。

指针变量可以通过使用*运算符来获取指针所指向的变量的值。

2. 填空题:a) void。

b) sizeof运算符。

3. 简答题:a) 常量是指在程序执行过程中其值不会发生改变的量,可以是整数常量、浮点数常量、字符常量等。

变量是可变的量,可以通过赋值改变其值,也可以通过地址访问。

数组是相同类型的数据元素的集合,通过下标访问。

b) 递归函数是指在函数体内调用自身的函数。

其优点是可以简化问题的解决过程,使代码更加简洁。

缺点是递归调用会消耗额外的系统资源,并有可能导致栈溢出的问题。

通过以上的考试题目和答案解析,希望对您理解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 二级考试试题和答案及分析**C 二级考试试题和答案及分析**一、选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x12B. 1.5e2C. 0123D. 1.23**答案:A****分析:**在C语言中,0x12是正确的十六进制表示,1.5e2是浮点数表示,0123是八进制表示,而1.23是浮点数表示。

2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2**答案:B, C****分析:**在C语言中,标识符可以以字母、下划线开头,但不能以数字开头。

因此,2variable和variable-2都是不合法的,而variable2和_variable是合法的。

3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello" "World!"D. 'Hello' 'World!'**答案:A, C****分析:**在C语言中,字符串字面量需要用双引号括起来,因此A选项是正确的。

C选项中,两个字符串字面量之间没有加号,它们会被编译器自动连接起来,也是正确的。

4. 下列哪个选项是C语言中的合法数组声明?A. int array[5];B. int array[];C. int array[5] = {1, 2, 3, 4, 5};D. int array = {1, 2, 3, 4, 5};**答案:A, B, C****分析:**在C语言中,A选项和C选项都是合法的数组声明。

B选项声明了一个未指定大小的数组,这也是合法的。

D选项是错误的,因为它试图声明一个整型变量而不是数组。

5. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int x, int y);B. int add();C. int add(int, int);D. int add(int x, y);**答案:A, C****分析:**在C语言中,函数声明需要指定参数的类型和数量。

计算机等级考试二级c答案下载

计算机等级考试二级c答案下载

计算机等级考试二级c答案下载计算机等级考试二级C语言是针对计算机编程能力的一项专业考试,它涵盖了C语言的基本语法、数据结构、算法设计等内容。

以下是部分模拟试题及其答案,供考生参考。

1. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x1AB. 0b101C. 0.5D. 1e2答案:A解析:在C语言中,整型常量可以用十六进制表示,前缀为0x,因此选项A中的0x1A是正确的十六进制整型常量表示。

选项B中的0b101是二进制表示,不是整型常量。

选项C和D都是浮点数表示,不符合整型常量的定义。

2. 下列哪个函数用于计算数组中元素的和?A. sum()B. count()C. average()D. total()答案:A解析:在C语言的标准库中,没有直接提供计算数组元素和的函数,但可以通过自定义函数实现。

sum()函数通常用于计算数组元素的总和。

count()函数用于计算数组中满足特定条件的元素数量,average()函数用于计算数组元素的平均值,total()不是C语言标准库中的函数。

3. 在C语言中,以下哪个关键字用于声明静态变量?A. staticB. volatileC. constD. extern答案:A解析:static关键字用于声明静态变量,它使得变量的生命周期延长至整个程序的运行周期,并且只能在声明它的文件内部访问。

volatile关键字用于声明易变变量,告诉编译器不要优化这些变量的访问。

const关键字用于声明常量,extern关键字用于声明外部变量,即变量定义在其他文件中。

4. 下列哪个选项是C语言中正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(int a);答案:A解析:在C语言中,函数声明需要指明函数的返回类型、函数名以及参数列表。

选项A正确地声明了一个名为add的函数,它接受两个int 类型的参数并返回一个int类型的值。

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

C++练习试卷2及参考答案一、填空题(每小题2分,共16分)1.对象中封装了描述该对象的①和②,每个对象就是一个微小的程序。

2.类是抽象的,①占用内存,而对象是具体的,②占用内存。

3.封装可以使得程序中各部分之间的相互影响变①,并且提高程序的安全性。

4.继承的方式有三种:①继承、②继承、③继承。

5.虚拟函数在①时表现出多态功能;而重载函数则在②时表现出多态性。

6.定义抽象类就是在类定义中至少声明一个①函数。

7.所谓模板是一种使用类型参数来产生一系列①或②的机制,是C++的一个重要特性。

8.如果异常错误类型为C++的类,并且该类有其基类,则应该将①类的错误处理程序放在前面, ②类的错误处理程序放在后面。

二、单项选择题(每小题2分,共20分)1、下列函数中,( )不能重载.A.成员函数B.非成员函数C.析构函数D.构造函数2、.继承具有( ),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员.A.规律性B.传递性C.重复性D.多样性3、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中, ( )是正确的.A.void print() constB.const viod print()C.void const print()D.void print(const)4、.类模板的使用实际上是将类模板实例化成一个具体的( ).A.类B.对象C.函数D.模板类5、( )是析构函数的特征.A.一个类中只能定义一个析构函数B.析构函数名与类名不同C.析构函数的定义只能在类体内D.析构函数可以有一个或多个参数6、采用函数重载的目的在于( ).A.实现共享B.减少空间C.提高速度D.使用方便,提高可读性7、下列do-while循环的循环次数为( ).已知:int i=6;do{cout<<i--<<endl;i--;}while(i!=0);A.0B.1C.3D.无限8、C++语言中规定函数的返回值的类型是由( ).A.return语句中的表达式类型所决定B.调用该函数时的主调用函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定9、( ).是子类对父类的函数覆盖而不是重载,而覆盖是一种浮在表面的遮掩,而不是渗透性、摧毁性的重建。

A. 重载函数B.友元函数C.虚函数D.模板函数10、要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( )合适。

A. 内联函数;B. 重载函数;C. 递归调用;D. 嵌套调用。

三、简述题(9分)简述对象化编程与过程化编程的优缺点。

四、阅读程序,写出运行结果(每小题7分,共35分)1.//////////////////////////////// cat.h ////////////////////////////////#include <iostream.h>class Cat{ public:int GetAge();void SetAge(int age);void Meow(); //喵喵叫protected:int itsAge;};int Cat::GetAge(){return itsAge;}void Cat::SetAge(int age) {itsAge=age;}void Cat::Meow(){cout<<“Meow.\n”;}////////////////////////////////////////// cat.cpp //////////////////////////////////////////#include <iostream.h>#include “cat.h”void main(){Cat frisky;frisky.SetAge(5);frisky.Meow();cout<<“frisky is a cat who is”<<frisky.GetAge()<<“years old. \n”;frisky.Meow();}2.===========================================================#include <iostream.h>class A{ public:A(); A(int i,int j);~A(){cout<<"Destructor.\n";}void print();private:int a,b;};A::A() { a=5;b=10;cout<<"Default constructor.\n"; } A::A(int i,int j){ a=i,b=j;cout<<"Constructor.\n";} void A::print(){cout<<"a="<<a<<",b="<<b<<endl;} void main(){ A obj1,obj2(15,18);obj1.print();obj2.print(); }3.============================================================#include <iostream.h>void main(){ int x=7,y=3;switch(x%2) // 求余数{ case 1:switch (y){ case 0:cout<<"AAAA\t";case 1:cout<<"BBBB\t";break;default: cout<<"CCCC\t";}case 2:cout<<"Thanks\n";}}4. ============================================================#include <iostream.h> #include <string.h> template<class T>T min(T& a, T& b) { return a>b?b:a;} char* min(char* a, char* b){ return (strcmp(a, b)>0 ? b: a);} void main(){ cout <<min("Hello", "Good") <<endl; cout <<min(3,8) <<endl;}5. ===========================================================#include <iostream.h>class ST{public:ST(){cout<<”constructing…”<<endl;}~ ST(){cout<<”destructing…”<<endl;} };void main(){ ST st;try{ cout<<” exception start…”<<endl;throw 12;cout<<” exception end…”<<endl; }catch(int){cout<<"int exception.\n"; }catch(char c){cout<<"char exception.\n"<<c<<endl;} cout<<"That's ok.\n";}五、阅读下列程序,添上一个拷贝构造函数来完善整个程序,然后写出运行结果。

(10分)#include<iostream>using namespace std; class Vector{public:Vector(int s=10);void Display();void Set();~Vector(); protected:int size;int* buffer;};Vector::Vector(int s){ buffer=new int[size=s];for(int i=0;i<size;i++)buffer[i]=i*i;} void Vector::Display(){ for(int j=0;j<size;j++)cout<<buffer[j]<<endl;}void Vector::Set(){ for(int j=0;j<size;j++) buffer[j]=j+1;}Vector::~ Vector(){ delete[]buffer;}void main(){ Vector a(6);Vector b(a);a.Set();b.Display();}六、编程题(10分)编写class cA的派生类class cAB,增加成员函数,用于求圆的周长class cA{int r;public:cA(int x){ r=x; }double area( ) { return r*r*3.14; } int get_r( ) { return r; }};C++练习试卷2参考答案及评分标准一、填空题(每小题2分,共16分)1. ①属性②操作2. ①不要②要3. ①小4. ①公有②保护③私有5.①运行②编译 6. ①纯虚7. ①模板类②模板函数 8. ①派生类②基类二、单项选择题(每小题2分,共20分)三、简述题(9分)对象化编程特点描述(+3分)过程化编程特点描述(+3分)两者比较(+3分)四、阅读程序,写出运行结果(每小题7分,共35分)1、Meow (+2分)frisky is a cat who is 5 years old (+3)Meow (+2分)2、Default constructor (+1分)Constructor (+1分)a=5,b=10 (+1分)a=10,b=18 (+2分)Destructor (+1分)Destructor (+1分)3、CCCC (+3)Thanks (+4) 4. Good (+4)3 (+3) 5.constructing… (+1) exception start… (+1) int exception. (+2) That's ok. (+1) destructing… (+2)五、阅读下列程序,添上一个拷贝构造函数来完善整个程序,然后写出运行结果。

相关文档
最新文档