1999年9月全国计算机二级C语言考试真题及答案
- 格式:doc
- 大小:63.50 KB
- 文档页数:18
1999年(春)江苏省普通高校非计算机专业学生计算机基础知识和应用能力等级考试试卷二级(本试卷包括计算机基础知识部分和程序设计部分,考试时间共120分钟)第一部分计算机基础知识一、选择题1.计算机的系统总线由三种信号线组成,它们分别是(1)。
A. 数据线、控制线、地址线B. 数据线、状态线、地址线C. 控制线、状态线、地址线D. 数据线、状态线、控制线2.十六进制数4D转换成七进制数(用0~6表示)的结果为(2)。
A. 141B. 140C. 115D. 1163.结构化程序设计所规定的三种基本控制结构是(3)。
A. 顺序、选择与转向B. 层次、网络和循环C. 模块、选择和循环D. 顺序、选择与循环4.使用高级语言编程时,源程序中的(4)错误通常不能通过编译程序在编译时被发现。
A. 程序结构不完整B. 数组元素下标值越界C. 非法的变量名D. 括号不配对5. 软件的可移植性是衡量软件质量的重要标准之一,它指的是(5)。
A. 软件版本升级的容易程度B. 软件与其他软件交换信息的容易程度C. 软件对软硬件环境要求得到满足的容易程度D. 软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度6.汉字信息在计算机中处理时,不同阶段使用的编码有所不同。
通常所说的“一个汉字在计算机中占二个字节”是指汉字信息以(6)形式存储。
A. 机内码B. 区位码C. 国标码D. 字形码7.中文版Windows 95 (PWIN95)系统可支持GBK汉字字符集,利用Windows 95系统提供的GBK汉字输入可以输入(7)个汉字。
A.7000多B.6000多C.20000多D.10000多8.国际标准化组织对数据所下的定义是:“数据是对(8)、概念或指令的一种特殊表达形式”。
A. 物质B. 事实C. 意识D. 信息9.90年代作为信息处理热点技术之一的“多媒体技术”是指(9)。
A.表示媒体B.表现媒体C.传输媒体D.感觉媒体10.在Internet网中,采用的网络协议是(10)。
往年全国计算机二级c语言试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接在硬件上运行C. C语言具有结构化的特点D. C语言的源代码需要编译后才能运行答案:B2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列选项中,不是C语言标准库函数的是()。
A. printfB. scanfC. mainD. strcpy答案:C二、填空题1. 在C语言中,一个整型变量占用的字节数是()。
答案:42. C语言中,用于定义一个函数的关键字是()。
答案:void 或 int 或其他类型3. 在C语言中,用于声明一个指针变量的语法是()。
答案:类型名 *变量名三、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("100以内所有偶数的和为:%d\n", sum);return 0;}```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("反转后的字符串为:%s\n", str);return 0;}```四、简答题1. 简述C语言中数组和指针的关系。
全国计算机二级《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语言上机操作题.第1套填空题请补充FUN函数,FUN函数的功能是求10的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>long fun(int n){if(___1___)return(n*fun(___2___));return___3___;}main(){printf("10!=%ld\n",fun(10));}第1处填空:n>1或1<n第2处填空:n-1第3处填空:1或11或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#include<stdio.h>/********found********/IsPrime(int n);{int i,m;m=1;/********found********/for(i=2;i<n;i++)if!(n%i){m=0;break;}return(m);}main(){int j,k;printf("\nplease enter an integer number between2and10000:");scanf("%d",&k);printf("\n\nThe prime factor(s)of%d is(are):",k);for(j=2;j<k;j++)if((!(k%j))&&(IsPrime(j)))printf("%4d,",j);printf("\n");}第1处:Isprime(int n);应改为Isprime(int n)第2处:if!(n%i)应该为if(!(n%i))编程题M个人的成绩存放在score数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below所指的数组中。
全国计算机等级考试二级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语言一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. intD. void答案:D2. 若有定义int a=5; 则执行以下语句后,变量a的值是多少?A. a=(a++)+(++a)+a;B. a=a--+(++a)+a;C. a=(a++)+(++a)+a--;D. a=(a++)+(++a)+a--;答案:A3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. %C. *D. ^答案:C4. 下列哪个选项是C语言中合法的字符常量?A. 'a'B. "a"C. 'ab'D. '\t'答案:D5. 在C语言中,以下哪个选项是合法的数组声明?A. int a[5];B. int a[];C. int a[5][5];D. int a[5,5];答案:A6. 若有定义int x=10; 则执行以下语句后,变量x的值是多少?A. x=x+++x;B. x=++x+x--;C. x=x--+x++;D. x=x+++x--;答案:B7. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A8. 在C语言中,以下哪个选项是合法的指针声明?A. int *p;B. int *p[];C. int (*p)();D. int (*p)[5];答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do{}while(0)D. all of the above答案:D10. 在C语言中,以下哪个选项是合法的函数声明?A. int func();B. void func(int a);C. int func(int a, int b);D. all of the above答案:D11. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. all of the above答案:A12. 在C语言中,以下哪个选项是合法的文件操作函数?A. fopenB. fcloseC. freadD. all of the above答案:D13. 在C语言中,以下哪个选项是合法的字符串操作函数?A. strcpyB. strncpyC. strcatD. all of the above答案:D14. 在C语言中,以下哪个选项是合法的动态内存分配函数?A. mallocB. callocC. reallocD. all of the above答案:D15. 在C语言中,以下哪个选项是合法的位操作运算符?A. &B. |C. ^D. all of the above答案:D16. 在C语言中,以下哪个选项是合法的预处理指令?A. #includeB. #defineC. #ifdefD. all of the above答案:D17. 在C语言中,以下哪个选项是合法的类型转换运算符?A. (int)xB. (float)xC. (char)xD. all of the above答案:D18. 在C语言中,以下哪个选项是合法的条件运算符?A. ?B. :C. ||D. &&答案:A19. 在C语言中,以下哪个选项是合法的多维数组声明?A. int a[5][5];B. int a[][5];C. int a[5][];D. int a[][];答案:A20. 在C语言中,以下哪个选项是合法的枚举类型声明?A. enum color {red, green, blue};B. enum {red, green, blue};C. enum color {0, 1, 2};D. all of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用关键字________声明一个函数。
全国计算机二级c语言考试真题及答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义int a[5] = {1, 2, 3, 4, 5};,则a[0]的值是?A. 1B. 2C. 3D. 4答案:A3. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do答案:B4. 在C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 若有定义int x = 10;,则表达式x++的值是多少?A. 9B. 10C. 11D. 无法确定答案:B6. 在C语言中,以下哪个关键字用于定义一个联合体?A. structB. unionC. enumD. typedef答案:B7. 下列哪个选项是C语言中的合法整型常量?A. 012B. 0x1AC. 1.2E3D. 0b1010答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A9. 若有定义int a = 5, b = 10;,则表达式a + b 的值是多少?A. 15B. 5C. 10D. 无法确定答案:A10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. structB. unionC. enumD. typedef答案:C二、程序填空题(每空2分,共20分)给定以下C语言程序片段,请在空白处填入正确的代码。
```c#include <stdio.h>int main() {int a, b, sum;scanf("%d %d", &a, &b);sum = a + b; // 计算两数之和printf("Sum is: %d\n", sum);return 0;}```若要计算两数之差,请在空白处填入正确的代码。
1999年4月全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间120分钟,满分100分)一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个有选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)微型计算机的性能主要取决于A)内存 B)中央处理器 C)硬盘 D)显示卡(2)有一个数值152,它与十六进制数6A相等,那么该数值是A)二进制数 B)八进制数 C)十进制数 D)四进制数(3)使用超大规模集成电路制造的计算机应该归属于A)第一代 B)第二代 C)第三代 D)第四代(4)已知英文字母a的ASCII代码值是十六进制数61H,那字母子b的ASCII代码值是A)34H B)54H C)24H D)64H(5)一片存储容量是1.44MB的软磁盘,可以存储大约140万个A)ASCII字符 B)中文字符 C)磁盘文件 D)子目录(6)在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是A)终止当前操作 B)暂停当前操作 C)关机 D)热启动(7)将二进制数10000001转换为十进制数应该是A)127 B)129 C)126 D)128(8)磁盘处于写保护状态,那么磁盘中的数据A)不能读出,不能删改,也不能写入新数据B)可以读出,不能删改,也不能写入新数据C)可以读出,可以删改,但不能写入新数据D)可以读出,不能删改,但可以写入新数据(9)微型机启动后,DOS提示符是C:\>,现提示符变为C:\USER>,则说明刚执行过命令A)PROMPT B)PROMPT USER C)PROMPT $P$G D)CD USER(10)MS-DOS文件系统目录的组织形式属于A)关系型结构 B)网络型结构 C)树型结构 D)直线型结构(11)应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:\TH 目录中,而数据文件存放在C:\TH\DATA目录中。
全国计算机等级考试二级C语言模拟试题及答案(一)一、选择题(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素?D)没有共同点正确答案:? C(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba正确答案:? D(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素?D)所需空间与线性表长度成正比正确答案:? B(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构正确答案:? D(5)为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序正确答案:? D(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数正确答案:? C(7)软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护正确答案:? D(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为A)CB)BasicC)DDLD)DML正确答案:? C(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件正确答案:? C(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字正确答案:? D(11)以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案:? C(12)C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue正确答案:? A(13)C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案:? B(14)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int %3D)a=a+7=c+b正确答案:? B(15)下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof正确答案:? B(16)C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)<=正确答案:? A(17)若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1B)++i;C)a=a++=5;D)a=int(i);正确答案:? B(18)已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对正确答案:? B(19)若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予,b赋予,c赋予,下列不正确的输入形式是A)10<回车>22<回车>33<回车>B),,<回车>C)<回车>22.033.0<回车>D)10? 22<回车>33<回车>正确答案:? B(20)有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2正确答案:? A(21)有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k); }执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3正确答案:? C(22)有如下程序main(){float x=,y;if(x<)y=;else if(x<)y=x;else y=;printf("%f\n",y);}该程序的输出结果是A)B)0.250000C)D)正确答案:? C(23)有如下程序:main(){int n=9;while(n>6){n--; printf("%d",n);} }该程序的输出结果是A)987B)876C)8765D)9876正确答案:? B(24)在下列选项中,没有构成死循环的是A)int i=100;while(1){i=i%100+1;if(i>100)break;}B)for(;;);C)int k=10000;do{k++;}while(k>10000);D)int s=36;while(s)--s;正确答案:? D(25)设int x=1,y=1;表达式(!x||y--)的值是A)0B)1C)2D)-1正确答案:? B(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参正确答案:? D(27)有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是A)编译出错B)9C)21D)正确答案:? B(28)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)正确答案:? D(29)fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案:? B(30)若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是A)EOFB)-1C)1正确答案:? C(31)若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案:? A(32)若有说明int a[3][4];则a数组元素的非法引用是A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]正确答案:? D(33)设有以下说明语句{int a;float b;} stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名正确答案:? C(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式正确答案:? C(35)若运行时给变量x输入12,则以下程序的运行结果是main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)10正确答案:? A(36)以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案:? C(37)表达式0x13^0x17的值是A)0x04B)0x13C)0xE8D)0x17正确答案:? A(38)有以下程序#define F(X,Y)(X)*(Y)main(){int a=3, b=4;printf("%d\n", F(a++, b++));}程序运行后的输出结果是A)12B)15C)16D)20正确答案:? A(39)下列程序执行后的输出结果是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]); }A)6B)7C)8D)9正确答案:? A(40)若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等正确答案:? D(41)以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;} }main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,正确答案:? C?(42)以下程序的运行结果是#include ""main(){struct date{int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)12正确答案:? A(43)若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point正确答案:? D(44)在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定正确答案:? B(45)已定义以下函数fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'正确答案:? A(46)若执行下述程序时,若从键盘输入6和8时,结果为main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对正确答案:? B(47)fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案:? D(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案:? D(49)有以下程序void ss(char *s,char t){while(*s){if(*s= =t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d'; ss(str1,c); printf("%s\n",str1); }程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd正确答案:? B(50)若以下定义:struct link{int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:?指针p指向变量a,q指向变量c。
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。
作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。
选择题部分只能进入一次,退出后不能再次进入。
选择题部分不单独计时。
)1.下列叙述中正确的是()。
A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项。
2.以下叙述中错误的是()。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。
C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。
答案选择A选项。
3.C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。
9月计算机二级C语言考试试题附答案C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
以下是关于计算机二级C语言考试试题附答案,希望大家认真练习!第1题给定程序MODI1.C中函数 fun 的功能是:把在字符串s中出现的每个字符,紧随其后重复出现一次,形成一个新串放在t中,t中字符按原字符串中字符顺序排列。
例如:当s中的字符串为:"ABAABBCCDDEE"。
则t中的字符串应为:"AABBCCDDEE"。
请改正函数fun中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!Modi1.c#include#include#include/************found************/void fun (char s,char t) /参考答案:void fun (char *s,char *t)/ { int i, sl;sl = strlen(s);for (i=0; i{ t[2*i] = s[i];t[2*i+1] = s[i];}/************found************/t[2*sl] = '0'; /参考答案:t[2*sl] = '\0';/}main(){ char s[100], t[100];printf("\nPlease enter string s:"); scanf("%s", s);fun(s, t);printf("The result is: %s\n", t);}第2题给定程序MODI1.C中函数 fun 的功能是:把在字符串s中出现的每个字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中逆排列。
1999年9月全国计算机二级C语言考题试卷及解答一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。
(1)十进制数1385转换成十六进制数为A.568B.569C.D85D.D55(2)下列叙述中正确的是A.计算机病毒只能传染给可执行文件B.计算机软件是指存储在软盘中的程序C.计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D.硬盘虽然装在主机箱内,但它属于外存(3)一个字长的二进制位数是A.8B.16C.32D.随计算机系统而不同的(4)CPU主要由运算器与控制器组成,下列说法中正确的是A.运算器主要负责解析指令,并根据指令要求作相应的运算B.控制器主要完成对数据的运算,包括算术运算和逻辑运算C.控制器主要负责解析指令,并根据指令要求作相应的运算D.控制器直接控制计算机系统的输入与输出操作(5)下列叙述中正确的是A.将数字信号变换成便于在模拟通信线路中传输的信号称为调制B.以原封不动的形式将来自终端的信息送入通信线路称为调制解调C.在计算机网络中,一种传输介质不能传送多路信号D.在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6)各种网络传输介质A.具有相同的传输速率和相同的传输距离B.具有不同的传输速率和不同的传输距离C.具有相同的传输速率和不同的传输距离D.具有不同的传输速率和相同的传输距离(7)多媒体计算机系统的两大组成部分是A.多媒体功能卡和多媒体主机B.多媒体通信软件和多媒体开发工具C.多媒体输入设备和多媒体输出设备D.多媒体计算机硬件系统和多媒体计算机软件系统(8)按通信距离划分,计算机网络可以分为局域网和广域网。
下列网络中属于局域网的是A.InternetB.CERNETC.NovellD.CHINANET(9)在Windows中,启动应用程序的正确方法是A.用鼠标双击该应用程序图标B.将该应用程序窗口小化成图标C.将该应用程序窗口还原D.将鼠标指向该应用程序图标(10)在Windows中,终止应用程序执行的正确方法是A.用鼠标双击应用程序窗口左上角的控制菜单框B.将应用程序窗口小化成图标C.用鼠标双击应用程序窗口右上角的还原按钮D.用鼠标双击应用程序窗口中的标题栏(11)DOS控制键Ctrl+Alt+Del的功能为A.删除一个字符并退格B.暂停标准输出设备的输出C.热启动D.终止当前操作(12)设当前盘为C盘,为了将A盘当前目录中所有扩展名为.PAS 的文件改成扩展名为.P,应使用的DOS命令为A.REN A:*.PAS A:*.PB.REN A:*.PAS *.PB.REN A:.PAS A:.PD.REN A:.PAS .P(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,正确的DOS命令为A.CD D2B.CD D2\C.CD \D2D.CD D1\D2(14)设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT 连接后以文件名Y.TXT 存放到A盘的当前目录中,正确的DOS命令为A.COPY A.TXT+X.TXT A:Y.TXTB.COPY B:A.TXT+X.TXT A:Y.TXTB.COPY B:A.TXT+B:X.TXT>Y.TXTD.COPY B:A.TXT+B:X.TXT Y.TXT(15)下列DOS命令中正确的是A.REN \USER\A.TXT \B.TXTB.CD \C.TYPE *.TXTD.MD \(16)以下选项中属于C语言的数据类型是A.复数型B.逻辑型C.双精度型D.集合型(17)在C语言中,不正确的int类型的常数是A.32768B.0C.037D.0xAF(18)语句:printf("%d",(a=2)&&(b= -2);的输出结果是A.无输出B.结果不确定C.-1D.1(19)下列描述中不正确的是A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值(20)设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是A.1B.0C.-1D.2(21)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A.c=b=a;B.(a=C.‖(b=c);C.(a=c)&&(b=c);D.a=c=b;(22)以下程序的输出结果是A.10 1 9 2B.9 8 7 6C.10 9 9 0D.10 10 9 1{ int x=10,y=10,I;for(i=0;x>8;y=++i)printf("%d,%d ",x--,y);}(23)以下程序的输出结果是A.5 2B.5 1C.5 3D.9 7main( ){ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d ",p[i]);}(24)以下程序的输出结果是A.6B.6789C.'6'D.789main( ){ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;int i;i=8;p=a+I;printf("%s\n",p-3);}(25)以下程序的运行结果是A.运行后报错B.6 6C.6 12#include "stdio.h"main( ){int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,};int *p=a+5, *q=NULL;* q=*(p+5);printf("%d %d \n",*p,*q);}(26)以下说法中正确的是A.#define和printf都是C语句B.#define是C语句,而printf不是C.printf是C语句,但#define不是D.#define和printf都不是C语句(27)语句:printf("%d \n",12 &012);的输出结果是A.12B.8C.6D.012(28)能正确表示a和b同时为正或同时为负的逻辑表达式是A.(a>=0‖b>=0)&&(a<0‖b<0)B.(a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.a*b>0(29)以下程序的输出结果是A.2 0B.3 1C.3 2 1D.2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}(30)若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是A.p+1B.a+1C.a++D.++p(31)以下程序的输出结果是A.17,021,0x11B.17,17,17B.17,0x11,021D.17,21,11main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);}(32)以下程序的输出结果是A.-1 1B.0 1C.1 0D.0 0main( ){ int a= -1,b=1,k;if((++a<0)&& ! (b-- <=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}(33)若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A.*p=&a; scanf("%ld",p);B.p=(long *)malloc(8); scanf("%ld",p);C.scanf("%ld",p=&a);D.scanf("%ld",&a);(34)以下选项中,能定义s为合法的结构体变量的是A.typedef struct abcB.struct{ double a; { double a;char b[10]; char b[10];} s; } s;C.struct ABCD.typedef ABC{ double a; { double a;char b[10]; char b[10];} }ABC s; ABC s;(35)若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是A.t[2][0]B.t[2][2]C.t[l][2]D.t[2][l]int t[3][3], *pt([3], k;for (k=0;k<3;k++)pt[k]=&t[k][0];(36)下面程序把数组元素中的值放入a[0]中。
计算机二级C语言历年真题及答案计算机二级C语言历年真题及答案练习是巩固知识的有效手段,而考试是检验知识掌握情况的一种方式。
下面是店铺整理的计算机二级C语言试题答案,希望对大家有用。
计算机二级C语言历年真题及答案 1选择题1). 在软件设计中,不属于过程设计工具的是( )A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图正确答案:D答案解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。
它直接支持系统功能建模。
在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。
常见的过程设计工具有:图形工具:程序流程图,N-S,PAD,HIPO;表格工具:判定表;语言工具:PDL(伪码)。
2). 数据结构中,与所使用的计算机无关的是数据的( )。
A.存储结构B.物理结构C.逻辑结构D.线性结构正确答案:C答案解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。
3). 设有定义: int x=2; 以下表达式中,值不为6的是( )A.2*x, x+=2B.x++,2*xC.x*=(1+x)D.x*=x+1正确答案:A答案解析:本题考查逗号表达式。
逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值,因此,选项A中值为4;选项B中,值为6。
选项C中x*=x+1 等价于x=x*(x+1),所以等于6;选项D与选项C等价,结果也为6。
4). 在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )A.63B.64C.6D.7正确答案:B答案解析:顺序查找又称顺序搜索。
顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。
⼀、下列各题A、B、C、D四个选项中,只有⼀个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A.栈是“先进先出”的线性表B.队列是“先进先出”的线性表C.循环队列是⾮线性结构D.有序性表既可以采⽤顺序存储结构,也可以采⽤链式存储结构(2)⽀持⼦程序调⽤的数据结构是A.栈B.树C.队列D.⼆叉树(3)某⼆叉树有5个度为2的结点,则该⼆叉树中的叶⼦结点数是A.10B.8C.6D.4(4)下列排序⽅法中,最坏情况下⽐较次数最少的是A.冒泡排序B.简单选择排序C.直接插⼊排序D.堆排序(5)软件按功能可以分为:应⽤软件、系统软件和⽀撑软件(或⼯具软件)。
下⾯属于应⽤软件的是A.编译软件B.操作系统C.教务管理系统D.汇编程序(6)下⾯叙述中错误的是A.软件测试的⽬的是发现错误并改正错误B.对被调试的程序进⾏“错误定位”是程序调试的必要步骤C.程序调试通常也称为DebugD.软件测试应严格执⾏测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独⽴性度量的两个标准。
下列叙述中正确的是A.提⾼耦合性降低内聚性有利于提⾼模块的独⽴性B.降低耦合性提⾼内聚性有利于提⾼模块的独⽴性C.耦合性是指⼀个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度(8)数据库应⽤系统中的核⼼问题是A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训(9)有两个关系R,S如下:RABCa32b01c21SABa3b0c2由关系R通过运算得到关系S,则所使⽤的运算为A.选择B.投影C.插⼊D.连接(10)将E-R图转换为关系模式时,实体和联系都可以表⽰为A.属性B.键C.关系D.域(11)以下选项中合法的标识符是A.1-1B.1—1C.-11D.1--(12)若函数中有定义语句:int k;,则A.系统将⾃动给k赋初值0B.这时k中值⽆定义C.系统将⾃动给k赋初值-1D.这时k中⽆任何值(13)以下选项中,能⽤作数据常量的是A.0115B.0118C.1.5e1.5D.115L(14)设有定义:int x=2;,以下表达式中,值不为6的是A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x,x+=2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是A.123.141593B.123.141593C.12,3.141593D.123.141593(16)若有定义语句:double x,y,*px,*py,执⾏了px=&x, py=&y;之后,正确的输⼊语句是A.scanf(“%f%f”,x,y);B.scanf(“%f%f”,&x,&y);C.scanf(“%lf%le”,px,py);D.scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A.必须是逻辑表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.可以是任意合法的表达式(18)有以下程序#includemain(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x);}程序运⾏时,输⼊的值在哪个范围才会有输出结果A.不等于10的整数B.⼤于3且不等于10的整数C.⼤于3或等于10的整数D.⼩于3的整数(19)有以下程序#includeMain(){int a=1,b=2,c=3,d=0;if(a= =1 &&b++= =2)if(b!=2 || c--!=3)printf(“%d,%d,%d\n”,a,b,C.;else printf(“%d,%d,%d\n”,a,b,C.;else printf(“%d,%d,%d\n”,a,b,C.;}程序运⾏后的输出结果是A.1,2,3B.1,3,2C.1,3,3D.3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A.********B.****C.**D.*(21)有以下程序#includemain(){char*s=(“ABC.;do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。
国家二级(C语言)机试历年真题试卷汇编25(题后含答案及解析) 题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.下列叙述中正确的是( )。
A.链表可以是线性结构也可以是非线性结构B.链表只能是非线性结构C.快速排序也适用于线性链表D.对分查找也适用于有序链表正确答案:A解析:线性表的链式存储结构称为线性链表,线性链表可以是线性结构也可以是非线性结构。
快速排序和对分查找是适用于顺序存储的线性表。
故本题选择A选项。
2.循环队列的存储空间为Q(1:50)。
经过一系列正常的入队与退队操作后,front=rear=25。
后又成功地将一个元素退队,此时队列中的元素个数为( )。
A.24B.49C.26D.0正确答案:B解析:当front=rear时可知队列要么为空要么队列满,题目又成功地将一个元素退队,说明之前队列为满(为空时队列中无元素),退出一个元素后队列中还有50-1=49个元素。
故本题选择B选项。
3.设二叉树中有20个叶子节点,5个度为1的节点,则该二叉树中总的节点数为( )。
A.46B.45C.44D.不可能有这样的二叉树正确答案:C解析:二叉树中只存在度为0、1、2的节点,根据在二叉树中度为0的节点(叶子节点)总比度为2的节点多一个,可知本题中度为2的节点有20-1=19个。
故该二叉树中总的节点数为20+5+19=44个。
故本题选择C选项。
4.设栈与队列初始状态为空。
首先A,B,C,D,E依次入栈,再F,G,H,I,J依次入队;然后依次出队至队空,再依次出栈至栈空。
则输出序列为( )。
A.E,D,C,B,A,F,G,H,I,JB.E,D,C,B,A,J,I,H,G,FC.F,G,H,I,J,A,B,C,D,ED.F,G,H,I,J,E,D,C,B,A正确答案:D解析:栈称为“后进先出”表或“先进后出”的线性表;队列称为“先进先出”或“后进后出”的线性表。
F,G,H,I,J依次入队,则依次出队顺序为F,G,H,I,J;A,B,c,D,E依次入栈,则依次出栈顺序为E,D,C,B,A。
1999年9月全国计算机二级C语言考试真题及答案一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。
(1)十进制数1385转换成十六进制数为A.568B.569C.D85D.D55(2)下列叙述中正确的是A.计算机病毒只能传染给可执行文件B.计算机软件是指存储在软盘中的程序C.计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D.硬盘虽然装在主机箱内,但它属于外存(3)一个字长的二进制位数是A.8B.16C.32D.随计算机系统而不同的(4)CPU主要由运算器与控制器组成,下列说法中正确的是A.运算器主要负责分析指令,并根据指令要求作相应的运算B.控制器主要完成对数据的运算,包括算术运算和逻辑运算C.控制器主要负责分析指令,并根据指令要求作相应的运算D.控制器直接控制计算机系统的输入与输出操作(5)下列叙述中正确的是A.将数字信号变换成便于在模拟通信线路中传输的信号称为调制B.以原封不动的形式将来自终端的信息送入通信线路称为调制解调C.在计算机网络中,一种传输介质不能传送多路信号D.在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6)各种网络传输介质A.具有相同的传输速率和相同的传输距离B.具有不同的传输速率和不同的传输距离C.具有相同的传输速率和不同的传输距离D.具有不同的传输速率和相同的传输距离(7)多媒体计算机系统的两大组成部分是A.多媒体功能卡和多媒体主机B.多媒体通信软件和多媒体开发工具C.多媒体输入设备和多媒体输出设备D.多媒体计算机硬件系统和多媒体计算机软件系统(8)按通信距离划分,计算机网络可以分为局域网和广域网。
下列网络中属于局域网的是A.InternetB.CERNETC.NovellD.CHINANET(9)在Windows中,启动应用程序的正确方法是A.用鼠标双击该应用程序图标B.将该应用程序窗口小化成图标C.将该应用程序窗口还原D.将鼠标指向该应用程序图标(10)在Windows中,终止应用程序执行的正确方法是A.用鼠标双击应用程序窗口左上角的控制菜单框B.将应用程序窗口小化成图标C.用鼠标双击应用程序窗口右上角的还原按钮D.用鼠标双击应用程序窗口中的标题栏(11)DOS控制键Ctrl+Alt+Del的功能为A.删除一个字符并退格B.暂停标准输出设备的输出C.热启动D.终止当前操作(12)设当前盘为C盘,为了将A盘当前目录中所有扩展名为.PAS 的文件改成扩展名为.P,应使用的DOS命令为A.REN A:*.PAS A:*.PB.REN A:*.PAS *.PB.REN A:.PAS A:.PD.REN A:.PAS .P(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,正确的DOS命令为A.CD D2B.CD D2\C.CD \D2D.CD D1\D2(14)设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT 连接后以文件名Y.TXT 存放到A盘的当前目录中,正确的DOS命令为A.COPY A.TXT+X.TXT A:Y.TXTB.COPY B:A.TXT+X.TXT A:Y.TXTB.COPY B:A.TXT+B:X.TXT>Y.TXTD.COPY B:A.TXT+B:X.TXT Y.TXT(15)下列DOS命令中正确的是A.REN \USER\A.TXT \B.TXTB.CD \C.TYPE *.TXTD.MD \(16)以下选项中属于C语言的数据类型是A.复数型B.逻辑型C.双精度型D.集合型(17)在C语言中,不正确的int类型的常数是A.32768B.0C.037D.0xAF(18)语句:printf("%d",(a=2)&&(b= -2);的输出结果是A.无输出B.结果不确定C.-1D.1(19)下列描述中不正确的是A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值(20)设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是A.1B.0C.-1D.2(21)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A.c=b=a;B.(a=C.‖(b=c);C.(a=c)&&(b=c);D.a=c=b;(22)以下程序的输出结果是A.10 1 9 2B.9 8 7 6C.10 9 9 0D.10 10 9 1main( ){ int x=10,y=10,I;for(i=0;x>8;y=++i)printf("%d,%d ",x--,y);}(23)以下程序的输出结果是A.5 2B.5 1C.5 3D.9 7main( ){ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d ",p[i]);}(24)以下程序的输出结果是A.6B.6789C.'6'D.789main( ){ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;int i;i=8;p=a+I;printf("%s\n",p-3);}(25)以下程序的运行结果是A.运行后报错B.6 6C.6 12D.5 5#include "stdio.h"main( ){int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,};int *p=a+5, *q=NULL;* q=*(p+5);printf("%d %d \n",*p,*q);}(26)以下说法中正确的是A.#define和printf都是C语句B.#define是C语句,而printf不是C.printf是C语句,但#define不是D.#define和printf都不是C语句(27)语句:printf("%d \n",12 &012);的输出结果是A.12B.8C.6D.012(28)能正确表示a和b同时为正或同时为负的逻辑表达式是A.(a>=0‖b>=0)&&(a<0‖b<0)B.(a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.a*b>0(29)以下程序的输出结果是A.2 0B.3 1C.3 2 1D.2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}(30)若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是A.p+1B.a+1C.a++D.++p(31)以下程序的输出结果是A.17,021,0x11B.17,17,17B.17,0x11,021D.17,21,11main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);}(32)以下程序的输出结果是A.-1 1B.0 1C.1 0D.0 0main( ){ int a= -1,b=1,k;if((++a<0)&& ! (b-- <=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}(33)若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A.*p=&a; scanf("%ld",p);B.p=(long *)malloc(8); scanf("%ld",p);C.scanf("%ld",p=&a);D.scanf("%ld",&a);(34)以下选项中,能定义s为合法的结构体变量的是A.typedef struct abcB.struct{ double a; { double a;char b[10]; char b[10];} s; } s;C.struct ABCD.typedef ABC{ double a; { double a;char b[10]; char b[10];} }ABC s; ABC s;(35)若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是A.t[2][0]B.t[2][2]C.t[l][2]D.t[2][l]int t[3][3], *pt([3], k;for (k=0;k<3;k++)pt[k]=&t[k][0];(36)下面程序把数组元素中的值放入a[0]中。
则在if 语句中的条件表达式应该是A.p>aB.*p>a[0]C.*p>*a[0]D.*p[0]> *a[0]main( ){ int a[10]={6,7,2,9,1,10,5,8,4,3},*p=a,I;for(i=o;i<10;i++,p++)if(________)*a=*p;printf("%d",*a);}(37)以下程序的输出结果是A.ihgfedcbaB.abcdefghiC.abcdedebaD.ihgfefghi#includemain( ){ char *a="abcdefghi"; int k;fun(a); puts(a);}fun(char *s){ int x,y; char c;for(x=0,y=strlen(s)-1;x0)fun(k-1);printf("%d",k);}(42)以下程序的输出结果是A.6 9 9B.6 6 9C.6 15 15D.6 6 15int d=1;fun(int p){ static int d=5;d+=p;printf("%d ",D.;return(D.;}main( ){ int a=3; printf("%d \n",fun(a+fun(D.)); }(43)以下程序的输出结果是A.123456780B.123 456 780C.12345678D.147main( ){ char ch[3][4]={"123","456","78"}, *p[3]; int i;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s",p[i]);}(44)以下程序的输出结果是A.1B.4C.7D.5#includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main( ){ p=(int*)malloc(sizeof(int));f(p,a);printf("%d \n",*p);}f(int *s, int p[][3]){ *s=p[1][1]; }(45)以下程序的输出结果是A.9B.6C.36D.18#define f(x)x*xmain( ){ int a=6,b=2,c;c=f(a)/ f(B.;printf("%d \n",C.;}(46)以下程序的输出结果是A)4 2 1 1B.0 0 0 8C.4 6 7 8D.8 8 8 8main( ){ char *s="12134211"; int v[4]={0,0,0,0},k,i;for(k=0;s[k];k++){ switch(s[k]){ case '1':i=0;case '2':i=1;case '3':i=2;case '4':i=3;}v[i]++;}for(k=0;k<4;k++)printf("%d ",v[k]);}(47) 以下程序的输出结果是A.AfghdEFGB.AbfhdC.AfghdD.Afgd#includemain( ){ char *p1,*p2,str[50]="ABCDEFG";p1="abcd"; p2="efgh";strcpy(str+1,p2+1); strcpy(str+3,p1+3);printf("%s",str);}(48) 以下程序的输出结果是A.#*#*#B.#####C.*****D.*#*#*main( ){ int i;for(i=1;i<6;i++){ if(i%2){printf("#");continue;}printf("*");}printf("\n");}(49) 若有以下定义和语句:double r=99, *p=&r;*p=r;则以下正确的叙述是A.以下两处的*p含义相同,都说明给指针变量p赋值B.在"double r=99, *p=&r;"中,把r的地址赋值给了p所指的存储单元C.语句"*p=r;"把变量r的值赋给指针变量pD.语句"*p=r;"取变量r的值放回r中(50) 以下程序的输出结果是A.编译不通过,无输出B.acegC.acegiD.abcdefghimain( ){ int i;for(i='A';i<'I';i++,i++) printf("%c",i+32);printf(" \n");}二、填空题(每空2分,共40分)请将每空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。