全国二级C语言笔试3

合集下载

c国家二级考试试题及答案

c国家二级考试试题及答案

c国家二级考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个选项是正确的数据类型?A. intB. floatC. doubleD. All of the above答案:D2. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D3. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. All of the above答案:C4. 下列哪个选项是C语言中正确的数组声明方式?A. int array[10];B. int [10] array;C. int array[];D. All of the above答案:D5. 在C语言中,哪个函数用于输入字符?A. scanf()B. getchar()C. printf()D. Both A and B答案:B6. 下列哪个选项是C语言中的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello" "World!"D. All of the above答案:A7. 在C语言中,哪个关键字用于跳过当前循环的剩余部分,并开始下一次迭代?A. continueB. breakC. returnD. Both A and B答案:A8. 下列哪个选项是C语言中正确的结构体声明方式?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. Both A and BD. None of the above答案:C9. 在C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. All of the above答案:C10. 下列哪个选项是C语言中正确的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。

全国计算机等级考试二级c语言笔试试题

全国计算机等级考试二级c语言笔试试题

全国计算机等级考试二级c语言笔试试题全国计算机等级考试二级C语言笔试试题一、单项选择题(每题2分,共40分)1. C语言中,一个整型变量所占的基本存储单位是()。

A. 1个字节B. 2个字节C. 3个字节D. 4个字节2. 下列关于C语言函数的描述,错误的是()。

A. 函数可以返回一个结构体类型的值B. 函数可以没有返回值,也可以返回一个值C. C语言中,main函数可以没有返回值D. 函数的返回值类型必须与定义时的类型一致3. 在C语言中,用于定义字符串的标识符是()。

A. char *B. char[]C. stringD. text4. 下列关于C语言数组的描述,正确的是()。

A. 数组在定义时必须初始化B. 数组的元素可以是不同数据类型的C. 数组在定义后,其元素的个数不能改变D. 数组的元素个数可以是变量5. C语言中,表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. &6. 下列关于C语言指针的描述,错误的是()。

A. 指针是一个变量,用于存储另一个变量的地址B. 指针的值是它所指向的变量的地址C. 指针变量可以重新赋值为任意地址D. 指针可以进行算术运算7. C语言中,用于文件操作的库函数是()。

A. math.hB. stdio.hC. string.hD. conio.h8. 下列关于C语言结构体的描述,错误的是()。

A. 结构体是一种构造数据类型B. 结构体可以包含不同类型的成员C. 结构体的所有成员必须同时初始化D. 结构体可以定义为函数的参数9. C语言中,表示关系“小于等于”的运算符是()。

A. <B. >C. <=D. >=10. 在C语言中,用于实现循环结构的语句有()。

A. forB. whileC. do-whileD. 所有选项二、填空题(每空3分,共30分)11. C语言中,一个浮点型变量所占的存储空间通常是________字节。

计算机二级C语言笔试真题

计算机二级C语言笔试真题

计算机二级C语言笔试真题一、真题概述计算机二级C语言考试是我国针对非计算机专业大学生的计算机水平测试,旨在检验考生对C语言基础知识的掌握以及编程能力。

以下是一篇关于计算机二级C语言笔试真题的分析,包括题目描述、解题策略和参考答案。

二、真题题目题目一:选择题(每题2分,共20分)1. 下面哪一个选项是C语言的逻辑运算符?A. ++B. --C. &&D. ||2. 若变量已正确定义并赋值,以下正确的赋值语句是()A. a = b = c = 10;B. a = (b = c + 10);C. a = b = c + 10;D. a = (b = c) + 10;3. 在C语言中,下列哪个选项表示关系表达式?A. a == bB. a = bC. a += bD. a && b4. 下面哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()5. 下面哪个函数用于释放动态分配的内存?A. free()B. delete()C. release()D. dispose()题目二:填空题(每题3分,共30分)6. C语言的标识符可以由字母、数字和下划线组成,且第一个字符必须是______。

7. 在C语言中,逻辑与运算符“&&”的优先级高于______。

8. 下面程序的输出结果是______。

```c#include <stdio.h>int main() {int a = 5, b = 10;printf("%d ", a++ + b--);printf("%d %d\n", a, b);return 0;}```9. 下面程序的输出结果是______。

```c#include <stdio.h>int main() {int a = 1, b = 2, c = 3;if (a > b) {if (a > c)printf("%d ", a);elseprintf("%d ", c);} else {if (b > c)printf("%d ", b);elseprintf("%d ", c);}return 0;}```10. 下面程序的输出结果是______。

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

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

全国计算机等级考试二级C语言程序设计真题精选3一、单项选择题1.下列关于C语言文件的叙述中正确的是()。

A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件√D.文件由字符序列组成,其类型只能是文本文件解析:C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。

根据数据的组成形式,可将文件分为两种:①ASCII文件,又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。

所以C文件就是一个字节流或一个二进制流。

2.有以下程序:#includ<stdio.h>main()inm=1,n=2,*p=&m,*q=&n,*r; r=p,p=q;q=r; printf("%d,%d,%d,%",m,n,*p,*q);}程序运行后的输出结果是()。

A.1,2,1,2B.1,2.2,1 √C.2,1,2,1D.2,1.1,2解析:本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。

3.有以下程序:#includ<stdio.h>#include<string.h>strucAina;chab[10];doublc;};strucf (struct);main()struca={1001,"ZhangDa",1098.0}; a=f(a);printf ("%d,%s,%6.1",a.a,a.b,a.c);}strucf(struct)t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returt;}程序运行后的输出结果是()。

全国计算机c语言程序设计二级考试真题

全国计算机c语言程序设计二级考试真题

1、在C语言中,若需定义一个标识符以表示一个常量,通常使用:
A. const 关键字
B. #define 预处理指令
C. enum 关键字
D. typedef 关键字
(答案)B
2、以下哪个选项正确地描述了C语言中数组的内存分配?
A. 数组元素在内存中连续存储
B. 数组元素在内存中随机存储
C. 数组名代表数组第一个元素的值
D. 数组大小可以在运行时动态改变
(答案)A
3、在C语言中,关于指针的下列说法中,哪一个是正确的?
A. 指针变量的值可以是一个整数
B. 指针变量可以进行算术运算
C. 所有指针类型的大小都相同,但与所指向的数据类型有关
D. 一个指针变量只能指向一个固定类型的变量
(答案)B
4、在C语言中,若要在函数内部修改一个全局变量的值,需要:
A. 使用extern关键字声明该变量
B. 直接使用全局变量名,无需特别声明
C. 通过指针传递全局变量的地址
D. 将全局变量作为函数参数传递
(答案)B
5、以下哪个不是C语言的基本数据类型?
A. int
B. float
C. string
D. char
(答案)C
6、关于C语言中的结构体(struct),以下说法错误的是:
A. 结构体可以包含不同类型的数据成员
B. 结构体变量可以通过.运算符访问其成员
C. 结构体成员在内存中的顺序是固定的
D. 结构体类型的大小等于其所有成员大小之和
(答案)D。

全国计算机等级考试二级C语言笔试试题

全国计算机等级考试二级C语言笔试试题

全国计算机等级考试二级C语言笔试试题全国计算机等级考试二级C语言笔试试题计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。

那么全国计算机等级考试二级C语言会怎么考?以下仅供参考!一、选择题(1-30 每小题1 分,31-45 每小题2 分,共60 分)下列各题A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。

答在试卷上不得分。

(1) 二进制数101110 转换为等值的八进制数是()。

A.45B.56C.67D.78(2) CPU 是由()组成的。

A.内存储器和控制器B.控制器和运算器C.内存储器和运算器D.内存储器、控制器和运算器(3) DOS 是为IBM PC 系列微型计算机及其兼容机所配置的()磁盘操作系统。

A.多用户多任务B.单用户单任务C.分时D.分布式(4) 启动MS-DOS 操作系统后,()已驻留内存。

A.B.C.D.CCCC.EXE(5) 设驱动器B 中软盘上的目录结构如下图所示。

设当前目录为F2,则把A 盘根目录下的PROG.BAS 文件复制到B 盘F3 子目录中的命令是()。

A.COPY PROG.BAS B:B.COPY A:PROG.BAS B:C.COPY A:PROG.BAS B:F3D.COPY A:PROG.BAS B:F3(6) 下面四组DOS 命令中,意义完全相同的一组是()。

A.COPY 和DISKCOPYB.COMP 和DISKCOMPC.DEL 和RDD.RENAME 和REN(7) 防止软盘感染病毒的有效方法是()。

A.不要把软盘和有毒软盘放在一起B.在写保护缺口上贴上胶条C.保持机房清洁D.定期对软盘格式化(8) 双面高密度5 英寸软磁盘的容量是()。

全国计算机等级考试二级C语言笔试试卷及标准解析

全国计算机等级考试二级C语言笔试试卷及标准解析

全国计算机等级考试二级C语言笔试试卷及标准解析全国计算机等级考试二级C语言笔试试卷及标准解析一、选择题((1)一(10)每题2分(11)一(50)每题1分共60分) 下列各题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)对如下二叉树 ABDECF 进行后序遍历的结果为A)ABCDEFB)DBEAFC C)ABDECFD)DEBFCA (7)在深度为7的满二叉树中叶子结点的个数为A)32B)31 C)64D)63 (8)“商品”与“顾客”两个实体集之间的联系一般是 A)一对一B)一对多 C)多对一D)多对多 (9)在E-R图中用来表示实体的图形是 A)矩形B)椭圆形 C)菱形D)三角形 (10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB 和DBMS D)没有任何关系 (11)以下不合法的用户标识符是A)j2_KEYB)Double C)4dD)_8_ (12)以下不合法的数值常量是 A)011B)1e1 C)8.0E0.5D)0xabcd (13)以下不合法的字符常量是A)′\018′B)′\"′ C)′\\′D)′\xcc′(14)表达式3.6-5/2+1.2+5%2的值是 A)4.3B)4.8C)3.3 D)3.8(15)以下能正确定义字符串的语句是 A)char str[]={′\064′};B)char str="kx43"; C)charstr="; D)char str[]="\0";(16)以下数组定义中错误的是 A)int x[][3]={0};B)int x[2][3]={{l2}{34}{56}}; C)int x[][3]={{l23}{456}}; D)int x[2][3]={l23456};(17)若要求从键盘读入含有空格字符的字符串应使用函数A)getcB)gets C)getcharD)scanf(18)以下四个程序中完全正确的是 A)#includeB)#include main;main {/_programming_/{/_/programming /_/ printf("programming!\n");}printf("programming!\n");}C) #include D) include mainmain{/_/_programming_/_/{/_programming_/printf("programming!\n");} printf("programming!\n");}(19)若有定义:float x=1.5;int a=1b=3c=2;则正确的switch语句是 A)switch(x)B)switch((int)x); {case1.0:printf("_\n"); {case 1:printf("_\n");case2.0:printf("__\n");} case 2:printf("__\n");} C)switch(a+b) D)switch(a+b) {case 1:printf("_\n");{case 1:printf("_\n"); case 2+1:printf("__\n");}case c:printf("__\n");} (20)若各选项中所用变量已正确定义函数fun中通过return语句返回一个函数值以下选项中错误的程序是 A)mainB)float fun(int aint b){……} {……x=fun(210);……}main float fun(int aintb){……}{……x=fun(i,j);……} C)floatfun(intint); D)main main {floatfun(int iint j);{……x=fun(210);……}……x=fun(i,j);……}float fun(int aint b){……}float fun(int aint b){……} (21)在以下给出的表达式中与while(E)中的(E)不等价的表达式是A)(!E==0)B)(E>0‖EB)while(ch=getchar!=′N′)printf("%c",ch);C)while(ch=getchar==′N′)printf("%c",ch);D)while((ch=getchar)==′N′)printf("%c",ch); (23)已定义以下函数int fun(int _p){return _p;)fun函数返回值是 A)不确定的值 B)一个整数 C)形参P中存放的值 D)形参P的地址值 (24)若有说明语句:double _pa;则能通过scanf语句正确给输入项读入数据的程序段是 A)_p=&a; scanf("%1f"p);B)_p=&a; scanf("%f"p); C)p=&a; scanf("%1f"_p); D)p=&a; scanf("%1f"p); (25)现有以下结构体说明和变量定义如图所示指针p、q、r分别指向一个链表中连续的三个结点。

国家二级C语言(C语言基础知识)机试-试卷3

国家二级C语言(C语言基础知识)机试-试卷3

国家二级C语言(C语言基础知识)机试-试卷3(总分:50.00,做题时间:90分钟)一、选择题(总题数:25,分数:50.00)1.以下叙述中错误的是(分数:2.00)A.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件B.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中C.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令√D.C语言源程序经编译后生成后缀为.obj的目标程序解析:解析:C语言中的非执行语句例如宏定义命令,在预编译之后替换到代码中,该命令本身也就不存在了,不会转换成二进制的机器指令。

由高级语言编写的程序称为“源程序”,把由二进制代码表示的程序称为“目标程序”。

C语言编写的源程序就是一ASCII的形式存放在文本文件中的。

C源程序经过C编译程序编译之后生成一个后缀为obi的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件,把此.obj文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。

2.下列叙述中错误的是(分数:2.00)A.C程序可以由多个程序文件组成B.一个C语言程序只能实现一种算法√C.C程序可以由一个或多个函数组成D.一个C函数可以单独作为一个C程序文件存在解析:解析:算法是指为解决某个特定问题而采取的确定且:有限的步骤。

在C语言中一个算法是用函数来实现的。

一个C语言源程序山许多函数组成,这些函数都是根据实际任务,确定具体的算法,由用户自己编写。

C语言源程序可以放在不同的文件中,同一个源程序中的函数也可放在不同的文件中,所以一个C 语言程序可以实现多种算法。

3.以下叙述中错误的是(分数:2.00)A.结构化程序由顺序、分支、循环三种基本结构组成B.C语言是一种结构化程序设计语言C.使用三种基本结构构成的程序只能解决简单问题√D.结构化程序设计提倡模块化的设计方法解析:解析:结构化程序由顺序结构、选择结构和循环结构3种基本结构组成。

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案

2005 年4 月全国计算机等级考试二级 C 语言笔试试题及答案一、选择题((1)~(10)每小题 2 分,(11)~(50)每小题 1 分,共60 分)下列各题 A )、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)数据的存储结构是指______。

A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的是______。

A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。

A.冒泡排序为n/2B.冒泡排序为nC.快速排序为nD.快速排序为n(n-1)/2(4)对长度为n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。

A.log2nB.n/2C.nD.n+1(5)下列对于线性链表的描述中正确的是______。

A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的(6)下列对于软件测试的描述中正确的是______。

A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则(7)为了使模块尽可能独立,要求______。

A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱2005 年4 月全国计算机等级考试二级 C 语言笔试试题及答案一、选择题((1)~(10)每小题 2 分,(11)~(50)每小题 1 分,共60 分)下列各题 A )、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

全国计算机等级考试二级c语言笔试试题

全国计算机等级考试二级c语言笔试试题

全国计算机等级考试二级c语言笔试试题全国计算机等级考试二级C语言笔试试题计算机技术的发展日新月异,而计算机等级考试则是评估一个人在计算机领域知识和技能水平的重要标准之一。

其中,C语言作为一种广泛应用于软件开发和系统编程的编程语言,也成为了计算机等级考试中的重要内容之一。

在本文中,我们将探讨全国计算机等级考试二级C语言笔试试题,以及一些相关的知识和技巧。

一、基础知识题1. 下列哪个选项是C语言的关键字?A. mainB. programC. beginD. start正确答案是A. main。

在C语言中,main函数是程序的入口点,是程序执行的起点。

2. 下列哪个选项是C语言的运算符?A. ifB. forC. +D. void正确答案是C. +。

加号是C语言中的一个运算符,用于执行加法运算。

3. 在C语言中,如何定义一个整型变量?A. intB. floatC. charD. string正确答案是A. int。

在C语言中,int用于定义一个整型变量。

二、编程题1. 编写一个C语言程序,要求用户输入一个整数,然后判断该数是否为偶数,并输出结果。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。

\n", num);} else {printf("%d是奇数。

\n", num);}return 0;}```以上是一个简单的C语言程序,通过使用if语句和取余运算符,判断用户输入的整数是否为偶数,并输出结果。

2. 编写一个C语言程序,要求用户输入一个字符串,然后统计该字符串中字母的个数,并输出结果。

```c#include <stdio.h>#include <string.h>int main() {char str[100];int count = 0;printf("请输入一个字符串:");scanf("%s", str);for (int i = 0; i < strlen(str); i++) {if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {count++;}}printf("字符串中字母的个数为:%d\n", count);return 0;}```以上是一个简单的C语言程序,通过使用for循环和条件判断,统计用户输入的字符串中字母的个数,并输出结果。

全国二级C语言复习资料3

全国二级C语言复习资料3

一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(11)以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(11)D 【解析】在C语言所有的运算符中,逗号运算符的优先级最低。

C语言中区分大小写,所以APH和aph是两个不同的变量。

赋值表达式a=b表示将b的值付给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。

选项D)中当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。

(12)请选出可用作C语言用户标识符的是A)void,define,WORD B)a3_b3,_123,IFC)FOR,--abc,Case D)2a,Do,Sizeof(12)B 【解析】 C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,C语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。

(13)以下选项中,不能作为合法常量的是A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0(13)B 【解析】 C语言的语法规定,字母e(E)之前必须有数字,且e(E)后面的指数必须是整数,而选项B)中,e(E)后面的指数是小数,所以不合法。

(14)在C语言中,运算对象必须是整型数的运算符是A)% B)\ C)%和\ D)**(14)A 【解析】在C语言中,"%"运算符两侧的运算数必须是整型。

(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5;C)x+n=i; D)x=5=4+1;(15)A 【解析】赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,选项C)和D)错误。

全国计算机等级考试二级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语言)笔试-试卷3

国家二级(C语言)笔试-试卷3

国家二级(C语言)笔试-试卷3(总分:134.00,做题时间:90分钟)一、选择题(总题数:51,分数:102.00)1.选择题(1-10、21-40每题,11-20每题)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

(分数:2.00)__________________________________________________________________________________________ 解析:2.可以作为Windows外壳程序的是 ( )(分数:2.00)A.程序管理器B.文件管理C.程序管理器和文件管理器√D.主群组解析:3.与十进制数96等值的二进制是 ( )(分数:2.00)A.1100000 √B.10010110C.1100001D.1100011解析:4.对存储器按字节进行编址,若某存储器芯片共有10根地址线的引脚,则该存储器芯片的存储容量为( ) (分数:2.00)A.512 BB.1 KB √C.2 KBD.4 KB解析:5.在软件研制过程中,CASE是指 ( )(分数:2.00)A.计算机辅助软件工程√B.计算机产生的例子C.实验室使用的工具D.计算机辅助系统工程解析:6.下列软件中,属于应用软件的是 ( )(分数:2.00)A.UNIXB.人事管理系统√C.数据库管理系统D.SYSTEM解析:7.现代计算机之所以能自动地连续进行数据处理,主要是因为 ( )(分数:2.00)A.采用了开关电路B.采用了半导体器件C.具有存储程序的功能√D.采用了二进制解析:8.软盘上第( )磁道最重要,一旦损坏,该盘就不能使用了。

(分数:2.00)A.0 √B.40C.1D.80解析:9.在下列四条叙述中,错误的一条是 ( )(分数:2.00)A.内存是主机的组成部分B.对于种类不同的计算机,其机器指令系统都是相同的√C.CPU由运算器和控制器组成D.十六进制微型机的含义是:这种机器能同时处理十六位二进制数解析:10.十进制数124转换成二进制数是 ( )(分数:2.00)A.111l010B.1111100 √C.1011111D.1111011解析:11.数字字符“2”的ASCII码为十进制数50,数字字符“5”的ASCII码为十进制数( )(分数:2.00)A.52B.55C.54D.53 √解析:12.若要用下面的程序片段使指针变量p指向一个存储字符型变量的动态存储单元,则应填入; char * p;p= ( ) malloc (sizeof (char));(分数:2.00)A.charB.char *C.(* char)D.(char *) √解析:13.能够对计算机的硬件设备进行管理,并使应用软件能够方便、高效地使用这些设备的是 ( )(分数:2.00)A.数据库存系统B.操作系统√C.编辑软件D.应用软件解析:14.对于―个非空的数据结构,如果它有且只有―个根结点,并且每一个结点最多有一个前件,也最多有―个后件,那么 ( )(分数:2.00)A.肯定是一个线形结构√B.肯定是一个非线性结构C.还不足以证明是一个线形结构D.很可能是一个非线形结构解析:15.在C语言中,可以把整数以二进制形式存放到文件中的函数是 ( )(分数:2.00)A.fprintf ( ) 函数B.fread ( ) 函数C.fwrite ( ) 函数√D.fputc( )函数解析:16.有程序段:int al,a2;Char cl,c2;scanf("%d%c%d%c",&a1,&cl,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入 ( )(分数:2.00)A.10A 20B<CR>√B.10A 20 B<CR>C.10 A20B<CR>D.10A20 B<CR>解析:17.设有以下语句,则c的二进制值是 ( ) char a=3,b=6,c;c=a b<<2;(分数:2.00)A.11011 √B.10100C.11100D.11000解析:18.如下程序的执行结果是 ( ) main( ) { int n=1;printf("%d%d%/n",n,+ +n,n- -);}(分数:2.00)A.1 1 1 √B.1 2 2C.1 2 3D.1 2 1解析:19.设有以下说明语句:struct ex { int x;floct y;char z;} example;则下面的叙述中不正确的是 ( )(分数:2.00)A.struct是结构体类型的关键字B.example是结构体类型名√C.x,y,z都是结构体成员名D.struct ex是结构体类型解析:20.以下只有使用时才为该类型变量分配内存的存储类型说明是 ( )(分数:2.00)A.auto 和 staticB.auto 和 register √C.register 和 staticD.extern 和 register解析:21.若fp是指向某文件的指针,且已读到该文件末尾,则库函数feof (fp) 的返回值是( ) (分数:2.00)A.EOFB.-1C.非零值D.NULL √解析:22.C语言提供的合法关键字是 ( )(分数:2.00)A.switchB.cherC.case √D.default解析:23.在C语言中,合法的字符常量是 ( )(分数:2.00)A.'/084'B.'/x43' √C.'ab'D.'/0'解析:24.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 ( )(分数:2.00)A.1B.2C.2 √D.2.5解析:25.合法的数组定义是 ( )(分数:2.00)A.int a[ ]="string";B.int a[5]={0,1,2,3,4,5};C.char a="string";D.char a={0,1,2,3,4,5};√解析:26.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是 ( )(分数:2.00)A.10<a<15 √B.a==11 | | a==12 | | a==13 | | a==14C.a>10&&a<15D.!(a<=10)SL&!(a>=15)解析:27.若t为doudle类型,表达式t=1,t + 5,t + +的值是 ( )(分数:2.00)A.1B.6C.2 √D.1解析:28.若有定义和语句 ( ) char s[10];s="abcd";printf("%s/n",s);则结果是(以下μ代表空格)(分数:2.00)A.输出abcdB.输出aC.abcdμμμμμD.编译不通过√解析:29.若有定义和语句:( ) int * * pp,* p,a=10,b=20 pp=&p;p=&a;p=&b;printf("%d,%d”n",* p,* * pp);则输出结果是(分数:2.00)A.10, 10B.10,20C.20,10D.20,20 √解析:30.若有以下定义和语句 ( )int u=010,v=Ox10,w=10;printf("%d,%d%d/n",u,v,w);则输出结果是(分数:2.00)A.8,16,10 √B.10,10,10C.8,8,10D.8,10,10解析:31.若有以下定义和语句char c1='b',c2='e'printf("%d,%c/n",c2-c1,c2-'a'+A);则输出结果( ) (分数:2.00)A.2,MB.3,E √C.2,ED.输出项与对应的格式控制不一致,输出结果不确定解析:32.若有定义:int a[3][4],( )不能表示数组元素a[1][1]。

全国计算机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语言题库(3)(4)

计算机二级c语言题库(3)(4)

习题三一、选择题1.printf()函数输出实数时,使用的格式字符是(C)。

A.%d B.%c C.%f D.%o2.下面变量说明中(C)是正确的。

A.char:a ,b ,c; B.char a;b;c;C.char a , b , c; D.char a,b ,c3.putchar()函数可以向终端输出一个(D )。

A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值4.阅读以下程序,当输入数据的形式为:25,13,10〈CR〉,正确的输出结果为( D )。

main(){ int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值5.以下说法正确的是( D )。

A. 输入项可以是一个实型常量B. 只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D. 当输入数据时,必须指明变量的地址,如scanf("%f",&f);6.以下能正确地定义整型变量a、b和c并为其赋初值5的语句是(C )。

A.int a=b=c=5; B.int a,b,c=5;C.int a=5,b=5,c=5; D.a=b=c=5;7.已知ch是字符型变量,下面正确的赋值语句是(B )。

A.ch='a+b'; B.ch='\xff'; C.ch='\08';D.ch="\";8.设x、y均为float型变量,则以下不合法的赋值语句是( B )。

2023年3月计算机二级C语言笔试真题及答案版

2023年3月计算机二级C语言笔试真题及答案版

3月二级c语言笔试真题及答案试题:一、选择题(11) 如下论述对旳旳是A)C语言程序是由过程和函数构成旳B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文献形式存在(12) 如下有关C语言旳论述中对旳旳是A)C语言中旳注释不可以夹在变量名或关键字旳中间B)C语言中旳变量可以再使用之前旳任何位置进行定义C)在C语言算术旳书写中,运算符两侧旳运算数类型必须一致D)C旳数值常量中夹带空格不影响常量值旳对旳表达(15)#include <stdio.h>void main(){char a,b,c,d;scanf(”%c%c”,&a,&b);c=getchar(); d=getchar();printf(”%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一种字符)12<CR>34<CR>则输出成果是:A、1234B、12C、12D、123 34 16、如下有关C语言数据类型使用旳论述中错误旳是:A、若要精确无误旳表达自然数,应使用整数类型。

B、若要保留带有多位小数旳数据,应使用双精度类型。

C、若要处理如”人员信息”等具有不一样类型旳有关数据,应自定义构造体类型。

D、若只处理”真”和”假”两种逻辑值,应使用逻辑类型。

(24)如下有关return语句旳论述中对旳旳是A)一种自定义函数中必须有一条return语句B) 一种自定义函数中可以根据不一样状况设置多条return语句C)定义成viod类型旳函数中可以有带返回值旳return语句D)没有return语句旳自定义函数在执行结束时不能返回到调用处(25)下列选项中,可以对旳定义数组旳语句是A)int num[0..]; B) int num[];C) int N=; D) #define Nint num[N]; int num[N](26)有如下程序#include<stdio.h>void fun (char*c,int d){*c=*c+1;d=d+1;printf(”%c,%c,”,*c,d);}main(){char b=’a’,a=’A’;fun(&b,a); printf(”%c,%c\n”,b,a);}程序运行后旳输出成果是A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B(27)若有定义int(*pt)[3];,则下列说法对旳旳是A)定义了基类型为int旳三个指针变量B)定义了基类型为int旳具有三个元素旳指针数组pt。

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

一、选择题((1)~(10)每小题2分,(11)-(50)每小题1分,共60分)下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)算法的时间复杂度是指_______。

A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数答案:C评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。

(2)下列叙述中正确的是________。

A)线性表是线性结构B)栈与队列是非线性结构C)线性链表是非线性结构D)二叉树是线性结构答案:A评析:一般将数据结构分为两大类型:线性结构与非线性结构。

线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

(3)下面关于完全二叉树的叙述中,错误的是_________。

A)除了最后一层外,每一层上的结点数均达到最大值B)可能缺少若干个左右叶子结点(更多考试资讯尽在/)C)完全二叉树一般不是满二叉树D)具有结点的完全二叉树的深度为[log2n]+1答案:B评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。

完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。

(4)结构化程序设计主要强调的是_________。

A)程序的规模B)程序的易读性c)程序的执行效率D)程序的可移植性答案:B评析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。

(5)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是________。

A)概要设计B)详细设计C)可行性分析D)需求分析答案:D评析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。

编写软件规格说明书及初步的用户手册,提交评审。

(6)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

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

A)控制流B)加工C)数据存储D)源和潭答案:A评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。

数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。

(7)软件需求分析一般应确定的是用户对软件的__________。

A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求答案:D评析:软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。

因此,需求分析应确定用户对软件的功能需求和非功能需求。

(8)下述关于数据库系统的叙述中正确的是________。

A)数据库系统减少了数据冗余B)数据库系统避免了一切冗余C)数据库系统中数据的一致性是指数据类型的一致(更多考试资讯尽在/)D)数据库系统比文件系统能管理更多的数据答案:A评析:由数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。

所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。

(9)关系表中的每一横行称为一个________。

A)元组B)字段C)属性D)码答案:A评析:在关系数据库中,关系模型采用二维表来表示,简称"表"。

二维表是由表框架及表元组组成。

在表框架中,按行可以存放数据,每行数据称为元组。

(10)数据库设计包括两个方面的设计内容,它们是________。

A)概念设计和逻辑设计B)模式设计和内模式设计C)内模式设计和物理设计D)结构特性设计和行为特性设计答案:A评析:数据库设计可分为概念设计与逻辑设计。

概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。

逻辑设计的主要工作是将ER图转换为指定的RDBMS中的关系模型。

(11)请读程序:#include<stdio.h>main(){int a;float b,c;scanf("%2d%3P%4f',&a,&b,&c);printf("\na=%d,b=%ec。

%f\n",a,b,c);}若运行时从键盘上输入9876543210l,则上面程序的输出结果是________。

A)a=98,b=765,c=432 1B)a=1 0,b=432,c=8765C)a=98,b=765.000000,c=432 1.000000D)a=98,b=765.0,c=432 1.0答案:C评析:scanf()把用户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存入单精度实型变量c,用户录入的第10位被scanf()遗弃。

这时变量a、b、c的值分别为:98、765.000000、4321.000000。

(12)一个良好的算法由下面的基本结构组成,但不包括__________。

A)顺序结构B)选择结构c)循环结构 )跳转结构答案:D评析:1966年,Bohra和Jacopini提出了以下三种基本结构,用这三种基本结构作为表示一个良好算法的基本单元:1、顺序结构;2、选择结构;3、循环结构。

(13)请选出以下程序的输出结果________。

#include<stdio.h>sub(x,y,z)int x,y,*z:{*z=y-x;}main(){int a,b,c;sub(10(更多考试资讯尽在/),5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7答案:B评析:sub()函数的作用是将形参y和x的差赋给了z指向的那个内存地址,所以在sub(10,5,&a/I,10和5属于值传递,a是属于地址传递,也就是a与z指向了同一个存储单元,在执行函数后,a的值随*z变化,所以此次函数被调用后,a的值为y-x=-5,同理可知,在sub(7,a,&b)后,b的值发生变化,其值为-5-7=-12,在sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。

(14)下面程序在屏幕上的输出是________。

main(){printf("ab\b\b c");}A)ab\b\b c B)a c C)abc D)ab c答案:B评析:c语言中允许使用一种特殊形式的字符常量,、就是以一个"\"开头的字符序列,这样的字符称为"转义字符"。

常用的转义字符有:\n,换行;\t,水平制表;\b,退格;\r,回车。

(15)若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是_______。

A)pb=&x;B)pb=x;C)*pb=&x;D)*pb=*x答案:A评析:选项A将变量x的地址赋给指针变量pb,使pb指向x'选项B是将x的值当作地址赋给指针pb,Db指向一个地址等于x值的内存单元;选项c将x的地址赋给指针pb 指向的地址等于x的内存单元。

(16)设整型数i=5,则printf("%d",i+++++i);的输出为________。

A)10B)1l C)12D)语法错误答案:D评析:c语言中有基本的算术运算符(+、-、*、/)还包括自增自减运算符(++、--),在c 语言解析表达式时,它总是进行贪婪咀嚼,这样,该表达式就被解析为i++ ++ +i,显然该表达式不合c语言语法。

(17)若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元int*p;p=___________malloc(sizeof(im));则应填入__________。

A)int B)int C)(*int)D)(int*)答案:D评析:不论p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之类型一致,强制类型转换的格式为(数据类型+)。

(18)下面程序输出的结果是__________。

main(){int i=5,J=9,x;x=(I==j?i:(j=7));printf("\n%d,%d",I,J);}A)5,7B)5,5C)语法错误D)7,5答案:A评析:条件表达式的一般形式为:表达式I?表达式2:表达式3;先求解表(更多考试资讯尽在/)达式1,若为真则求解表达式2;若表达式l的值为假,则求解表达式3。

本题中先判断i==j,不等,执行j=7;然后执行x=7。

故本题为A。

(19)若执行下面程序时从键盘上输入5,main(){int x:scanf("%d",&x);if(x++>5)printf("%d\n",x);else printf("%d\n",x--);}则输出是________。

A)7B)6C)5D)4答案:B评析:根据c语言的语法,x++是在使用x之后,再将x的值加1,在if语句中,x的值为5,条件不成立,执行else后面的语句,因为x的值已经加1,为6,所以打印结果为6。

(20)若有以下定义和语句:int a[]={l,2,3,4,5,6,7,8,9,10},*p=a;则值为3的表达式是_________。

A)p+=2,*(p++)B)p+=2,*++pC)p+=3,*p++D)p+=2,++*p答案:A评析:引用一个数组元素,可以用:(1)下标法,如a[i]形式;(2)指针法,如*(a+i)或*(p+i)。

数组的下标从0开始,值为3的数组元素是a[2]。

B、c的内容为a[3],D将a[2]前自加,结果为4。

(21)设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是___________。

A)'a'&&'b'B)a<=b c)a‖+c&&b-c D)!((a<b)&&!c‖1)答案:D评析z选项A:'a'&&'b'是字符a与b的相与,不为0;选项B:a<=b,由题中变量赋值可知,结果为1。

选项c:a‖+c&&b-c,结果为1;选项D:!((a<b)&&!c‖1),运算结果为O。

相关文档
最新文档