2000年4月二级C语言笔试试题

合集下载

c语言二级考试历年试题及答案合集

c语言二级考试历年试题及答案合集

c语言二级考试历年试题及答案合集以下是C语言二级考试的历年试题及答案合集:1. 题目:以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable name答案:B2. 题目:C语言中,哪个关键字用于声明一个函数?A. classB. functionC. voidD. int答案:C3. 题目:以下哪个选项是C语言中正确的二维数组声明?A. int array[5][10];B. int array[5,10];C. int array[5](10);D. int array[][];答案:A4. 题目:在C语言中,哪个运算符用于计算两个整数的乘积?A. /B. *C. %D. +答案:B5. 题目:以下哪个选项是C语言中正确的字符串声明?A. char str[5] = "Hello";B. char str[5] = {'H', 'e', 'l', 'l', 'o'};C. char str = "Hello";D. char str[5] = "Hello"; // 错误,数组大小不足以存储字符串答案:B6. 题目:C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strcmp答案:A7. 题目:以下哪个选项是C语言中正确的结构体声明?A. struct Student {int id;char name[50];};B. struct Student {int id;char name;};C. struct Student {int id;char name[50] = "John";};D. struct Student {int id;char name;} student;答案:A8. 题目:在C语言中,哪个关键字用于声明一个指针?A. intB. floatC. charD. *答案:D9. 题目:以下哪个选项是C语言中正确的函数原型声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(int a, b);答案:A10. 题目:C语言中,哪个函数用于计算两个整数的差?A. addB. subC. diffD. subtract答案:D以上是C语言二级考试的历年试题及答案合集,供考生复习参考。

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

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

计算机二级c语言笔试题库及答案尊敬的读者,本文将为您提供一份关于计算机二级C语言笔试题库及答案的合集。

以下是一系列包含不同难度等级的C语言题目,供您练习和学习。

请您按照合同的格式访问以下题目,并查看相应答案。

题目一:请编写一个C语言程序,输出“Hello World!”。

提示:```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```题目二:请编写一个C语言程序,输入两个整数,并输出它们的和。

提示:```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d%d", &num1, &num2);printf("两数之和:%d\n", num1 + num2); return 0;}```题目三:下列程序的输出结果是什么?```c#include <stdio.h>int main() {int a = 2, b = 3, c = 4, d;d = a + (c % b) * (a++);printf("%d\n", d);return 0;}```答案一:输出结果为:"Hello World!"答案二:代码中输入的两个整数可以通过用户在程序运行时进行输入。

假设输入的两个整数分别是1和2,则输出结果为:3答案三:输出结果为:4题目四:请编写一个C语言函数,实现计算斐波那契数列的第n项的值。

```c#include <stdio.h>int fibonacci(int n) {if (n <= 0) {return -1; // 输入不合法}if (n == 1 || n == 2) {return 1;}int a = 1, b = 1, i, temp;for (i = 3; i <= n; i++) {temp = a + b;a = b;b = temp;}return b;}int main() {int n;printf("请输入一个正整数:");scanf("%d", &n);printf("第%d项的值为:%d\n", n, fibonacci(n));return 0;}```答案四:用户在程序运行时可以输入一个正整数n,然后程序将计算斐波那契数列的第n项的值,并输出结果。

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

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

计算机二级c语言试题及答案1.(A )是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从 C 开始执行。

A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B ) 。

A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。

C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。

B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。

A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。

A、 %xB、a+bC、a123选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。

A、print _3d db8 aBcB、Iam one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D )。

(完整版)计算机二级C语言考试编程题题库

(完整版)计算机二级C语言考试编程题题库

计算机 c 语言编程题库1、求100之内自然数中最大的能被17整除的数。

void main(){ int i;for(i =100;i>0;i--)if(i%17==0)break;printf("%d\n",i);}2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、 c 的值。

void main(){int a,b,c;for(a=1;a<=9;a++){for(b=0;b<=9;b++){ for(c=1;c<=9;c++) if(a*100+b*10+c+c*100+b*10+a==1333) printf("%d,%d,%d\n",a,b,c);}}}3、计算并输出200-400之间不能被 3 整除的整数的和。

void main(){ int i,sum=0;for(i=200;i<=400;i++)if(i%3!=0) sum=sum+i; printf("%d\n",sum);}4、从键盘输入10 个数,统计非负数的个数,并计算非负数的和。

void main(){ int i,n=0,sum=0;int a[10];printf( 请“输入10个数: ”);for(i=0;i<10;i++) scanf( “ %d” ,&a[i]);for(i=0;i<10;i++) if(a[i]>=0) { sum=sum+a[i]; n++;} printf(" 非负个数是%d,sum=%d\n",n,sum);}5、求100 之内自然数中偶数之和。

void main() { int i,sum=0;for(i=0;i<=100;i++) if(i%2==0) sum=sum+i; printf("sum=%d\n",sum);}6、输入 5 个数,求和并输出。

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

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

(第一章)1. 以下关于算法的描述不正确的是__________。

A. 任何一个问题,它的实现算法是唯一的B. 描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等C. 算法的最终实现是计算机程序D. 正确性和清晰易懂性是一个好算法的基本条件2.下面是一个加法程序,指出存在的逻辑错误和语法错误。

/* 求整数a和b的和 */main( ){int a,b;a=8;b=2000;print("%d\n",a-b);}3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。

A.main B. MAIN C. name D. function4.以下叙述不正确的是__________。

A.C程序书写格式规定,一行内只能写一个语句B.main()函数后面有一对花括号,花括号内的部分称为函数体C.一个C程序必须有main()函数D.C规定函数内的每个语句以分号结束5.以下各标识符中,合法的用户标识符为_________。

A.A#C B.mystery C.main D.ab*6.已知求解某问题的算法如下:⑴输入a、b、c三个数。

⑵将a和b比较,较大者放在a中,小者放在b中。

⑶将a和c比较,较大者放在a中,小者放在c中。

⑷将b和c比较,较大者放在b中,小者放在c中。

⑸依次输出a、b、c。

请根据上述算法描述,把算法的功能表达出来。

【答案】把任意输入的三个数a、b、c按降序排列的顺序输出。

7.一个C语言程序可以包括多个函数,程序总是按照如下_________所描述的方式执行当前的程序。

A.从本程序的main()函数开始,到本程序文件的最后一个函数结束。

B.从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C.从main()函数开始,到main()函数结束。

D.从本程序文件的第一个函数开始,到本程序main()函数结束。

8.以下叙述正确的是_________。

二级c语言笔试题库

二级c语言笔试题库

二级c语言笔试题库题目一:编写一个函数,接受一个整数数组和一个目标值,在数组中找到两个数的和等于目标值,并返回两个数的下标。

题目二:编写一个函数,接受一个字符串和一个字符,统计字符串中该字符出现的次数,并返回次数。

题目三:编写一个函数,接受一个整数数组,将数组中的元素按照从大到小的顺序进行排序,并返回排序后的数组。

题目四:编写一个函数,接受一个整数数组和一个整数,将数组中的每个元素都乘以这个整数,并返回新的数组。

题目五:编写一个函数,接受一个整数数组,找出数组中最小的非负整数并返回。

题目六:编写一个函数,接受一个字符串,将字符串中的元音字母反转,并返回反转后的字符串。

题目七:编写一个函数,接受一个整数数组和一个整数,将数组中的所有元素移除等于该整数的元素,并返回移除后的数组。

题目八:编写一个函数,接受一个整数数组和一个整数,将数组中的所有元素移到数组的末尾,并返回移动后的数组。

题目九:编写一个函数,接受一个字符串数组和一个字符串,统计数组中包含该字符串的元素个数,并返回个数。

题目十:编写一个函数,接受一个整数数组和一个整数,返回数组中存在的两个数和等于目标值的组合的个数。

题目十一:编写一个函数,接受一个整数数组和一个整数,找到数组中任意四个数的和等于目标值的组合,并返回组合的个数。

题目十二:编写一个函数,接受一个整数数组和一个整数,返回数组中存在的三个数和等于目标值的组合的个数。

题目十三:编写一个函数,接受一个整数数组和一个整数,返回数组中存在的两个不同数和等于目标值的组合的个数。

题目十四:编写一个函数,接受一个整数数组,将数组中的所有元素进行去重,并返回去重后的数组。

题目十五:编写一个函数,接受一个整数数组和一个整数,找到数组中存在的所有两个数和等于目标值的组合,并返回组合的下标。

题目十六:编写一个函数,接受一个字符串数组和一个字符串,找到数组中存在的所有包含该字符串的元素,并返回元素。

题目十七:编写一个函数,接受一个整数数组和一个整数,找到数组中存在的所有三个数和等于目标值的组合,并返回组合的下标。

c语言二级考试历年试题及答案合集

c语言二级考试历年试题及答案合集1. 以下哪个选项是C语言中的关键字?A. intB. integerC. floatD. real答案:A2. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. size()D. len()答案:A3. 如果变量a的值为10,那么表达式a++的结果是什么?A. 10B. 11C. 9D. 错误答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _myVarB. myVar2C. 2variableD. $var答案:C5. C语言中,哪个运算符用于计算两个数的乘积?A. *B. /C. %D. +答案:A6. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strncat()答案:A7. 如果有以下代码段:```cint a = 5;int b = 3;int c = a + b;```那么变量c的值是多少?A. 5B. 8C. 3D. 无法确定答案:B8. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. <!-- 这是一个注释 -->D. //* 这是一个注释 */答案:A9. 在C语言中,以下哪个选项是正确的数组声明方式?A. int array[10];B. int [10] array;C. int array = 10;D. int array[] = {1, 2, 3};答案:A10. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D11. 如果有以下代码段:```cint main() {int x = 10;printf("%d", x);return 0;}```程序的输出是什么?A. 10B. 0C. 1D. 程序错误答案:A12. 在C语言中,哪个关键字用于创建一个循环,直到满足某个条件?A. whileB. forC. doD. until答案:A13. 在C语言中,以下哪个选项是正确的结构体声明方式?A. struct {int id;char name[50];} employee;B. struct employee {int id;char name[50];};C. struct employee id;int name;};D. struct employee {int id;char name;};答案:B14. 在C语言中,以下哪个选项是正确的指针声明方式?A. int *ptr;B. int ptr*;C. *int ptr;D. ptr int*;答案:A15. 在C语言中,哪个函数用于打开一个文件?A. fopen()B. open()C. fileopen()D. file()答案:A16. 在C语言中,以下哪个选项是正确的枚举声明方式?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} Color;C. enum Color {Red, Green, Blue} color;D. enum color {Red, Green, Blue};答案:A17. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. define PI 3.14159C. #define "PI" 3.14159D. define "PI" 3.14159答案:A18. 在C语言中,哪个关键字用于定义一个全局变量?A. globalB. externC. staticD. auto答案:B19. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. 以上都是答案:D20. 在C语言中,哪个函数用于计算并返回两个整数的最大公约数?A. max()B. gcd()C. max_common_divisor()D. greatest_common_divisor()答案:B。

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

2016年计算机二级c语言题库及答案一、选择题(每小题1分,共40小题,共40分)1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。

现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。

A.20B.0或35C.15D.162.下列关于栈的叙述中,正确的是( )。

A.栈底元素一定是最后入栈的元素B.栈操作遵循先进后出的原则C.栈顶元素一定是最先入栈的元素D.以上三种说法都不对3.下列链表中,其逻辑结构属于非线性结构的是( )0、A.双向链表B.带链的栈C.二叉链表D.循环链表4.在关系数据库中,用来表示实体间联系的是( )。

A.网状结构B.树状结构C.属性D.二维表5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。

则实体部门和职员间的联系是( )。

A.1:m联系B.m:n联系C.1:1联系D.m:l联系6.右两个关系R和S如下:则由关系R得到关系S的操作是( )。

A.自然连接B.并C.选择D.投影7.数据字典(DD)所定义的对象都包含于( )。

A.软件结构图B.方框图C.数据流图(DFD图)D.程序流程图8.软件需求规格说明书的作用不包括( )。

A.软件设计的依据B.软件可行性研究的依据C.软件验收的依据D.用户与开发人员对软件要做什么的共同理解9.下面属于黑盒测试方法的是( )。

A.边界值分析B.路径覆盖C.语句覆盖D.逻辑覆盖10.下面不属于软件设计阶段任务的是( )。

A.制订软件确认测试计划B.数据库设计C.软件总体设计D.算法设计11.以下叙述中正确的是( )。

A.在C语言程序中,main函数必须放在其他函数的最前面B.每个后缀为C的C语言源程序都可以单独进行编译C.在C语言程序中,只有main函数才可单独进行编译D.每个后缀为.C的C语言源程序都应该包含一个main函数12.C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是( )。

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

题库名:程序设计基础总试题库.mdb题数:167题1、在语句cin>>data;中,cin是(判断题)所属章节:4.C语言二级考试题库难度系数:1A. C++的关键字B. 类名C. 对象名D. 函数名说明: 此写解题要点或对题目做说明。

2、假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下执行下面的语句:u=(a==2)?b+a:c+a;执行该语句后整型变量u的值为()。

(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 0B. 3C. 4D. 5答案: C说明: 此写解题要点或对题目做说明。

3、分析下面的代码:if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");如果x=30,y=150,输出为()。

(单选题)所属章节:4.C语言二级考试题库难度系数:1A. GoodB. BadC. Good BadD. Bad Good答案: B说明: 此写解题要点或对题目做说明。

4、分析下面的代码:#include<stdio.h>void main(){int a;scanf("%d",&a);switch(a){case 1:printf("星期一");case 2:printf("星期二");case 3:printf("星期三");case 4:printf("星期四");case 5:printf("星期五");case 6:printf("星期六");case 7:printf("星期日");default:printf("输入错误\n");}}若a=6,则输出结果是()。

全国计算机等级二级考试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)isal pha(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)的是BA)(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";(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是DA)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1](27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是DA)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)有以下程序(29)#include <stdio.h>#define N 5#define M N+1#define f(x) (x*M)main(){ int i1,i2;i1=f(2);i2=f(1+1);printf("%d %d\n",i1,i2);}程序的运行结果是BA)12 12 B)11 7 C)11 11 D)12 7(29)若有以下说明和定义union dt{ int a; char b; double c;}data;以下叙述中错误的是DA)data的每个成员起始地址都相同B)变量data所占内存字节数与成员c所占字节数相等C)程序段:data.a=5;printf("%f\n",data.c);输出结果为5. D)data可以作为函数的实参(30)有以下程序#include<stdio.h>main(){FILE *fp;int k,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序运行后的输出结果是DA)1 2 B)1 4 C)123 4 D)123 456(31)若已定义int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;其中则对a数组元素不正确的引用是DA)a[p-a] B)*(&a[i]) C)p[i] D)a[10](32)有以下程序#include <stdio.h>{ int i,j,t;i=n1; j=n2;while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k<l0;k++)printf("%d",a[k]); printf("\n");}程序的运行结果是CA) B) C) D)(33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为A#include <stdio.h>#include <ctype.h>#include <string.h>int fun (char *str){ int i,j=0;for(i=0;str[i]!=′ \0′;i++)if(str[i]!=′ ′)str[j++]=str[i];str[j]= ′\0′;}main(){char str[81];int n;printf("Input a string : ");gets(str);puts(str);fun(str);printf("%s\n",str);}A)asdafaaz67 B)asd af aa z67 C)asd D)z67(34)有以下程序int fun(int n){if(n==1)return 1;elsereturn(n+fun(n-1));}main(){int x;scanf("%d",&x); x=fun(x);printf("%d\n",x)}执行程序时,给变量x输入10,程序的输出结果是AA)55 B)54 C)65 D)45(35)下面程序段中,输出*的个数是 Cchar *s="\ta\018bc";for(;*s!='\0';s++)printf("*");A)9 B)5 C)6 D)7(36)C语言结构体类型变量在程序运行期间BA)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元B)所有的成员一直驻留在内存中C)只有最开始的成员驻留在内存中D)部分成员驻留在内存中(37)已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是CA)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项(38)设有以下语句char x=3,y=6,z;z=x^y<<2;则z的二进制值是BA) B) C) D)(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是AA)auto和register B)extern和register C)auto和static D)static和register (40)设有定义语句则以下叙述正确的是BA)f是基类型为int的指针变量B)f是指向函数的指针变量,该函数具有一个int类型的形参C)f是指向int类型一维数组的指针变量D)f是函数名,该函数的返回值是基类型为int类型的地址二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。

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

1 2000年4月二级C语言笔试试题 一、选择题((1)--(40)每小题1分, (41)--(50)每小题2分, 共60分) 下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。 (1) 下列述叙中正确的是( )。 A) 显示器和打印机都是输出设备 B) 显示器只能显示字符 C) 通常的彩色显示器都有7种颜色 D) 打印机只能打印字符和表格 (2) 微型计算机中运算器的主要功能是进行( )。 A) 算术运算 B) 逻辑运算 C) 算术和逻辑运算 D) 初等函数运算 (3) COMMAND。COM是DOS系统的最外层模块,通常称之为( )。 A) 引导程序 B) 输入输出系统 C) 命令处理系统 D) 文件管理系统 (4) 电子邮件是( )。 A)网络信息检索服务 B)通过Web网页发布的公告信息 C)通过网络实时交互的信息传递方式 D)一种利用网络交换信息的非交互式服务 (5) 和十进制数225相等的二进制数是( )。 A) 11101110 B) 11111110 C) 10000000 D) 11111111 (6) 下列叙述中正确的是( )。 A) 指令由操作数和操作码两部分组成 B) 常用参数xxMB表示计算机的速度 C) 计算机的一个字长总是等于两个字节 D) 计算机语言是完成某一任务的指令集 (7) 计算机的内存储器比外存储器( )。 A) 价格便宜 B) 存储容量大 C) 读写速度快 D) 读写速度慢 (8) 设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是( )。 A) B盘上的A.TXT文件被复制到C盘的PRN文件 B) 屏幕上显示B盘上的A.TXT文件内容 C) B盘上的A.TXT文件内容在打印机上输出 D) B盘上的A.TXT文件被复制到B盘上的PRN文件 (9) 要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是( )。 A) COPY A:X1.TXT+C:B1.TXT Z.TXT B) COPY X1.TXT+C:\WS\B1.TXT B:\Z.TXT C) COPY A:X1.TXT+C:\WS\B1.TXT D) COPY X1.TXT+B1.TXT B:Z.TXT (10) 下列四组DOS命令中,功能等价的一组是( )。 A) COPY A:*.* B:与DISKCOPY A: B: B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXT C) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXT D) TYPE *.FOR>CON与COPY *.FOR CON (11) 设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,应该使用命令( )。 A) DEL A*.TXT B) DEL \AA\A.TXT C) DEL \AA\A*.TXT D) DEL \AA\A?.TXT (12) 在Windows中,启动应用程序的正确方法是( )。 A) 用鼠标指向该应用程序图标 B) 将该应用程序窗口最小化成图标 B) 将该应用程序窗口还原 D) 用鼠标双击该应用程序图标 (13) 在Windows中,终止应用程序执行的正确方法是( )。 A) 将该应用程序窗口最小化成图标 B) 用鼠标双击应用程序窗口右上角的还原按钮 C) 用鼠标双击应用程序窗口中的标题栏 D) 用鼠标双击应用程序窗口左上角的控制菜单框 (14) 在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在( )。 A) RAM中 B) ROM中 C) 硬盘中 D) 寄存器中 (15) 使计算机病毒传播范围最广的媒介是( )。 A) 硬磁盘 B) 软磁盘 C) 内部存储器 D) 互联网 (16) 设有 int x=11; 则表达式 (x++ * 1/3) 的值是( )。 A) 3 B) 4 C) 11 D) 12 (17) 下列程序的输出结果是( )。 A) 3 B) 3.2 C) 0 D) 3.07 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d \n", d*y); } (18) 下列程序执行后的输出结果是(小数点后只写一位)( )。 A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0 main() { double d; float f; ling l; int i; i=f=1=d=20/3; 2

printf("%d %ld %f %f \n", i,l,f,d); } (19) 下列变量定义中合法的是( )。 A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1-e-3; (20) 设 int x=1, y=1; 表达式(!x||y--)的值是( )。 A) 0 B) 1 C) 2 D) -1 (21) 与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是( )。 A) if (x>0) y=1; B) if(x) else if(x<0)y=-1; if(x>0)y=1; else y=0; else if(x<0)y=-1; else y=0; C) y=-1 D) y=0; if(x) if(x>=0) if(x>0)y=1; if(x>0)y=1; else if(x==0)y=0; else y=-1; else y=-1; (22) 以下循环体的执行次数是( )。 A) 3 B) 2 C) 1 D) 0 main() { int i,j; for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i); } (23) 以下叙述正确的是( )。 A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。 C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。 (24) 下列程序执行后的输出结果是( )。 A) G B) H C) I D) J main() { int x='f'; printf("%c \n",'A'+(x-'a'+1)); } (25) 执行下面的程序段后,变量k中的值为( )。 A) 不定值 B) 33 C) 30 D) 10 int k=3, s[2]; s[0]=k; k=s[1]*10; (26) 若已定义:( )。 int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用上 A) a[p-a] B) *(&a[i]) C) p[i] D) a[10] (27) 下列程序执行后的输出结果是( )。 A) 6 B) 7 C) 8 D) 9 void func(int *a,int b[]) { b[0]=*a+6; } main() { int a,b[5]; a=0; b[0]=3; func(&a,b); printf("%d \n,b[0]); } (28) 下列程序的运行结果是( )。 A) a=%2,b=%5 B) a=2,b=5 C) a=d, b=d D) a=%d,b=%d #include main() { int a=2,c=5; printf("a=%d,b=%d\n",a,c); } (29) 下列程序执行后的输出结果是( )。 A) 3 B) 6 C) 9 D) 随机数 main() 3

{ int a[3][3], *p,i; p=&a[0][0]; for(i=p; i<9; i++) p[i]=i+1; printf("%d \n",a[1][2]); } (30) 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为( )。 A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节 (31) 下列程序的输出结果是( )。 A) 4 B) 6 C) 8 D) 10 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d \n",res); } (32) 在以下四组中,每组有两个分别运算的函数,运算结果相同的是( )。 A) 4 B) 2 C) 2 D) 0 main() { int i, j, m=0, n=0; for(i=p; i<2; i++) for(j=0; j<2; j++) if(j>=i) m=1; n++; printf("%d \n",n); } (33) 下列程序的输出结果是( )。 A) 5 B) 6 C) 7 D) 8 struct abc { int a, b, c; }; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0],a+s[1],b; printf("%d \n",t); } (34) 设 int b=2;表达式(b>>2)/(b>>1)的值是( )。 A) 0 B) 2 C) 4 D) 8 (35) 在C程序中,可把整型数以二进制形式存放到文件中的函数是( )。 A) fprintf函数 B) fread函数 C) fwrite函数 D) fputc函数 (36) 下列程序执行后的输出结果是( )。 A) -32767 B) FFFE C) -1 D) -32768 main() { char x=0xFFFF; printf("%d \n",x--); } (37) 若有定义: float w; int a, b; 则合法的switch语句是( )。 A) switch(w) B) switch(a); { case 1.0: printf("*\n"); { case 1 printf("*\n"); case 2.0: printf("**\n"); case 2 printf("**\n"); } } C) switch(b) D) switch(a+b); { case 1: printf("*\n"); { case 1: printf("*\n"); default: printf("\n"); case 2: printf("**\n"); case 1+2: printf("**\n"); default: printf("\n"); } } (38) 以下程序段的执行结果是( )。 A) a=12 y=12 B) a=12 y=12 a=14 y=16 a=16 y=28 a=16 y=20 a=18 y=24

相关文档
最新文档