2011年秋江苏省计算机二级C语言试卷


执行时可能出现错误的是
(25)
A. strcpy(s3,s1);
B. strcpy(s4,s1);
C. strcpy(s2,s1);
D. strcpy(s2,s3);
26. 已有声明“int x=0,*p=&x;”,以下语句中有语法错误的是
(26)
A. printf(”%d”,*x);
B. printf(”%d”,&x);
for(j=i;j<n-1;i++)
for(j=I;j<n;j++)
if(_____(24)_________)
/*对称矩阵判断*/
return 0;
______(25)_________;
}
void main()
{ int a[N][N];
Int n=4,i,j,r1,r2;
for(i=0;i<n;i++)
while(i<n-1&&x[i]==x[i+1])
i++; if(i==________(20)____________) {printf(“\n all elements are same”)
return; } if(x[i]<x[i+1])f=1; else f=0 for(;i<n-1;i++)
if(a[k]!=0) { printf(”%4d”,a[k]);
i++; if(i%3==0)printf(”\n”); } } 10. 以下程序运行时,输出到屏幕的结果中第一行是__(13)______,第二行是___(14)______. #include<stdio.h> #include<math.h> int fun(int a,int b) { int n;
则表达式 sizeof(union A)的值为___(5)_______
©阅读程序(13 分) 6. 以下程序运行时,输出到屏幕的结果是_______(6)____________
#include<stdio.h> enum color{BLACK,YELLOW,BLUE=3,GREEN,WHITE}; void main() { char *colorname[]={“Black”,“Yellow”,“Blue”,“Green”,“White”};
for(j=0;j<n;j++)
scanf(“%d”,&a[i][j]);
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf(“%4d”,a[i][j]);
C. printf(”%d”,*p);
D. printf(”%d”,x);
27. 以下叙述中错误的是 (27)
A. 在函数外可以声明变量
B. 变量声明的位置决定了该变量名的使用范围
C. 函数调用时在函数内声明的变量所得到的值将无法保存到该函数的下一次调用
D. 在函数外声明的变量,其值可以保存到该程序运行结束
#include<stdio.h> int fun1(int p[],int n) { int I,s=0;
for(i=0;i<n;i++) s+=p[i];
return s; } int fun2(int *s,int n) { if(n==1)
return *s; else
return (*s)+fun2(s+1,n-1); } void main() { int a[]={1,2,3,4,5};
___(2)______语句
3. 若要声明一个无符号整型变量 x,则正确的声明形式是“_____(3)____int x;”。
4. 已有声明“int n=12;double a;”,则执行语句“a=n/=5;”之后,a 的值为___(4)
________。
5. 若有数据类型定义如下:
union A{float a1;float a2;};
if(f&&x[i]>x[i+1] ǁ !f&&_________(21)_________) { printf(“\n no order”);
return; } if(____(22)_______)printf(“\n ascend”); else printf(“\n descend”); } void main() { int a[5]={1,2,3,4,5},b[5]={5,4,3,2,1},c[5]={2,2,2,2,2},d[5]={2,2,2,2,2}; judge(a,5); judge(b,5); judge(c,5); judge(d,5); } 14. 下列程序的功能是判断一个 n 阶对称方阵是否双对称矩阵。4 阶对称矩阵是指 aij =aji (1≤i≤4,1≤j≤4)。4 阶双对称矩阵是指一个 4 阶对称矩阵的第 1 列与第 4 列对换, 第 2 列与第 3 列对换后仍然是对称矩阵。函数 issym(int m[][N],int n)的功能是判断 二维数组 m 中存放的一个 n 阶方阵是否为对称矩阵,如果是则函数返回值 1,否则返 回值 0。函数 exchange(int a[][N],int n)的功能是将二维数组 a 中存放的一个 n 阶矩阵 做横向翻转,即:将矩阵的第 1 列与第你列对换,第 2 列与第 n-1 列对换,···,直 到 n/2 列为止。
Printf(”%d\n%d”,fun1(a,3).fun2(a,3)); } 12. 以下程序运行时,输出到屏幕的结果的第一行是___(17)_________,第二行是_____ (18)_____. #include<stdio.h> #include<string.h> int fun(char str[]) { int i,j,len;
else d=30;
printf(”%d\n”,d); } 8. 下 列 程 序 运 行 时 , 输 出 到 屏 幕 的 结 果 中 第 一 行 是 ____(8)________, 第 二 行 是 ____(9)______。
#include<stdio.h> void fun(int a,int *b) { a++;
(24)
A. if 语句和 switch 语句都可以实现算法的选择结构
B. if 语句和 switHale Waihona Puke h 语句都能实现多路(两路以上)选择
C. if 语句可以嵌套使用
D. switch 语句不可以嵌套使用
25. 已有声明“char *1=”China”,s2[10],*s3=”Nanjing”,*s4;”,以下字符串赋值语句在
enum color c1=GREEN,c2=BLUE; printf(“%s”,colorname[c1-c2]); } 7. 下列程序运行时,输出到屏幕的结果是__(7)______ #include<stdio.h> void main() { int a=0,b=1,d=10; if(a)
if(b) d=20;
D. ple
30. 以下选项均欲声明变量 p,其中错误的是 (30)
A. typedef struct Person
B. struct Person
{ char name [20];
{ char name [20];
int age;
int age;
}Per;
};
Per p;
struct Person p;
22. 下列四个选项中,属于 C 语言关键字的是
(22)
A. Float
B. single
C. double
D. real
23. 已知某编译系统中 signed int 类型数据的长度是 16 位,该类型数据的最大值是
( 23)
A. 32767
B. 32768
C. 127
D. 65535
24. 以下关于 if 语句和 switch 语句的叙述中错误的是
不是双对称矩阵。 #include<stdio.h>
for(j=0;j<n/2;j++)
for(i=0;i<n;i++)
{ t=a[i][j];
______(23)_________=a[i][n-j-1];
a[i][n-j-1]=t;
}
}
int issym(int m[][N],int n)
{
int i,j;
28. 已有声明“int t=1;”,则执行“printf(”%d”,(t+5,t++));”时输出结果是 (28)
A.1
B.6
C.2
D.7
29. 已有声明“static char *p=”Apple”;”,则执行语句“puts(p+2);”时输出为 (29)
A. Apple
B. Cpple
C. pple
len=srlen(str); for(i=0,j=0;str[[i];i++)
if((str[i]>=’A’&&str[i]<=’Z’) ǁ(str[i]>=’a’&&str[i]<=’z’)) str[j++]=str[i];
str[j]=’\0’; return len-j; } void main() { char ss [80]=”It23is!”; Int n; n=fun(ss); printf(“%d\n%s\n”,n,ss); } 13. 以下程序中 judge 函数的功能是判断 x 指向的 int 类型数组(长度为 n)中各元素之间的 逻辑关系。若 n 个元素的值均相等则输出“all elements are same”;若 n 个元素的值无 序则输出“no order”;若 n 个元素的值按升序排列则输出“ascend”;若 n 个元素按 降序排列则输出“descend”。 #include<stdio.h> void judge(_________(19)__________),int n) { int f,i=0;
合集下载

2011年计算机等级二级C语言章节习题及答案(13)

2011年计算机等级二级C语言章节习题及答案(13)

2011年计算机等级二级C语言章节习题及答案(13)2011年计算机等级二级C语言章节习题及答案(13)第13章文件一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。

)13.1 fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案: B13.2 若fp是指向某文件的指针,且已读到文件末尾,则函数feof (f p)的返回值是A)EOFB)-1C)1D)NULL正确答案: C13.3 fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案: D13.4 下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案: D13.5 函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是A)文件开始B)文件末尾C)文件当前位置D)以上都不对正确答案: B13.6 C语言中,能识别处理的文件为A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件正确答案: B13.7 若调用fputc函数输出字符成功,则其返回值是A)EOFB)1C)0D)输出的字符正确答案: D13.8 已知函数的调用形式:fread(buf,size,count,fp),参数buf 的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项正确答案: C13.9 当顺利执行了文件关闭操作时,fclose函数的返回值是A)-1B)TRUEC)0D)1正确答案: C13.10 如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");正确答案: D13.11 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A)fopen("A:\user\abc.txt","r")B)fopen("A:\\user\\abc.txt","rt+")C)fopen("A:\user\abc.txt","rb")D)fopen("A:\user\abc.txt","w")正确答案: B13.12 fwrite函数的一般调用形式是A)fwrite(buffer,count,size,fp);B)fwrite(fp,size,count,buffer);C)fwrite(fp,count,size,buffer);D)fwrite(buffer,size,count,fp);正确答案: D13.13 C语言中,文件组成的基本单位为A)记录B)数据行C)数据块D)字符序列正确答案: D13.14 C 语言中,系统的标准输入文件是指A)键盘B)显示器C)软盘D)硬盘正确答案: A13.15 有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20正确答案: A13.16 阅读以下程序及对程序功能的描述,其中正确的描述是#includemain(){ FILE *in,*out;char ch,infile[10],outfile[10];printf("Enter the infile name:\n");scanf("%s",infile);printf("Enter the outfile name:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){ printf("cannot open infile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){ printf("cannot open outfile\n");exit(0);}while(! feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完成将磁盘文件的信息在屏幕上显示的功能B)程序完成将两个磁盘文件合二为一的功能C)程序完成将一个磁盘文件复制到另一个磁盘文件中D)程序完成将两个磁盘文件合并并在屏幕上输出正确答案: C13.17 下面的程序执行后,文件test中的内容是#includevoid fun(char *fname,char *st){ FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;ifclose(myf);}main(){ fun("test","new world"); fun("test","hello,");} A)hello, B)new worldhello,C)new worldD)hello, rld正确答案: A13.18 假定当前盘符下有两个文本文件,如下文件名a1.txt a2.txt内容123# 321#则下面程序段执行后的结果为#include "stdio.h"void fc(FILE *p){ char c;while((c=fgetc(p))!=′#′)putchar(C);}main(){ FILE *fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar(′\n′);}A)123321B)123C)321D)以上答案都不正确正确答案: A13.19 阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)#include "stdio.h"void main(){ FILE *fp;int a[10],*p=a;fp=fopen("a123.txt","w");while(strlen(gets(p))>0 ){ fputs(a,fp);fputs("\n",fp);}fclose(fp);}A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt 中B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中C)从键盘输入若干行字符,第一行写入文本文件a123.txt中D)从键盘输入若干行字符,依次写入文本文件a123.txt中正确答案: D13.20 阅读下面程序,此程序的功能为#include "stdio.h"main(int argc,char *argv[]){ FILE *p1,*p2;int c;p1=fopen(argv[1],"r");p2=fopen(argv[2],"a");c=fseek(p2,0L,2);while((c=fgetc(p1))!=EOF)fputc(c,p2);fclose(p1);fclose(p2);}A)实现将p1打开的文件中的内容复制到p2打开的文件B)实现将p2打开的文件中的内容复制到p1打开的文件C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后正确答案: C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。

2011年9月计算机等级考试二级C语言笔试答案

2011年9月计算机等级考试二级C语言笔试答案

2011年 2011年9月计算机等级考试二级 VB 笔试答案 ) (网友提供,非官方答案,仅供参考! 网友提供,非官方答案,仅供参考! 选择 【1—5】45215 【6—10】32421 【11—15】25241 【16—20】24132

【21—25】23113 【26—30】23132 【31—35】32115 填空 【1】线性结构 【2】n 【3】结构化 【4】 【5】Autosize 【6】 【7】Result*x 【8】m 【9】t 【10】m<40 【11】4 【12】70 【13】#1 【14】"end " 【15】ct,nt
Access:选择: Access:选择: 选择 1-10:4421343421 11-20:4413424121 21-30:4231311442 31-35:23234 填空: 填空: 1、线性结构 2、N 3、结构化 4、dbms 5、关系 6、1 7、 8、页 9、This.Caption="Access 窗体" 10、m<=100 11、-1*f 12、Second+1
2011年 2011年9月计算机等级考试二级 C 语言笔试答案 ) (网友提供,非官方答案,仅供参考! 网友提供,非官方答案,仅供参考! 参考答案1 参考答案1 C 语言 44213 43421 34132 32344 22211 34221 44241 22413 1、线性结构2、n 3、结构化 4、DBMS 5、关系 6、自己做 7、1 8、34 9、14 10、AEJ 11、2 12、213 13、2 14、i+1 15、1 参考答案2 参考答案2 1-10BBBACDADCA11-15CDDCD 16-20CACDA 【21-25】22114 【26—30】34245 【31—35】42141 【36—40】15413 填空 【1】线性结构 【2】n 【3】 【4】数据库系统 【5】 【6】print('****a=%d,b=%d****') 【7】1 【8】34 【9】14 【10】AFK 【11】211 【12】213 【13】3 【14】i+1 【15】1

2011年9月全国计算机等级考试C语言笔试试卷、答案 电子书.txt

2011年9月全国计算机等级考试C语言笔试试卷、答案 电子书.txt
(17)i若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和
k2的值分别为___________。
A)0和1 B)0和20 C)10和1 D)10和20
(17)B 【解析】根据清华大学出版社“C程序设计”P94关于逻辑表达式运算规定(1),
a&&b&&c,只要a为0,则不必判别b和c;若a为1才判别b;若b为0,则不必判别c。
现题目逻辑表达式左边(k1=k1>k2)为0,右边不再判别,所以答案是a为0;b仍为原值20。
(18)有以下程序
#include <stdio.h>
main()
{ int a=1,b=0;
是所有用户的公共数据视图。外模式也称用户模式,它是数据库用户能够看见和使用的局部
数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑
表示。内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的
描述,是数据在数据库内部的表示方式,所以正确答案为D。
(9)有三个关系R、S和T如下:
R S T
A
B
C
A
B
C
A
B
C
a
1
2
a
1
2
c
3
1
b
2
1
b
2
1
C
3
1
则由关系R和S得到关系T的操作是___________。
辑判断值为0,输出y;D) 逻辑判断值a==0为1,输出x

2011年9月全国计算机等级考试二级C++笔试试卷

2011年9月全国计算机等级考试二级C++笔试试卷

2011年9月全国计算机等级考试二级C++笔试试卷C++语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是(D)。

A)算法就是程序B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是(C)。

A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是(B)。

A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是(A)。

A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是(C)。

A)7 B)6 C)3 D)2(6)程序调试的任务是(D)。

A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是(A)。

A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括(D)。

A)概念模式B)内模式C)外模式D)数据模式(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是(B)。

A)自然连接B)差C)交D)并(10)下列选项中属于面向对象设计方法主要特征的是(A )。

最新2011年9月全国计算机等级考试二级C语言 (全)

最新2011年9月全国计算机等级考试二级C语言 (全)

第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。

/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。

函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n 返回这些数的个数。

2011年9月全国计算机二级C语言考试真题及答案

2011年9月全国计算机二级C语言考试真题及答案

2011年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A)算法就是程序B)设计算法时只需考虑数据结构的设计C)设计算法时只需考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表叙述中,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进入插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能分为应用软件、系统软件和支撑软件(或工具软件)。

下现属于应用软件的是A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统(5)该系统总体结构图的深度是A)7 B)6 C)3 D)2(6)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确是的A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式(9)有三个关系R 、S 和T 如下: 则由关系R 和S 得到关系T 的操作是 A)自然连接 B)差C)交D)并(10)下列选项中属于面向对象设计方法主要特征的是A)继承 B)自顶向下 C)模块化 D)逐步求精(11)以下叙述中错误的是A)C 语言编写的函数源程序,其文件名后缀可以是.C B)C 语言编写的函数都可以作为一个独立的源程序文件 C)C 语言编写的每个函数都可以进行独立的编译并执行 D)一个C 语言程序只有一个主函数(12)以下选项中关于程序模块化的叙述错误的是A)把程序分成若干相对独立的模块,可便于编码和调试B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 (13)以下选项中关于C 语言常量的叙述错误的是A)所谓常量,是指在程序运行过程中,其值不能被改变的量 B)常量分为整型常量、实型常量、字符常量和字符串常量 C)常量可分为数值常量和非数值常量 D)经常被使用的变量可以定义成常量(14)若有定义语句: int a=10; double b=3.14; ,则表达式'A'+a+b 的值的类型是 A)char B)int C)double D)float (15)若有定义语句: int x=12, y=8, z; ,在其后执行语句z=0.9+x/y;,则z 的值为 A)1.9 B)1 C)2 D)2.4(16)若有定义: int a,b;,通过语scanf("%d;%d",&a,&b);,能把整数3赋给变量a, 5赋给变量b 的输入数据是A)3 5 B)3,5 C)3;5 D)35(17)若有定义语句: int k1=10, k2=20;,执行表达式(k1=k1>k2) && (k2=k2>k1)后,k1和k2的值分别为 A)0和1B)0和20C)10和1D)10和20(18)有以下程序#include <stdio.h> main( ){ int a=1, b=0;if (--a) b++;else if(a==0) b+=2;else b+=3;printf("%d\n",b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)下列条件语句中,输出结果与其他语句不同的是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);(20)有以下程序#include <stdio.h>main( ){ int a=7;while (a--);printf("%d\n",a);}程序运行后的输出结果是A)-1 B)0 C)1 D)7(21)以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf("%c\n",'a'-32); B)printf("%d\n",'A')C)printf("%c\n",65); D)printf("%c\n",'B'-1);(22)有以下程序(注:字符a的ASCII码值为97)#include <stdio.h>main( ){ char *s={"abc"};do{ printf("%d",*s%10); ++s; }while (*s);}程序运行后的输入结果是A)abc B)789 C)7890 D)(23)若有定义语句: double a,*p=&a; 以下叙述中错误的是A)定义语句中的 * 号是一个间址运算符B)定义语句中的 * 号只是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p#include <stdio.h>double f(double x);main( ){ double a=0; int i;for (i=0; i<30; i+=10) a+=f( (double)i);printf("%5.0f\n",a);}double f(double x){ return x*x+1; }程序运行后的输出结果是A)503 B)401 C)500 D)1404(25)若有定义语句: int year=2009, *p=&year;,以下不能使变量year中的值增至2010的语句是A)*p+=1; B)(*p)++; C)++(*p); D)*p++;(26)以下定义数组的语句中错误的是A)int num[]={1,2,3,4,5,6} B)int num[][3]={{1,2},3,4,5,6}; C)int num[2][4]={{1,2},{3,4},{5,6}}; D)int num[][4]={1,2,3,4,5,6};(27)有以下下程序#include <stdio.h>void fun(int *p){ printf("%d\n", p[5]); }main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);}程序运行后的输出结果是A)5 B)6 C)8 D)9(28)有以下程序#include <stdio.h># define N 4void fun(int a[][N], int b[]){ int i;for (i=0; i<N; i++) b[i]=a[i][i]-a[i][N-1-i];}main( ){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}, y[N], i;fun(x, y);for (i=0;i<N; i++) printf("%d,",y[i]); printf("\n");}程序运行后的输出结果是A)-12,-3,0,0, B)-3,-1,1,3, C)0,1,2,3, D)-3,-3,-3,-3,int fun(char *x, char *y){ int n=0;while ( (*x==*y) && *x!='\0') {x++; y++; n++; }return n;}函数的功能是A)查找x和y所指字符串中是否有'\0'B)统计x和y所指字符串中最前面连续相同的字符个数C)将y所指字符串赋给x所指存储空间D)统计x和y所指字符串中相同的字符个数(30)若有定义语句: char *s1="OK", *s2="ok";,以下选项中,能够输出"OK"的语句是A)if (strcm(s1,s2)==0 puts(s1); B)if (strcm(s1,s2)!=0 puts(s2);C)if (strcm(s1,s2)==1 puts(s1); D)if (strcm(s1,s2)!=0 puts(s1);(31)以下程序的主函数中调用了在其前面定义的fun函数#include <stdio.h>∶main( ){ double a[15],k;k=fun(a)∶}则以下选项中错误的fun函数首部是A)double fun( double a[15]) B)double fun( double *a)C)double fun( double a[]) D)double fun( double a)(32)有以下程序#include <stdio.h>#include <string.h>main( ){ char a[5][10]={"china", "beijing", "you", "tiananmen", "welcome"};int i,j; char t[10];for ( i=0; i<4; i++)for (j=i+1; j<5; j++)if( strcmp(a[i], a[j])>0){ strcpy(t,a[i]); strcpy(a[i],a[j]); strcpy(a[j],t); }puts(a[3]);}程序运行后的输出结果是A)beijing B)china C)welcome D)tiananmen(33)有以下程序#include <stdio.h>int f(int m){ static int n=0;n+=m;return n;}main( ){ int n=0;printf("%d,", f(++n));printf("%d\n", f(n++));}程序运行后的输出结果是A)1,2 B)1,1 C)2,3 D)3,3(34)有以下程序#include <stdio.h>main( ){ char ch[3][5]={"AAAA","BBB","CC"};printf( "%s\n", ch[1] );}程序运行后的输出结果是A)AAAA B)CC C)BBBCC D)BBB(35)有以下程序#include <stdio.h>#include <string.h>void fun(char *w, int m){ char s,*p1, *p2;p1=w; p2=w+m-1;while (p1<p2) { s=*p1; *p1=*p2; *p2=s; p1++; p2--; }}main( ){ char a[]="";fun( a, strlen(a) ); puts(a);}程序运行后的输出结果是A) B) C) D)(36)有以下程序#include <stdio.h>#include <string.h>typedef struct {char name[9]; char sex; int score[2]; } STU; STU f(STU a){ STU b={"Zhao",'m',85,90};int i;strcpy(, );a.sex=b.sex;for (i=0; i<2; i++) a.score[i]=b.score[i];return a;}main( ){ STU c={"Qian",'f',95,92}, d;d=f(c);printf("%s,%c,%d,%d,",,d.sex,d.score[0],d.score[1]);printf("%s,%c,%d,%d\n",,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A)Zhao,m,85,90,Qian,f,95,92 B)Zhao,m,85,90,Zhao,m,85,90A)Qian,f,95,92,Qian,f,95,92 B)Qian,f,95,92,Zhao,m,85,90(37)有以下程序#include <stdio.h>main( ){ struct node {int n; struct node *next;} *p;struct node x[3]={{2,x+1}, {4,x+2}, {6, NULL}};p=x;printf("%d,", p->n );printf("%d\n",p->next->n );}程序运行后的输出结果是A)2,3 B)2,4 C)3,4 D)4,6(38)有以下程序#include <stdio.h>main( ){ int a=2, b;b=a<<2; printf("%d\n",b);}程序运行后的输出结果是A)2 B)4 C)6 D)8(39)以下选项中叙述错误的是A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B)在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内C)C程序函数中定义的自动变量,系统不自动赋确定的初值D)C程序函数的形参不可以说明为static型变量(40)有以下程序#include <stdio.h>main( ){ FILE *fp;int k,n,i,a[6]={1,2,3,4,5,6};fp = fopen("d2.dat","w");for (i=0; i<6; i++) fprintf(fp, "%d\n",a[i]);fclose(fp);fp = fopen("d2.dat","r");for (i=0; i<3; i++) fscanf(fp, "%d%d", &k, &n);fclose(fp);printf("%d,%d\n", k, n);}程序运行后的输出结果是A)1,2 B)3,4 C)5,6 D)123,456二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

2011年计算机等级考试二级C语言上机题库(含答案)

重要说明:本题库为从题中一题一题复制出来工作量大,而且有许多表达式无法在word中快速表示出来(这样会加大工作量)故而省略,或者表达错位,有的地方可能或者肯定会有错,我相信准备参加C语言二级考试的同学应当能够对照参考答案看出来,这是2011年最新版最完整考试题库,相信大家一定都能通过!第一套程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。

例如,给n输入5,则输出120.000000。

double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。

long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==‘-‗){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}第二套1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

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


3
C)Lili num= D)name=Lili num=1001 (17)if 语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是 A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值 (18)有以下程序 #include main() { int x=011; printf("%d\n",++x); } 程序运行后的输出结果是 A)12 B)11 C)10 D)9 (19)有以下程序 #include main() { int s; scanf("%d",&;s); while(s>0) { switch(s) { case1:printf("%d",s+5); case2:printf("%d",s+4); break; case3:printf("%d",s+3);
2011 年 3 月全国计算机等级考试二级 C 语言笔试试题及答案 、B) 、C) 、D)四个选项中,只有一个选项是正确的,请将 一、 选择题下列各题 A) 正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列关于栈叙述正确的是 A)栈顶元素最先能被删除 B)栈顶元素最后才能被删除 C)栈底元素永远不能被删除 D)以上三种说法都不对 (2)下列叙述中正确的是 A)有一个以上根结点的数据结构不一定是非线性结构 B)只有一个根结点的数据结构不一定是线性结构 C)循环链表是非线性结构 D)双向链表是非线性结构 (3)某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点 在第 1 层) A)3 B)4 C)6 D)7 (4)在软件开发中,需求分析阶段产生的主要文档是 A)软件集成测试计划 B)软件详细设计说明书 C)用户手册 D)软件需求规格说明书 (5)结构化程序所要求的基本结构不包括 A)顺序结构 B)GOTO 跳转 C)选择(分支)结构 D)重复(循环)结构 (6)下面描述中错误的是

2011年计算机等级二级C语言笔试题及答案

2011年计算机等级二级C语言笔试题及答案(1)计算机等级考试网更新:2011-6-19 编辑:风清云淡一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。

2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。

3、整数-35在机内的补码表示为__________。

4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。

5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。

6、符号”a”和’a’的区别是__________。

7、所谓“指针”就是__________ 。

“&”运算符的作用是__________。

“*”运算符的作用是__________ 。

8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。

二、选择题1、设整型变量a为5,使b不为2的表达式是()。

A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。

A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。

int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。

江苏省计算机c语言二级考试试题及答案

江苏省计算机c语言二级考试试题及答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable name答案:B2. 在C语言中,以下哪个关键字用于声明函数?A. classB. functionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 3, b = 5;printf("%d", a + b);```输出结果是什么?A. 8B. 35C. 53D. 3+5答案:A4. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C5. 以下哪个选项是C语言中合法的数组声明?A. int array[10];B. int array[];C. int array[10][];D. int array[10][10];答案:A6. C语言中,哪个函数用于输入一个字符?A. scanf()B. getchar()C. printf()D. puts()答案:B7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. +=答案:A8. 在C语言中,哪个关键字用于声明一个结构体?A. structB. unionD. typedef答案:A9. 若有以下代码片段:```cint x = 10;printf("%d", x++);```输出结果是什么?A. 10B. 11C. 9D. 无法确定答案:A10. 在C语言中,哪个函数用于输出一个字符串?A. scanf()B. printf()C. gets()D. puts()答案:D11. 下列哪个选项是C语言中合法的指针声明?A. int *pointer;B. int pointer[];C. int pointer[10];D. int *pointer[10];答案:A12. 在C语言中,哪个关键字用于声明一个枚举?B. unionC. structD. typedef答案:A13. 若有以下代码片段:```cint a = 10, b = 20;printf("%d", a > b ? a : b);```输出结果是什么?A. 10B. 20C. 30D. 无法确定答案:B14. 在C语言中,哪个函数用于计算两个数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()答案:A15. 下列哪个选项是C语言中合法的函数声明?A. int function();B. void function();C. int function(int x);D. All of the above答案:D16. 在C语言中,哪个关键字用于声明一个联合体?A. unionB. structC. enumD. typedef答案:A17. 若有以下代码片段:```cint a = 10, b = 20;printf("%d", a < b ? a : b);```输出结果是什么?A. 10B. 20C. 30D. 无法确定答案:A18. 在C语言中,哪个函数用于计算两个数的指数?A. pow()B. sqrt()C. fabs()D. abs()答案:A19. 下列哪个选项是C语言中合法的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI "3.14159"D. #define PI 3.14159答案:A20. 在C语言中,哪个关键字用于声明一个宏?A. defineB. macroC. constD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

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