c++二级试题
- 格式:doc
- 大小:79.00 KB
- 文档页数:12
c国家二级考试真题及答案1. 单选题:下列哪个选项是C语言中用于声明整型变量的关键字?A. intB. floatC. doubleD. char答案:A2. 多选题:在C语言中,哪些运算符用于比较两个值?A. ==(等于)B. !=(不等于)C. <(小于)D. >(大于)答案:A、B、C、D3. 填空题:在C语言中,使用____关键字可以定义一个函数。
答案:void4. 判断题:C语言中的数组索引是从0开始的。
答案:正确5. 简答题:请解释C语言中的指针是什么,并给出一个声明指针的示例。
答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。
声明指针的示例代码如下:```cint *ptr;```这里`ptr`是一个指向整型数据的指针。
6. 编程题:编写一个C语言程序,计算并输出1到100之间所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("The sum of even numbers between 1 and 100is: %d\n", sum);return 0;}```7. 阅读程序题:分析以下代码段的功能,并指出其输出结果。
```c#include <stdio.h>int main() {int a = 10;if (a > 5) {printf("%d\n", a);} else {printf("a is not greater than 5\n");}return 0;}```答案:该代码段的功能是判断变量`a`的值是否大于5,如果是,则输出`a`的值;否则,输出"a is not greater than 5"。
计算机等级考试二级C真题参考答案及解析1、以下选项中可作为C语言合法常量的是______。
A) -80. B) -080 C) -8e1.0 D) -80.0e 【答案】A【解析】本题考点为数值常量的表示。
在C语言中,以0开头的整型常量为八进制数,其有效数字符号为0~7,故选项B错误。
在以指数形式表示实型常量时,e后面的指数只能是整数,且必须含有指数,故选项C、D错误。
2、以下不能定义为用户标识符的是______。
A) Main B) _0 C) _int D) sizeof 【答案】D解析】本题考点是C语言中标识符的命名规则。
C语言中的标识符包括变量名、符号常量名、函数名、数组名、结构名、类型名、文件名等,C语言中规定标识符只能由字母、数字和下划线三种符号组成,并且标识符的首字符必须是字母或下划线,C语言中的关键字如语句、数据类型名等不允许作为用户定义的标识符。
3、以下选项中,不能作为合法常量的是______。
参见第1题解析。
A) 1.234e04 B) 1.234e0.4 C) 1.234e+4 D) 1.234e0 【答案】B【解析】4、数字字符0的ASCII值为48,若有以下程序:main(){ char a='1',b='2'; printf("%c,",b++);printf("%d\n",b-a); }程序运行后的输出结果是______。
A) 3,2 B) 50,2 C) 2,2 D) 2,50 【答案】C【解析】本题考点为字符型数据的运算。
字符型数据的实质是字符的ASCII编码,因此字符型数据可以作为一个整数进行运算,参加运算的数据为字符对应的ASCII码。
因为b='2',故执行b++后b='3',但因在语句printf("%c,",b++);中b++为后增量,输出字符仍为'2',而b-a='3'-'1'=2,本题正确答案为C。
计算机二级c河北考试试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下选项中不是合法的变量名的是()。
A. _123B. intC. a_bD. 2abc答案:B2. 以下关于C语言中数组的描述,错误的是()。
A. 数组可以存储相同类型的元素B. 数组可以存储任意类型的数据C. 数组元素的下标从0开始D. 数组必须在编译时分配内存答案:B3. 在C语言中,下列哪个关键字用于定义函数()。
A. ifB. forC. intD. void答案:C4. 下列关于指针的描述中,正确的是()。
A. 指针可以存储任意类型的数据B. 指针本身不占用内存C. 指针可以存储变量的地址D. 指针可以作为函数的参数答案:C5. 在C语言中,以下关于文件操作的描述,错误的是()。
A. 文件操作需要包含头文件stdio.hB. 文件指针的类型是FILE*C. 文件操作函数fopen()用于打开文件D. 文件操作函数fclose()用于关闭文件答案:A6. 在C语言中,以下哪个运算符用于取模运算()。
A. %B. /C. *D. +答案:A7. 在C语言中,以下哪个关键字用于定义结构体()。
A. structB. unionC. enumD. typedef答案:A8. 在C语言中,以下关于函数的描述,错误的是()。
A. 函数可以返回任意类型的数据B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以有多个参数答案:C9. 在C语言中,以下关于预处理指令的描述,错误的是()。
A. #include用于包含头文件B. #define用于定义宏C. #ifdef用于条件编译D. #undef用于取消宏定义答案:C10. 在C语言中,以下关于位运算的描述,错误的是()。
A. &表示按位与B. |表示按位或C. ^表示按位异或D. ~表示按位非答案:D二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型变量a,其值为10,应该使用语句________。
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二级考试试题和答案及分析1. 题目:以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable$name答案:B分析:在C语言中,变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。
因此,选项B "variable2" 是合法的变量名,而其他选项因包含非法字符或不符合命名规则而不正确。
2. 题目:以下哪个选项是C语言中正确的整型常量表示?A. 0x1AB. 0X1AC. 0x1aD. 0X1a答案:A分析:C语言中的整型常量可以用十六进制形式表示,十六进制常量以"0x"或"0X"开头,后面跟着十六进制数字。
因此,选项A "0x1A" 和选项B "0X1A" 都是正确的,但选项C "0x1a" 和选项D "0X1a" 也是正确的,因为十六进制常量不区分大小写。
3. 题目:以下哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!\"D. "Hello, World!\"答案:A分析:在C语言中,字符串字面量是用双引号括起来的字符序列。
选项A "Hello, World!" 是正确的字符串字面量。
选项B 使用了单引号,表示单个字符而不是字符串。
选项C 和选项D 中的反斜杠没有被正确转义,因此它们不是有效的字符串字面量。
4. 题目:以下哪个选项是C语言中正确的函数声明?A. int add(int a, int b);B. int add(a, b);C. add(int a, int b);D. int add();答案:A分析:在C语言中,函数声明需要指定返回类型和参数类型。
黑龙江省c二级考试真题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A2. 下列哪个选项是C语言中的逻辑运算符?A. %B. &&C. =D. !=答案:B3. 在C语言中,哪个函数用于输出字符串?A. printf()B. scanf()C. gets()D. puts()答案:D4. 若有定义:int a=1, b=2; 则表达式 a++ + b++ 的值是:A. 3B. 4C. 5D. 65. 在C语言中,用于定义一个字符型变量的关键字是:A. intB. charC. floatD. double答案:B6. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B7. 在C语言中,哪个函数用于输入一个整型变量?A. printf()B. scanf()C. gets()D. puts()答案:B8. 若有定义:int a=5; 则表达式 a++ 的值是:A. 4B. 5C. 6D. 无法确定答案:B9. 在C语言中,用于定义一个浮点型变量的关键字是:B. floatC. doubleD. char答案:B10. 下列哪个选项是C语言中的位运算符?A. &&B. ||C. &D. ^答案:C二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个二维数组的语法是:int array[行数][列数];2. C语言中的字符串是以字符______作为结束标志的;答案:'\0'3. 若有定义:int a=10; 则表达式 a%3 的值是______;答案:14. 在C语言中,用于定义一个无符号整型变量的关键字是______;答案:unsigned int5. 若有定义:float a=3.14; 则表达式 a*100 的值是______;答案:314.06. 在C语言中,用于定义一个长整型变量的关键字是______;答案:long int7. 若有定义:char a='A'; 则表达式 a+32 的值对应的字符是______;答案:'a'8. 在C语言中,用于定义一个短整型变量的关键字是______;答案:short int9. 若有定义:double a=1.1; 则表达式 a*10 的值是______;答案:11.010. 在C语言中,用于定义一个布尔型变量的关键字是______;答案:_Bool三、编程题(每题10分,共60分)1. 编写一个C语言程序,计算并输出1到100之间所有奇数的和。
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二级考试试题及答案第一部分:听力理解 (共20小题,每小题1分,共20分)请听下面的对话,根据对话内容选择正确答案。
1. A. In a library. B. In a bookstore. C. In a coffee shop.2. A. At 7:00. B. At 7:30. C. At 8:00.3. A. By bus. B. By subway. C. By taxi.4. A. Two. B. Three. C. Four.5. A. A teacher and a student. B. A doctor and a patient. C. A salesperson and a customer.请听下面的对话,根据对话内容选择正确答案。
6. A. At a hotel. B. At an airport. C. At a train station.7. A. The blue one. B. The black one. C. The red one.8. A. Next Monday. B. Next Thursday. C. Next Sunday.9. A. A police officer. B. A hotel receptionist. C. A taxi driver.10. A. Going to a museum. B. Going to a party. C. Going to a concert.请听下面的对话,根据对话内容选择正确答案。
11. A. At a bookstore. B. At a library. C. At a coffee shop.12. A. By car. B. By bus. C. By subway.13. A. Blue. B. Red. C. White.14. A. Writing a report. B. Reading a book. C. Finishing an assignment.15. A. Two days. B. Three days. C. Four days.请听下面的对话,根据对话内容选择正确答案。
浙江省二级c理论考试试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ->D. ::答案:D3. 在C语言中,用于定义数组的关键字是()。
A. arrayB. listC. vectorD. int答案:D4. 下列哪个选项不是C语言中的循环控制语句?()A. forB. whileC. do-whileD. switch5. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. voidD. int答案:C6. C语言中,用于声明一个指针变量的关键字是()。
A. ptrB. pointerC. *D. &答案:C7. 在C语言中,用于定义一个枚举类型的关键字是()。
A. enumB. typeC. typedefD. struct答案:A8. 下列哪个选项是C语言中的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C9. 在C语言中,用于定义一个联合体的关键字是()。
B. structC. enumD. typedef答案:A10. C语言中,用于定义一个宏的预处理指令是()。
A. #defineB. #includeC. #importD. #pragma答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个变量的关键字是________。
答案:int2. 在C语言中,用于声明一个函数的关键字是________。
答案:void3. C语言中,用于定义一个枚举类型的关键字是________。
答案:enum4. 在C语言中,用于定义一个联合体的关键字是________。
答案:union5. C语言中,用于定义一个宏的预处理指令是________。
浙江省二级c语言考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. intB. floatC. returnD. void答案:D2. 若有定义 int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式的值不为5?A. a[4]B. a[5]C. a[0]D. *(a + 4)答案:B3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. %B. /C. *D. ^答案:C4. 下面哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D5. 在C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 若有定义 int x = 10;,则以下哪个表达式的值不为10?A. x++B. ++xC. x--D. --x答案:D7. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A8. 下面哪个选项不是C语言中的存储类别?A. autoB. staticC. registerD. volatile答案:D9. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fgetc()D. fprintf()答案:A10. 若有定义 int a[3][2] = {{1, 2}, {3, 4}, {5, 6}};,则以下哪个表达式的值不为4?A. a[1][1]B. a[2][0]C. a[0][1]D. a[1][0]答案:B二、填空题(每题2分,共20分)1. 在C语言中,字符'A'的ASCII码值是__65__。
2. 若有定义 int a = 10;,则表达式 a % 3 的值是__1__。
计算机二级证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考试真题及答案一、单项选择题(每题1分,共40分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. functionD. void答案:D2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C3. C语言中,哪个运算符用于计算两个数的和?A. +=B. +=C. -D. +答案:D4. 若有定义:int a=5, b=6; 则表达式 a++ + b 的值是多少?A. 10B. 11C. 12D. 13答案:B5. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strncpy()答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个结构体。
答案:struct2. 若变量x和y都是int类型,且x=1,y=2,则表达式x++ + y++的值为________。
答案:33. 在C语言中,使用________函数可以将一个浮点数转换为字符串。
答案:sprintf()4. 若有数组定义:int arr[5] = {1, 2, 3, 4, 5}; 则表达式arr[0] + arr[2]的值为________。
答案:45. 在C语言中,使用________函数可以打开一个文件。
答案:fopen()三、编程题(每题20分,共40分)1. 编写一个C语言函数,该函数接受一个整数数组和数组的大小,然后计算并返回数组中所有元素的总和。
答案:```cint sumArray(int arr[], int size) {int sum = 0;for (int i = 0; i < size; i++) {sum += arr[i];}return sum;}```2. 编写一个C语言程序,该程序接受用户输入的两个整数,然后计算并输出这两个整数的乘积。
c国家二级考试真题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable_2答案:B2. 下列关于C语言中整型常量的描述,错误的是?A. 整型常量可以是正数或负数B. 整型常量可以是十进制、八进制或十六进制C. 整型常量必须以数字开头D. 整型常量可以带有小数点答案:D3. 在C语言中,以下哪个选项表示的是逻辑与操作?A. &&B. ||C. !D. ~答案:A4. 若有定义 `int a[5] = {1, 2, 3, 4, 5};`,则 `a[0]` 的值是多少?A. 1B. 2C. 3D. 4答案:A5. 在C语言中,以下哪个关键字用于定义函数?A. intB. voidC. returnD. function答案:B6. 下列哪个选项不是C语言标准库函数?A. printf()B. scanf()C. cout()D. sqrt()答案:C7. 下列关于C语言中数组的描述,正确的是?A. 数组的大小在定义后可以改变B. 数组的元素必须是同一数据类型C. 数组名代表数组的首地址D. 数组名可以作为函数参数直接传递答案:B8. 在C语言中,以下哪个选项表示的是逻辑或操作?A. &&B. ||C. !D. ~答案:B9. 若有定义 `int a[5] = {1, 2, 3, 4, 5};`,则 `a[4]` 的值是多少?A. 1B. 2C. 3D. 5答案:D10. 在C语言中,以下哪个关键字用于声明变量?A. intB. voidC. returnD. function答案:A二、填空题(每题2分,共20分)1. 在C语言中,字符常量可以用单引号括起来,例如:'A'。
2. C语言中,`sizeof` 运算符用于获取数据类型或变量所占的字节数。
c语言二级考试题库考试题目一:1. (单选题)以下关于C语言中的运算符,哪个是正确的?A. = 是赋值运算符B. * 是取余运算符C. + 是自增运算符D. / 是逻辑与运算符答案:A2. (多选题)以下哪些是C语言的控制语句?A. if-else语句B. for循环语句C. switch语句D. do-while循环语句答案:A、B、C、D3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint x = 10;float z = x / y;printf("%f", ____);```答案:z4. (判断题)在C语言中,可以使用浮点数来进行整数运算。
答案:错误考试题目二:1. (单选题)以下表达式的值是多少?```cint a = 10;int b = 5;int c = a++ + ++b;```A. 25B. 26C. 27D. 282. (多选题)以下哪些是C语言中的数据类型?A. intB. floatC. charD. string答案:A、B、C3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint i;for (i = 0; i < 10; i++) {printf("%d ", i);}```答案:无4. (判断题)C语言中的逻辑运算符有 &&、|| 和 !。
答案:正确考试题目三:1. (单选题)以下哪个选项可以用来定义一个常量?A. const int x;B. readonly int y;C. final int z;D. let int w;答案:A2. (多选题)以下哪些是C语言中的关键字?A. whileB. switchC. goD. break答案:A、B3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint x = 10;int y = (x > 5) ? 1 : 0;printf("%d", ____);```答案:y4. (判断题)在C语言中,可以直接对两个字符串进行比较运算。
考试题1---------一、客观题。
1.()是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从()开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3.下列正确的标识符是()。
A、-a1B、a[i]C、a2_iD、int t4.C语言中的简单数据类型包括()。
A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型5.如果int a=3,b=4;则条件表达式"a<b? a:b"的值是()。
A、3B、4C、0D、16.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()A、b=1.0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1.0)7.以下对一维数组a的正确说明是:()。
A、char a(10)B、 int a[];C、int k=5,a[k];D、char a[3]={‘a’,’b’,’c’};8.若有以下数组说明,则i=10;a[a[i]]元素数值是()。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10B.9C.6D.59.下列数据结构中,属于非线性结构的是()。
A、循环队列B、带链队列C、二叉树D、带链栈10.C语言中函数返回值的类型是由()决定的。
A、函数定义时指定的类型B、return语句中的表达式类型C、调用该函数时的实参的数据类型D、形参的数据类型11.以下对结构变量stul中成员age的非法引用是()。
struct student{ int age;int num;}stu1,*p;p=&stu1;A、 stu1.ageB、 student.ageC、 p->ageD、 (*p).age12.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是()。
2024年6月青少年软件编程C语言等级考试试卷二级真题分数:100 题数:51.冠军魔术(20分)。
2018年FISM(世界魔术大会)近景总冠军简纶廷的表演中有一个情节:以桌面上一根带子为界,当他将纸牌从带子的一边推到另一边时,纸牌会变成硬币;把硬币推回另一边会变成纸牌。
这里我们假设纸牌会变成等量的硬币,而硬币变成纸牌时,纸牌的数量会加倍。
那么给定纸牌的初始数量,当他来回推了N次(来/回各算一次)后,手里拿的是纸牌还是硬币?数量是多少?输入:输入在一行里给出两个正整数,分别是纸牌的初始数量和魔术师推送的次数。
这里假设初始状态下魔术师手里全是纸牌。
输出:如果最后魔术师手里是纸牌,输出0和纸牌数量;如果是硬币,则输出1和硬币数量。
数字间须有1个空格。
题目保证结果数值不超出整型范围(即231-1)。
2.找座位(20分)。
组织一场考试时,监考老师手里会有一份签到表,按座位号的顺序列出学生。
但学生要根据这份表找到自己的座位编号就很麻烦了。
本题就要求你编写程序,帮助学生快速找到他们的座位号。
输入:输入第一行给出一个不超过103的正整数N,是参加考试的学生数。
以下N行,第i行给出座位号为i的学生的学号(i=1,……, N)。
学号是一个不超过8位、完全由数字组成的字符串。
输入保证每个学生只分配一个座位。
接下来一行给出一个不超过105的正整数M,是待查询的学生数。
以下M行,每行给出一个待查询的学生的学号。
输出:对每一个待查询的学生,如果他在考场里有座位,则在一行中输出其座位号;否则输出“NA”(Not Available的缩写),表示座位号不存在。
3.英语老师小助手(20分)。
英语老师要求学生按照如下规则写一串字母:规则1,如果写了某个大写字母,下一个就必须写同个字母的小写,或者写字母表中前一个字母的大写。
规则2,如果写了某个小写字母,下一个就必须写同个字母的大写,或者写字母表中下一个字母的小写。
例如“zZzZYXWwxyYX”就是一个合法的字母串;而“wVUuvUTsR”就是非法的。
C++语言程序设计二级考试试题[]--------------------------------------------------------------------------------来源:计算机作者:C++一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)软件是指A)程序 B)程序和文档C)算法加数据结构 D)程序、数据与相关文档的完整集合(2)软件调试的目的是A)发现错误 B)改正错误C)改善软件的性能 D)验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承 B)对象的多态C)对象的封装 D)对象的分类(4)下列叙述中,不符合良好程序设计风格要求的是A)程序的效率第一,清晰第二 B)程序的可读性好C)程序中要有必要的注释 D)输入数据前要有提示信息(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A) B) C) D)(8)一棵二*树中共有70个叶子结点与80个度为1的结点,则该二*树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)在函数中,可以用 auto、extern、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是A)auto B)extern C)register D)static(12)对于一个类定义,下列叙述中错误的是A)如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数。
B)如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数。
C)如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数。
D)如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数。
(13)如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是A)public和public B)public和protectedC)protected和public D)protected 和protected(14)下列运算符函数中肯定不属于类FunNumber的成员函数的是A)int operator- (FunNumber);B)FunNumber operator - ();C)FunNumber operator - (int);D)int operator - (FunNumber, FunNumber);(15)C++中的模板包括A)对象模板和函数模板 B)对象模板和类模板C)函数模板和类模板 D)变量模板和对象模板(16)如果利用 C++ 流进行输入输出,下面的叙述中正确的是A) 只能借助于流对象进行输入输出。
B) 只能进行格式化输入输出。
C) 只能借助于 cin 和 cout 进行输入输出。
D) 只能使用运算符 >> 和 << 进行输入输出。
(17)下列符号中不属于C++关键字的是A)friend B)namespace C)continue D)byte(18)下列各组类型声明符中,含义相同的一组是A)unsigned long int和long B)signed shortint和shortC)unsigned short和short D)short int和int(19)必须用一对大括号括起来的程序段是A)switch语句中的case标号语句。
B)if语句的分支。
C)循环语句的循环体。
D)函数的函数体。
(20)语句 int *p=&k; 定义了指针p,与这个语句等效的语句序列是A)int *p; p=&k; B)int *p;p=k;C)int *p; *p=&k; D)int *p;*p=k;(21)关于函数重载,下列叙述中错误的是A)重载函数的函数名必须相同。
B)重载函数必须在参数个数或类型上有所不同。
C)重载函数的返回值类型必须相同。
D)重载函数的函数体可以有所不同。
(22)有如下头文件:int f1();static int f2();class MA{public:int f3();static int f4();};在所描述的函数中,具有隐含的this指针的是A)f1 B)f2 C)f3 D)f4(23)派生类的成员函数不能访问基类的A)公有成员和保护成员 B)公有成员C)私有成员 D)保护成员(24)下列关于运算符重载的描述中,正确的是A)运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B)一元运算符只能作为成员函数重载C)二元运算符重载为非成员函数时,参数表中有一个参数D)C++中可以重载所有的运算符(25)下列关于类模板的模板参数的叙述中,错误的是A)模板参数可以作为数据成员的类型B)模板参数可以作为成员函数的返回类型C)模板参数可以作为成员函数的参数类型D)模板参数不能作为成员函数的局部变量的类型(26)已知一程序运行后执行的第一个输出操作是cout<<setw(10)<<setfill('*')<<1234;则此操作的输出结果是A)1234 B)******1234C)**********1234 D)1234******(27)有如下程序:#include <iostream>using namespace std;class MyClass{public:MyClass() { ++count; }~MyClass() { --count; }static int getCount() { return count; }private:static int count;};int MyClass::count=0;int main(){MyClass obj;cout<<obj.getCount();MyClass *ptr=new MyClass;cout<<MyClass::getCount();delete ptr;cout<<MyClass::getCount();return 0;}程序的输出结果是A)121 B)232 C)221 D)122(28)有如下程序:#include <iostream>using namespace std;class MyClass{public:MyClass(int x):val(x) {}void Print() const { cout<<"const:val="<<val<<'\t';}void Print() { cout<<"val="<<val<<'\t';}private:int val;};int main(){const MyClass obj1(10);MyClass obj2(20);obj1.Print();obj2.Print();return 0;}程序的输出结果是A)val=10 const:val=20B)const:val=10 const:val=20C)const:val=10 val=20D)val=10 val=20(29)有如下程序:#include <iostream>using namespace std;class Part{public:Part(int x=0):val(x) { cout<<val; }~Part() { cout<<val; }private:int val;};class Whole{public:Whole(int x, int y, int z=0):p2(x),p1(y),val(z){ cout<<val; }~Whole() { cout<<val; }private:Part p1,p2;int val;};int main(){Whole obj(1,2,3);return 0;}程序的输出结果是A)123321 B)213312 C)213 D)123123(30)有如下程序:#include <iostream>using namespace std;class Base{public:Base(int x=0) { cout<<x; }};class Derived : public Base{public:Derived(int x=0) { cout<<x; }private:Base val;};int main(){Derived d(1);return 0;}程序的输出结果是A)0 B)1 C)01 D)001(31)若有如下类定义:class B {void fun1() { }protected:double var1;public:void fun2() { }};class D : public B {protected:void fun3() { }};已知obj是类D的对象,下列语句中不违反类成员访问控制权限的是A)obj.fun1(); B)obj.var1; C)obj.fun2(); D)obj.fun3();(32)有如下程序:#include <iostream>using namespace std;class Base{public:void output() { cout<<1; }virtual void Print() { cout<<'B'; }};class Derived : public Base{public:void output() { cout<<2; }void Print() { cout<<'D'; }};int main(){Base *ptr=new Derived;ptr->output();ptr->Print();delete ptr;return 0;}程序的输出结果是A)1B B)1D C)2B D)2D(33)下列是重载乘法运算符的函数原型声明,其中错误的是A)MyClass operator * (double, double);B)MyClass operator * (double, MyClass);C)MyClass operator * (MyClass, double);D)MyClass operator * (MyClass, MyClass);(34)如下函数的作用是以双倍行距输出文件:void double_space(ifstream& f, ofstream& t){char c;while ( ) {;if (c == '\n') t.put(c);}}画线处缺失的部分是A)f.get(c)与t.put(c) B)f.put(c)与t.get(c)C)t.get(c)与f.put(c) D)t.put(c)与f.get(c)(35)有如下程序:#include <iostream>using namespace std;class B{public:virtual void show() { cout<<"B"; }};class D: public B{public:void show() { cout<<"D"; }};void fun1(B *ptr) { ptr->show(); }void fun2(B &ref) { ref.show();}void fun3(B b) { b.show();}int main(){B b,*p=new D;D d;fun1(p);fun2(b);fun3(d);return 0;}程序的输出结果是A)BBB B)BBD C)DBB D)DBD二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。