计算机2级C试题(附答案)
- 格式:doc
- 大小:45.50 KB
- 文档页数:10
全国计算机二级c考试题库及答案全国计算机二级C考试题库及答案1. 单项选择题1.1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A1.2. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int a, int b)答案:A1.3. 在C语言中,下列哪个选项表示逻辑与运算?A. &&B. ||C. !D. ^答案:A2. 填空题2.1. 在C语言中,使用____关键字可以定义一个指针变量。
答案:指针2.2. C语言中,用于文件操作的库函数通常存放在____头文件中。
答案:stdio.h2.3. C语言中,____运算符用于取地址。
答案:&3. 简答题3.1. 请简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指向数组第一个元素的指针。
数组的每个元素可以通过指针运算访问。
3.2. 解释C语言中宏定义的作用。
答案:宏定义允许程序员定义一个名字,该名字可以被编译器替换为一个字符串。
这通常用于代码复用、条件编译和调试。
4. 编程题4.1. 编写一个C语言函数,计算并返回两个整数的和。
答案:```cint add(int a, int b) {return a + b;}```4.2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```请注意,以上提供的是示例答案,实际考试中的答案可能会有所不同。
2级计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的变量名?A. 2ndVariableB. intC. _firstVariableD. variable-name答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D3. 下列哪个选项不是C语言的标准库函数?A. printfB. scanfC. strcatD. main答案:D4. C语言中,以下哪种数据类型用于存储字符?A. intB. charC. floatD. double5. 在C语言中,以下哪个选项是正确的字符串定义?A. "Hello"B. 'Hello'C. "Hello"[]D. 'Hello'[]答案:A6. C语言中,以下哪个选项用于定义一个整型数组?A. int array[10];B. int array[];C. int array[10]={0};D. int array[]={0};答案:A7. 在C语言中,以下哪个选项是正确的二进制数表示?A. 0b1010B. 0x2AC. 0101D. 0B1010答案:A8. C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a comment */D. /* This is a comment */答案:B9. C语言中,以下哪个选项用于定义一个结构体?B. classC. unionD. enum答案:A10. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h"D. #include <stdio.h>答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
. ,. 试卷一 一、理论题(20分,每小题1分) (1)【单选题】下面程序的输出结果是_________。 #include fun(int x) { int p; if(x==0||x==1) return(3); p=x-fun(x-2); return p; } void main() {cout>x; if(x<0.0) y=0.0; else if((x<10.0)&&(x!=2.0)) y=1.0/(x+2.0); else if(x<5.0) y=1.0/x; else y=5.0; cout<} A) 0.5 B) 1.0 C) 0.0 D) 0.25 参考答案:A (3)【单选题】C++源程序文件的默认扩展名为_________。 A) c++ B) cpp C) cc D) c 参考答案:B (4)【单选题】下面程序的输出结果是_________。 #include . ,. void main() { char *p[ ]={"mop","book","w","sp"}; int i; for(i=3;i>=0;i--,i--) cout<<*p[i]; cout<} A) sb B) spbook C) sp D) swb 参考答案:A (5)【单选题】下面定义的共用体类型的长度是_________字节。 union MyData { long x; char ch; bool flag; float y; }; A) 8 B) 4 C) 2 D) 6 参考答案:B (6)【单选题】以下程序段中的循环体被执行的次数是_________。 for(i=4;i;i-=2) for(j=1;j<4;j++) {……}; A) 无限多次 B) 8 C) 6 D) 2 参考答案:C (7)【单选题】下面程序的输出结果是_________。 #include void main() { int x[ ]={2,4,6,8},i; int *p=x; for(i=0;i<4;i++) x[i]=*p++; cout<} A) 6 B) 4 C) 8 D) 2 . ,. 参考答案:A (8)【单选题】C++的字符串"\t\1026\\'"中包含_________个可见的字符。 A) 10 B) 5 C) 4 D) 6 参考答案:C (9)【单选题】以下程序段运行时,若从键盘上输入Open the door并回车,则输出结果是_________。 char fun(char *c) { if(*c<='z' && *c>='a') *c-='a'-'A'; return *c; } void main() { char s[81],*p=s; gets(s); while(*p) {*p=fun(p);putchar(*p);p++;} putchar('\n'); } A) open the door B) OPEN THE DOOR C) Open the door D) oPEN THE DOOR 参考答案:B (10)【单选题】若有以下程序段,则变量v的值是_________。 int m=1,n=2,v; v=m/n; A) 0 B) 1/2 C) 0.5 D) 1 参考答案:A (11)【单选题】若m和n都是整型变量,且m=3,n=5,则以下语句输出的结果是_________。 cout<<(m+=n,n)>x>>y; z=x/y; while(1) { if(fabs(z)>1.0){x=y;y=z;z=x/y;} else break; } cout<} A) 2.0 B) 1.5 C) 1.6 D) 2.4 参考答案:C (18)【单选题】下面程序的输出结果是_________。 #include f(int a[ ],int n) { int i,x; x=1; for(i=0;i<=n;i++) x=x*a[i]; return x; } . ,. void main() { int y,x[ ]={1,2,3,4,5}; y=f(x,3); cout<} A) 120 B) 6 C) 24 D) 12 参考答案:C (19)【单选题】以下关于函数的说法中,正确的是_________。 A) 如果形参与实参类型不一致,以实参类型为准 B) 如果函数值的类型与返回值类型不一致,以函数值类型为准 C) 形参的类型说明可以放在函数体内,以实参类型为准 D) return后边的值不能为表达式 参考答案:B (20)【单选题】有关类和对象的说法不正确的是_________。 A) 任何一个对象只能属于一个具体的类 B) 对象是类的一个实例 C) 一个类只能有一个对象 D) 类与对象的关系与数据类型和变量的关系相似 参考答案:C
计算机二级c考试试卷答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 在C语言中,以下哪个是整型数据?A. 3.14B. 'a'C. 2e4D. 123答案:D3. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. =答案:C4. C语言中,哪个关键字用于声明一个函数?A. intB. charC. voidD. function5. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A6. C语言中,以下哪个是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B7. 在C语言中,哪个函数用于计算两个整数的绝对值之差?A. abs()B. fabs()C. diff()D. max()答案:A8. C语言中,以下哪个是正确的结构体声明?A. struct Student { int age; char name[20]; };B. struct { int age; char name[20]; } Student;C. struct Student { int age; string name; };D. struct { int age; char name[20]; };答案:A9. 在C语言中,哪个关键字用于定义一个指针?B. pointerC. ptrD. ref答案:A10. C语言中,以下哪个是正确的函数声明?A. int add(int num1, int num2);B. int add();C. int add(int, int);D. int add(int num1, num2);答案:A二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量并初始化为10,应使用语句:________。
国家计算机二级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类试题及其答案,希望能帮助您更好地备考。
一、选择题1. 下列说法中,哪个是正确的?A. C语言是一种编译型语言。
B. C语言是一种解释型语言。
C. C语言是一种面向对象的语言。
D. C语言是一种图形化编程语言。
答案:A. C语言是一种编译型语言。
2. 在C语言中,以下哪个关键字用于定义函数的返回值类型?A. varB. intC. voidD. double答案:B. int3. 下面哪个运算符的优先级最高?A. +B. ++C. *D. &&答案:B. ++二、编程题1. 编写一个程序,将两个整数相加,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```2. 编写一个程序,判断一个数是否为奇数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:\n");scanf("%d", &num);if(num % 2 == 0) {printf("该数为偶数。
\n");} else {printf("该数为奇数。
\n");}return 0;}```以上是一些常见的计算机二级C类试题及其答案,希望对您的备考有所帮助。
在备考过程中,重要的是多多练习,掌握基本的编程语法和常用函数的使用方法。
计算机二级c考试题目及答案详解一、选择题1. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x12B. 1.2e3C. 0123D. 1.2E3答案:A2. 若有以下变量定义:```cint a = 10;float b = 3.14;```则以下哪个表达式的结果为0?A. a % bB. a / bC. a - bD. a * b答案:A3. 在C语言中,以下哪个关键字用于定义函数?A. structB. unionC. enumD. void答案:D4. 下列哪个选项是C语言中的合法字符串?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!\n"D. "Hello, World!"\0"答案:C二、填空题1. 在C语言中,若要声明一个指向整型变量的指针,应使用关键字________。
答案:int *2. 若有以下代码片段:```cint x = 10;printf("%d", x++);```则输出的结果是________。
答案:103. 在C语言中,若要实现字符串的连接,可以使用函数________。
答案:strcat4. 若有以下代码片段:```cint a = 5, b = 10;swap(&a, &b);printf("%d %d", a, b);```其中swap函数的目的是交换a和b的值,则swap函数的原型应声明为________。
答案:void swap(int *, int *)三、编程题1. 编写一个C语言函数,实现两个整数的交换。
```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```答案:以上代码定义了一个名为swap的函数,该函数接受两个整型指针作为参数,通过临时变量temp实现了两个整数的交换。
本文档如对你有帮助,请帮忙下载支持! 试卷一 一、理论题(20分,每小题1分) (1)【单选题】下面程序的输出结果是_________。 #include fun(int x) { int p; if(x==0||x==1) return(3); p=x-fun(x-2); return p; } void main() {cout>x; if(x<0.0) y=0.0; else if((x<10.0)&&(x!=2.0)) y=1.0/(x+2.0); else if(x<5.0) y=1.0/x; else y=5.0; cout<} A) 0.5 B) 1.0 C) 0.0 D) 0.25 参考答案:A (3)【单选题】C++源程序文件的默认扩展名为_________。 A) c++ B) cpp C) cc D) c 参考答案:B (4)【单选题】下面程序的输出结果是_________。 #include 本文档如对你有帮助,请帮忙下载支持! void main() { char *p[ ]={"mop","book","w","sp"}; int i; for(i=3;i>=0;i--,i--) cout<<*p[i]; cout<} A) sb B) spbook C) sp D) swb 参考答案:A (5)【单选题】下面定义的共用体类型的长度是_________字节。 union MyData { long x; char ch; bool flag; float y; }; A) 8 B) 4 C) 2 D) 6 参考答案:B (6)【单选题】以下程序段中的循环体被执行的次数是_________。 for(i=4;i;i-=2) for(j=1;j<4;j++) {……}; A) 无限多次 B) 8 C) 6 D) 2 参考答案:C (7)【单选题】下面程序的输出结果是_________。 #include void main() { int x[ ]={2,4,6,8},i; int *p=x; for(i=0;i<4;i++) x[i]=*p++; cout<} A) 6 B) 4 C) 8 D) 2 本文档如对你有帮助,请帮忙下载支持! 参考答案:A (8)【单选题】C++的字符串"\t\1026\\'"中包含_________个可见的字符。 A) 10 B) 5 C) 4 D) 6 参考答案:C (9)【单选题】以下程序段运行时,若从键盘上输入Open the door并回车,则输出结果是_________。 char fun(char *c) { if(*c<='z' && *c>='a') *c-='a'-'A'; return *c; } void main() { char s[81],*p=s; gets(s); while(*p) {*p=fun(p);putchar(*p);p++;} putchar('\n'); } A) open the door B) OPEN THE DOOR C) Open the door D) oPEN THE DOOR 参考答案:B (10)【单选题】若有以下程序段,则变量v的值是_________。 int m=1,n=2,v; v=m/n; A) 0 B) 1/2 C) 0.5 D) 1 参考答案:A (11)【单选题】若m和n都是整型变量,且m=3,n=5,则以下语句输出的结果是_________。 cout<<(m+=n,n)>x>>y; z=x/y; while(1) { if(fabs(z)>1.0){x=y;y=z;z=x/y;} else break; } cout<} A) 2.0 B) 1.5 C) 1.6 D) 2.4 参考答案:C (18)【单选题】下面程序的输出结果是_________。 #include f(int a[ ],int n) { int i,x; x=1; for(i=0;i<=n;i++) x=x*a[i]; return x; } 本文档如对你有帮助,请帮忙下载支持! void main() { int y,x[ ]={1,2,3,4,5}; y=f(x,3); cout<} A) 120 B) 6 C) 24 D) 12 参考答案:C (19)【单选题】以下关于函数的说法中,正确的是_________。 A) 如果形参与实参类型不一致,以实参类型为准 B) 如果函数值的类型与返回值类型不一致,以函数值类型为准 C) 形参的类型说明可以放在函数体内,以实参类型为准 D) return后边的值不能为表达式 参考答案:B (20)【单选题】有关类和对象的说法不正确的是_________。 A) 任何一个对象只能属于一个具体的类 B) 对象是类的一个实例 C) 一个类只能有一个对象 D) 类与对象的关系与数据类型和变量的关系相似 参考答案:C
二、操作题(80分) 1、【简单操作题】(注:以下文件均保存在试题盘shiti\pro\4000247文件夹中)打开proj1.cpp,将一维数组按升序排列,请在提示处填上正确的代码,要求:补充语句处只写一条语句。(题分:15分) 参考答案: //程序功能:将一维数组按升序排列后输出 //注意:请在提示处填上正确的代码,要求:补充语句处只写一条语句 #include void sort ( int *p,int n) { int i,j,temp; for (i=0;i//请在两条星线之间填入相应的代码,内层循环:实现每趟两两比较的次数 /**************************************************/ for(j=1;j/***************************************************/ if(p[j-1]>p[j]) { temp=p[j-1]; //请在两条星线之间填入相应的代码,实现两个数的交换 /**************************************************/ p[j-1]=p[j];