2010年9月全国计算机等级考试二级C语言笔试试题答案及解析

更新时间:2023-12-08 04:53:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2010年9月全国计算机二级C语言笔试试题:文字版

一、选择题(每小题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(11)以下关于结构化程序设计的叙述中正确的是

A)一个结构化程序必须同时由顺序、分支、循环三种结构组成 B)结构化程序使用goto语句会很便捷

C)在C语言中,程序的模块化是利用函数实现的 D)由三种基本结构构成的程序只能解决小规模的问题 (12)以下关于简单程序设计的步骤和顺序的说法中正确的是 A)确定算法后,整理并写出文档,最后进行编码和上机调试

B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档 C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档 D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构 (13)以下叙述中错误的是

A) C程序在运行过程中所有计算都以二进制方式进行 B)C程序在运行过程中所有计算都以十进制方式进行 C)所有C程序都需要编译链接无误后才能运行

D)C程序中整型变量只能存放整数,实型变量只能存放浮点数

(14)有以下定义:int a; long b; double x,y;则以下选项中正确的表达式是

A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x

(15)以下选项中能表示合法常量的是 A)整数:1,200 B)实数:1.5E2.0 C )字符斜杠:?\\? D)字符串:\

(16)表达式a+=a-=a=9的值是 A)9 B)_9

C)18 D)0

(17)若变量已正确定义,在if (W)printf(“%d\\n,k”);中,以下不可替代W的是

A)a<>b+c B)ch=getchar() C)a==b+c D)a++

(18)有以下程序 #include main() {int a=1,b=0; if(!a) b++;

else if(a==0)if(a)b+=2; else b+=3;

printf(”%d\n”,b); }

程序运行后的输出结果是 A)0 B)1 C)2 D)3

(19)若有定义语句int a, b;double x;则下列选项中没有错误的是 A)switch(x%2) B)switch((int)x/2.0 {case 0: a++; break; {case 0: a++; break; case 1: b++; break; case 1: b++; break; default : a++; b++; default : a++; b++; } }

C)switch((int)x%2) D)switch((int)(x)%2) {case 0: a++; break; {case 0.0: a++; break; case 1: b++; break; case 1.0: b++; break; default : a++; b++; default : a++; b++; } } (20)有以下程序 #include main() {int a=1,b=2;

while(a<6){b+=a;a+=2;b%二10;} printf(”%d,%d\n”,a,b); }

程序运行后的输出结果是 A)5,11 B)7,1 C)7,11 D)6,1

(21)有以下程序 #include<stdio.h> main() {int y=10; while(y--);

printf(”Y=%d\n”,Y); }

程序执行后的输出结果是 A)y=0 B)y= -1 C)y=1

D)while构成无限循环 (22)有以下程序 #include<stdio .h> main()

{char s[」=”rstuv\; printf(”%c\n”,*s+2); }

程序运行后的输出结果是 A)tuv

B)字符t的ASCII码值 C)t D)出错

(23)有以下程序 #include<stdio.h> #include<string.h> main()

{char x[]=”STRING”;

x[0」=0;x[1]=?\0?;x[2」=?0?;

printf(”%d %d\\n”,sizeof(x),strlen(x)); }

程序运行后的输出结果是 A)6 1 B)7 0 C)6 3 D)7 1

(24)有以下程序 #include<stdio.h> Int f(int x); main() {int n=1,m;

m=f(f(f(n)));printf(”%d\n”,m); }

int f(int x) {return x*2;} 程序运行后的输出结果是 A)1 B)2 C)4 D)8

(25)以下程序段完全正确的是 A)int *p; scanf(\&p); B)int *p; scanf(“%d”,p); C)int k, *p=&k; scanf(\); D)int k, *p:; *p= &k; scanf(“%d”,p);

(26)有定义语句:int *p[4];以下选项中与此语句等价的是 A)int p[4]; B)int **p; C)int *(p「4」); D)int (*p)「4」;

(27)下列定义数组的语句中,正确的是 A)int N=10; B)#define N 10 int x[N]; int x[N];

C)int x[0..10]; D)int x[];

(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是 A)int a[5]=﹛0﹜;

B)int b[]={0,0,0,0,0}; C)int c[2+3]; D)int i=5,d[i]; (29)有以下程序 #include<stdio.h> void f(int *p); main()

{int a[5]={1,2,3,4,5},*r=a; f(r);printf(”%d\\n”;*r); }

void f(int *p)

{p=p+3;printf(”%d,”,*p);} 程序运行后的输出结果是 A)1,4 B)4,4 C)3,1 D)4,1

(30)有以下程序(函数fun只对下标为偶数的元素进行操作) # include<stdio.h> void fun(int*a;int n) {int i、j、k、t;

for (i=0;i<n一1;1+=2) {k=i;?

for(j=i;ja〔k])k=j; t=a〔i];a〔i]=a[k];a〔k]=t; } } main()

{int aa「10」={1、2、3、4、5、6、7},i; fun(aa、7);

for(i=0,i<7; i++)printf(”%d,”,aa[i])); printf(”\n”); }

程序运行后的输出结果是 A)7,2,5,4,3,6,1 B)1,6,3,4,5,2,7 C)7,6,5,4,3,2,1

本文来源:https://www.bwwdw.com/article/k93t.html

Top