计算机二级c试题笔试资料

合集下载

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

全国计算机等级考试二级C语言笔试试题及答案
常将有日思无日,莫待无时思有时。——《增广贤文》
老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
D) 4 (31) 有如下类定义:
class XX( int xx; public: XX(): xx(0) {cout<<' A';} XX( int n):xx ( n) {tout<<' B';} }; Class YY:public XX( Int yy; public: YY(): yy ( 0) (cout+yy;} YY ( int n ): XX (n+1 ), yy(n) (cout<<yy;} YY ( int m, int n):XX (m), yy (n) (cout<<yy;} }; 下列选项中,输出结果为 A0 的语句是 A) YY y1 (0,0); B) YY y2(1); C) YYy3(0); D) YYy4; (32) 有如下程序: #include<iostream> Using namespace std; class A( public: virtual void f () (cout+1;} void g () (cout<<2;} }; class B:public A( public: virtual void f () (cout<<3;} void g()(ecut<<4;} }; void show (A &a)(a.f();a.g( ) ; } int main()( B b; show(b); return 0; } 运行时的输出结果是 A) 12 B) 34 C) 14 D) 32 (33) 有如下程序: #include<iostream> using namespace std; class Pair( int m; int n; public: Pair ( int i, int j ): m(i), n(j) (} boot operator > ( pair p ) const;//须在类体外给出定义 ); int main () { Pair Al(3,4),p2(4,3); p3(4,5); Cout<< (pl>p2) << (P2>P1) << (p2>p3) << (p3>p2); return 0; } 运算符函数。operator〉的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则 返 回 false。比较规则是首先比较两对象的 m 成员,m 大者为大;当 m 相等时比较 n, n 大者为大。程序输 出 0101, 下列对运算符重载函数的正确定义是 A ) bool Pair::operator> ( Pair p ) const {if (m!=p.m) return m>p.m; return n>p.n;}

全国计算机等级考试二级C笔试试卷(含参考答案)

全国计算机等级考试二级C笔试试卷(含参考答案)

全国计算机等级考试二级C笔试试卷(含参考答案)以下各题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)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图(7)以下表达中正确的选项是A)软件交付使用后还需要进展维护B)软件一旦交付使用就不需要再进展维护C)软件交付使用后其生命周期就完毕D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A)数据共享问题 B)数据平安问题C)大量数据存储问题 D)简化数据维护(9)设有如下关系表:R S TA B C A B C A B C1 123 1 3 1 1 22 23 2 2 33 1 3那么以下操作中正确的选项是A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S(10)数据库系统的核心是A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员(11)以下表达中错误的选项是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(12)以下表达中错误的选项是A)C语句必须以分号完毕B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(13)以下表达中正确的选项是A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码(14)以下关于函数的表达中正确的选项是A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(15)假设有语句:char *line[5];,以下表达中正确的选项是A)定义line是一个数组,每个数组元素是一个基类型为char 的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针(16)有以下程序段typedef struct NODE{ int num; struct NODE *next;} OLD;以下表达中正确的选项是A)以上的说明形式非法 B)NODE是一个构造体类型C)OLD是一个构造体类型 D)OLD是一个构造体变量(17)以下表达中错误的选项是A)C语言中对二进制文件的访问速度比文本文件快B)C语言中,随机文件以二进制代码形式存储数据C)语句 FILE fp; 定义了一个名为fp的文件指针D)C语言中的文本文件以ASCII码形式存储数据(18)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==1(19)以下不能正确计算代数式值的C语言表达式是A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)(20)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(21)以下程序的功能是:给r输入数据后计算半径为r的圆面积s。

全国计算机二级c考试题库及答案

全国计算机二级c考试题库及答案

全国计算机二级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;}```请注意,以上提供的是示例答案,实际考试中的答案可能会有所不同。

计算机二级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语言笔试题库

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

全国计算机等级考试二级C语言笔试题库第一套一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n—1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void,define, WORD B)a3_3,_123,Car C)For,-abc, IF Case D)2a,DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)—080 C)—8e1。

计算机二级C笔试真题参考

计算机二级C笔试真题参考

计算机二级C笔试真题参考计算机二级C笔试真题参考一、选择题((1)~(40)每题1分,(41)~(50)每题2分,共60分)1、 1MB等于()A)1000字节B)1024字节C)1000╳1000字节D)1024╳1024字节2、与十六进制数200等值得十进制数为()A)256 B)512 C)1024 D)20483、所谓“裸机“是指()A)单片机B)单板机 C)不装备任何软件的计算机 D)只装备操作系统的计算机4、能将高级语言编写的源程序转换为目标程序的是()A)链接程序 B)解释程序 C)编译程序 D)编辑程序5、在64为计算机中,一个字长所占字节数为()A)64 B)8 C)4 D)16、在Windows环境下,当一个应用程序窗口被最小化后,该应用程序()A)继续在后台运行 B)继续在前台运行C)终止运行 D)暂停运行7、在Windows环境下,能实现窗口移动的操作是()A)用鼠标拖动窗口中的任何部位 B)用鼠标拖动窗口的边框C)用鼠标拖动窗口的控制按钮 D)用鼠标拖动窗口的标题栏。

8、在Windows环境下,PrintScreen键的作用是()A)打印当前窗口的内容 B)打印屏幕内容C)复制屏幕到剪贴板 D)复制当前窗口到剪贴板9、 Internet的通信协议是()A)TCP/IP B)BBS C)WWW D)FTP10、下列叙述中正确的是()A)计算机病毒只感染可执行文件B)计算机病毒只感染文本文件C)计算机病毒只能通过软件复制的方式进行传播D)计算机病毒可以通过网络或读写磁盘方式进行传播11、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的`描述中错误的是A)有零个或多个输入 B)有零个或多个输出C)有穷性 D)可行性12、以下叙述中正确的是()A)C语言的源程序不必通过编译就可以直接运行B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令C)C源程序经编译形成的二进制代码可以直接运行D)C语言中的函数不可以单独进行编译13、以下符合C语言语法的实型常量是()A)1.2E0.5 B)3.14.159E C).5E-3 D)E1514、以下4组用户定义标识符中,全部合法的一组是()A)_main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _00115、若以下选项中的变量已正确定义,则正确的赋值语句是()A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;16、设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是()A)a++; B)b++C)c++; D)d++;17、设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是()A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)18、有以下程序main( ){int x=102,y=012;printf(“%2d,%2d ”,x,y);} 执行后输出结果是()A)10,01 B002,12 C)102,10 D)02,1019、以下4个选项中,不能看作一条语句的是()A){;} B)a=0,b=0,c=0; C)if(a>0); D)if(b==0) m=1;n=2;20、设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a 读入数据的是()A)scanf(“%d”,pa); B)scanf(“%d”,a);C)scanf(“%d”,&pa); D)scanf(“%d”,*pa);21、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是()A)if((a>b)&&(b>c)) k=1; B) if((a>b)||(b>c)) k=1else k=0;C)if(a<=b) k="0;" a="">b) k=1;else if(b<=c) k="1;" else="" b="">c) k=1;else k=0;22、有以下程序main( ){ char k; int I;for(i=1;i<3;i++){ scanf(“%c”,&k);switch(k){ case ‘0’: printf(“another ”);case ‘1’: printf(“number ”);}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是()A) another B)another C)another D)numbernumber number number numberanother number23、有以下程序main( ){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf(“%d,%d,%d ”,x,y,z);} 程序执行后的输出结果是()A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-524、有以下程序main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d ”,s);} 程序执行后的输出结果是()A)自然数1~9的累加和 B)自然数1~10的累加和C)自然数1~9中的奇数之和 D)自然数1~10中的偶数之和25、有以下程序main( ){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;} while(!i);n++;}printf(“n=%d ”,n);} 程序执行后的输出结果是()A)n=5 B)n=2 C)n=3 D) n=426、若程序中定义了以下函数double myadd(double a,double b){ return (a+b);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()A)double myadd(double a,b); B)double myadd(double,double);C)double myadd(double b,double a); D)double myadd(double x,double y);27、有以下程序char fun(char x , char y){ if(x<="">return y;}main( ){ int a=’9’,b=’8’,c=’7’;printf(“%c ”,fun(fun(a,b),fun(b,c)));} 程序的执行结果是()A)函数调用出错 B)8 C)9 D)728、设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是()A)p=1; B)*q=2; C)q=p; D)*p=5;29、有以下程序void f(int v , int w){ int t;t=v;v=w;w=t;}main( ){ int x=1,y=3,z=2;if(x>y) f(x,y);else if(y>z) f(y,z);else f(x,z);printf(“%d,%d,%d ”,x,y,z);} 执行后输出结果是()A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,130、有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5];b中的值是()A)5 B)6 C)8 D)931、有以下程序main( ){ char a[]=”abcdefg”,b[10]=”abcdefg”; printf(“%d %d ”,sizeof(a),sizeof(b));} 执行后输出结果是()A)7 7 B)8 8 C)8 10 D)10 1032、有以下程序void swap1(int c[]){ int t;t=c[0];c[0]=c[1];c[1]=t;}void swap2(int c0,int c1){ int t;t=c0;c0=c1;c1=t;}main( ){ int a[2]={3,5},b[2]={3,5};swap1(a); swap2(b[0],b[1]);printf(“%d %d %d %d ”,a[0],a[1],b[0],b[1]);} 其输出结果是()A)5 3 5 3 B) 5 3 3 5 C)3 5 3 5 D)3 5 5 333、有以下程序void sum(int *a){ a[0]=a[1];}main( ){ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--) sp; sum(&aa[i]);printf(“%d ”,aa[0]);} 执行后的输出结果是()A)4 B)3 C)2 D)134、有以下程序int f(int b[][4]){ int i,j,s=0;for(j=0;j<4;j++){ i=j;if(i>2) i=3-j;s+=b[i][j];}return s;}main( ){ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf(“%d ”,f(a));} 执行后的输出结果是()A)12 B)11 C)18 D)1635、有以下定义#includechar a[10],*b=a;不能给数组a输入字符串的语句是()A)gets(a) B)gets(a[0]) C)gets(&a[0]); D)gets(b);36、有以下程序main( ){ char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};printf(“%d ”,strlen(p[4]));} 执行后输出结果是()A)2 B)3 C)4 D)537、有以下程序int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf(“%d ”,s);} 执行后输出结果是()A)10 B)9 C)7 D)838、有以下程序#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf(“%d ”,i);} 执行后输出结果是()A)28 B)22 C)16 D)439、设有以下语句typedef struct S{ int g; char h;} T;则下面叙述中正确的是()A)可用S定义结构体变量 B)可以用T定义结构体变量C)S是struct类型的变量 D)T是struct S类型的变量40、有以下程序struc STU{char name[10];int num;};void f1(struct STU c){ struct STU b={“LiSiGuo”,2042};c=b;}void f2(struct STU *c){ struct STU b={“SunDan”,2044};*c=b;}main( ){ struct STU a={“YangSan”,2041},b={“WangYin”,2043}; f1(a);f2(&b);printf(“%d %d ”,a.num,b.num);} 执行后的输出结果是()A)2041 2044 B)2041 2043 C)2042 2044 D)2042 2043 41、有以下程序main( ){ unsigned char a,b;a=4|3;b=4&3;printf(“%d %d ”,a,b(;} 执行后输出结果是()A) 7 0 B)0 7 C)1 1 D)43 042、下面程序的功能是输出以下形式的金字塔图案是:****************main( ){ int i,j;for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++) printf(“ “);for(j=1;j<=_______;j++) printf(“*”);printf(“ ”);}} 在下划线处应填入的是()A)i B)2*i-1 C)2*i+1 D)i+243、有以下程序void sort(int a[],int n){ int i,j,t;for(i=0;i< bdsfid="351" p=""><>for(j=i+2;j< bdsfid="353" p=""><>if(a[i]}main(){ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++) printf(“%d”,aa[i]);printf(“ ”);} 其输出结果是()A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,C)9,2,7,4,5,6,3,8,1,10, D)1,10,3,8,5,6,7,4,9,2,44、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()A) char s[10]=”abcdefg”; B) char t[]=”abcdefg”,*s=t;C) char s[10];s=”abcdefg”; D) char s[10];strcpy(s,”abcdefg”);45、有以下程序#includemain(int argc ,char *argv[ ]){ int i,len=0;for(i=1;iprintf(“5d ”,len);} 经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行ex abcd efg h3 k44执行后输出结果是()A)14 B)12 C)8 D)646、有以下程序void f(int a[],int i,int j){ int t;if(i<j)< bdsfid="384" p=""></j)<>{ t=a[i]; a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main( ){ int i,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++) printf(“%d,”,aa[i]); printf(“ ”);} 执行后输出结果是()A)5,4,3,2,1, B)5,2,3,4,1, C)1,2,3,4,5, D)1,2,3,4,5,47、有以下程序struct STU{ char name[10];int num;int Score;};main( ){ struct STU s[5]={{“YangSan”,20041,703},{“LiSiGuo”,20042,580}, {“wangYin”,20043,680},{“SunDan”,20044,550},{“Penghua”,20045,537}},*p[5],*t;int i,j;for(i=0;i<5;i++) p[i]=&s[i];for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(p[i]->Score>p[j]->Score){ t=p[i];p[i]=p[j];p[j]=t;}printf(“5d %d ”,s[1].Score,p[1]->Score);} 执行后输出结果是()A)550 550 B)680 680 C)580 550 D)580 68048、有以下程序#includestruct NODE{int num;struct NODE *next;};main( ){ struct NODE *p,*q,*r;int sum=0;p=(struct NODE *)malloc(sizeof(struct NODE));q=(struct NODE *)malloc(sizeof(struct NODE));r=(struct NODE *)malloc(sizeof(struct NODE));p->num=1;q->num=2;r->num=3;p->next=q;q->next=r;r->next=NULL;sum+=q->next->num;sum+=p->num;printf(“%d ”,sum);} 执行后的输出结果是A)3 B)4 C)5 D)649、有以下程序#includemain( ){ FILE *fp; int i,k=0,n=0;fp=fopen(“d1.dat”,”w”);for(i=1;i<4;i++) fprintf(fp,”%d”,i);fclose(fp);fp=fopen(“d1.dat”,”r”);fscanf(fp,”%d%d”,&k,&n); printf(“%d %d ”,k,n);fclose(fp);} 执行后输出结果是()A)1 2 B)123 0 C)1 23 D) 0 050、有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)#includemain( ){ FILE *fp; int i,a[4]={1,2,3,4},b;fp=fopen("data.dat","wb");for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);fclose(fp);fp=fopen("data.dat","rb");fseek(fp,-2L*sizeof(int).SEEK_END);fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/fclose(fp);printf("%d ",b);} 执行后输出结果是()A)2 B)1 C) 4 D)3二、填空题(每空2分,共40分)1、E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1】。

计算机二级c语言试题及详细解答答案资料

计算机二级c语言试题及详细解答答案资料

一、选择题在下列各题的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下列选项中不属于结构化程序设计原则的是________..A可封装B自顶向下C模块化D逐步求精7软件详细设计产生的图如下:该图是..AN-S图BPAD图C程序流程图DE-R图8数据库管理系统是________..A操作系统的一部分B在操作系统支持下的系统软件C一种编译系统D一种操作系统9在E-R图中;用来表示实体联系的图形是________..A椭圆形B矩形C菱形D三角形10有三个关系R;S和T如下:其中关系T由关系R和S..A选择B投影C交D并11以下叙述中正确的是________..A程序设计的任务就是编写程序代码并上机调试B程序设计的任务就是确定所用数据结构C程序设计的任务就是确定所用算法D以上三种说法都不完整12以下选项中;能用作用户标识符的是________..Avoid B 8_8C_0_ Dunsigned13阅读以下程序:#include <stdio.h>main{int case;float printF;printf"请输入2个数:";scanf"%d%f";&case;&printF;printf"% d%f\n";case;printF;}该程序在编译时产生错误;其出错原因是________..A定义语句出错;case是关键字;不能用作用户自定义标识符B定义语句出错;printF不能用作用户自定义标识符C定义语句无错;scanf不能作为输入函数使用D定义语句无错;printf不能输出case的值14表达式:intdouble9/2-9%2的值是________..A0 B3C4 D515若有定义语句:int x=10;;则表达式x-=x+x的值为________..A-20 B-10C0 D1016有以下程序:#include <stdio.h>main{int a=1;b=0;printf"%d;";b=a+b;printf"%d\n";a=2程序运行后的输出结果是________..A0;0 B1;0C3;2 D1;217设有定义:int a=1;b=2;c=3;;以下语句中执行效果与其他三个不同的是________..Aifa>bc=a;a=b;b=c;Bifa>b{c=a;a=b;b=c;}Cifa>bc=a;a=b;b=c;Difa>b{c=a;a=b;b=c;}18有以下程序:#include<stdio.h>main{int c=0;k;for k=1;k<3;k++switchk{default: c+=k;case 2:c++;break;case 4:c+=2;break;}printf"%d\n";c;}程序运行后的输出结果是________..A3 B5C7 D919以下程序段中;与语句:k=a>b b>c1:0:0;功能相同的是________.. Aifa>b&&b>ck=1;else k=0;Bifa>b‖b>ck=1;else k=0;Cifa<=bk=0;else ifb<=ck=1;Difa>bk=1;else ifb>c k=1;else k=0;20有以下程序:#include <stdio.h>main{char s={"012xy"};int i;n=0;fori=0;si=0;i++if si>='a'&&si<='z'n++;printf"%d\n";n;}程序运行后的输出结果是________..A0 B2C3 D521有以下程序:#include <stdio.h>main{int n=2;k=0;whilek++&&n++>2;printf"%d%d\n";k;n;}程序运行后的输出结果是________..A0 2 B1 3C57 D1 222有以下定义语句;编译时会出现编译错误的是________..Achar a='a';Bchar a='\n';Cchar a='aa';Dchar a='\x2d';23有以下程序:#include <stdio.h>main{char cl;c2;cl='A'+'8'-'4';c2='A'+'8'-'5';printf"%c;%d\n";cl;c2;}已知字母A的ASCIl码为65;程序运行后的输出结果是________..AE;68 BD;69CE;D D输出无定值24有以下程序:#include <stdio.h>void funint p{int d=2;p=d++;printf"%d";p;}main{int a=1;funa;printf"%d\n";a;}程序运行后的输出结果是________..A32 B12C21 D2225以下函数findmax拟实现在数组中查找最大值并作为函数值返回;但程序中有错导致不能实现预定功能..#define MIN -int findmaxint x;int n{int i;max;fori=0;i<n;i++{max=MIN;ifmax<xi max=xi;}return max;}造成错误的原因是________..A定义语句int i;max;中max未赋初值B赋值语句max=MIN;中;不应给max赋MIN值C语句ifmax<ximax=xi;中判断条件设置错误D赋值语句max=MIN;放错了位置26有以下程序:#include <stdio.h>main{int m=1;n=2;*p=&m;*q=&n;*r;r=p;p=q;q=r;printf"%d;%d;%d;%d\n";m;n;*p;*q;}程序运行后的输出结果是________..A1;2;1;2 B1;2;2;1C2;1;2;1 D2;1;1;227若有定义语句:int a410;*p;*q4;且0≤i<4;则错误的赋值是________..Ap=a Bqi=aiCp=ai Dp=&a2128有以下程序:#include <stdio.h>#include <string.h>main{char str20={"Qne*World";"one*Dream"};*p=str1;printf"%d;";strlenp;printf"%s\n";p;}程序运行后的输出结果是________..A9;One*World B9;One*DreamC10;One*Dream D10;One*World29有以下程序:#include <stdio.h>main{int a={2;3;5;4};i;fori=0;i<4;i++switchi%2{case 0:switchai%2{case 0:ai++;break;case 1:ai--;}break;case 1:ai=0;}fori=0;i<4;i++printf"%d";ai;printf"\n";}程序运行后的输出结果是________..A3 3 4 4 B2 0 5 0C3 0 4 0 D0 3 0 430有以下程序:#include <stdio.h>#include <string.h>main{char a10="abcd";printf"%d;%d\n";strlena;sizeofa;}程序运行后的输出结果是________..A7;4 B4;10C8;8 D10;1031下面是有关C语言字符数组的描述;其中错误的是________.. A不可以用赋值语句给字符数组名赋字符串B可以用输入语句把字符串整体输入给字符数组C字符数组中的内容不一定是字符串D字符数组只能存放字符串32下列函数的功能是________..funchar*a;char*b{while*b=*a='\0'{a++;b++;}}A将a所指字符串赋给b所指空间B使指针b指向a所指字符串C将a所指字符串和b所指字符串进行比较D检查a和b所指字符串中是否有'\0'33设有以下函数:void funint n;char*s{ …… }则下面对函数指针的定义和赋值均正确的是________..Avoid*pf;pf=fun;Bvoid*pf;pf=fun;Cvoid*pf;*pf=fun;Dvoid*pfint;char;pf=&fun;34有以下程序:#include <stdio.h>int fint n;main{int a=3;s;s=fa;s=s+fa;printf"%d\n";s;}int fint n{static int a=1;n+=a++;return n;}程序运行后的输出结果是________..A7 B8C9 D1035有以下程序:#include <stdio.h>#define fx x*x*xmain{int a=3;s;t;s=fa+1;t=fa+1;printf"%d;%d\n";s;t;}程序运行后的输出结果是________..A10;64 B10;10C64;10 D64;6436下面结构体的定义语句中;错误的是________..Astruct ord{int x;int y;int z;};struct ord a;Bstruct ord{int x;int y;int z;}struct ord a;Cstruct ord{int x;int y;int z;}a;Dstruct{int x;int y;int z;a;37设有定义:char*c;;以下选项中能够使字符型指针c正确指向一个字符串的是________..Achar str="string";c=str;Bscanf"%s";c;Cc=getchar;D*c="string";38有以下程序:#include<stdio.h>#include<string.h>struct A{int a;char b10;double c;};struct A fstruct A t;main{struct A a={1001;"ZhangDa";1098.0;a=fa; printf"%d;%s;%6.1f\n";a.a;a.b;a.c;}struct A fstruct A t{t.a=1002;strcpyt.b;"changRong";t.c=1202.0;return t;}程序运行后的输出结果是________..A1001;ZhangDa;1098.0B1002;ZhangDa;1202.0C1001;ChangRong;1098.0D1002;ChangRong;1202.039若有以下程序段:int r=8;printf"%d\n";r>>1;输出结果是________..A16 B8C4 D240下列关于C语言文件的叙述中正确的是________..A文件由一系列数据依次排列组成;只能构成二进制文件B文件由结构序列组成;可以构成二进制文件或文本文件C文件由数据序列组成;可以构成二进制文件或文本文件D文件由字符序列组成;其类型只能是文本文件二、填空题请将每一个空的正确答案写在答题卡序号的横线上;答在试卷上不给分..1某二叉树有5个度为2的结点以及3个度为1的结点;则该二叉树中共有__1__个结点..2程序流程图中的菱形框表示的是__2__..3软件开发过程主要分为需求分析、设计、编码与测试四个阶段;其中__3__ 阶段产生"软件需求规格说明书"..4在数据库技术中;实体集之间的联系可以是一对一或一对多或多对多的;那么"学生"和"可选课程"的联系为__4__..5人员基本信息一般包括:身份证号;姓名;性别;年龄等..其中可以作为主关键字是__5__..6若有定义语句:int a=5;;则表达式:a++的值是__6__..7若有语句double x=17;int y;;当执行y=intx/5%2;之后y的值为__7__..8以下程序运行后的输出结果是__8__..#include <stdio.h>main{int x=20;printf"%d";0<x<20;printf"%d\n";0<x&&x<20;}9以下程序运行后的输出结果是__9__..#include <stdio.h>main{int a=1;b=7;do{b=b/2; a+=b;} whileb>1;printf"%d\n";a;}10有以下程序:#include<stdio.h>main{int f;fl;f2;i;f1=0;f2=1;printf"%d%d";f1;f2;for i=3;i<=5;i++{ f=f1+f2;printf"%d";f;f1=f2;f2=f;}printf"\n";}程序运行后的输出结果是__10__..11有以下程序:#include <stdio.h>int a=5;void funint b{int a=10;a+=b;printf"%d";a;}main{int c=20;func;a+=c;printf"%d\n";a;}程序运行后的输出结果是__11__..12设有定义:struct person{int ID;char name12;}p;请将scanf"%d";__12__;语句补充完整;使其能够为结构体变量p的成员ID正确读入数据..13有以下程序:#include <stdio.h>main{char a20="How are you";b20;scanf"%s";b;printf"%s %s\n";a;b;}程序运行时从键盘输入:How are you<回车>则输出结果为__13__..14有以下程序:#include <stdio.h>typedef struct{int num;double s;}REC;void funlREC x{x.num=23;x.s=88.5;}main{REC a={16;90.0;fun1a;printf"%d\n";a.num;}程序运行后的输出结果是__14__..15有以下程序:#include <stdio.h>funint x{ifx/2>0 funx/2;printf"%d.";x;}main{fun6;printf"\n";}程序运行后的输出结果是__15__..一、选择题1C解析根据数据结构中各数据元素之间前后关系的复杂程度;一般将数据结构分为两大类型:线性结构与非线性结构..线性结构表示数据元素之间为一对一的关系;非线性结构表示数据元素之间为一对多或者多对一的关系..根据各种结构的定义知二叉树是一种非线性结构..2B解析栈是限定只在一端进行插入与删除的线性表;通常称插入、删除的这一端为栈顶;另一端为栈底..栈顶元素总是后被插入的元素;也是最先被删除的元素;栈底元素总是最先被插入的元素;也是最后才能被删除的元素..栈是按照"先进后出"或"后进先出"的原则组织数据的..3D解析循环队列是将顺序队列首尾相连形成的;随着插入元素或删除元素的进行;其队头指针及队尾指针是在不断变化的;有时可能会出现队头指针大于队尾指针的情况;也可能是队尾指针大于队头指针;故答案为D..4A解析算法的空间复杂度是指:算法执行过程中所需的存储空间..一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间..5B解析模块划分应考虑的因素包括模块之间的耦合和内聚..一般来说;要求模块之间的耦合尽可能地低;即模块尽可能独立;要求模块的内聚程度尽可能地高;即遵循高内聚、低耦合的原则..6A解析模块化、自顶向下、逐步求精都是结构化程序设计的原则;可封装是面向对象程序设计原则..7C解析N-S图是由若干基本框图构成的流程图;其特点是没有流程线;PAD图即问题分析图Problem Analysis Diagram;它是一种由左往右展开的二维树形结构;程序流程图用于描述问题解决的过程和步骤;其中方框表示处理步骤;菱形框表示逻辑判断;箭头表示控制流向;E-R图即实体-联系图Entity Relationship Diagram;用来描述现实世界的概念模型;构成元素有实体、属性和联系;分别用矩形、椭圆形和菱形表示..本题答案为C..8B解析数据库管理系统是指位于用户与操作系统之间的数据管理软件..数据库管理系统是为数据库建立、使用和维护而配置的软件..9C解析E-R图中用矩形表示实体等同于表;用椭圆形表示实体的属性等同于表中字段;用菱形表示实体关系等同于外键..10D解析两个相同结构关系的并是由属于这两个关系的元组组成的集合..11D解析程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段..所以选项A、B、C说法都不完整..12C解析C语言的标识符命名规则为:①只能由字母、数值和下划线3种字符组成;②第一个字符必须是字母或下划线;③不能与C语言中的关键字或保留字相同..13A解析标识符不能与C编译系统已经预定义的、具有特殊用途的保留标识符即关键字同名;否则程序在编译时会出现错误..题目源程序中使用了已经预定义的关键字case;所以将出现错误.. 14B解析intdouble9/2的值为4;9%2的值为1;因此intdouble9/2-9%2的值为3..15B解析x-=x+x可化为:x=x-x+x;由于x初始值为10;所以计算后;x=10-20=-10;因此选B..16D解析执行第一个printf语句时;b=a+b=1;所以输出1;执行第二个printf语句时;a=2*b=2;所以输出结果为2..17C解析逗号表达式的求解过程是:按表达式顺序从左往右依次求解..本题中由于判断条件a>b 的值为假;所以选项A、B、D中if语句后面的语句均未被执行;而C中的后两条语句a=b和b=c被执行;因此选项C的执行效果与其他三个不同..18A解析第一次循环时;k=1;在switch语句中;先执行default后面的语句;即c=c+k=1;因为没有break语句;所以不会跳出switch结构;会接着执行case2后面的语句;即c=c+1=2;然后跳出switch;第二次循环时;k=2;直接执行case2后面的语句;即c=c+1=3;然后跳出switch语句;结束循环;执行输出语句..19A解析表达式k=a>b b>c1∶0∶0表示:如果a>b条件为真;则k取值b>c1∶0;否则k取值0;当a>b 的情况下;如果b>c;则k值为1;否则为0..所以该表达式与选项A功能相同..20B解析在字符串数组si中;只有当下标i=3和i=4时;才满足if条件;所以n的值从0增加两次;结果为2..21D解析本题考查逻辑运算符的"短路"现象;由于k的值为0;表达式首先去求k++的值;因为表达式k++的值为0;系统完全可以确定逻辑表达式的运算结果总是为0;因此将跳过n++>2;不再对它进行求值;即k的值加1;n的值不变..22C解析aa是字符串;不用加上单引号..23A解析c1输出字符的ASCII码比字母A大4;即字母E;c2以十进制数字形式输出;因此可以判断本题答案为A..24C解析程序运行后;首先输出的是p的值;然后输出a的值..p=d++;得到p的值为d的初始值2;a 的值不变;仍为1..25D解析对max赋初值;应该放在循环语句之前;不然每次循环都将是从MIN开始比较..26B解析m和n的值不变;输出结果为1;2..指针*p和*q交换了指向的位置;即*p=&n;*q=&m;输出结果分别为2;1..27A解析直接将二维数组a赋给p不合法;两者类型不匹配..28C解析可以将二维数组str看成是一个特殊的一维数组;其元素也是一个数组..那么;str0为"One*World";str1为"One*Dream"..29C解析第一次循环;i=0;i%2=0;a0%2=0;a0=a0+1=3;第二次循环;i=1;1%2=1;a1=0;第三次循环;i=2;a2%2=1;a2=a2-1=4;第四次循环;i=3;i%2=1;a3=0..30B解析strlen用来返回字符串的长度;而sizeof返回的是一个对象或者类型所占的内存字节数;即数组所占的内存..31D解析字符数组中的内容既可以是字符;也可以是字符串;选项D说法不正确..32A解析表达式*b=*a是将a所指的字符赋给b所指的空间;然后;指针a和b依次后移;直到到达指针a所指字符串的结尾..33A解析函数指针的定义形式是:数据类型标识符*指针变量名..void*pf定义了一个没有返回值的函数指针pf;在给函数指针变量赋值时;只需给出函数名而不必给出参数..所以给pf赋值时;只把函数名fun赋给pf即可..所以正确答案为选项A..34C解析s=fa表达式第一次调用fn函数时;fn函数运行结果为n=4;a=2;即s等于4;s=s+fa表达式第二次调用fn函数时;fn函数运行结果为n=5;所以得到s值为9..35A解析s=fa+1=a+1*a+1*a+1=10;s=fa+1=a+1*a+1*a+1=64..36B解析定义结构体变量有三种方式:①先声明结构体类型;再定义变量名;如选项A所示;②在声明类型的同时定义变量;如选项C所示;③直接定义结构体类型变量;如选项D所示..37A解析选项B、D中;没有为字符串分配空间;因此不能用c指向字符串..选项C中getchar函数返回一个字符;不能将字符赋给字符指针c..选项A中首先定义了字符数组str;然后将str的首地址赋给指针c;这样就使指针c指向了字符串"string"..38D解析在主函数中;通过a=fa实现函数调用;所以输出的结构体变量相应变为1002;ChangRong;1202.0..39C解析8用二进制表示为1000;右移1位后为0100;即十进制4..40C解析文件由数据序列组成;可以构成二进制文件;也可以构成文本文件..二、填空题1114解析在二叉树中;度为0的结点数是度为2的结点数加1;故二叉树中结点数的总和为度为0的结点数、度为1的结点数及度为2的结点数三者相加;得出结果为14个结点..22逻辑判断解析绘制流程图时事实描述用椭圆形表示、行动方案用矩形表示、问题用菱形表示、箭头代表流动方向..33需求分析解析需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等四方面;产生的主要文档为软件需求规格说明书;它可以为用户、分析人员和设计人员之间的交流提供方便;直接支持目标软件系统的确认;也可以作为控制软件开发进程的依据..44多对多解析一名学生可以选择多门课程;一门课程也可以由多名学生选择;因此是多对多的联系..55身份证号解析主关键字是表中区别不同的记录的标识;在该表中只有身份证号能具有这个作用;所以用其作为主关键字..665解析a++的含义是在使用a值以后;使a值加1;所以a++的值为5..771解析y=intx/5%2=int3.4%2=3%2=1..881 0解析第一个printf语句输出的结果是逻辑表达式x>0||x<20的值;显然为真;即为1;第二个printf 语句输出的是逻辑表达式x>0&&x<20的值;该值为假;即为0..995解析第一次循环执行后;b=3;a=4;满足条件b>1;循环继续;第二次循环执行后;b=1;a=5;不满足条件b>1;结束循环..所以输出的a值为5..10100 1 123解析第一个printf语句输出结果为0 1..循环体总共循环三次;第一次循环结果为;f=1;f1=1;f2=1;第二次循环结果为f=2;f1=1;f2=2;第三次循环结果为f=3;f1=2;f2=3..11113025解析func调用函数funb;函数执行结果为a=a+b=10+20=30;调用完函数后;主函数继续执行;输出结果a=a+c=5+20=25..1212&p.ID解析结构体成员的引用通过符号"."来表示;通过scanf语句对变量进行赋值时;要用取地址符&..1313How are you How解析用%s格式输入字符串时;空格和回车都作为输入数据的分隔符;不能被读入;因此数组b的输出结果为How..141416解析主函数中;通过funl 函数将a值传递给x;但没有把形参x的值返回;此时变量a的值并没有发生变化;所以输出a.num的值为16..15151 3 6解析依次执行fun6;fun3;fun1;当执行fun6时要调用fun3;执行fun3时要调用fun1;所以输出的结果为1 3 6..。

全国计算机等级考试二级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语言公共基础知识(附例题)

第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。

详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。

计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法.1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。

2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。

在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。

(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构.描述算法的工具通常有传统流程图、N—S结构化流程图、算法描述语言等。

一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。

考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。

1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。

同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。

这表明使用绝对的时间单位衡量算法的效率是不合适的。

撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量”的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。

计算机二级c 考试题库

计算机二级c  考试题库

计算机二级c 考试题库计算机二级C 考试题库计算机技术在当今社会中扮演着至关重要的角色,掌握计算机知识已经成为现代人不可或缺的技能。

而对于许多人来说,通过计算机等级考试是评定自己计算机水平的一个标准。

计算机二级C 考试作为一项广泛认可的计算机等级考试,涵盖了广泛的计算机知识,是许多人努力学习的目标。

以下是一些关于计算机二级C 考试的题库,希望对大家的备考有所帮助。

1. 下列与计算机硬盘存储容量单位配对错误的是()。

A. KBB. MBC. GBD. K答案:D2. 当在计算机上对一个文件进行编辑时,通常使用的快捷键是()。

A. Ctrl + ZB. Ctrl + SC. Ctrl + CD. Ctrl + X答案:B3. 在计算机领域中,以下哪个不属于操作系统的功能?()A. 管理计算机硬件B. 控制应用程序C. 完成用户输入D. 维护系统安全答案:C4. 下列不能作为计算机的输出设备的是()。

A. 打印机B. 鼠标C. 显示器D. 喇叭答案:B5. 在计算机网络中,下列哪种网络连接方式是无线的?()A. ADSLB. 3GC. Wi-FiD. Broadband答案:C6. 计算机中用于存储数据的永久性存储设备是()。

A. 内存B. 硬盘C. CPUD. 显卡答案:B7. 当在计算机中安装软件时,下列哪种安装方式是最常见的?()A. USB安装B. 网络安装C. 硬盘安装D. 光盘安装答案:D8. 在计算机中,用于运行程序的指令集是()。

A. HTMLB. JavaC. C++D. CPU答案:D9. 计算机二级C 考试主要考察的是()方面的计算机知识。

A. 硬件B. 软件C. 网络D. 应用答案:D10. 在计算机程序设计中,常用的编程语言有()。

A. 汇编语言B. 机器语言C. C语言D. 手语答案:C以上是计算机二级C 考试的一些题目,希望大家能够通过认真学习和练习,顺利通过考试,提升自己的计算机水平。

全国计算机等级考试二级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语言笔试题库及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个函数用于将字符串s2连接到字符串s1的末尾?A. strcat(s1, s2)B. strcpy(s1, s2)C. strncpy(s1, s2, n)D. strcmp(s1, s2)答案:A3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 若有以下定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式a[0] +a[2] + a[4]的值是多少?A. 8B. 10C. 12D. 15答案:C5. 在C语言中,以下哪个函数用于将一个字符串复制到另一个字符串?A. strcat()B. strcpy()C. strncpy()D. strcmp()答案:B6. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A7. 在C语言中,以下哪个关键字用于声明一个变量?A. varB. letC. intD. var答案:C8. 在C语言中,以下哪个函数用于将一个整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. strcpy()答案:B9. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fread()D. fwrite()答案:A10. 在C语言中,以下哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,________关键字用于定义一个宏。

答案:#define2. 在C语言中,________关键字用于定义一个枚举类型。

全国计算机等级考试二级C语言【附详解】

全国计算机等级考试二级C语言【附详解】

是对顺序队列的改进,故循环队列是队列的一种顺序存储结正确的是
A、栈是一种先进先出的线性表 B、队列是一种后进先出的线性表 C、栈和队列都是非线性结构 D、以上三种说法都不对
栈是一种后进先出的线性表
队列是一种先进先出的线性表,二者均是线性结构,
答案为选项D。
ppt课件
4
一棵二叉树共有25个节点,其中5个是子节点,那么度为1的节
一个C程序有且只有一个主函数 main()。
一个C 程序可以包含多个不同名字的子函数
C程序在书写时没有严格的缩进要求。
ppt课件
16
设有以下语句 Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2); 若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是 A、A和B之间用逗号间隔 B、A和B之间不能有任何间隔符 C、A和B之间可以用回车间隔 D、A和B之间用空格间隔
软件详细设计- - 程序流程图(PDF)和PAD(问题分析图)是过程设计的常 用工具 数据流图(DFD图 ) 是 软 件 定 义 阶 段 结 构 化 分 析 方 法 常 用 的 工 具 。
ppt课件
12
针对简单程序设计,以下叙述的实施步骤正确的是 A、确定算法和数据结构、编码、调试、整理文档 B、编码、确定算法和数据结构、调试、整理文档 C、整理文档、确定算法和数据结构、编码、调试 D、确定算法和数据结构、调试、编码、整理文档
在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包 含不能加逗号、回车和空格,因为这些也算是字符。
ppt课件
17
以下选项中非法的字符常量是 A、’\102’ B、’\65’ C、’\xff’

(完整word版)全国计算机二级考试C语言(最全复习资料)

(完整word版)全国计算机二级考试C语言(最全复习资料)

二级公共基础知识作为必考内容出现,出题形式为选择题前10道,占考试总分的10%。

考试其它比重:1、C语言程序的结构占总分1%2、数据类型及其运算占总分4%3、选择结构程序设计占比分的3%4、循环结构占比分的5%5、数组的定义和引用占比分的5%6、函数占比分的5%7、编译预处理占比分1%8、指针占比分的5%9、结构体占比分的3%10、位运算占比分的2%11、文件操作占比分的2%考试方式上机考试,时长120分钟单选题40分(含公共基础10分),操作题60分(包括程序填空题、程序修改题、程序设计题)第一部分 C语言知识复习资料第一章 C语言基本知识(90分)【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。

源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。

C语言有三种基本结构:顺序结构、选择结构、循环结构。

【考点2】main函数又称主函数,是C程序的入口.main后面跟一对小括号和一对花括号,花括号括起来的部分称为main函数的函数体.一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。

每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。

【考点3】存储形式计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。

二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法.数据的存放位置就是它的地址。

【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*"开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。

【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。

一行内可写多条语句,一个语句可写在多行上。

全国计算机等级考试二级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语言(完整复习资料)

全国计算机二级C语言(完整复习资料)

全国计算机二级C语言(完整复习资料)考试题型(1)选择。

——40(40个)(2)程序填空。

——18(1个)(3)程序改错。

——18(1个)(4)程序编程。

——24(1个)考试时间3.30-4.3120min 无纸化考试进制之间的转换二进制与八进制之间的联系:二进制八进制000 0001 1010 2011 3100 4101 5110 6111 7 如00100000则000 100 000(二进制) 0 4 0(八进制)十进制转二进制:除2取余法二进制转十进制:2的幂次法八进制转十进制:除8取余法附录很重要!!尤其是红色字体的。

附录A 常用字符与ASCII代码对照表(这个记048,065,097三个就好)ASCⅡ值字符ASCⅡ值字符ASCⅡ值字符ASCⅡ值字符000 NUL037 %074 J111 O001 SOH038 &075 K112 p002 STX039 ‘076 L113 q003 ETX040 (077 M114 r004 EOT041 )078 N115 s005 END042 *079 O116 t006 ACK043 +080 P117 u007 BEL044 ,081 Q118 v008 BS045 -082 R119 w009 HT046 。

083 S120 x010 LF047 /084 T121 y011 VT048 0085 U122 z012 FF049 1086 V123 {013 CR050 2087 W124 |014 SO051 3088 X125 }015 SI052 4089 Y126 ~016 DLE053 5090 Z017 DC1054 6091 [018 DC2055 7092 \019 DC3056 8093 ]020 DC4057 9094 ^021 NAK058 :095 _022 SYN059 ;096 ,023 ETB060 < 097 a024 CAN061 =098 b025 EM062 > 099 c026 SUB063 ?100 d027 ESC064 @101 eASCⅡ值字符ASCⅡ值字符ASCⅡ值字符ASCⅡ值字符028 FS065 A102 f029 GS066 B103 g030 RS067 C104 h031 US068 D105 i032 (space)069 E106 j033 !070 F107 k034 “071 G108 l035 #072 H109 m036 $073 I110 n附录B C语言中的关键字auto break case char const continue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef union unsigned voidvolatile while附录C 运算符和结合性优先级运算符含义要求运算对象的个数结合方向1 ( ) 圆括号自左至右[ ] 下标运算符->指向结构体成员运算符·结构体成员运算符2! 逻辑非运算符1(单目运算符)自右至左~ 按位取反运算符++ 自增运算符--自减运算符-负号运算符(类型) 类型转换运算符* 指针运算符& 取地址运算符优先级运算符含义要求运算对象的个数结合方向sizeof 长度运算符3 * 乘法运算符2(双目运算符)自左至右/ 除法运算符% 求余运算符4 + 加法运算符 2(双目运算符)自左至右-减法运算符5 << 左移运算符 2(双目运算符)自左至右>> 右移运算符6 < <= > >= 关系运算符2(双目运算符)自左至右7 == 等于运算符 2(双目运算符)自左至右!= 不等于运算符8 & 按位与运算符2(双目运算符)自左至右9 ∧按位异或运算符2(双目运算符)自左至右10 | 按位或运算符2(双目运算符)自左至右11 && 逻辑与运算符2(双目运算符)自左至右12 | | 逻辑或运算符2(双目运算符)自左至右13 ? : 条件运算符3(三目运算符)自右至左15 , 逗号运算符(顺序求值运算符)自左至右说明:(1)同一优先级的运算符,运算次序由结合方向决定。

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

1.下列四组选项中,均不是C语言关键字的选项是( )。

AA) define of type B) getc char printf C) include scanf case D) if struct type2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b) 的值是( )。

BA) 7 B) 8 C) 6 D) 23.在C语言中,要求运算数必须是整型的运算符是( )。

DA) / B) ++ C) != D) %4.设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( )。

DA)float B) char C) int D) double5.若int类型数据占两个字节,则以下程序的输出为( )。

Dmain(){int k=-1;Printf(“%d,%u\n”,k,k);}A) -1, -1 B) -1, 32767 C)-1, 32768 D) -1, 655356.若k 为int 变量,则以下程序( )。

Cmain(){int k=8567;Printf(“|%-06d|\n”, k);}A) 输出格式描述不合法 B) 输出为 |008567|C) 输出为 |8567| D) 输出为 |-08567|7.若给定条件表达式(x)? (a++):(a--), 则表达式x ( )。

CA) 和(x==0)等价 B) 和(x==1)等价C) 和(x!=0)等价 D) 和(x!=1)等价8. 若a是float型变量,b是unsigned型变量,以下输入语句( )是合法的。

CA) scanf("%6.2f%d",&a,&b) B) scanf("%f%n",&a,&b)C) scanf("%f%3o",&a,&b) D) scanf("%f%f",&a,&b)9. 以下叙述正确的是( )。

CA) 在C语言中,每行只能写一条语句。

B) 若X是实型变量,C语言中允许赋值X=100,因此实型变量中允许存放整型变量。

C) 在C程序中,%只能用于整数运算的运算符。

D) 在C程序中,无论是整数还是实数,都能被准确无误地表示。

7. 设变量a是整型,b是实型,c是双精度型,则表达式10+'a'+b*c值的数据类型为( )。

CA) int B)float C)double D)不确定8. 在C语言中,int型数据在内存中的存储形式是( )。

DA) 补码 B) 反码 C)原码 D)ASC||码9. 若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。

AA) 2.500000 B) 2.750000 C) 3.500000 D) 0.0000010. 设以下变量均为int类型,则值不等于7的表达式是( )。

CA) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)11. 在C语言中,当while语句中的条件为( )时,结束该循环。

AA)0 B)1 C) true D)非012. 设i和x 都是int类型,则以下for循环( )。

Afor(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);A) 最多执行者10次 B) 最多执行者9次C) 是无限循环 D) 循环体一次也不执行13. 以下程序的输出结果是( )。

C#include<stdio.h>main(){int i=0,j=0,a=6;if((++i>0)||(++j>0)) a++;printf("i=%d,j=%d,a=%d\n",i,j,a);}A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a=7 D) i=0,j=1,a=714. 设以下程序段int x=0,s=0;while(! x!=0) s+=++x;printf)"%d",s);则( ) BA) 运行程序后输出0 B) 运行程序后输出1C) 程序段中的控制表达式是非法的 D) 程序段执行无限次15. C语言中while和do-while循环的主要区别是( )AA) do-while的循环体至少无条件执行一次B) while的循环控制条件比do-while的循控制条件严格C) do-while允许从外部转到循环体内D) do-while的循环体不能是复合句16. 下面程序段中循环体的执行次数是( )Aa=10;b=0;do{b+=2;a-=2+b;}while(a>=0);A) 3 B) 4 C)5 D)不定17. 下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。

B#include<stdio.h>main(){int a,b,t;scanf("%d,%d\n",a,b);while______{if(a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf(%d%d",&a,&b);}}A) !a=b B)a!=b C)a==b D)a=b18. 若有说明:int a[10];,则对a数组元素的正确引用是( )DA) a[10] B)a[3.5] C)a(5) D)a[10-10]19. 对以下说明语句的正确理解是( ) Bint a[10]={6,7,8,9,10};A) 将5个初始值依次赋给a[1]至a[5]B) 将5个初始值依次赋给a[0]至a[4]C) 将5个初始值依次赋给a[6]至a[10]D) 因为数组长度与初始数值的个数不相同,所以此语句不正确20. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )CA) 整型常量 B) 整型表达式C) 整型常量或整型表达式 D) 任何类型表达式21. 以下对一维整型数组a的正确说明是( )。

DA) int a(10); B) int n=10, a[n];C) int n;scanf("%d",&n);int a[10];D) #define max 10int a[max];22. 若有说明:int a[3][4];,则对a数组元素正确引用是( )。

CA) a[2][4] B) a[1,3] C) a[1+1][0] D) a(2)(1)23. 以下对二维数组a的正确说明是( )CA) int a[3][] B) float a(3,4); C) double a[1][4]; D)float a(3)(4);24. 若有说明:static int a[3][4];,则数组a中各元素( )BA)可在程序运行阶段得到初值0B)可在程序编译阶段得到初值0C)不能得到确定的初值A)可在程序的运行或编译阶段得到初值025. 以下对二维数组a进行初始化的语句错误的是( )CA) int a[2][3]={0};B) int a[][3]={{1,2},{0}};C) int a[2][3]={{1,2},{3,4},{5,6}};D) int a[][3]={1,2,3,4,5,6};26. 下面描述正确的是( )。

DA) 两个字符串所包含的字符个数相同时,才能比较字符串B) 字符个数多的字符串比字符个数少的字符串大C) 字符串"stop"与"Stop"相等D) 字符串"that"小于字符串"the"27. 若有说明 int a[][3]={1,2,3,4,5,6,7};,则a数组第一维的大小是( )。

BA) 2 B)3 C)4 D)无确定值28. 以下正确的定义语句是( )。

DA) int a[1][4]={1,2,3,4,5};B) float x[3][]={{1},{2},{3}};C) long b[2][3]={{1},{1,2},{1,2,3}};D) double y[][3]={0};29. C语言规定,函数返回值的类型是由( )。

DA) return语句中的表达式类型所决定B) 调用该函数时的主调用函数类型所确定、C) 调用该函数时系统临时决定的D) 在定义该函数时所指定的函数类型所决定30. 以下不正确的说法是( )。

BA) 实参可以是常量、变量或表达式B) 形参可以是常量、变量或表达式C) 实参可以是任意类型D) 形参应与其对应的实参类型一致31. 下面函数调用语句中含有实参个数为( )。

Bfunc((exp1,exp2),(exp2,exp4,exp5));A) 1 B)2 C)3 D)432. 若调用一个函数,且函数中没有return语句,则正确的说法是( )。

DA) 该函数没有返回值B) 返回若干个系统默认值A) 能返回一个用户所希望的函数值A) 返回一个不确定的值33. 建立函数的目的之一是( )。

DA) 提高程序的执行效率B) 提高程序的可移植性C) 减少程序的篇幅A) 提高程序的可读性34. 在C语言中,( )BA) 函数的定义可以嵌套,但函数的调用不可以嵌套B) 函数的定义不可以嵌套,但函数的调用可以嵌套c) 函数的定义和调用均不可以嵌套D) 函数的定义和调用均可以嵌套35. 若用数组名作为函数调用的实参,传递给形参的是( )。

AA) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值C) 数组元素的个数36. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。

BA) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传给实参D) 由用户指定传递方式37. 凡是在C语言中函数未指定存储类别的局部变量,其隐含的存储类别为( )。

AA) 自动 B) 静态 C) 外部 D)寄存器38. 设有下面的语句和说明,则下列叙述正确的是( )。

Dchar s[]="china"; char *p; p=s;A) s和p完全相同B) 数组s中的内容和指针变量P的内容相同C) s数组长度和P所指向的字符串长度相同D) *p和s[0]相同39. 变量的指针,其含义是指该变量的( )。

相关文档
最新文档