全国计算机等级考试历年真题2004年3月二级C语言笔试真题及答案

合集下载

计算机二级c语言历年(2004-2010)真题及标准答案

计算机二级c语言历年(2004-2010)真题及标准答案

2010年3月计算机等级考试二级C笔试试题(文字版)一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间 B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件 B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误 C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具 B)软件详细设计的工具C)结构化方法的需求分析工具 D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段 C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言 B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段 B)逻辑设计一阶段 C)概念设计阶段 D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择 B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1 B)AaBc C)a_b D)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++; B)i=(a+k)<=(i+k); C)i=a;D)i=!a;(15)有以下程序#includemain(){ 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列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1 B)0 C)2 D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a< p>if(a< p>else k=c;elseif(b else k=c;以下选项中与上述if语句等价的语句是A)k=(a< p>B)k=(ac)?b:c);C)k=(a< p>D)k=(a< p>(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#include计算机二级C 语言第 3 页 共 80 页void fun(char *c,int d) {*c=*c+1;d=d+1; printf("%c,%c,",*c,d); main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b ,a); }程序运行后的输出结果是 A)b ,B ,b ,A B)b ,B ,B ,A C)a ,B ,B ,a D)a ,B ,a ,B(27)若有定义int(*Pt)[3];,则下列说法正确的是 A)定义了基类型为int 的三个指针变量B)定义了基类型为int 的具有三个元素的指针数组pt C)定义了一个名为*pt 、具有三个元素的整型数组D)定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是 A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3 (29)有以下程序 #include(stdio.h) main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0; for(i=0;i<5;i++) s=s+a[b[i]]); printf("%d\n", s); }程序运行后的输出结果是 A)6 B)10 C)11 D)15(30)有以下程序 #includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1; for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]]; printf("%d\n",t); }程序运行后的输出结果是 A)1 B)3C)4 D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\"; printf("%d %d\n", strlen(s1),strlen(s2)); 则输出结果是 A)5 5 B)10 5 C)10 7D)5 8(32)有以下程序 #include#define N 8void fun(int *x,int i) {*x=*(x+i);} main(){int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=O;i<>{printf("%d",a[i]);} printf("\n"); }程序运行后的输出结果是 A)1313 B)2234 C)3234 D)1234 (33)有以下程序 #includeint f(int t[],int n); main{ int a[4]={1,2,3,4},s; s=f(a,4); printf("%d\n",s); }int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0; }程序运行后的输出结果是 A)4 B)1O C)14 D)6(34)有以下程序 #includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun();printf("%d\n",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);} void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;} s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28计算机二级C 语言第 5 页 共 80 页D)因类型不一致而出错 二、填空题(1)一个队列的初始状态为空。

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。

第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。

ss所指字符串数组中共有N个字符串,且串小于M。

第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。

例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。

/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。

请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

函数fun中给出的语句仅供参考。

void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。

例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。

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

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

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

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

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

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

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

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

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

往年全国计算机二级c语言试题及答案

往年全国计算机二级c语言试题及答案

往年全国计算机二级c语言试题及答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的变量名?A. 123abcB. intC. _123abcD. 3d答案:C2. 若有以下代码:```cint a = 10, b = 20;printf("%d", a = b = 20);```则输出结果为:A. 10B. 20C. 30D. 40答案:B3. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A4. 以下关于C语言中数组的描述,正确的是:A. 数组的大小在运行时可以改变B. 数组的大小在编译时确定C. 数组可以存储不同类型的数据D. 数组的索引从1开始答案:B5. 以下哪个运算符不能用于位运算?A. &B. |C. ^D. %答案:D6. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. goto答案:D8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A9. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. /* 这是注释D. //这是注释答案:A10. 在C语言中,以下哪个关键字用于声明函数?A. functionB. defC. voidD. int答案:C二、填空题(每题2分,共20分)1. 在C语言中,整型变量占用的字节数是______。

答案:42. 以下代码的输出结果是______。

```c#include <stdio.h>int main() {int i = 5;printf("%d", i++);return 0;}```答案:53. 以下代码的输出结果是______。

3月计算机等级考试二级C语言笔试真题及参考答案

3月计算机等级考试二级C语言笔试真题及参考答案

2010年3月计算机等级考试二级C语言笔试真题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%cn”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应本资.料来源于贵-州-学-习-网使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (aif(aelse k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(aB)k=(aC)k=(aD)k=(a(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%dn",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%dn",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%dn",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有本文来源于贵州学习网WWW.GZU521.COM一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%en",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%dn", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%dn",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="n123\";printf("%d %dn", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i{printf("%d",a[i]);}printf("n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%dn",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1);else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程此资料转贴于贵州学习网序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun();printf("%dn",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%dn",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1fn",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%dn",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。

2002-2003年二级C语言笔试真题及答案2

2002-2003年二级C语言笔试真题及答案2

2002年4月二级C语言笔试真题及答案(考试时间:120分钟,满分100分)一、选择题((1)—(40)题每小题1分,(41)—(50)题每小题2分,共和60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 在计算机中,一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随CPU的型号而定(2) 计算机网络的突出优点是A) 速度快B) 资源共享 C) 精度高D) 容量大(3) 计算机网络能传送的信息是:A) 所有的多媒体信息B) 只有文本信息C) 除声音外的所有信息D) 文本和图像信息(4) 切断计算机电源后,下列存储器中的信息会丢失的是:A) RAM B) ROM C) 软盘D) 硬盘(5) 十进制数127转换成二进制数是A) 11111111 B) 01111111 C) 10000000 D) 11111110(6) 要想打印存放在当前盘当前目录上所有扩展名为.TXT 的文件内容, 应该使用的DOS命令为A) DIR *.TXT>PRN B) TYPE *.TXT>PRNC) COPY *.TXT PRN D) COPY *.TXT>PRN(7) 将当前盘当前目录及其子目录中的全部文件 (总量不足 1.2MB) 复制到一张空的A盘的根目录下,应该使用的DOS命令为A) XCOPY *.*A:\ /M B) XCOPY *.*A:\ /SC) XCOPY *.*A:\ /P D) XCOPY *.*A:\ /A(8) 在C盘根目录下执行PROMPT $p$g命令之后,DOS的提示符变为A) C:> B) C:\> C) C> D) C:\(9) DOS命令 "COPY CON DISP"中的CON代表A) 子目录 B) 磁盘文件 C) 键盘 D) 显示器(10) 结构化程序设计所规定的三种基本控制结构是A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数(11) 要把高级语言编写的源程序转换为目标程序,需要使用A) 编辑程序B) 驱动程序C) 诊断程序D) 编译程序(12) 英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为A) 50 B) 66 C) 52 D) 68(13) Windows环境下,PrintScreen键的作用是A) 复制当前窗口到剪贴板B) 打印当前窗口的内容C) 复制屏幕到剪贴板 D) 打印屏幕内容(14) 在Windows环境下,为了终止应用程序的运行,应A) 关闭该应用程序窗口 B) 最小化该应用程序窗口C) 双击该应用程序窗口的标题栏 D) 将该应用程序窗口移出屏幕(15) 下列各带有通配符的文件名中,能代表文件XYZ.TXT的是A) *Z.? B) X*.* C) ?Z,TXT D) ?.?(16) 若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为A) 1.4 B) 1 C) 2.0 D) 2(17) 若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是A) a的值是字符C B) a的值是浮点型C) 不允许字符型和浮点型相加D) a的值是字符‘A’的ASCII值加上1。

历届国家二级c语言考试真题及其答案,word版

历届国家二级c语言考试真题及其答案,word版

2010年3月计算机二级C语言笔试真题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#includemain(){ 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列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (aif(aelse k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(aB)k=(ac)?b:c);C)k=(aD)k=(a(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++) {for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m); }程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h> main(){int a=l;b=2; for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b=''a'',a=''A'';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i{printf("%d",a[i]);}printf("\n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun(); printf("%d\n",s);}程序运行后的输出结果是A)O B)1 C)4 D)8 (35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2; 则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w; 能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp); fpfopen("myfile.data","a++"); fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str); fclose(fp); }程序运行后的输出结果是 A)abc B) 28c C) abc28D)因类型不一致而出错 二、填空题(1)一个队列的初始状态为空。

全国计算机等级考试二级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表示),它是问题规模的函数。

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。

第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。

ss所指字符串数组中共有N个字符串,且串小于M。

第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。

例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。

/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。

请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

函数fun中给出的语句仅供参考。

void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。

例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解

全国计算机等级考试《二级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程序的模块化主要通过函数来实现。

全国计算机等级考试历年真题2004年3月二级C语言笔试真题及答案解析

全国计算机等级考试历年真题2004年3月二级C语言笔试真题及答案解析

全国计算机等级考试历年真题2004年3月二级C语言笔试真题及答案2010-03-04 13:32:49| 分类:计算考试 | 标签: |字号大中小订阅一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 1MB等于A.1000字节B.1024字节C.1000×1000字节D.1024×1024字节(2) 与十六进制数200等值的十进制数为A.256B.512C.1024D.2048(3) 所谓“裸机”是指A.单片机B.单板机C.不装备任何软件的计算机D.只装备操作系统的计算机(4) 能将高级语言编写的源程序转换成目标程序的是A.链接程序B.解释程序C.编译程序D.编辑程序(5) 在64位计算机中,一个字长所占的字节数为A.64B.8C.4D.1(6) 在Windows环境下,当一个应用程序窗口被最小化后,该应用程序A.继续在后台运行B.继续在前台运行C.终止运行D.暂停运行(7) 在Windows环境下,能实现窗口移动的操作是A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏(8) 在Windows环境下,PrintScreen键的作用是A.打印当前窗口的内容B.打印屏幕内容C.复制屏幕到剪贴板D.复制当前窗口到剪贴板(9) Internet的通信协议是A.TCP/IPB.BBSC.WWWD.FTP(10) 下列叙述中正确的是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.5B.3.14.159EC..5E-3D.E15(14) 以下4组用户定义标识符中,全部合法的一组是A._mainB.IfC.txtD.intenclude -max REAL k_2sin turbo 3COM _001(15) 若以下选项中的变量已正确定义,则正确的赋值语句是A.x1=26.8%3B.1+2=x2C.x3=0x12D.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/2B.(1/2)*(a+B) *hC.(a+B) *h*1/2D.h/2*(a+B)(18) 有以下程序main( ){int x=102,y=012;printf(“-,- ”,x,y);}执行后输出结果是A.10,01B.02,12C.102,10D.02,10(19) 以下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=1 else k=0;C.if(a<=B) k=0;D.if(a>B) k=1; else if(b<=C) k=1; else if(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.anotherB.anotherC.anotherD.numbernumber number number numberanother number(23) 有以下程序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,0B.3,2,-1C.4,3,-1D.5,-2,-5(24) 有以下程序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=5B.n=2C.n=3D.n=4(26) 若程序中定义了以下函数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)7(28) 设有定义: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,3B.3,1,2C.1,3,2D.2,3,1(30) 有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是A.5B.6C.8D.9(31) 31、有以下程序main( ){ char a[]=”abcdefg”,b[10]=”abcdefg”;printf(“%d%d ”,sizeof(A.,sizeof(B));}执行后输出结果是A.7 7B.8 8C.8 10D.10 10(32) 有以下程序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 3B.5 3 3 5C.3 5 3 5D.3 5 5 3(33) 有以下程序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--) &nbsp; sum(&aa[i]);printf(“%d ”,aa[0]);}执行后的输出结果是A.4B.3C.2D.1(34) 34、有以下程序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.12B.11C.18D.16(35) 有以下定义#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.2B.3C.4D.5(37) 有以下程序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.10B.9C.7D.8(38) 有以下程序#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2); printf(“%d ”,i);}执行后输出结果是A.28B.22C.16D.4(39) 设有以下语句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 2044B.2041 2043C.2042 2044D.2042 2043(41) 有以下程序main( ){ unsigned char a,b;a=4|3;b=4&3;printf(“%d%d ”,a,b(;}执行后输出结果是A.7 0B.0 7C.1 1D.43 0(42) 下面程序的功能是输出以下形式的金字塔图案是:****************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.iB.2*i-1C.2*i+1D.i+2(43) 有以下程序void sort(int a[],int n){ int i,j,t;for(i=0;i for(j=i+2;j 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;i printf(“5d ”,len);}经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行ex abcd efg h3 k44执行后输出结果是A.14B.12C.8D.6(46) 有以下程序void f(int a[],int i,int j){ int t;if(i { 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 550B.680 680C.580 550D.580 680(48) 有以下程序#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.3B.4C.5D.6(49) 有以下程序#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 2B.123 0C.1 23D.0 0(50) 有以下程序(提示:程序中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.2B.1C.4D.3二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上, 答在试卷上不得分.(1) E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1】。

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

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

以下选项中非法的字符常量是
A、’\102’ B、’\65’ C、’\xff’ D、’\019’
转义字符,即反斜杠加数字或字母的形式(例如'\n'是换行 符),转义字符本身就是一个字符。 C的\X后面是十六进制数 数字不需要以0开头的,以0开头了,0所代表的意义是指八进 制,例如01,是指八进制的1,八进制里是没有数字8和9的, 所以09是错误的,同理,D项的019错了 C以x开头代表了xff这个数是16进制,16进制里是有f的,数值 上等于十进制里的15 数字前什么都不加,例如A和B项,C语言默认为十进制。
软件设计包括概要设计和详细设计
软件详细设计--程序流程图(PDF)和PAD(问题分析图) 是过程设计的常用工具
数据流图(DFD图)是软件定义阶段结构化分析方法常 用的工具。
针对简单程序设计,以下叙述的实施步骤正确的是 A、确定算法和数据结构、编码、调试、整理文档 B、编码、确定算法和数据结构、调试、整理文档 C、整理文档、确定算法和数据结构、编码、调试 D、确定算法和数据结构、调试、编码、整理文档
指针的概念和应用 数组名本身就是地址,所以不需要用&符号。C选项不能对所 有元素赋值而是反复再给一个数值赋值且是死循环。D
有以下程序
#include <sthio.h> Main() {int a,b,k,m,*p1,*p2; k=1,m=8; p1=&k,p2=&m; a=/*p1-m; b=*p1+*p2+6; printf(“%d ”,a); printf(“%d\n”,b);
一个正确的算法可以有零个或者多个输入,必须有一个或者多 个输出
以下叙述错误的是 A、一个C程序可以包含多个不同名的函数 B、一个C程序只能有一个主函数 C、C程序在书写时,有严格的缩进要求,否 则不能编译通过 D、C程序的主函数必须用main作为函数名

计算机二级C语言笔试400题及答案

计算机二级C语言笔试400题及答案

1、C语言程序的基本单位是____ A) 程序行 B) 语句 C) 函数 D) 字符、C、12、C语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构、A、13、C语言规定,程序中各函数之间 A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用、A、14、C语言中可处理的文件类型是( ) A) 文本文件和数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件、B、15、C语言可执行程序的开始执行点是( ) A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数、C、16、C语言提供的合法的数据类型关键字是 A)double B) short C) integerD) char、B、17、C语言中,运算对象必须是整型数的运算符是 A) % B) \ C) %和\ D) * *、A、18、C语言中函数返回值的类型是由( )决定。

A) return语句中的表达式类型 B) 调用函数的主调函数类型 C) 调用函数时临时 D) 定义函数时所指定的函数类型、D、19、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。

A、该数组的长度。

B、该数组的元素个数。

C、该数组中各元素的值。

D、该数组的首地址。

、D、110、C语言中数组下标的下限是________。

A、1 B、0 C、视具体情况 D、无固定下限、B、111、C语言中提供的合法关键字是____ A、swith B、cher C、case D、default、D、112、C语言中文件的存取方式是________。

全国计算机等级考试二级C语言真题库之选择题

全国计算机等级考试二级C语言真题库之选择题

全国计算机等级考试等级考试真题库之选择题( 05)1.下列叙述中正确的是( )。

A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性参考答案:B【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。

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

A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表C)栈与队列都是非线性结构D)以上三种说法都不对参考答案:D【解析】栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。

3.软件测试的目的是( )。

A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误参考答案:D 【解析】软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。

不是为了评估软件或改正错误。

4.在软件开发中,需求分析阶段产生的主要文档是( )。

A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书参考答案:D【解析】需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。

所以选择D)。

5.软件生命周期是指( )。

A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程参考答案:A【解析】通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期6.面向对象方法中,继承是指( ) 。

A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制参考答案:D【解析】继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。

全国计算机二级考试《C语言》真题与答案

全国计算机二级考试《C语言》真题与答案

全国计算机二级考试《C语言》真题与答案全国计算机二级考试《C语言》真题与答案通过真题的练习,我们可以了解计算机等级考试的题型,有针对性的复习。

以下是店铺搜索整理的一份全国计算机二级考试《C语言》真题与答案,供参考练习,预祝考生们考出自己理想的成绩!想了解更多相关信息请持续关注我们店铺!全国计算机二级考试《C语言》真题与答案篇11.下列叙述中正确的是。

A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对正确答案:A2.下列与队列结构有关联的是A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度正确答案:D3.一个栈的初始状态为空。

现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1D.1,2,3,C,B,A正确答案:C4.下面属于白盒测试方法的是______。

A.等价类划分法B.逻辑覆盖C.边界值分析法D.错误推测法正确答案:B5.下面对对象概念描述正确的是()。

A.对象间的通信靠消息传递B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有多个操作正确答案:A6.软件设计中模块划分应遵循的准则是()。

A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合正确答案:B7.下面描述中不属于数据库系统特点的是()。

A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高正确答案:C8.数据库设计过程不包括()。

A.概念设计B.逻辑设计C.物理设计D.算法设计正确答案:D9.以下叙述正确的是()。

A.C语言函数可以嵌套调用,例如:fun(fun(x))B.C语言程序是由过程和函数组成的C.c语言函数不可以单独编译D.c语言中除了main函数,其他函数不可作为单独文件形式存在正确答案:A10.以下选项中合法的标识符是A)1_1B)1-1C)_11D)1_ _正确答案:C11.表达式3.6-5/2+1.2+5%2的值是()A.4.3B.4.8C.3.3D.3.8正确答案:D12.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。

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

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

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

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

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

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

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

全国计算机等级考试二级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;}运算符函数。

历年全国计算机等级考试二级C语言笔试选择真题及答案

历年全国计算机等级考试二级C语言笔试选择真题及答案

⼀、下列各题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。

2004年9月全国计算机等级考试二级C语言笔试试卷含答案

2004年9月全国计算机等级考试二级C语言笔试试卷含答案

全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间:120分钟,满分100分)2004年9月一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)二、下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)与十进制数200等值的十六进制数为A) A8 B)A4 C)C8 D)C4(2)DOS文件系统的组织结构属于A)星形结构B)网形结构C)环形结构D)树形结构(3)对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为A)1KB B)2KB C)4KB D)8KB(4)在DOS环境下,代表键盘和显示器的设备文件名为A)PRN B)CON C)NUL D)LPT(5)计算机网络的主要特点是A)运算速度快B)运算精度高C)资源共享D)人机交互(6)磁盘处于写保护状态时其中的数据A)不能读出,不能删改B)可以读出,不能删改C)不能读出,可以删改D)可以读出,可以删改(7)从Windows环境进入MS—DOS方式后,返回Windows环境的DOS命令为A)EXIT B)QUIT C)RET D)MSDOS(8)在Windows环境下,若资源管理器左窗口中的某文件夹左边标有“+”标记,则表示A)该文件夹为空 B)该文件夹中含有子文件夹C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件(9)在Windows菜单中,暗淡的命令名项目表示该命令A)暂时不能使用B)正在执行C)包含下一层菜单D)包含对话框(10)在Windows环境下,单击当前窗口中的按钮“ ”,其功能是A)将当前应用程序转为后台运行B)退出Windows后再关机C)终止当前应用程序的运行D)退出Windows后重新启动计算机(11)用C语言编写的代码程序A) 可立即执行B) 是一个源程序C) 经过编译即可执行D) 经过编译解释才能执行(12)结构化程序由三种基本结构组成,三种基本结构组成的算法A) 可以完成任何复杂的任务B) 只能完成部分复杂的任务C) 只能完成符合结构化的任务D) 只能完成一些简单的任务(13)以下定义语句中正确的是A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;(14)下列选项中,不能用作标识符的是A) _1234_ B) _1_2 C) int_2_ D) 2_int_(15)有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是A) a=a+b=b++ B) w%(int)a+b)C) (c+w)%(int)a D) w=a==b;(16)有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是A) 3 B) 5 C) -1 D) -2(17)有以下程序main(){ char a='a',b;print("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是A) b,b B) b,c C)a,b D) a,c(18)有以下程序main(){ int m=0256,n=256;printf("%o %o\n",mn,n);}程序运行后的输出结果是A) 0256 0400 B) 0256 256 C) 256 400 D) 400 400(19)有以下程序main(){ int a=666,b=888;printf("%d\n",a,b);}程序运行后的输出结果是A) 错误信息B) 666 C) 888 D) 666,888(20)有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}程序运行后的输出结果是A) 022111 B) 021021 C) 000122 D) 012(21)若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是A) abs(x-y)<10 B) x-y>-10&& x-y<10C) @(x-y)<-10||!(y-x)>10 D) (x-y)*(x-y)<100(22)有以下程序main(){int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf("%d",d++ +1);elseprintf("%d",++d +1);printf("%d\n",d);}程序运行后的输出结果是A) 2 B) 3 C) 43 D) 44(23)下列条件语句中,功能与其他语句不同的是A) if(a) printf("%d\n",x); else printf("%d\n",y);B) if(a==0) printf("%d\n",y); else printf("%d\n",x);C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);D) if(a==0) printf("%d\n",x); else printf("%d\n",y);(24)有以下程序main(){ int i=0,x=0;for (;;){if(i==3||i==5) continue;if (i==6) break;i++;s+=i;};printf("%d\n",s);}程序运行后的输出结果是A) 10 B) 13 C) 21 D) 程序进入死循环(25)若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是A) for(i=1,p=1;i<=5;i++) p*=i;B) for(i=1;i<=5;i++){ p=1; p*=i;}C) i=1;p=1;while(i<=5){p*=i; i++;}D) i=1;p=1;do{p*=i; i++; }while(i<=5);(26)有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("c,%c,%c,%c\n",a,b,c,d);}若运行时从键盘上输入:6,5,65,66<回车>。

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

全国计算机等级考试历年真题2004年3月二级C语言笔试真题及答案2010-03-04 13:32:49| 分类:计算考试| 标签:|字号大中小订阅一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 1MB等于A.1000字节B.1024字节C.1000×1000字节D.1024×1024字节(2) 与十六进制数200等值的十进制数为A.256B.512C.1024D.2048(3) 所谓“裸机”是指A.单片机B.单板机C.不装备任何软件的计算机D.只装备操作系统的计算机(4) 能将高级语言编写的源程序转换成目标程序的是A.链接程序B.解释程序C.编译程序D.编辑程序(5) 在64位计算机中,一个字长所占的字节数为A.64B.8C.4D.1(6) 在Windows环境下,当一个应用程序窗口被最小化后,该应用程序A.继续在后台运行B.继续在前台运行C.终止运行D.暂停运行(7) 在Windows环境下,能实现窗口移动的操作是A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏(8) 在Windows环境下,PrintScreen键的作用是A.打印当前窗口的内容B.打印屏幕内容C.复制屏幕到剪贴板D.复制当前窗口到剪贴板(9) Internet的通信协议是A.TCP/IPB.BBSC.WWWD.FTP(10) 下列叙述中正确的是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.5B.3.14.159EC..5E-3D.E15(14) 以下4组用户定义标识符中,全部合法的一组是A._mainB.IfC.txtD.intenclude -max REAL k_2sin turbo 3COM _001(15) 若以下选项中的变量已正确定义,则正确的赋值语句是A.x1=26.8%3B.1+2=x2C.x3=0x12D.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/2B.(1/2)*(a+B) *hC.(a+B) *h*1/2D.h/2*(a+B)(18) 有以下程序main( ){int x=102,y=012;printf(“-,- ”,x,y);}执行后输出结果是A.10,01B.02,12C.102,10D.02,10(19) 以下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=1 else k=0;C.if(a<=B) k=0;D.if(a>B) k=1; else if(b<=C) k=1; else if(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.anotherB.anotherC.anotherD.numbernumber number number numberanother number(23) 有以下程序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,0B.3,2,-1C.4,3,-1D.5,-2,-5(24) 有以下程序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=5B.n=2C.n=3D.n=4(26) 若程序中定义了以下函数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)7(28) 设有定义: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,3B.3,1,2C.1,3,2D.2,3,1(30) 有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是A.5B.6C.8D.9(31) 31、有以下程序main( ){ char a[]=”abcdefg”,b[10]=”abcdefg”;printf(“%d%d ”,sizeof(A.,sizeof(B));}执行后输出结果是A.7 7B.8 8C.8 10D.10 10(32) 有以下程序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 3B.5 3 3 5C.3 5 3 5D.3 5 5 3(33) 有以下程序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--) &nbsp; sum(&aa[i]);printf(“%d ”,aa[0]);}执行后的输出结果是A.4B.3C.2D.1(34) 34、有以下程序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.12B.11C.18D.16(35) 有以下定义#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.2B.3C.4D.5(37) 有以下程序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.10B.9C.7D.8 (38) 有以下程序#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2); printf(“%d ”,i);}执行后输出结果是A.28B.22C.16D.4 (39) 设有以下语句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 2044B.2041 2043C.2042 2044D.2042 2043(41) 有以下程序main( ){ unsigned char a,b;a=4|3;b=4&3;printf(“%d%d ”,a,b(;}执行后输出结果是A.7 0B.0 7C.1 1D.43 0(42) 下面程序的功能是输出以下形式的金字塔图案是:****************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.iB.2*i-1C.2*i+1D.i+2(43) 有以下程序void sort(int a[],int n){ int i,j,t;for(i=0;i for(j=i+2;j 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;i printf(“5d ”,len);}经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行ex abcd efg h3 k44执行后输出结果是A.14B.12C.8D.6(46) 有以下程序void f(int a[],int i,int j){ int t;if(i { 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 550B.680 680C.580 550D.580 680(48) 有以下程序#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.3B.4C.5D.6(49) 有以下程序#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 2B.123 0C.1 23D.0 0(50) 有以下程序(提示:程序中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.2B.1C.4D.3二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上, 答在试卷上不得分.(1) E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1】。

相关文档
最新文档