全国计算机等级考试无纸化真考题库试卷二级C--(4)资料
全国计算机二级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语言-题库(全)
2016年3月份全国计算机等级考试二级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 CaseD)2a, DO, sizeof 标识符由数字、字母、下划线组成,开头不能为数字(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e e后为整数(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;D)double a=00;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}A)409 B)277 C)1 D)91 (18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(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)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4}; (25)有以下程序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)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]); (28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX 是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名B)PER是结构体类型名C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){ int y;if(x==0||x==1) return(3);y=x*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
全国计算机等级考试无纸化考试二级C选择题题库
二级C语言相关考点1、以下选项中,能用作数据常量的是________。
(标准答案:C)(A)o115 (B)0118 (C)115L (D)1.5e1.52、下列叙述中错误的是_______。
(标准答案:A)(A)一个C语言程序只能实现一种算法(B)一个C函数可以单独作为一个C程序文件存在(C)C程序可以由一个或多个函数组成(D)C程序可以由多个程序文件组成3、设变量已正确定义并赋值,以下正确的表达式是_______。
(标准答案:B)(A)int(15.8%5) (B)x=y+z+5, ++y (C)x=25%5.0 (D)x=y*5=x+z4、以下叙述中错误的是_____________。
(标准答案:A)(A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(B)C语言源程序经编译后生成后缀为.obj的目标程序(C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中(D)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件5、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是___________。
(标准答案:D)(A)大写字母(B)下划线(C)数字字符(D)连接符6、以下选项中,合法的一组C语言数值常量是__________。
(标准答案:D)(A) 0x8A 10,000 3.e5 (B).177 4e1.5 0abc(C) 028 .5e-3 -0xf (D)12. 0Xa23 4.5e07、以下选项中不合法的标识符是__________。
(标准答案:C)(A)print (B)FOR (C)&&a (D)_008、若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是(A)i=(a+k)<=(i+k); (B)a=a++,i++; (C)i=a%11; (D)i=!a;标准答案:C11、设有定义:int x=2;,以下表达式中,值不为6的是(A)x*=(1+x) (B)x*=x+1 (C)x++,2*x (D)2*x, x+=2标准答案:D12、有以下程序#include <stdio.h>main(){ int x, y, z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是(A)2,3,3 (B)2,2,1 (C)2,3,2 (D)2,3,1标准答案:D13、以下叙述中错误的是(A)使用三种基本结构构成的程序只能解决简单问题(B)C语言是一种结构化程序设计语言(C)结构化程序由顺序、分支、循环三种基本结构组成(D)结构化程序设计提倡模块化的设计方法标准答案:A14、以下选项中,能用作用户标识符的是(A)8_8 (B)unsigned (C)_0_ (D)void标准答案:C15、C源程序中不能表示的数制是(A)二进制(B)十六进制(C)十进制(D)八进制标准答案:A16、若有定义语句:int x=10; ,则表达式x-=x+x的值为(A)0 (B)10 (C)-20 (D)-10标准答案:D17、以下选项中不合法的标识符是(A)&a (B)print (C)_00 (D)FOR标准答案:A18、以下关于结构化程序设计的叙述中正确的是(A)一个结构化程序必须同时由顺序、分支、循环三种结构组成(B)有三种基本结构构成的程序只能解决小规模的问题(C)在C语言中,程序的模块化是利用函数实现的(D)结构化程序使用goto语句会很便捷标准答案:C19、对于一个正常运行的C程序,以下叙述中正确的是(A)程序的执行总是从main函数开始,在程序的最后一个函数中结束(B)程序的执行总是从程序的第一个函数开始,在main函数结束(C)程序的执行总是从main函数开始(D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束标准答案:C20、以下选项中能表示合法常量的是(A)1.5E2.0 (B)“\007” (C)1, 200 (D)‘\ ’标准答案:B21、以下定义语句中正确的是(A)float a=1,*b=&a,*c=&b; (B)int a=b=0;(C)double a=0.0;b=1.1; (D)char A=65+1,b=’b’;标准答案:D22、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是(A)double(x)/10 (B)x=x+10=x+y (C)x+1=y (D)++x,y=x-- 标准答案:D23、计算机能直接执行的程序是(A)可执行程序(B)目标程序(C)源程序(D)汇编程序标准答案:A24、以下叙述中正确的是(A)C语言规定必须用main作为主函数名,程序将从此开始执行(B)C语言程序将从源程序中第一个函数开始执行(C)main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等(D)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行标准答案:A25、以下选项中可用作C程序合法实数的是(A)E9 (B)9.12E (C)3.0e1.2 (D) .1e0标准答案:D26、下列定义变量的语句中错误的是(A)float US$; (B)double int_; (C)char For; (D)int _int; 标准答案:A27、表达式:(int)((double)9/2)-9%2的值是(A)5 (B)4 (C)0 (D)3标准答案:D28、以下叙述中错误的是(A)算法正确的程序对于相同的输入一定有相同的结果(B)算法正确的程序可以有零个输入(C)算法正确的程序可以有零个输出(D)算法正确的程序最终一定会结束标准答案:C29、以下叙述中正确的是(A)C语言程序中的注释必须与语句写在同一行(B)简单C语句必须以分号结束(C)C语句必须在一行内写完(D)C程序中的每一行只能写一条语句标准答案:B30、以下选项中关于C语言常量的叙述错误的是(A)经常被使用的变量可以定义成常量(B)常量分为整型常量、实型常量、字符常量和字符串常量(C)所谓常量,是指在程序运行过程中,其值不能被改变的量(D)常量可分为数值型常量和非数值型常量标准答案:A31、以下选项中,不合法的C语言用户标示符是(A)AaBc (B)a_b (C)_1 (D)a--b标准答案:D32、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)x=y==5; (B)x=5=4+1; (C)x+n=i; (D)x=n%2.5;标准答案:A33、以下选项中关于程序模块化的叙述错误的是(A)把程序分成若干相对独立的模块,可便于编码和测试(B)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序(C)把采用分成若干相对独立、功能单一的模块,可便于重复使用这些模块(D)可采用自顶向上、逐步细化的设计方法把若干独立模块组装成所要求的程序标准答案:D34、以下叙述中正确的是(A)C程序中的注释只能出现在程序的开始位置和语句的后面(B)C程序书写格式严格,要求一行内只能写一个语句(C)用C语言编写的程序只能放在一个程序文件中(D)C程序书写格式自由,一个语句可以写在多行上标准答案:D35、以下不合法的数值常量是(A)1e1 (B)0xabcd (C)8.0E0.5 (D)011标准答案:C36、以下关于C语言数据类型使用的叙述中错误的是(A)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(B)若要保存带有多位小数的数据,可使用双精度类型(C)整数类型表示的自然数是准确无误差的(D)若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型标准答案:A37、设有定义int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是(A)++k (B)k++ (C)k+1 (D)k+=1标准答案:B38、以下叙述中错误的是(A)C程序在运行过程中所有计算都以二进制方式进行(B)C程序在运行过程中所有计算都以十进制方式进行(C)C程序中字符变量存放的是字符的ASCII值(D)所有C程序都需要编译链接无误后才能运行标准答案:B39、以下关于C语言的叙述中正确的是(A)C语言中的注释不可以夹在变量名或关键字的中间(B)C语言中的变量可以再使用之前的任何位置定义(C)在C语言算数表达式的书写中,运算符两侧的运算数类型必须一致(D)C语言的数值常量中夹带空格不影响常量值的正确表示标准答案:A40、以下不合法的字符常量是(A)‘\018’(B)‘\”’(C)‘\\’(D)‘\xcc’标准答案:A41、以下选项中正确的定义语句是(A)double a=7,b=7; (B)double a;b; (C)double,a,b; (D)double a=b=7; 标准答案:A42、若有定义语句int a=3,b=2,c=1;以下选项中错误的赋值表达式是(A)a=(b=4)=3; (B)a=1+(b=c=4); (C)a=(b=4)+c; (D)a=b=c+1;标准答案:A43、下列叙述中错误的是(A)一个C语言程序只能实现一种算法(B)一个C函数可以单独作为一个C程序文件存在(C)C程序可以由一个或多个函数组成(D)C程序可以由多个程序文件组成标准答案:A44、C语言源程序名的后缀是(A) .c (B) .cp (C) .obj (D) .exe标准答案:A45、以下选项中不能用作C程序合法常量的是(A)123 (B)‘\123’(C)“\x7D”(D)1,234标准答案:D46、表达式a+=a-=a=9的值是(A)0 (B)-9 (C)18 (D)9标准答案:A47、若有定义语句:int x=12,y=8,z;在其后执行语句Z=0.9+x/y;则z的值为(A)2.4 (B)2 (C)1.9 (D)1标准答案:D48、以下选项中合法的标识符是(A)1-1 (B)1__(C)1_1 (D)_11标准答案:D49、表达式3.6-5/2+1.2+5%2的值是(A)4.8 (B)4.3 (C)3.8 (D)3.3标准答案:C50、有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是(A)a=x<>y (B)a%(int)(x-y) (C)y=x+y=x (D)(a*y)%b标准答案:B51、有以下程序#include <stdio.h>Main(){ int a=0,b=0; /*给a赋值b=20; /*给b赋值*/printf(“a+b=%d\n”,a+b); /*输出计算结果*/}程序运行后的输出结果(A)出错(B)a+b=0 (C)a+b=30 (D)a+b=10 标准答案:D52、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令,关于转换以下说法错误的是(A)一条C语句可能会被转换成零条机器指令(B)某种类型和格式的C语句被转换成机器指令的条数是固定的(C)一条C语句可能会被转换成多条机器指令(D)一条C语句对应转换成一条机器指令标准答案:D53、关于C语言的符号常量,以下叙述中正确的是(A)符号常量在整个程序中其中都不会被重新定义(B)符号常量的符号名是标识符,但必须大写(C)符号常量的符号名必须是常量(D)符号常量是指在程序中通过宏定义用一个符号名来代表一个常量标准答案:D54、若有以下程序#include <stdio.h>main(){int b=10,a=-11;a%=b%=4;printf(“%d %d\n”,a,b);}则程序的输出结果是(A)1 2 (B)-1 2 (C)1 -2 (D)-1 -2标准答案:B55、若有以下程序#include <stdio.h>main(){int a=0,b=0,c=0;c=(a-=++a),(a+=b,b+=4);printf(“%d,%d,%d\n”,a,b,c);}则程序的输出结果是(A)0,4,0 (B)0,4,4 (C)1,4,4 (D)1,4,1标准答案:A56、若有以下程序#include <stdio.h>main(){int a=0,b=0,c=0,d;c=(a+=b,,b+=a); /*第4行*/d=c;; /*第5行*/; /*第6行*/printf(“%d,%d,%d\n”,a,b,c); /*第7行*/}编译时出现错误,你认为出错的是(A)第6行(B)第5行(C)第7行(D)第4行标准答案:D57、关于算法,以下叙述中错误的是(A)一个算法对于某个输入的循环次数是可以事先估计出来的(B)同一个算法对于相同的输入必须得出相同的结果(C)某个算法可能会没有输入(D)任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕标准答案:D58、关于C语言的变量,以下叙述中错误的是(A)由三条下划线构成的符号名是合法的变量名(B)所谓变量是指在程序运行过程中其值可以被改变的量(C)程序中用到的所有变量都必须先定义后才能使用(D)变量所占的存储单元地址可以随时改变标准答案:D59、若有以下程序#include <stdio.h>main(){int a=-11,b=10;a/=b/=4;printf(“%d %d\n”,a,b);}(A)4 -3 (B)5 -3 (C)-1 -2 (D)5 -2标准答案:D60、#include <stdio.h>main(){int a=0,b=0,c=0;c=(a+=++b,b+=4);printf(“%d,%d,%d\n”,a,b,c);}则程序的输出结果是(A)1,5,1 (B)-1,4,-1 (C)-1,4,4 (D)1,5,5标准答案:D61、以下选项中不属于C语言标识符的是(A)关键字(B)预定义标识符(C)用户标识符(D)常量标准答案:D62、以下选项中不属于C语言程序运算符的是(A)&& (B)()(C)sizeof (D)<>标准答案:D63、若变量已正确定义并赋值,以下不能构成C语句的选项是(A)A=a+b; (B)B++; (C)A?a:b; (D)a=a+b标准答案:D64、若有以下程序段double x=5.16894;printf(“%f\n“,(int)(x*1000+0.5)/(double)1000);则程序段的输出结果是(A)5.169000 (B)5.175000 (C)5.170000 (D)5.168000 标准答案:A65、以下不能用于描述算法的是(A)文字叙述(B)伪代码和流程图(C)程序语句(D)E-R图标准答案:D66、以下叙述中合法的实型常量是(A)2.0*10 (B) .914 (C)0 (D)3.13e-2.1 标准答案:B67、以下叙述中正确的是(A)若有int 4,b=9;执行了a=b;b=a;之后,a的值为9,b的值为4(B)在赋值表达式中,赋值号的右边可以是变量,也可以是表达式(C)若有int 4,b=9;执行了a=b后,a的值已由原值改变为b的值,b的值变为0(D)a是实型变量,a=10在C语言中是允许的,因此可以说:实型变量中可以存放整型数标准答案:B68、以下选项中合法的常量是(A)sizeof (B)A% (C)5a (D)_10_标准答案:D69、不能正确表示数学式的表达式是(A)a*b/c (B)a*(b/c) (C)a/c*b (D)a/b*c 标准答案:D70、#include <stdio.h>main(){int a=3;printf(“%d\n”,a+=a-=a*a);}程序运行后的输出结果是(A)9 (B)-12 (C)0 (D)3标准答案:B71、以下叙述中正确的是(A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构(B)N-S流程图只能描述简单的顺序结构的程序(C)计算机可以直接处理C语言程序,不必进行任何转换(D)程序的算法只能使用流程图来描述标准答案:A71、以下叙述中正确的是(A)书写源程序时,必须注意缩进格式,否则程序会有编译错误(B)程序的主函数名除了main外,也可以使用Main或_main(C)程序可以包含多个主函数,但总是从第一个主函数处开始执行(D)在C程序中,模块化主要是通过函数来实现的标准答案:D72、C语言中double类型数据占字节数为(A)12 (B)8 (C)4 (D)16标准答案:B73、以下叙述中正确的是(A)用户自定义标识符必须“见名知意”,如果随意定义,则会出编译错误(B)语言中的关键字不能作变量名,但可以作为函数名(C)标识符的长度不能任意长,最多只能包含16个字符(D)标识符总是有字母、数字和下划线组成,且第一个字符不得是数字标准答案:D74、以下叙述中正确的是(A)空语句就是指程序中的空行(B)花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的(C)复合语句在语法上包含多条语句,其中不能定义局部变量(D)当用scanf从键盘输入数据时,每行数据在没有按下回车键(Enter键)前,可以任意修改标准答案:D75、以下叙述中正确的是(A)程序必须包含所有三种基本结构才能成为一种算法(B)如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达(C)只有简单算法才能在有限的操作步骤之后结束(D)我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令标准答案:D76、以下叙述中正确的是(A)在C语言程序设计中,所有函数必须保存在一个源文件中(B)结构化程序必须包含所有的三种基本结构,缺一不可(C)只要包含了三种基本结构的算法就是结构化程序(D)在算法设计时,可以把复杂任务分解成一些简单的子任务标准答案:D77、以下叙述中正确的是(A)预定义的标识符是C语言关键字的一种,不能另作他用(B)只能在函数体内定义函数,其他地方不允许定义变量(C)常量的类型不能从字面形式上区分,需要根据类型名来决定(D)整型常量和实型常量都是数值型常量标准答案:D78、以下叙述中正确的是(A)八进制数的开头要使用英文字母o,否则不能与十进制区分开(B)英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符(C)在C程序中的八进制和十进制,可以是否点数(D)整型变量可以分为int型、short型、long型、unsigned型四种标准答案:D79、以下叙述中正确的是(A)C语言程序总是从main函数开始执行(B)C语言程序所调用的函数必须放在main函数的前面(C)C语言程序中main函数必须放在程序开始位置(D)C语言程序总是从最前面的函数开始执行标准答案:A80、C语言程序中,运算对象必须是整型数的运算符是(A)% (B)/ (C)* (D)&&标准答案:A81、#include <stdio.h>main(){int sum,pad,pAd;sum=pad=5;pAd=++sum,pAd++,++pad;printf(“%d\n”,pad);}程序的输出结果是(A)7 (B)5 (C)8 (D)6 标准答案:D82、以下四个程序中,完全正确的是(A)#include <stdio.h> main();{/*/ programming /*/printf("programming!\n"); } (B)#include <stdio.h> main(){/* programming */printf("programming!\n"); } (C)#include <stdio.h> main(){/*/* programming */*/printf("programming!\n"); } (D)include <stdio.h>main(){/* programming */printf("programming!\n"); }标准答案:B83、有以下程序#include <stdio.h>main(){ int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);}程序运行后的输出结果是(A)1,0 (B)0,0 (C)1,2 (D)3,2标准答案:C84、有以下程序#include <stdio.h>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);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是(A)12(B)123(C)1234(D)1234标准答案:B85、有以下程序#include <stdio.h>main(){ char c1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf( "%c,%d\n",c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是(A)输出无定值(B)E,D (C)D,69 (D)E,68标准答案:D86、有以下程序#include <stdio.h>main(){ int a1,a2; char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b 则正确的输入格式是(以下ㄩ代表空格,<CR>代表回车)(A)12a34b<CR> (B)12ㄩa34ㄩb<CR> (C)12,a,34,b<CR> (D)12ㄩaㄩ34ㄩb<CR>标准答案:A87、若变量已正确定义为int型,要通过语句Scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中语法错误的是(注:□代表一个空格符)(A)□□□1,2,3<回车> (B)1□2□3<回车>(C)1,2,3<回车> (D)1,□□□2,□□□3<回车>标准答案:B88、设变量均已正确定义,若通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c和c2赋字符X和Y,以下所示的输入形式正确的是(A)10□X<回车>20□Y<回车>(B)10□X□20□Y<回车>(C)10X<回车>20Y<回车>(D)10□X20□Y<回车>标准答案:C89、设有定义int a; float b;执行scanf(“%2d%f”,&a,&b);语句时,若从键盘输入876 543.0<回车>则a和b的值分别是(A)76和543.0(B)87和543.0(C)876和543.0(D)87和6.0标准答案:D90、有如下程序段:int x=12;double y=3.141593;printf(“%d%8.6f”,x,y)其输出结果是(A)123.141593 (B)12 3.141593 (C)123.1415930 (D)12,3.141593标准答案:A91、若有定义:int a,b;通过语句scanf(“%d;%d”,&a,&b);能把整数3赋值给变量a,5赋值给变量b的输入数据是(A)35 (B)3 5 (C)3,5 (D)3;5 标准答案:D92、阅读以下程序#include <stdio.h>main(){ int case;float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&printF);printf(“%d %f\n”,case,printF);}该程序在编译时产生错误,其出错原因是(A)定义语句出错,case是关键字,不能用作用户自定义标识符(B)定义语句出错,scanf不能作为输入函数使用(C)定义语句出错,printf不能输出擦色的值(D)定义语句出错,printF不能用作用户自定义标识符标准答案:A93、若有定义int a;float b;double c;程序运行时输入:3 4 5<回车>能把3输入给变量a、4输入给变量b、5输入给变量c的语句是(A)scanf(“%d%f%f”,&a,&b,&c);(B)scanf(“%d%lf%lf”,&a,&b,&c);(C)scanf(“%lf%lf%lf”,&a,&b,&c);(D)scanf(“%d%f%lf”,&a,&b,&c);标准答案:D94、设有定义double a,b,c;若要求通过分别给a、b、c输入1、2、3,输入形式如下(注:此处□代表一个空格)则能进行正确输入的语句是(A)scanf(“%f%f%f”,&a,&b,&c); (B)scanf(“%lf%lf%lf”,a,b,c);(C)scanf(“%5.11lf%5.11lf%5.11lf”,&a,&b,&c);(D)scanf(“%lf%lf%lf”,&a,&b,&c);标准答案:D95、以下叙述中正确的是(A)scanf和printf是C语言提供的输入和输出语句(B)由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定(C)由printf输出的数据都隐含左对齐(D)赋值语句是一种执行语句,必须放在函数的可执行部分标准答案:D96、以下叙述中正确的是(A)在使用scanf函数输入整型或实数时,输入数据之间只能用空格来分隔(B)在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上(C)使用printf函数无法输入百分号%(D)在printf函数中,各个输出项只能是变量标准答案:B97、以下叙述中正确的是(A)复合语句也被称为语句块,它至少要包含两条语句(B)在scanf函数的格式中,必须有与输出项一一对应的格式转换说明(C)scanf函数中的字符串,是提示程序员的。
全国计算机等级考试二级C历年真题及答案
全国计算机等级考试二级C历年真题及答案一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列B)线性表C)二叉树D)栈(3)在一棵二叉树上第5层的结点数最多是A)8B)16C)32D)15(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象B)继承C)类D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析B)需求分析C)详细设计D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计B)给出系统模块结构C)定义模块算法D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型C)软件工具B)数据库管理系统D)数据库(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式B)外模式C)概念模式D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)―封装性‖指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)―多态性‖指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A)ch>='A'&ch<='Z'B)ch<='A'||ch>='Z'C)'A'<=ch<='Z'D)ch>='A'&& ch<='Z'(13)已知下列语句中的某和y都是int型变量,其中错误的语句A)某=y++;B)某=++y;C)(某+y)++;D)++某=y;(14)执行语句序列intn;cin>>n;witch(n){cae1:cae2:cout<<'1';cae3:cae4:cout<<'2';break;default:cout<<'3';}时,若键盘输入1,则屏幕显示A)1B)2C)3D)12(15)下列程序的输出结果是#includeuingnamepacetd;intmain(){chara[]=\char某ptr=a;while(某ptr){if(某ptr>='a'&&某ptr<='z')cout<<char(某ptr+'A'-'a');elecout<<某ptr;ptr++;}return0;}A)HELLO,WORLDB)Hello,WorldC)hELLO,wORLDD)hello,world(16)已知:intm=10;在下列定义引用的语句中,正确的是A)int&某=m;B)inty=&m;C)int&z;D)int&t=&m;(17)下列函数原型声明中错误的是A)voidFun(int某=0,inty=0);B)voidFun(int某,inty);C)voidFun(int某,inty=0);D)voidFun(int某=0,inty);(18)已知程序中已经定义了函数tet,其原型是inttet(int,int,int);,则下列重载形式中正确的是A)chartet(int,int,int);B)doubletet(int,int,double);C)inttet( int,int,int=0);D)floattet(int,int,float=3.5F);(19)有以下程序#includeinti=0;voidfun(){{taticinti=1;td::cout<td::cout<2intmain(){fun();fun();return0;}程序执行后的输出结果是A)1,2,1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,0,(20)已知函数f的原型是:voidf(int某a,long&b);变量v1、v2的定义是:intv1;longv2;,正确的调用语句是A)f(v1,&v2);B)f(v1,v2);C)f(&v1,v2);D)f(&v1,&v2);(21)有以下类定义claMyCla{public:MyCla(){cout<<1;}};则执行语句MyClaa,b[2],某p[2];后,程序的输出结果是A)11B)111C)1111D)11111(22)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C++语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#includeuingnamepacetd;claMyCla{public:MyCla(intn){number=n;}//拷贝构造函数MyCla(MyCla&other){number=other.number;}~MyCla(){}private: intnumber;};MyClafun(MyClap){3MyClatemp(p);returntemp;}intmain(){MyClaobj1(10),obj2(0);MyClaobj3(obj1);obj2=fun(obj3);return0 ;}程序执行时,MyCla类的拷贝构造函数被调用的次数是A)5B)4C)3D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员B)私有成员和保护成员C)公有成员和保护成员D)私有成员、保护成员和公有成员(26)在C++中用来实现运行时多态性的是A)重载函数B)析构函数C)构造函数D)虚函数(27)一个类可以同时继承多个类,称为多继承。
计算机二级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语言新增无纸化真题试卷计算机二级C语言新增无纸化真题试卷一、选择题(每小题1分,共40分)1、有以下程序:程序运行后的输出结果是( )。
A.10,One{Drealn!B.9,One*Drealll!C.9,One*WorldD.10,One*World2、输出语句:prinff(”%d\n”,ll+011);的输出结果是( )。
A.20B.22C.022D.0213、下列叙述中正确的是( )。
A.解决同一个问题的不同算法的时间复杂度一般是不同的B.解决同一个问题的不同算法的时间复杂度必定是相同的C.对同一批数据作同一种处理,如果数据存储结构不同,不同算法的时间复杂度肯定相同D.对同一批数据作不同的处理,如果数据存储结构相同,不同算法的时间复杂度肯定相同4、有以下程序:程序运行后的输出结果是( )。
A.yellow:3B.yellow:2C.white:2D.white:35、某二叉树共有530个结点,其中度为2的结点有250个,则度为1的结点数为( )。
A.29B.30C.249D.2516、软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是( )。
A.学籍管理系统B.ERP系统C.C编译程序D.CAl软件7、以下叙述正确的是( )。
A.在c语言中分号是语句的组成部分B.c语言程序由c语句组成,可以省略main函敷C.分号是C语句之间的分隔符D.所有程序行都必须用分号结束8、有以下程序:程序运行后的输出结果是( )。
A.5B.1C.20D.189、以下程序拟实现计算s=1+2*2+3*3+…+n*n+…,直到s>1000为止。
程序运行后,不能得到正确结果,以下修改方案正确的是( )。
A.把while(s>lOOO);改为while(s<=1000);B.把s=1;改为s=0;C.把n=1;改为n=0;D.把n=n+1;改为n=n$n;10、有以下程序:程序运行后的输出结果是( )。
计算机二级《C语言》无纸化考试题及答案
计算机二级《C语言》无纸化考试题及答案2016计算机二级《C语言》无纸化考试题及答案一、选择题(每小题1分,共40分)1、有以下程序:程序运行后的输出结果是()。
A.1,2,6,24,120,B.1,2,3,4,5,C.1,1,1,1,1,D.1,2,4,6,8,2、下列叙述中正确的是()。
A.软件是程序、数据和文档B.软件是程序和数据C.软件是算法和数据结构D.软件是算法和程序3、语句prinff(”%d\n”,strlen(”\t\”\、、n\"\065\08AB”));的输出结果是()。
A.6B.7C.8D.94、函数fun的功能是在a所指的具有n个元素的数组中查找最大值并返回给调用函数,函数不完整。
在if语句下划线处应填人的选项是()。
A.O>sB.*P>*sC.a[p]>a[s]D.p—a>P—s5、若有语句:inta[3][4],(。
P)[4];P=a;,则以下选项中叙述错误的是()。
A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值B.P+1代表a[1][0]的地址C.P中将存放a数组的首地址D.P+2代表a数组最后一行的首地址6、有以下程序:程序运行后的输出结果是()。
A.4,5,2,4,1,3,B.4,4,2,2,1,1,C.5,5,3,3,2,2,D.4,4,2,2,1,37、若有定义:inta,b,C;以下程序段的输出结果是()。
a=11;b=3;C=0;pfinff(”%d\n”,c=(a/b,a%B.);A.2B.0C.3D.18、若有定义:doublea,b,c;能正确给a,b,c输入数据的语句是()。
A.seanf(”%lf%1f%1P‘&a,&b,&C.;B.scanf(-t%f%f%f¨,&a,&b。
&C.:C.scanf(”%If%lf%lf’,a,b,C.;D.scanf(”%lf%lf%lf'’,&a,&b,&C.;9、有以下程序段:以下选项中不能正确引用字符串的是()。
全国计算机等级考试《二级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程序的模块化主要通过函数来实现。
全国计算机等级考试无纸化真考题库试卷二级C
全国计算机等级考试无纸化真考题库试卷(2)二级C++(考试时间l20分钟,满分100分)一、选择题(每小题1分。
共40分)(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)12345ABCDEB)EDCBA54321C)ABCDEl2345D)5432lEDCBA(2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A)O(n)B)O(n2)C)O(1092n)C)0(n1092n)(4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构c)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。
A)控制流B)事件驱动C)模块调用D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。
A)N—s图B)DFD图C)PAD图D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性B)分类性C)多态性D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A)一对一B)一对多C)多对一D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。
A)人工管理阶段B)文件系统阶段c)数据库系统阶段D)三个阶段相同(10)有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
计算机国家等级考试二级c试题及答案
计算机国家等级考试二级c试题及答案Ⅰ. 选择题1. 下列选项中,不属于计算机网络分类的是:A. 局域网B. 城域网C. 广域网D. 互联网2. 在Excel中,通过哪个函数可以找到一列或一行中的最大值?A. MAX()B. MIN()C. SUM()D. AVG()3. 下列哪个设备可以用于将数字信号转换为模拟信号?A. 集线器B. 路由器C. 数字调制解调器D. 交换机4. 在计算机网络中,HTTP协议是用于:A. 文件传输B. 邮件传输C. 网页传输D. 数据传输5. 下列选项中,不属于常见的数据库管理系统的是:A. MySQLB. OracleC. PhotoshopD. SQL ServerⅡ. 填空题1. 在计算机网络中,IP地址由__4__个字节组成。
2. 在Python中,使用__print()__函数输出结果。
3. 在Excel中,利用__VLOOKUP()__函数可以进行垂直查找。
4. Windows操作系统中,使用Ctrl+Alt+Delete组合键可以打开__任务管理器__。
5. HTML是用于构建__网页__的标记语言。
Ⅲ. 简答题1. 什么是操作系统?列举几个常见的操作系统。
操作系统是计算机系统中的核心软件,它负责管理计算机硬件和软件资源,提供给应用程序和用户友好的接口。
常见的操作系统有Windows、macOS、Linux等。
2. 什么是数据库?简述关系型数据库和非关系型数据库的区别。
数据库是用于存储和组织数据的系统。
关系型数据库基于关系模型,使用表格结构来存储数据,并通过SQL语言进行操作和查询。
非关系型数据库则不依赖于表格结构,可以采用键值对、文档、图形等方式存储数据。
3. 请简要介绍一下计算机网络的层次结构。
计算机网络的层次结构包括物理层、数据链路层、网络层、传输层和应用层。
物理层负责传输比特流;数据链路层处理帧的传输和错误检测;网络层建立不同网络之间的连接;传输层提供可靠的、面向连接的数据传输;应用层为用户提供服务。
全国计算机等级考试无纸化真考题库试卷二级C4资料
全国计算机等级考试无纸化真考题库试卷(4)二级C++(考试时间l20分钟,满分100分)一、选择题(每小题1分,共40分)(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)软件详细设计产生的图如下:该图是( )。
A)N—S图B)PAD图C)程序流程图D)E—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)下列符号中可以用做C++标识符的是( )。
A)_radiusB)f00~barC)elseD)3room(12)下列各组类型声明符中,含义相同的一组是( )。
A)unsigned long int与longB)signed short int与shortC)unsigned short与shortD)short int与int(13)必须用一对大括号括起来的程序段是( )。
全国计算机二级考试试题题库(附答案)
全国电脑二级考试试题题库〔附答案〕一、选择题((1)-(40)每题1分,(41)-(50)每题2分,共60分)以下各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。
(1) 应用软件是指A) 所有能够使用的软件 B) 能被各应用单位共同使用的某种软件C) 所有微机上都应使用的基本软件 D) 专门为某一应用目的而编制的软件(2) 以下述叙中错误的选项是A) 电脑要经常使用不要长期闲置不用B) 为了延长电脑的寿命,应防止频繁开关电脑C) 在电脑附近应防止磁场干扰D) 电脑用几小时后,应关机一会儿再用(3) 以下字符中,ASCII码值最小的是A) A B) a C) Z D) x(4) 用晶体管作为电子器件制成的电脑属于A) 第一代 B) 第二代 C) 第三代 D) 第四代(5) 以下各不同进制的四个无符号数中,最小的数是A) (11011001)2 B) (37)8 C) (75)10 D) (2A)16(7) 以下各无符号十进制数中,能用八位二进制表示的是A) 296 B) 333 C) 256 D) 199(8) 电脑的软件系统可分类为A) 程序与数据 B) 系统软件与应用软件D) 操作系统与语言处理程序 D) 程序、数据与文档(9) 486机中的CPU同时能处理的二进制位数为A) 8 B) 16 C) 32 D) 64(10) 在使用电脑的过程中,需要重新启动DOS,则要A) 按Ctrl+Break键 B) 按^C键 C) 按Ctrl+Alt+Del键 D) 按^H键(11) 现要从软盘启动DOS(软盘中已存有DOS系统),设有如下一些操作:①打开电脑电源;②将该软盘插入A驱动器;③关好A驱动器门。
则冷启动的操作顺序应为A) ①→②→③ B) ③→②→① C) ②→①→③ D) ②→③→①(12) 设当前盘中某一文件路径为\A\C\B\ABC.C,当前目录为\A。
全国计算机等级考试无纸化真考题库试卷二级c(5).doc
全国计算机等级考试无纸化真考题库试卷(5)二级C++(考试吋问120分钟,满分100分)一、选择题(每小题1分。
共40分)(1)下列叙述中正确的是()。
A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)线性表的链式存储结构与顺序存储结构在存储空I'可的需求上没有可比性(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)层次型、网状型和关系型数据库划分原则是()。
A)己录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)—个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()oA)一对一B)—对多C)多对多D)多对一(9)数据库设计屮反映用户对数据要求的模式是()。
A)内模式B)概念模式0外模式D)设计模式(10)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
A)自然连接B)差C)交D)并仃1)下列符号中能够作为C++标识符的是()oA)CoflstB)2aC)shapeD). Count仃2)己知枚举类型声明语句为:enum C01,OR{WHITE, YELLOW, GREEN=5, RED, BLACK=10};则下列说法中错误的是()□A)枚举常量YELLOW的值为1B)枚举常量RED的值为6C)枚举常量BLACK的值为10D)枚举常> WHITE的值为1(13)执行下列语句段后,输出字符“*”的个数是()。
全国计算机二级考试试题题库附答案3篇
全国计算机二级考试试题题库附答案第一篇:多媒体技术一、多媒体技术的概念和特点多媒体技术是指利用计算机等技术手段,将文字、图形、图像、声音、动画等多种信息形式统一存储、处理、传输和展现的技术。
其特点包括以下几点:1. 多种媒体形式:多媒体技术可以处理包括文字、图形、图像、声音、动画等多种媒体形式,既可以展现静态的信息形式,也可以展现动态的信息形式。
2. 高度互动性:多媒体技术可以为用户提供丰富的交互方式,让用户在操作中更加深入地了解信息内容,同时也可以提供更加丰富地反馈。
3. 复杂的技术:多媒体技术需要通过许多复杂的技术手段来处理、存储、传输和展现各种媒体形式,包括动画、视频编码、声音压缩等技术。
4. 综合性强:多媒体技术需要协同处理、传输和展现多种媒体形式,这需要强大的处理能力、宽带传输和高性能设备的支持。
二、多媒体应用的流程和实现技术多媒体应用的流程包括了媒体素材的收集、制作、处理、编辑和发布等环节。
在这些流程中,需要使用多种新技术,例如:1. 媒体采集技术:通过摄像机、录音笔等设备采集媒体素材,如声音、图像和视频等。
2. 媒体处理技术:对采集到的数据进行处理和编辑,例如使用视频剪辑软件对视频进行处理、使用语音合成软件对声音进行编辑或合成等。
3. 互动应用技术:基于多媒体制作而产生的多媒体应用,如游戏、互动教学、广告等。
4. 网络传输技术:将制作好的多媒体数据在网络中传输,需要使用相关的传输协议和技术,如HTTP、FTP等。
5. 多媒体展示技术:为了让用户更好地观看、听取和交互,需要使用专业的多媒体软件和硬件设备,如多媒体播放器、投影仪、音响系统等。
三、多媒体应用的发展趋势和前景随着互联网技术的发展,多媒体制作和应用发展越来越迅速,并在各个领域得到广泛应用,如教育、广告、文化、娱乐等。
未来,多媒体应用发展的趋势包括:1. 多终端实现:多媒体内容需要在不同终端上传播,需要制作适合于不同设备的多媒体应用和内容。
全国计算机二级c考试真题及答案
全国计算机二级c考试真题及答案一、单项选择题(每题1分,共40分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. functionD. void答案:D2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C3. C语言中,哪个运算符用于计算两个数的和?A. +=B. +=C. -D. +答案:D4. 若有定义:int a=5, b=6; 则表达式 a++ + b 的值是多少?A. 10B. 11C. 12D. 13答案:B5. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strncpy()答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个结构体。
答案:struct2. 若变量x和y都是int类型,且x=1,y=2,则表达式x++ + y++的值为________。
答案:33. 在C语言中,使用________函数可以将一个浮点数转换为字符串。
答案:sprintf()4. 若有数组定义:int arr[5] = {1, 2, 3, 4, 5}; 则表达式arr[0] + arr[2]的值为________。
答案:45. 在C语言中,使用________函数可以打开一个文件。
答案:fopen()三、编程题(每题20分,共40分)1. 编写一个C语言函数,该函数接受一个整数数组和数组的大小,然后计算并返回数组中所有元素的总和。
答案:```cint sumArray(int arr[], int size) {int sum = 0;for (int i = 0; i < size; i++) {sum += arr[i];}return sum;}```2. 编写一个C语言程序,该程序接受用户输入的两个整数,然后计算并输出这两个整数的乘积。
全国计算机等级考试二级C语言笔试试题及答案
全国计算机等级考试二级C语言笔试试题及答案一、选择题(每小题2分,共70分)(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是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如下:由关系R通过运算得到关系S,则所使用的运算为A)选择C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)对C++编译器区分重载函数无任何意义的信息是A)参数类型B)参数个数C)返回值类型D)常成员函数关键字coast(12)有如下类定义和变量定义:class A{publie:A(){data=0;}~A(){}int GetData () coast { return data;}void SetData(int n) {data=n;}private:int data;};ccnst A a;A b;下列函数调用中错误的是A)a .GetData();B)a .SetData(10);C)b .GetData();D)b .SetData(10);(13)有如下类定义和变量定义:class Parents{public:int publicuata;private:int privateData;};class ChildA:public Parents{/*类体略*/};class ChildB:private Parents{/*类体略*/);ChildA a;ChildBb;下列语句中正确的是A)cout<<a.publicData <<endl ;B)cout<<a.privateData <<endl ;C)cout<<b.publicData <<endl ;D)cout<<b.privateData <<endl ;(14)运算符重载时不需要保持的性质是A)操作数个数B)操作数类型C)优先级D)结合性(15)下列关于函数模板的描述中,错误的是A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D)模板参数表不能为空(16)要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是 A)ifstream fin=ifstream.open(“file.dat”);B)ifstream*fir.=new ifstream(“file.dat”);C)ifstream fin; fin.open(“file.dat”);D)ifstream *fin=new ifstream();fin一>open(“file.dat”);(17)下列描述中,不属于面向对象思想主要特征的是A)封装性B)跨平台性C)继承性D)多态性(18)有如下程序段:Tnt i=4;int j=l;int main(){int i=8,j=i;cout<<i<<j<<endl;}运行时的输出结果是A)44B)41C)88D)81(19)有如下程序段:int i=5;while(int i=0){cout《'*';i--;}运行时输出“*”的个数是A)0B)1C)5D)无穷(20)己知有数组定义char a[3][4];下列表达式中错误的是A)a[2]=“WIN”B)strcpy(a[2],“WIN”)C)a [2][3]='W'D)a[0][1]=a[0][1](21)已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是A)char fun(int,int);B)double fun(int,int,double);C)int fun(int,char*);D)float fun (int, int, int);(22)建立一个类对象时,系统自动调用A)析构函数B)构造函数C)静态函数D)友元函数(23)通过派生类的对象可直接访问其A)公有继承基类的公有成员C)私有继承基类的公有成员D)私有继承基类的私有成员(24)己知表达式++a中的“++”是作为成员函数重载的运算符,则与十+a等效的运算符函数调用形式为A)a .orerator++(1)B)operator++(a)C)operator++(a,l)D)a.operator++()(25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是A)()B)[ ]C)< >D){ }(26)当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 A)ios_base::inB)ios_base::in|ios_base::outC)ios_base::outD)ios_base::in&ios_base::out(27)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCD{char* a;int b;public:XCD(char* aa, int bb){a=new char[strlen(aa)+1];strcpty(a,aa);b=bb;}Char* Geta (){return a;)int Getb(){ return b;}};int main(){char *pl=“abcd”,*p2=“weirong”;int dl=6, d2=8;XCD x(pl,dl),Y(p2,d2);cout<<strien (x .Geta())+y. Getb()+endl;return 0;}运行时的输出结果是A)12B)16C)14D)11(28)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCF{int a;XCF(int aa=0):a (aa){cout<<“1”;}XCF(XCF& x){a=x .a; cout<<“2”;)~XCF(){cout<<a;}int Geta(){return a;}};int main(){XCF dl(5),d7 (dl);XCF *pd=new XCF(8);cout<<pd一>Geta();delete pd;return 0;}运行时的输出结果是A)121SS88B)12188SSC)12185D)128512(29)已知类MyClass声明如下:class MyClass{int n;public;MyClass(int k):n(k){}int getValue()const{return n;}};在下列数组定义中正确的是A)MyClass x1[2];B)MyClass x2[2]={new MyClass(1),new MyClass(2)};C)MyClass *x3[2];D)MyClass *x4[2]={MyClass(1),MyClass(2)};(30)有如下程序:#include<iostream>using namespace std;class AA{lilt k;protected:int n;void setK(int k){ this->k=k;}public:void setN(int n){ this->n=n;}};class BB: public }{/*类体略*/};int main(){BB x_ ; //1x .n=1; //2x.setN (2); //3x.k=3; //4x .setK(4);return 0;}在标注号码的四条语句中正确的是A)1B)2C)3D)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)YY y3(0);D)YY y4;(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)12B)34C)14D)32(33)有如下程序:#include<iostream>using namespace std;class Pair{int m;int n;public: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;}运算符函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试无纸化真考题库试卷(4)二级C++(考试时间l20分钟,满分100分)一、选择题(每小题1分,共40分)(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)软件详细设计产生的图如下:该图是( )。
A)N—S图B)PAD图C)程序流程图D)E—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)下列符号中可以用做C++标识符的是( )。
A)_radiusB)f00~barC)elseD)3room(12)下列各组类型声明符中,含义相同的一组是( )。
A)unsigned long int和longB)signed short int和shortC)unsigned short和shortD)short int和int(13)必须用一对大括号括起来的程序段是( )。
A)switCh语句中的Case标号语句B)if语句的分支C)循环语句的循环体D)函数的函数体(14)语句int*P=&k;定义了指针P,与这个语句等效的语句序列是( )。
A)int* p;P=&k;B)int * P;P=k;C)int * p;* P=&k;D)int * p;* P=k;(15)执行下列语句段后,输出字符“*”的个数是( )。
for(int i=50;i>1;i-=2)Cout<<'*':A)24B)25C)26D)50(16)下列关于运算符重载的叙述中,错误的是( )。
A)有的运算符可以作为非成员函数重载B)所有的运算符都可以通过重载而被赋予新的含义C)不得为重载的运算符函数的参数设置默认值D)有的运算符只能作为成员函数重载(17)对C++编译器区分重载函数无任何意义的信息是( )。
A)参数类型B)参数个数C)返回值类型D)常成员函数关键字Const(18)运算符重载时不需要保持的性质是( )。
A)操作数个数B)操作数类型C)优先级D)结合性(19)下列关于函数的描述中,错误的是( )。
A)函数可以没有返回值B)函数可以没有参数C)函数可以是一个类的成员D)函数不能被定义为模板(20)关于函数重载,下列叙述中错误的是( )。
A)重载函数的函数名必须相同B)重载函数必须在参数个数或类型上有所不同C)重载函数的返回值类型必须相同D)重载函数的函数体可以有所不同(21)下列关于运算符重载的描述中,正确的是( )。
A)运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B)一元运算符只能作为成员函数重载C)二元运算符重载为非成员函数时,参数表中有一个参数D)C++中可以重载所有的运算符(22)有如下函数定义:void funC(int a,int&b){a++;b++;} 若执行代码段:int x=0,Y=1: funC(X,y);则变量X和y的值分别是( )。
A)0和1B)1和1C)0和2D)1和2(23)对于一个类定义,下列叙述中错误的是( )。
A)如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B)如果没有定义缺省的构造函数,编译器一定将生成一个缺省的构造函数C)如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D)如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数(24)有如下头变件:int f1()StatiCintf2( ); Class MApubliC: intf3();1statiC int f4();};在所描述的函数中,具有隐含的this指针的是( )。
A)flB)f2C)BD)f4(25)下列关于类定义的说法中,正确的是( )。
A)类定义中包括数据成员和函数成员的声明B)类成员的缺省访问权限是保护的C)数据成员必须被声明为私有的D)成员函数只能在类体外进行定义(26)如果派生类以proteCted方式继承基类,则原基类的proteCted成员和publiC成员在派生类中的访问属性分别是( )。
A)publiC和publiCB)publiC和proteCtedC)proteCted和publiCD)proteCted和proteCted(27)下列有关继承和派生的叙述中,正确的是( )。
A)派生类不彘访问基类的保护成员B)作为虚基类的类不能被实例化C)派生类应当向基类的构造函数传递参数D)虚函数必须在派生类中重新实现(28)有如下类定义:Class AA{ int a; publiC: AA(int n=0):a(n){}};Class BB:publiC AA{ publiC:BB(int n)—— };其中横线处缺失的部分是( )。
A):a(n){}B):AA(n)|}C){a(n);}D){a=n;}(29)有如下程序:#inClude<iostream> using namespaCe std: Class CD{publiC:~CD(){Cout<<’C’:} private:Char name[80]; };int main(){CD a,*b,d[2]; return 0;执行这个程序的输出结果是( )。
A)CCCCB)CCCC)CCD)C(30)有如下程序:#inClude<iostream> using namespaCe耐: Class MyClass{publiC:MyClass(){++Count;}~MyClass(){--Count;}statiC int getCount(){retum Count;} private:statiC int Count;};‘ int MyClass::Count=0;int main() {MyClass obj;Cout<<obj.getCount();MyClass+ptr=new MyClass: Cout<<MyClass::9etCount();’delete ptr;Cout<<MyClass::9etCount(); return 0;}执行这个程序的输出结果是( )。
A)121B)232C)221D)122(31)有如下程序:#inClude<iostream> using namespaCe std; Class MyClass{publiC:MyClass(int X):val(X){}void Print()Const}tout<<”Const:val=”<<val<<’\t’;} void Print(){tout<<”val=”<<val<<’\t’;}private:int val; };int main(){Const MyClass objl(10); MyClass obj2(20);objl.Print(); obj2.Print(); retum 0;}执行这个程序的输出结果是( )。
A)val=10 Const:val=20B)Const:val=10 Const:val=20C)Const:val=10 val=20D)val=10 val=20(32)有如下程序:#jnClude<iostream>using namespaCe std; Class Part{publiC:Part(int x=0):val(X){Cout<<val;} ~Part(){Cout<<val;}private:int val; t };Class Whole{ publiC:Whole(int x,int Y,int z=0):p2(x),pl(y),val(z){Cout<<val;} ~Whole(){eout<<val;}private:Part pl,p2; int val;};int main() {Whole obj(1,2,3); return 0;}执行这个程序的输出结果是( )。
A)123321B)213312C)213D)123123(33)有如下程序:#inClude<iostream> using namespaCe std; Class Base{publiC:Base(int x=0){Cout<<x;} };Class Derived:publiC Base{ publiC:Derived(int X=0){Cout<<x;} private:Base val; };int main() {Derived d(1); return 0;}执行这个程序的输出结果是( )。
A)0B)1C)01D)001(34)下列代码段中声明了3个类:Class Person{};Class Student:publiC Person{}; Class Undergraduate:Student{};下列关于这些类之间关系的描述中,错误的是( )。
A)类Person是类Undergraduate的基类B)类Undergraduate从类Student公有继承C)类Student是类Person的派生类D)类Undergraduate是类Person的派生类(35)有如下程序:#inClude<iostream> using namespaCe std; Class Base{publiC:void output(){Cout<<1;}virtual void Print(){Cout<<'B’;} };Class Derived:publiC Base{ publiC:void output(){Cout<<2;} void Print(){Cout<<’D ';} };int main() {Base * ptr=new Derived; ptr一>output();ptr一>Print(); delete ptr;retum0; }执行这个程序的输出结果是( )。