99网
您的当前位置:首页2006年6月C语言考试题及参

2006年6月C语言考试题及参

来源:99网
全国高等学校(安徽考区)

计算机水平考试试卷

(二级 C语言)

一、单项这择且(每题1分,共40分)

1 能将高级语言源程序转换为目标程序的是 1 。

A)编译程序 B)解释程序 C)调试程序 D)编辑程序 A) B)63 C)32 D)31 2 6位无符号二进制数能表示的最大十进整数是 2 。 3 在windows中,下列关于回收站的叙述中,正确的是_ 3 。 A)不论从硬盘还是软盘上删除的文件都可以用“回收站”恢复

B)不论从硬盘还是软盘上删除的文件那不能用“回收站”恢复 D)用Shift+Delete (Del)键从硬盘上删除的文件可用“回收站”恢复 C)用Delete(Del)键从硬盘上删除的文件可用“回收站”恢复 4 下列有关Windows菜单命令的说法中,不正确的是 4 。 A)带„„的菜单项执行后会打开一个对话框

B)菜单项前有√表示该菜单命令有效 C)当鼠标指向带►的菜单时会弹出一个子菜单 D)菜单项呈暗谈的颜色,表示相应的程序被破坏

5 声频卡具有 5 功能。

A)数字音频 B)音乐合成 C)MIDI与音效 D)以上全是 6 计算机网络的功能是实现 6 。

A)数据处理 B)文献检索 C)资源共享和信息传输 D)信息传输 7 与Web站点和Web页面密切相关的一个概念称“统一资源定位器”,其英文缩写是 7 。

A)UPS B)USB C)ULR D)URL 它的正确形式是 8 。

A) 用户名@域名 B) 用户名#域名 C) 用户名/域名 D) 用户名●域名 9 计算机网络系统中风险程度最大的要素是 9 。

A)硬件 B)软件 C)数据 D)用户 10 下列关于计算机病毒的叙述中,正确的是 10 。 A) 反病毒软件通常滞后于计算机新病毒的出现

1

8 通过Internet发送或接收电子邮件(E-mail)的首要条件是应该有一个电子邮件地址,

B) 反病毒软件总是超前于病毒的出现,它可以查、杀任何种类的病毒

C) 感染过计算机病毒的计算机具有对该病毒的免疫性

D) 计算机病毒会危害计算机用户的健康 11 以下叙述不正确的是 11 。

A)一个程序可以由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)注释只能位于一条语句的最后面 D)一个C源程序可以只有一个main函数 12 以下合法的用户标识符是 12 。

A)1st B) break C) Two Words D) B757 13 以下属于合法的长整型常量是 13 。

A) 5876 B) 0L C) 2e10 D)“5876”

14 若char w; int x; float y;double z; 则表达式w*x+z-y的值为 14 类型。 A) char B) int C) float D) double 15 若以下选项中的变量己正确定义,则正确的赋值语句是_15_。 A) xl=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3;

16 设int x=8,y,z; 执行语句y=z=x++;x=y= =z;后,变量x的值是 16 。

A)0 B)1 C)8 D)9 17 若int x=6;则x+=x* x的值为 17 。

A)36 B)42 C)60 D)24

18 下列表达式中, 18 不满足“当x的值为偶数时为真,为奇数时值为假”的要求。

A)x%2= =0 B)x%2= =1 C) x%2!=1 D)!(x%2)

19 已知a=-1,b=0则执行语句k=(a++>=0)&&(b--<=0);后a,b的值分别 19 。

A)0,-1 B)0,1 C)-1,0 D)0,0

20 设x,y和z是int型变量且x=3,y=4,z=5;则下面的表达式中值为0的是 20 。

A)x&&y B)x<=y C)x||y D)x<=y-z

21 若有int a;float b;scanf(“%d,%f”,&a,&b);使a,b的值分别为30和5.5,则正

确的输入是21 A)30 5.5 B)30,5.5 C)a=30,b=5.5 D)a=30 b=5.5

22 已知char a=‟\\103‟;则语句printf(“%3d”,a);执行后的翰出结果为 22 。

A) 67 B)‟c” C)67 D)103 23 设b=0以下语句的输出结果是 23 。

printf(“%d,%d”,++b,b--); A)1,1 B)l,0 C)0,0 D)0,-1 24 已知x=3执行语句if (x) x=1; else x=6;后x的值为 24 。 A)1 B)3 C)6 D)0 25 下列程序段中while循环执行的次数为 25 。

int k=0; while (k=1) k++; A)无限次 B)有语法错误 C)一次也不执行 D)执行一次 26 有如下程序

main()

2

{ int i ;

for( i=1 ;i<5 ;i++) ; printf(“%d”,i); }

该程序的输出结果是 26 。 A)1 B) 4 C) 6 D) 5 27下列程序段的输出结果是 27 。 int x=3;

do{printf(“%d”,x-=2);}while(x>=0);

A)1 B)30 C)l -1 D)死循环 28以下程序的输出结果是 28 。

#include #include main()

{ char str[]=”\\\x42\\\\bcd\\n”;

printf(“%d,%d”,srelen(str),sizeof(str)); }

A)13,13 B)7,7 C)7,8 D)8,8

29 设有语句static int a[8]={2,5,4,7};则表达式a[2]-a[5]的值是 29 。

A)4 B)5 C)不能确定 D)-2 30 若有定义:int a[3][4];不能表示a[1][1]的是 30 。

A)*(a[1]+1) B)*(&a[1][1]) C) (*(a+1))[1] D)*(a+5) 31 在以下定义中对标识符ptr描述正确的是 31 。

int (*ptr)[3];

A)定义不合法

B)是一个指针数组名,每个元索是一个指向整型变量的指针 C)是一个指针,它指向一个具有3个元素的一维数组 D)是一个指向整型变量的指针 32 以下程序的输出结果是 32 。 main()

{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf(“%d”,*--p);

}

A)非法 B)a[4]的地址 C)6 D)5 33下列函数的类型是 33 。 fun( float x )

{ float y; y=3*x-4; return y; }

A)int B)不确定 C)void D)float

3

34 以下对于函数的说法错误的是 34 。 A)函数可以递归调用 B)数组名可以作为函数的实际参数

C)函数可以嵌套定义 D)实际参数和形式参数必须一一对应 35 若char a=3,b=6 ,c ;c=a^(b>>2);则c 的二进制形式为 35 。

A) 00000010 b)00000100 C)00000001 D)00000011 36 若有以下结构体定义,则正确的引用或定义是 36 ‘。 struct exam { int x;

int y;};

A) exam.x=10; B) exam y,x;

C) struct exam y={10}; D) struct exam a;a.x=10; 37 下列程序的输出结果是 37 。

#include “stdio.h” #define sqr(x) x*x main()

{ int a,k=3; a=sqr(k+1);

printf(“%d”,a);} A)9 B)8 C)7 D)6

38若定义union stu {int i;float t;int a[4]} x;则x在内存中占用的字节数是 38 。

A)2 B)4 C)8 D)14 39 若fp是指向某文件的指针且己经读到文件的末尾,则表达式feof(fp)的返回值是 39 。

A) eof B)0 C)非零值 D)null 40 C语言库函fgets(str,n,fp)的功能是 40 。

A) 从文件fp中读取长度n的字符串存入str指向的内存

B) 从文件fp中读取长度不超过n-1的字符串存入str指向的内存 C) 从文件fp中读取n个字特串存入str指向的内存 D) 从str读取至多n个字符到文件fp中

二、填空题(每空2分,共20分》

1 在Turbo C 2.0中,装入程序文件的快捷键是 1 。 2 C源程序的基本组成单位是 2 。

3 如果x、y、i和j都是int型变量,则表达式x=(i=1,j=6,y=8)的值为 3 。 4 将int类型说明为新类型integer的方法是 typedef 4 。 5 C标准库函数中常用的比较字符串大小的函数是 5 。 6 下面程序的输出结果是 6

#include void f(int i)

{ static char s[]=”T&W”;

4

char *p=s+i;

while (--p>=s) putchar(*p); } main()

{ f(1);f(3); }

7下面程序通过函数average计算数组中各元素的平均值,请填空 float average(int a[],int n) { int i;

float s=0.0;

for(i=0;i{ int a[9]={1,2,3,4,5,6,7,8,9}; printf(“average=%f\\n”, 8 ); }

8 以下程序运行后的输出结果是 9 。

void swap(int m,int n) { int temp;

temp=m;m=n;n=temp; }

main()

{int x=5,y=9; swap(x,y);

printf(”%d,%d”,x,y); }

9 设有fp=fopen(“k:\\\\24000101\\\\result.txt”,”r”);文本文件result.txt内容为 “12345670”,则定位文件指针至字符0的语句为:fseek(fp, 10 ,0); 。

三、阅读程序写出运行结果(每小题4分共20分) 【程序1】下面程序的运行结果是 1 。 main()

{ int i,j,s=0;

for(i=5,j=l;i>j;i--,j++) s+=i* 10+j;

printf(“\\n%d”,s); }

【程序2】下面程序运行的结果是 2 。

#include main()

5

{ int a=0,b=0;

char s[]=”ahspks.ahedu.gov.cn”,*t; t=s; while (*t)

{ switch (*t++) { case „a‟: case „h‟:

default:a++;

case „.‟:b++; }

}

printf(“%d,%d\\n”,a,B); }

【程序3】下面程序运行的结果是 3 。 #include main( )

{ int a[5]={2,3,3,2,8}; int i,j,t,n=0; for(i=0 ; i<4;i++) for (j=0;j<4-i;j++) if(a[j]>a[j+1]) { n++;

t=a[j];a[j]=a[j+1];a[j+l]=t; }

printf(“%d”,n); }

【程序4】下面程序运行的结果是 4 。

#include int f(int n)

{ static int s=1;

while (n>0) s*=n--; return s;}

main()

{ int i,j;

i=f(3);j=f(4);

printf(“i=%d,j=%d\\n”,i,j); }

【程序5】下面程序运行的结果是 5 #include void f(char *p)

6

{ if (*p!=null) { f(p+1);}

printf(“%c”,*p);}` }

main()

{ char s[]=“139”; f(s); }

四、编程题(共20分)

1 利用循环结构设计程序输出下面的图形。(6分) * **

*** **** ****

2 设计程序计算以下式子的值:(7分)

1+(1+2)+(l+2+3)+(l+2+3+4)+(„„)+(1+2+3+„l00)

3 完成函数insert_char,其功能是在字串s中第pos个字符后插入一个字符,pos小于等

于0时在第一个字符前插入ch,超过字符串有效长度时则追加在最后一个字符后面,字符串s有多余未用的存储空间。函数及调用程序形式如下。(7分) insert_char(char *s,int pos,char ch) { „„ }

(二级 C语言参)

一、单项这择且(每题1分,共40分)

1 A 11C 21B 31C

2B 12D 22A 32D

3C 13B 23B 33A

4D 14D 24A 34C

5D 15C 25A 35D

6C 16B 26D 36D

7D 17B 27C 37C

8A 18B 28C 38C

9C 19A 29A 39C

10A 20D 30D 40B

二、填空题(每空2分,共20分》

1 F3 6 TW&T

2 函数 7 a[i]

3 8 8 average(a,9)

4 int interger 9 5,9

5 strcmp

10 9L

三、阅读程序写出运行结果(每小题4分共20分)

1) 93

2) 16,19

7

3) 2

4) i=6,j=144 5) 931

四、编程题

1 main() {int i,j ;

for (i=1;i<=5;i++)

{ for(j=1;j{ int i,s1=0; long s=0;

for(i=1;i<=100;i++) {s1=s1+i;s=s+s1;} printf(“s=%ld\\n”,s); }

insert_char(vhar *s,int pos,char ch)

{ int i,j;

for (i=0;s[i]!=‟\\0‟;i++) ; if (pos<0) j=0;

else if(pos>=i) j=i; else j=pos;

for(;i<=j;i--) s[i+1]=s[i]; s[j]=ch; }

8

因篇幅问题不能全部显示,请点此查看更多更全内容