计算机二级C语言测试题(含答案)
- 格式:docx
- 大小:26.10 KB
- 文档页数:13
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语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。
2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。
二、填空题1. 在C语言中,`________`关键字用于声明一个函数。
答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。
2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。
```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。
三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。
```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。
2. 编写一个C语言程序,实现将一个字符串反转。
```c#include <stdio.h>#include <string.h>void reverse(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!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(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!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。
全国计算机二级考试《C语言》真题练习及答案全国计算机二级考试《C语言》真题练习及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234B)'\123'C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 34 5 0<回车>,则输出结果是A)6566456B)66656C)66666D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n);continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行。
全国计算机等级考试二级C语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。
答案:42. C语言中,逻辑运算符“或”用______表示。
答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。
答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。
答案:无返回值5. 在C语言中,以下函数的返回类型为______。
int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。
(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。
(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。
(正确)4. 在C语言中,函数的参数传递都是按值传递的。
(错误,部分按引用传递)5. 在C语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。
一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)程序流程图中带有箭头的线段表示的是 CA)图元关系 B)数据流 C)控制流 D)调用关系(2)下面不属于软件设计原则的是 CA)抽象 B)模块化 C)自底向上 D)信息隐蔽(3)下列选项中,不属于模块间耦合的是 CA)数据耦合 B)标记耦合 C)异构耦合 D)公共耦合(4)下列叙述中,不属于软件需求规格说明书的作用的是 DA)便于用户、开发人员进行理解和交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据 D)便于开发人员进行需求分析(5)算法的时间复杂度是指CA)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数(6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是BA)堆排序 B)直接插入排序 C)快速排序 D)B)和C)(7)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是BA)ABCED B)DCBEA C)DBCEA D)CDABE(8)数据库设计包括两个方面的设计内容,它们是AA)概念设计和逻辑设计 B)模式设计和内模式设计 C)内模式设计和物理设计D)结构特性设计和行为特性设计(9)关系表中的每一横行称为一个AA)元组 B)字段 C)属性 D)码(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字 (键或码)为 CA)课号,成绩 B)学号,成绩 C)学号,课号 D)学号,姓名,成绩(11)以下不正确的叙述是 DA)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(12)请选出可用作C语言用户标识符的是BA)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,CaseD)2a,Do,Sizeof(13)以下选项中,不能作为合法常量的是BA)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0(14)在C语言中,运算对象必须是整型数的运算符是AA)% B)\ C)%和\ D)**(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是AA)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;(16)有以下程序段char ch; int k;ch=′a′; k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是 DA)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是 BA)kk>=′A′&&kk<=′Z′ B)!(kk>=′A′||kk<=′Z′) C)(kk+32)>=′a′&&(kk+32)<=′Z′ D)isalpha(kk)&&(kk<91)(18)当变量c的值不为2、4、6时,值也为"真"的表达式是 BA)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&& c<=6)&&(c%2!=1)(19)若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是 B A)(exp==0) B)(exp!=0) C)(exp==1) D)(exp!=1)(20)以下不正确的定义语句是 BA)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={′1′,′2′,′3′,′4′,′5′}; D)char c2[]={′\x10′, ′xa′, ′\x8′};(21)下列程序执行后的输出结果是 Bmain(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1;printf("%d\n",a[1][2];)A)3 B)6 C)9 D)随机数(22)设有以下程序段 Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次(23)下面程序段的运行结果是 Cchar *s="abcde";s+=2;printf("%d",s);A)cde B)字符′c′ C)字符′c′的地址 D)无确定的输出结果(24)阅读下列程序,则执行后的结果为 A#include "stdio.h"main(){ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}A)3e,6 B)62,5 C)56,5 D)3E,6(25)下面判断正确的是 CA)char *a="china";等价于 char *a;*a="china"; B)char str[5]={"china"};等价于char str[]={"china"};C)char *s="china";等价于 char *s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";精品文档。
计算机二级考试c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项是合法的标识符?A. 2abcB. abc123C. _abcD. abc$答案:C2. 在C语言中,下面哪个运算符具有左结合性?A. 赋值运算符B. 逻辑运算符C. 位运算符D. 关系运算符答案:A3. 下面哪个函数用于实现字符串的复制?A. strcpyB. strcatC. strlenD. strcmp答案:A4. 下面哪个选项是正确的整型常量的表示方法?A. 1234BB. 0x1234C. 1234DD. 01234答案:D5. 下面哪个选项是合法的实型常量的表示方法?A. 123.B. 123.C. 123.D. 123.答案:C6. 在C语言中,下面哪个函数用于实现字符串的连接?A. strcpyB. strcatC. strlenD. strcmp答案:B7. 下面哪个选项是正确的关于一维数组的描述?A. 数组名是一个指向数组首元素的指针B. 数组名是一个指向数组首元素的指针C. 数组名是一个指向数组首元素的指针D. 数组名是一个指向数组首元素的指针答案:A8. 下面哪个选项是正确的关于二维数组的描述?A. 二维数组可以看作是多个一维数组的组合B. 二维数组可以看作是多个一维数组的组合C. 二维数组可以看作是多个一维数组的组合D. 二维数组可以看作是多个一维数组的组合答案:A9. 在C语言中,下面哪个函数用于实现字符串的比较?A. strcpyB. strcatC. strlenD. strcmp答案:D10. 下面哪个选项是合法的C语言语句?A. if(条件) {B. while(条件)C. do {D. }答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的存储空间为_____个字节。
答案:42. C语言中,定义一个整型变量的一般形式为_____。
答案:int 变量名;3. 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语言》考试题库与答案,欢迎大家分享。
全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
计算机二级考试c语言试题及答案计算机二级考试C语言试题及答案一、选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x123B. 123.0C. 123e2D. 123.0L答案:A2. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", 'Hello, World!'D. "Hello, World!'"答案:A4. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a; int b) { return a + b; }C. int add(int a, int b) { return a - b; }D. int add(a, b) { return a + b; }答案:A5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. int array = 10;答案:A二、填空题1. 在C语言中,用于输入的函数是___________。
答案:scanf2. 在C语言中,用于输出的函数是___________。
答案:printf3. 在C语言中,用于计算两个整数的差的运算符是___________。
答案:-4. 在C语言中,用于定义一个整型变量的关键字是___________。
答案:int5. 在C语言中,用于定义一个字符型变量的关键字是___________。
计算机等级考试二级c语言习题答案一、选择题1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:B、C2. 以下哪个选项是C语言中整型常量的正确表示?A. 0x1AB. 1.5e2C. 0755D. 1.23f答案:A、C3. 若有以下定义:```cint a = 10, b = 20, c = 30;```则表达式 `a > b ? a : c` 的值是多少?A. 10B. 20C. 30D. 编译错误答案:C4. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"\n"D. "Hello, World!"\"答案:A5. 以下哪个选项是C语言中正确的函数声明?A. int myFunction();B. void myFunction(int a);C. int myFunction(int);D. int myFunction();答案:C二、填空题1. 在C语言中,`sizeof(char)` 的值是 ________。
答案:12. 若有以下代码:```cint a = 10;printf("%d", a++);```输出的结果是 ________。
答案:103. 在C语言中,以下代码段的输出结果是什么?```cint x = 5;printf("%d", x++);```输出的结果是 ________。
4. 在C语言中,以下代码段的输出结果是什么?```cint x = 5;printf("%d", ++x);```输出的结果是 ________。