四川省计算机等级考试二级C语言笔试题23

合集下载

四川省计算机二级c语言考试试题及答案及解析

四川省计算机二级c语言考试试题及答案及解析

四川省计算机二级c语言考试试题及答案及解析一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。

A. structB. intC. charD. float答案:B解析:在C语言中,定义变量时需要使用关键字,其中用于定义整型变量的关键字是int。

2. 下列哪个选项是合法的C语言标识符?()A. 2variableB. variable2C. _variableD. variable!答案:C解析:C语言中标识符可以由字母、数字、下划线组成,但不能以数字开头。

3. C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. ==D. =答案:A解析:在C语言中,逻辑“与”操作符是&&,用于比较两个表达式是否都为真。

4. 下列哪个选项不是C语言中的控制语句?()A. ifB. switchC. forD. goto答案:D解析:goto语句虽然在C语言中存在,但它不是控制语句,而是一种跳转语句。

5. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A解析:struct关键字用于定义一个结构体类型。

6. 下列哪个选项是C语言中的预处理指令?()A. #includeB. #defineC. #ifD. All of the above答案:D解析:#include、#define和#if都是C语言中的预处理指令。

7. C语言中,用于表示逻辑“或”操作的运算符是()。

A. &&B. ||C. ==D. =答案:B解析:逻辑“或”操作符是||,用于比较两个表达式是否至少有一个为真。

8. C语言中,用于表示逻辑“非”操作的运算符是()。

A. !B. &&C. ||D. =答案:A解析:逻辑“非”操作符是!,用于取反一个表达式的逻辑值。

9. 在C语言中,用于定义一个数组的关键字是()。

四川省及全国计算机二级考试C语言历年笔试真题及答案详解

四川省及全国计算机二级考试C语言历年笔试真题及答案详解

Simpo PDF Merge and Split Unregistered Version -
printf("%2d",strlen(str[i])); printf("\n"); for(i=0;i<5;i++) puts(str[i]); } (1) 27 (2) 28 main 函数中,第一个 for 循环的输出结果为: ( (A) 6 5 4 3 1 (B) 1 3 4 5 6 28 ) 。 (D)a abc aabcd abed aabcd (C) 7 6 5 4 2 (D) 2 4 5 6 7 main 函数中,第二个 for 循环的输出结果为: ( (A) abc aabcd abed (B)a abc abed (C)acdefg aabcd abed abc a 27 ) 。
第 3 页 共 11 页
Simpo PDF Merge and Split Unregistered Version -
25 (A) q->next=NULL; p=p->next; p->next=q; (C) p=p->next; q->next=p; p->next=q; 1. 下列程序运行的结果为 ( # include <stdio.h> # include <string.h> void fun(char *s,int m) { char t,*p1,*p2; p1=s; p2=s+m-1; while(p1<p2) { t=*p1++; *p1=*p2--; *p2=t; } } main() { char a[]="ABCDEFG"; fun(a,strlen(a)); puts(a); } (A) GFEDCBA (C) GAGGAGA 2. 读下列 C 程序,选择正确的输出结果。 # include <stdio.h> # include <string.h> void fun(char str[][10], int n) { char t[20]; int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if( strlen(str[i]) < strlen(str[j]) ) { strcpy(t,str[i]); strcpy(str[i],str[j]); strcpy(str[j],t); } } main() { char str[][10]={"abc","aabcd","abed","a","acdefg"}; int i; fun(str,5); for(i=0;i<5;i++)

四川计算机二级C语言真题19-31次

四川计算机二级C语言真题19-31次

四川省普通高等学校计算机应用知识和能力第十九次等级考试二级(C与C++语言) 笔试试卷时间: 2003年10月18日( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在目前,用于保证软件质量的主要手段是进行软件测试。

( 1 )2. 使用DMA方式传送数据期间不需要CPU干预。

( 2 )3. 线性顺序队列会产生“假溢出”,而线性循环队列则不会。

( 3 )4. 对同一种算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。

( 4 )5. 在线性表中,数据的存储方式有顺序和链接两种。

( 5 )6. 进程是由程序块、文件控制块和数据块三部分组成。

( 6 )7. 在面向对象的程序设计中,派生类只能从一个基类产生。

( 7 )8. 操作系统是用户和硬件的接口。

( 8 )9. 个人计算机中可配置的最大内存容量受地址总线位数的限制。

( 9 )10.软件维护中最困难的问题是软件配置不全。

( 10 )二、选择题(每小题1分,共5分)1. 在排序法中,从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置称为( 11 )。

11 (A) 选择排序(B) 快速排序(C) 插入排序(D) 冒泡排序2. 有X、Y、Z三个元素依次入栈,不可能的出栈顺序是( 12 )。

12 (A) Z,Y,X (B) Z,X,Y(C) Y,X,Z (D) X,Y,Z3. 进程的状态是可以转换的,而以下哪个状态转换是不可能的( 13 )。

13 (A) 就绪状态→执行状态(B) 执行状态→就绪状态(C) 阻塞状态→就绪状态(D) 等待状态→执行状态4. 线性链表的地址( 14 )。

14 (A) 必须连续(B) 部分地址必须连续(C) 一定不连续(D) 连续与否均可以5. 在软件测试中,( 15 )主要分析程序的内部结构。

15 (A) 白盒法(B) 黑盒法(C) 因果图法(D) 错误推测法第 2 页共129 页1. 对下列程序段的描述正确的是(16 )。

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)一个队列的初始状态为空。

四川省二级(C与C++语言)第19-24次笔试答案

四川省二级(C与C++语言)第19-24次笔试答案

四川省普通高等学校计算机应用知识和能力第十九次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:A、B、A、B、B、B、A、A、A、B二、单项选择题:(每小题1分,共5分)1~5:C、B、D、D、A第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、B2、A3、D4、D5、A6、C7、D8、B9、A 10、B二、读程序题(每个选择3分,共45分)1、(1)D (2)B2、(1)C (2)D3、(1)A(2)D4、(1)C (2)C5、B6、(1)C (2)D7、(1)B (2)C 8、D 9、D三、程序填空题(每空2分,共30分)1、①TotalSum(a,5) ②Total ③sum+=array[i]2、①ch==’1’②power(2,i) ③val=val*x3、①s+n-1 ②*p1!=’\0’③p2--4、①&num[i][j] ②num[i][j]!=num[j][i] ③flag==15、①while(!feof(fp) ) ②if(strcmp(str,string)==0) ③fopen(argv[1], “r”)四川省普通高等学校计算机应用知识和能力第二十次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:A、B、A、B、B、A、B、A、B、B二、单项选择题:(每小题1分,共5分)1~5:D、B、C、A、C第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、A2、B3、C4、C5、A6、D7、A8、C9、C 10、D二、读程序题(每个选择3分,共45分)1、(1)B (2)D2、(1)A(2)C3、(1)C (2)A(3)D4、(1)A(2)D5、D6、(1)C (2)B7、(1)A(2)B 8、B三、程序填空题(每空2分,共30分)1、①num=0 ②i < len ③str++2、①symm(m)&&symm(m*m)&&symm(m*m*m)②i!=0 ③m=m*10+i%103、①head ②p->data ③p->next4、①(fp=fopen(“data.txt”, “r”))==NULL②ch=fgetc(fp) ③ch-‘A’5、①while(*s++=*t++ ) ②*t=’\0’③else p=NULL四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:B、B、A、B、B、A、A、B、A、B二、单项选择题:(每小题1分,共5分)1~5:C、C、D、D、B第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、C2、B3、B4、B5、C6、A7、A8、C9、D 10、D二、读程序题(每个选择3分,共45分)1、D2、A3、A4、B5、B6、C7 、(1)C (2)B 8、(1)A(2)B 9、(1)C (2)D10、(1)D (2)A(3)D三、程序填空题(每空2分,共30分)1、①struct student *next ②p2->next=p1 ③p=p->next2、①q=p ②p>str ③*p=max3、①aver+=score[i] ②below[k]=score[i] ③fun(score,9,below)4、①i==j ②j=2 ③j>=05、①“wb”②&em ③1四川省普通高等学校计算机应用知识和能力第二十二次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:A、A、B、B、A、B、B、B、A、A二、单项选择题:(每小题1分,共5分)1~5:D、C、D、C、D第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、B2、A3、B4、A5、D6、C7、D8、C9、D 10、C二、读程序题(每个选择3分,共45分)1、D2、(1)A(2)C3、(1)A(2)D4、C5、A6、B7、B 8、(1)D (2)A9、(1)C (2)B10、(1)B (2)D三、程序填空题(每空2分,共30分)1、①p[i]>p[j] ②fscanf(fp,”%d”,&a[i] ) ③sort(a,10)2、①func(n) ②long m ③func(m/10)3、①(bott+top)/2 ②top=mid-1 ③bott>top4、①str1[i]!=’\0’&&str2[i]!=’\0’②strlen(str1)>strlen(str2) ③strcat(str3,p2+i )5、①k>0 ②k/10 ③continue四川省普通高等学校计算机应用知识和能力第二十三次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(每小题1分,共10分)1~10:A、A、B、A、B、A、B、B、B、B二、选择题(每小题1分,共5分)1、C2、D3、A4、B5、A第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、B2、A3、A4、D5、B6、A7、C8、B9、C 10、C二、读程序回答问题(每个选择3分,共45分)1、B2、A3、D4、B B5、D A6、B A7、D8、C C9、A C 10、C三、程序填空( 每空2分,共30分 )1、①n%base ②c[i] ③b[d]2、①j/10 ②ch[0]==ch[4] && ch[1]==ch[3] ③i3、①i%3==0&&i%7!=0 ②p[num++]=i ③fun ( M,a,&n )4、①s,t ②*(p1+i)==*p2 ③p1+i ,p1+i+15、①fopen ( “stu.txt”,”r+” ) ②fp,”%d”,&y ③fprintf ( fp,”%d”,x )四川省普通高等学校计算机应用知识和能力第二十四次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(每小题1分,共10分)1~10:二、选择题(每小题1分,共5分)1、2、3、4、5、第二部分C与C++语言程序设计一、单项选择题1、A2、B3、A4、A5、D6、C7、C8、B9、D 10、B二、读程序回答问题1、C2、B D3、A4、A B5、A6、C7、D C8、D B9、C 10、C B三、程序真空1、①int *p 或int p[] ②p[j+1]=p[j] ③insert(a,wz,x)2、①int i ②i<=y ③return z3、①x>=0 ②x<min ③&x4、①i-1 ②a[j+1]=a[j] ③a[j+1]=t5、①FILE *f ②sizeof(stract rec) ③r.num, r.total编辑者:霍团长。

C语言四川省计算机二级笔试真题

C语言四川省计算机二级笔试真题

C语言四川省计算机二级笔试真题C32总共30 题共100分一.单选题(共15题,共37.5分)1.【题号:5113】以下能正确进行字符串赋值的是()(2.5分)A.char s[5]={'a','e','i','o','u'};B.char s[5]; s="good";C.char s[5];s[5]="abcd";D.char s[5]; s[ ]="good";标准答案:A2.【题号:5114】有下面的说明和语句,则输出的结果是()char a=9,b=020;printf("%o\n",~a&b<<1);(2.5分)A.377B.40C.32D.以上答案均不对标准答案:B3.【题号:5115】若有float x; 则sizeof ( x ) 和sizeof ( float ) 两种描述()(2.5分)A.都正确B.都不正确C.前者正确,后者不正确D.后者正确,前者不正确标准答案:A4.【题号:5116】若有代数式,则不正确的C语言表达式是()(2.5分)A.3*a*e/b*cB.3*a*e/b/cC.a/b/c*e*3D.a*e/c/b*3标准答案:A5.【题号:5117】下列程序运行的结果是 ( )main(){ struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);}(2.5分)A.0B.1C.3D.6标准答案:D6.【题号:5118】若有以下说明和语句,且0=<iA.*(a+i)B.a[p-a]C.p+iD.*(&a[i])标准答案:C7.【题号:5119】#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2); 后,z的值为()(2.5分)A.44B.45C.32D.338.【题号:5120】下列函数定义中,会出现编译错误的是( )(2.5分)A.int fun(int x,int y){ int z;z=(x>y)?x:y;return z;}B.int fun(int x,int y,int *z){ z=(x>y)?x:y;return z;}C.int fun(int x,int y){ return ( (x>y) ? x : y ); }D.int fun(int x,int y,int *z){ *z = (x>y) ? x : y ; }标准答案:B9.【题号:5121】下面C++的语句( )能实现printf("%d%d\n",a,b); 的功能(2.5分)A.cin>>a>>bB.cin>>a>>bC.cout<<a<<b< p="">D.cout<<a<<b<<endl< p="">标准答案:D10.【题号:5122】在如下程序段中的while循环 ( )int k=0;while(k=1) k++;(2.5分)A.有语法错,不能执行B.无限循环C.一次都不执行D.执行一次11.【题号:5123】下述程序的输出结果是 ( )# includevoid main(){int y=10;while(y--);printf("y=%d",y);}(2.5分)A.y=0B.y=1C.y=随机值D.y=-1标准答案:D12.【题号:5124】若有以下说明:char *str1="copy",str2[20],*str3="str",*str4,*str5="good";则错误的串操作语句是 ( )(2.5分)A.strcpy(str4,str1);B.strcat(str1,str3);C.str2="new str";D.strcpy(str5,str3);标准答案:C13.【题号:5125】下面程序运行后,x,y,z的值分别为( ) void main() { int x=0,y=0,z=0; ++x||++y||++z; printf("%d%d%d\n",x,y,z); }(2.5分)A.100B.000C.111D.001标准答案:A14.【题号:5126】关于C++和C语言学关系描述中,错误的是 ( )(2.5分)A.C语言与C++是兼容的B.C++对C语言进行了一些改进C.C语言是C++的一个子集D.C++和C语言都是面向对象的标准答案:D15.【题号:5127】#define f(x) 1+x+x*x#includevoid main(){int a=2,b=3;printf("%d\n",f(a+b));}(2.5分)A.17B.31C.13D.7标准答案:A二.读程序回答问题(共10题,共25分)16.【题号:5128】下列程序运行的结果为()。

四川省计算机等级考试二级C语言机试题50道真题

四川省计算机等级考试二级C语言机试题50道真题

四川省计算机等级考试二级C语言机试题50道(1)Date: 2010-01-29 Comments: 0 Views: 1041)下面叙述正确的是________。

A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)算法的时间复杂度是指执行算法程序所需要的时间(1)C知识点:算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)评析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。

数据结构和算法是计算机科学的两个重要支柱。

它们是一个不可分割的整体。

算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。

算法的有穷性是指一个算法必须在执行有限的步骤以后结束。

算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数。

(2)以下数据结构属于非线性数据结构的是________。

A)队列B)线性表C)二叉树D)栈(2)C知识点:栈和队列的定义;栈和队列的顺序存储结构及其基本运算评析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。

栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。

一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。

所以栈又称后进先出表(Last In First Out)。

队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。

在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。

因此队列又称先进先出表(First In First Out)。

二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。

2023年计算机等级二级考试C语言试题及答案

2023年计算机等级二级考试C语言试题及答案

一、选择题在下列各题旳A)、B)、C)、D)四个选项中,只有一种选项是对旳旳,请将对旳旳选项涂写在答题卡对应位置上,答在试卷上不得分。

(1)程序流程图中带有箭头旳线段体现旳是CA)图元关系B)数据流C)控制流D)调用关系(2)下面不属于软件设计原则旳是 CA)抽象B)模块化C)自底向上D)信息隐蔽(3)下列选项中,不属于模块间耦合旳是 CA)数据耦合B)标识耦合C)异构耦合D)公共耦合(4)下列论述中,不属于软件需求规格阐明书旳作用旳是DA)便于顾客、开发人员进行理解和交流B)反应出顾客问题旳构造,可以作为软件开发工作旳基础和根据C)作为确认测试和验收旳根据D)便于开发人员进行需求分析(5)算法旳时间复杂度是指CA)执行算法程序所需要旳时间B)算法程序旳长度C)算法执行过程中所需要旳基本运算次数D)算法程序中旳指令条数(6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用旳算法是BA)堆排序B)直接插入排序C)迅速排序D)B)和C) (7)栈底至栈顶依次寄存元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列也许是BA)ABCED B)DCBEA C)DBCEA D)CDABE(8)数据库设计包括两个方面旳设计内容,它们是AA)概念设计和逻辑设计B)模式设计和内模式设计C)内模式设计和物理设计D)构造特性设计和行为特性设计(9)关系表中旳每一横行称为一种AA)元组B)字段C)属性D)码(10)设有体现学生选课旳三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC旳关键字(键或码)为 CA)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩(11)如下不对旳旳论述是DA)在C程序中,逗号运算符旳优先级最低B)在C程序中,APH和aph是两个不同样旳变量C)若a和b类型相似,在计算了赋值体现式a=b后b中旳值将放入a中,而b中旳值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(12)请选出可用作C语言顾客标识符旳是BA)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,CaseD)2a,Do,Sizeof(13)如下选项中,不能作为合法常量旳是BA)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0 (14)在C语言中,运算对象必须是整型数旳运算符是AA)% B)\ C)%和\D)**(15)若变量均已对旳定义并赋值,如下合法旳C语言赋值语句是AA)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;(16)有如下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a旳ASCII码值为97,则执行上述程序段后输出成果是DA)因变量类型与格式描述符旳类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A旳ASCII代码值为65,若变量kk为char型,如下不能对旳判断出kk中旳值为大写字母旳体现式是BA)kk>=′A′&&kk<=′Z′ B)!(kk>=′A′||kk<=′Z′) C)(kk+32)>=′a′&&(kk+32)<=′Z′ D)isa lpha(kk)&&(kk<91)(18)当变量c旳值不为2、4、6时,值也为"真"旳体现式是BA)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若有条件体现式(exp)?a++:b--,则如下体现式中能完全等价于体现式(exp)旳是BA)(exp==0) B)(exp!=0) C)(exp==1) D)(exp!=1)(20)如下不对旳旳定义语句是BA)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={′1′,′2′,′3′,′4′,′5′}; D)char c2[]={′\x10′, ′xa′, ′\x8′};(21)下列程序执行后旳输出成果是Bmain(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1;printf("%d\n",a[1][2];)A)3 B)6 C)9 D)随机数(22)设有如下程序段Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中旳控制体现式是非法旳D)程序段执行无限次(23)下面程序段旳运行成果是Cchar *s="abcde";s+=2;printf("%d",s);A)cde B)字符′c′ C)字符′c′旳地址D)无确定旳输出成果(24)阅读下列程序,则执行后旳成果为A#include "stdio.h"main(){ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}A)3e,6 B)62,5 C)56,5 D)3E,6(25)下面判断对旳旳是CA)char *a="china";等价于char *a;*a="china"; B)char str[5]={"china"};等价于char str[]={"china"};C)char *s="china";等价于char *s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";(26)若有定义:int a[2][3];,如下选项中对a数组元素对旳引用旳是DA)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1](27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误旳输入语句是DA)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]); (28)有如下程序(29)#include <stdio.h>#define N 5#define M N+1#define f(x) (x*M)main(){ int i1,i2;i1=f(2);i2=f(1+1);printf("%d %d\n",i1,i2);}程序旳运行成果是BA)12 12 B)11 7 C)11 11 D)12 7(29)若有如下阐明和定义union dt{ int a; char b; double c;}data;如下论述中错误旳是DA)data旳每个组员起始地址都相似B)变量data所占内存字节数与组员c所占字节数相等C)程序段:data.a=5;printf("%f\n",data.c);输出成果为5. D)data可以作为函数旳实参(30)有如下程序#include<stdio.h>main(){FILE *fp;int k,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序运行后旳输出成果是DA)1 2 B)1 4 C)123 4 D)123 456 (31)若已定义int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;其中则对a数组元素不对旳旳引用是DA)a[p-a] B)*(&a[i]) C)p[i] D)a[10](32)有如下程序#include <stdio.h>void fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k<l0;k++)printf("%d",a[k]); printf("\n");}程序旳运行成果是CA) B) C) D)(33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为A#include <stdio.h>#include <ctype.h>#include <string.h>int fun (char *str){ int i,j=0;for(i=0;str[i]!=′ \0′;i++)if(str[i]!=′ ′)str[j++]=str[i];str[j]= ′\0′;}main(){char str[81];int n;printf("Input a string : ");gets(str);puts(str);fun(str);printf("%s\n",str);}A)asdafaaz67 B)asd af aa z67 C)asd D)z67(34)有如下程序int fun(int n){if(n==1)return 1;elsereturn(n+fun(n-1));}main(){int x;scanf("%d",&x); x=fun(x);printf("%d\n",x)}执行程序时,给变量x输入10,程序旳输出成果是AA)55 B)54 C)65 D)45(35)下面程序段中,输出*旳个数是 Cchar *s="\ta\018bc";for(;*s!='\0';s++)printf("*");A)9 B)5 C)6 D)7(36)C语言构造体类型变量在程序运行期间BA)TC环境在内存中仅仅开辟一种寄存构造体变量地址旳单元B)所有旳组员一直驻留在内存中C)只有最开始旳组员驻留在内存中D)部提组员驻留在内存中(37)已知函数旳调用形式为fread(buf,size,count,fp),参数buf旳含义是CA)一种整型变量,代表要读入旳数据项总数B)一种文献指针,指向要读旳文献C)一种指针,指向要读入数据旳寄存地址D)一种存储区,寄存要读旳数据项(38)设有如下语句char x=3,y=6,z;则z旳二进制值是BA) B) C) D)(39)在C语言中,只有在使用时才占用内存单元旳变量,其存储类型是AA)auto和register B)extern和register C)auto和static D)static和register (40)设有定义语句int (*f)(int);,则如下论述对旳旳是BA)f是基类型为int旳指针变量B)f是指向函数旳指针变量,该函数具有一种int类型旳形参C)f是指向int类型一维数组旳指针变量D)f是函数名,该函数旳返回值是基类型为int类型旳地址二、填空题请将每一种空旳对旳答案写在答题卡序号旳横线上,答在试卷上不给分。

四川省二级(C与C++语言)笔试试卷(20次)

四川省二级(C与C++语言)笔试试卷(20次)

}
程序运行时依次输入 x 的值为:1 2 3 4 5 6 7 8 9 10
(1) 程序的运行结果是( 26 )。
26 (A) 3,12,21
(B) 18,22,15
(C) 3,4,3
(D) 9,10,8
(2) switch ( x%3 )与( 27 )相同。
27 (A) switch(!(x%3)!=0)
(B) switch(x%3==0)
(C) switch(x%3!=0)
(D) 他们都不相同
2. 有下列程序:
# include <stdio.h>
void main()
{
char *str[]={"One","Two","Three","Four"};
char
=str;
int i;
for(i=0;i<3;i++)
void main()
{ char str[20];
int i=0;
static int count[2]={0};
gets(str);
do
{
switch(str[i++])
{
case 'a': case 'A':
case 'e': case 'E':
case 'i': case 'I':
case 'o': case 'O':
15 (A) 简单插入排序
(B) 冒泡排序
(C) 2 路归并排序
(D) 快速排序

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

计算机等级考试二级C语言试题及答案
{return (*a)++;} main( ) { int s=0;
{ int a=5; s+=f(&a);
}
s+=f(&a); printf(“%d\nC)7 D)8
38、有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2);
15、 若以下选项中的变量已正确定义,则正确的赋值语句 是
(C) 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 则下面语句中错误的是(D) A)a++; B)b++ C)c++; D)d++;
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
} 程序执行后的输出结果是(D)
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”,n); } 程序执行后的输出结果是(D) A)n=5 B)n=2 C)n=3 D) n=4

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

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

计算机二级证c语言试题及答案计算机二级证C语言试题及答案1. 以下关于C语言的描述中,错误的是()。

A. C语言是一种高级编程语言。

B. C语言是面向对象的编程语言。

C. C语言具有跨平台的特性。

D. C语言可以用于系统软件的开发。

答案:B2. 在C语言中,下列哪个选项不是合法的变量名?A. _nameB. name_2C. 2nameD. name答案:C3. 以下关于C语言中数组的描述,正确的是()。

A. 数组的大小在编译时确定。

B. 数组的大小在运行时确定。

C. 数组的元素可以是任意数据类型。

D. 数组的元素必须是相同的数据类型。

答案:A4. 在C语言中,下列哪个运算符用于执行加法运算?A. +B. -C. *D. /答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %=D. =答案:A6. 在C语言中,使用哪个关键字可以定义一个函数?A. classB. functionC. defD. int答案:D7. 以下关于C语言中指针的描述,错误的是()。

A. 指针可以存储变量的地址。

B. 指针可以存储函数的地址。

C. 指针可以存储数组的地址。

D. 指针本身没有地址。

答案:D8. 在C语言中,下列哪个选项不是控制语句?A. ifB. whileC. forD. switch答案:D9. 在C语言中,下列哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A10. 下列哪个选项是C语言中预处理指令?A. #includeB. #defineC. #ifD. All of the above答案:D11. 在C语言中,下列哪个选项用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A12. 在C语言中,下列哪个选项用于定义一个联合体?A. structB. unionC. enumD. typedef答案:B13. 在C语言中,下列哪个选项用于定义一个宏?A. #defineB. #includeC. #ifD. #define答案:A14. 在C语言中,下列哪个选项用于将字符串转换为字符数组?A. strcpyB. strcatC. strncatD. sprintf答案:A15. 在C语言中,下列哪个选项用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:C。

四川省计算机等级考试二级C语言机试试题

四川省计算机等级考试二级C语言机试试题

四川省计算机等级考试二级C语言机试题(第十八次)(第一套)(60分钟)一、程序调试题(文件名test1-1.c)(40分)磁盘上有一个名为testl-l.c的C程序文件,其功能是:计算并输出M以内最大的10个素数之和,M由主函数传给fun 函数。

例如:当M的值为100,则函数的值为732。

调试程序使之能输出正确的结果。

注意:可以增加和修改程序行,但不得删除程序中的整行。

在一处增加的程序行不得超过两行。

# include <stdio.h># include <conio.h>int fun(int m);{ int sum,n=0,j,yes;while((m>=2)&&(n<10){ yes=0;for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1){ sum+=m; n++;m--;}}return ;}main(){ int m;clrscr();scanf("%d",m);printf("%d\n",fun(m));}二、编写程序(程序文件名为testl-2.c)(60分)要求编写函数fun,其函数的功能是:根据形参m的值(2<=m<=9),在m行m列的二维数组中存放如下所示的数据,由main函数输出结果。

结果显示在屏幕上并送testl1-2·txt中保存。

例如:如输入3 如输入5则输出:则输出:1 2 3 4 51 2 3 2 4 6 8 102 4 63 6 9 12 153 6 94 8 12 16 205 10 15 20 25四川省计算机等级考试二级C语言机试题(第十九次)(第一套)(60分钟)一、程序调试题(文件名testl-1.c)(40分)磁盘上有testl-l.c,程序中函数fun的功能是:从低位开始取出正长整型变量s中奇数位上的数,依次构成一个新数放在t中。

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

设变量w中的"生日"是"1982年5月29日",下列对生日的正确赋值方法是( 22 )。 22 (A) day=29; (B) w.day=29 month=5; w.month=5; year=1982; w.year=1982; (C) w.birth.day=29; (D) birth.day=29; w.birth.month=5; birth.month=5; w.birth.year=1982; birth.year=1982; 8. 假定p1和p2是已赋值的int型指针,则下面有关运算中,( 23 )是非法 的。 23 (A) (p1+=4)=p2 (B) p2=10-p1; (C) if(p1!=p2) printf("!="); (D) p1+=(p2-p1); 9. 关于C/C++语言,以下叙述正确的是( 24 )。 24 (A) C是面向过程的程序设计语言,C++不支持面向过程的程序设计 (B) C语言支持图形设计,C++不支持 (C) C程序由函数组成,而C++程序由类组成 (D) C是C++的子集 10. 设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的值是( 25 )。 25 (A) 00010100 (B) 00011100 (C) 00011011 (D) 00011000 四川省计算机等级考试二级C语言笔试题(第二十三次)二 2009-03-29 15:43:16 二、读程序回答问题(每个选择3分,共45分) 1. 下列程序运行的结果为 ( 26 )。 # include <stdio.h> void main() { int a=2,b=-1,c=2; if(a<b) if(b<c) c=0; else c+=1; printf("%d",c);
} 26 (A) 3 (B) 2 (C) 1 (D) 0 2. 下列程序运行的结果为 ( 27 )。 # include <stdio.h> void main() { int a=15,b=21,m=0; switch(a%3) { case 0 : m++; break; case 1 : m++; switch(b%2) { default : m++; case 0 : m++; break; } } printf("%d", m ); } 27 (A) 1 (B) 2 (C) 3 (D) 4 3. 以下程序运行后,文件test 中的内容为 ( 28 )。 # include <stdio.h> # include <string.h> void fun(char *fname, char *st) { FILE *fp; int i; fp=fopen(fname,"w"); for(i=0; i<strlen(st); i++ ) fputc(st[i] , fp ); fclose(fp); } void main() { fun("test","world"); fun("test","hello");
q=p; scanf("%s %s",p,q); printf("%s,%s\n",p,q); } 若输入abc def<回车>,则输出为 ( 18 )。 18 (A) def,def (B) abc,def (C) abc,d (D) d,d 4.下列函数形式正确的是( 19 )。 19 (A) double fun(int x,int y) (B) fun(int x,y) { z=x+y; { int z; return z; } return z; } (C) fun(x,y) (D) double fun(int x,int y) { int x,y; { double z; double z=x+y; z=x+y; return z; } return z; } 5.下列有关类和对象的说法不正确的是( 20 ) 。 20 (A) 对象是类的一个实例 (B) 一个类只能有一个对象 (C) 任何一个对象只能属于一个具体的类 (D) 类与对象的关系和数据类型与变量的关系相似 6. 派生类的对象对它的基类成员中( 21 )是可以访问的。 21 (A) 公有继承的公有成员 (B) 公有继承的私有成员 (C) 保护继承的公有成员 (D) 私有继承的公有成员 7. 已知学生的结构体描述如下: struct students { int no; char name[10]; char sex; struct { int day; int month; int year; }birth; int score; }; 用学生结构体定义了变量w : struct students w;
int sum1=0,sum2=0; while(*p!='\0') { if(*p>=48 && *p<=57) sum1++; else if(*p>=101 && *p<=107) sum2++; else; p++; } cout<<sum1<<','<<sum2<<endl; } ① 程序的运行结果是 ( 31 )。 31 (A) 3,2 (B) 2,3 (C) 3,12 (D) 12,3 ② while(*p!='\0') 与 ( 32 ) 功能相同。 32 (A) while(*p!=0) (B) while(*p=0) (C) while(*p<>'\0') (D) while(*p!0) 6. 读下列程序: # include <stdio.h> # include <string.h> void fun(char *w, int n) { char t,*s1,*s2; s1=w; s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s2--; *s2=t; } } void main() { char *p; p="1234567"; fun(p,strlen(p)); puts(p); } ① 输出结果是 ( 33 )。 33 (A) 7654321 (B) 1711717 (C) 1714171 (D) 1234567
② 若把程序中的语句:while(s1<s2) { t=*s1++; *s1=*s2--; *s2=t; } 改写 成: while (s1<s2) { t=*s1; *s1=*s2; *s2=t; s1++; s2++; },则输出结果是( 34 )。 34 (A) 7654321 (B) 1711717 (C) 1714171 (D) 1234567 7. 下列程序运行结果是 ( 35 )。 # define X 5 # define Y X+1 # define Z Y*X/2 void main() { int a; a=Y; printf("%d ", Z); printf("%d\n",--a); } 35 (A) 7 6 (B) 12 6 (C) 12 5 (D) 7 5 8. 读下列程序: # include <stdio.h> int x; void sub(int *s , int x ) { static int t=0; x+=s[t]; t++; } void main() { int a[]={3,8,4,2},i; int x=0; for(i=0; i<4; i++) { sub(a,x); printf("%3d",x); } }
四川省计算机等级考试二级C语言笔试题(第二十三次)一 2009-03-29 15:41:57 四川省普通高等学校计算机应用知识和能力 第二十三次等级考试 二级(C与C++语言) 笔 试 试 卷 时间: 2005年10月15日 上午 9:00—11:00 第一部分 软件技术基础 (共15分) 一、是非判断题(每小题1分,共10分) ( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否 则选B ) 1. 数据在计算机内在中的表示是指数据的存储结 构。 ( 1 ) 2. 能影响中断响应次序的技术是中断优先级和中断屏 蔽。 ( 2 ) 3. 链表可以随机访问任意一个结点,而顺序表则不 能。 ( 3 ) 4. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生 成。 ( 4 ) 5. Windows、OS/2、Linux微机操作系统都是多用户多任务操作系 统。 ( 5 ) 6. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无 关,是独立于计算机的。 ( 6 ) 7. 流式文件和记录式文件都以字符为基本单位进行存 取。 ( 7 ) 8. 不定长文件是指字段的长度不固 定。 ( 8 ) 9. 软件工程的三要素包括方法、工具和环境。 ( 9 ) 10.软件结构是以指令为基础而组成的一种控制层次结 构。 ( 10 ) 二、选择题(每小题1分,且进栈过程中可以出栈,则不可能出栈的序列 是 ( 11 ) 11 (A) 1,4,3,2 (B) 2,3,4,1 (C) 3,1,4,2 (D) 3,4,2,1 2. 任何两个并发进程之间( 12 ) 12 (A) 一定存在互斥关系 (B) 一定存在同步关系 (C) 一定彼此独立无关 (D) 可能存在同步或互斥关系 3. 以下哪个特征不是分时操作系统的主要特征 ( 13 ) 13 (A)中断管理 (B)独立性 (C)交互性 (D)多路性 4. 以下的准则中哪个不是面向对象软件设计应遵循的 ( 14 ) 14 (A)抽象准则 (B)独立性准则 (C)信息屏蔽准则 (D)模块化准则 5. 需求分析中开发人员主要从用户那里了解 ( 15 ) 15 (A)软件做什么 (B)软件的结构 (C)输入的信息 (D)软件的测试 第二部分 C与C++语言程序设计 (共85分) 一、单项选择题(每小题1分,共10分) 1. 若变量已定义并赋值,下列符合C语法的表达式是 ( 16 ) 16 (A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b 2. 以下程序输出的结果是 ( 17 ) void main() { char s[]="Hello China"; s[5]=0; puts(s); } 17 (A) Hello (B) China (C) Hello China (D) O 3. 有以下程序 #include <malloc.h> void main() { char *p,*q; p=(char *)malloc(sizeof(char)*20);
相关文档
最新文档