风芸情感网
您的当前位置:首页E__Temp_2010安徽省c语言计算机二级试题[1]

E__Temp_2010安徽省c语言计算机二级试题[1]

来源:风芸情感网
计算机水平考试试卷

(二级 计算机基础和C语言)

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

1.计算机系统中存储信息的基本单位

A)位 B)字节 C)字 D)字符

2.超市使用的POS机收费系统,属于计算机在 在什么方面的应用。

A)数据处理 B)科学计算 C)实时控制 D)计算机辅助

3.下面是PC机常用的4种外设接口,其中U盘、移动硬盘、MP3MP4等均能连接的接口是

ARS—232 BIEEE—1394 CUSB DIDE

4.下面各种进制的数据中,最大的数是

A)1000010)2 B) (67)10 C) (77)8 D) (3A)16

5.下列关于Windows操作系统通配符的说法中,正确的是

A?代表多个字母 B) *代表多个字母

C?代表任意多个字母 D*代表任意多个字符

6.某电子邮件的地址为:wyg@163.com,其中wyg

A)域名 B)地区名 C)用户名 D)国家名

7.多媒体计算机指

A)安装了光驱并具有较高运算能力的计算机

B)安装了多种媒体播放器软件的计算机

C)能够处理音频、视频等多媒体信息的计算机

D)能够访问Internet的计算机

8.下列选项中 不是有效的信息安全控制方法。

A)用户口令设置 B)用户权限设置

C)数据加密 D)增加网络带宽

9.下列选项中,防止U盘感染病毒的有效方法是

A)对U盘进行写保护 B)对U盘进行分区

C)保持U盘的清洁 D)不要与有毒的U盘放一起

10.编程属于软件开发过程中的 阶段。

A)实现 B)定义 C)分析 D)维护

11C语言程序总是从 开始执行。

A)第一条语句 B)第一个函数 Cmain函数 D#include

12.下列 是正确的赋值语句。

A10=K BK=K*15 CK+47=K DK=7=6+1

13.下列程序段输出的结果是

int m=7,n;

n=m++;

printf(“%d,%d\\n”,n,m);

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

14下列不能作为变量名的是

Aabc B)x39 C)NBA D)for

15设有int a=2,b=6; 则表达式a*b/5的值是

A2 B3 C2.4 D3.6

16.设有int y=0; ,执行语句y=5y*2;后变量y的值是

A0 B5 C10 D20

17.设有float a=7.5,b=3.0; ,则表达式(inta/(int)b的值

A2.4 B2.5 C3 D2

18.设有int a=2,b=3,c=4; ,则逻辑表达式a∣∣--c运算后,C的值是

A2 B3 C4 D5

19.设有int a;char ch[80]; ,则下列选项中正确的输入语句是

Ascanf(%d%s,&a,ch[80]); B) scanf(%d%s,&a,ch);

C) scanf(“%d%s”, a,ch); D) scanf(“%d%s”, a, &ch);

20.若变量Cchar类型,下列选项中能正确判断出C为小写字母的表达式是

A'a'<=c<='z'

21.设有int x,y,z;则泄露选项中能将x,y中较大者赋给变量z的语句是

Aifx>yz=y; B) if(x

C) z=x>y?x:y; D) z=x

22.运行下列程序

#include

void main()

{

char c=y;

if(c>=x)printf(%c;c);

if(c>=y)printf(%c;c);

if(c>=z)printf(%c;c);

}

输出结果是

Ay B)yy C)yyy D)xy

23.下列叙述中正确的是

A)在switch语句中,不一定使用break语句

B) break语句必须与switch语句中的case配合使用

C)在switch语句中必须使用default

Dbreak语句只能用于switch语句

24.执行语句for(i=1;i<9;i+=3);后变量i的值是

A8 B) 9 C10 D11

25.下列选项中能正确定义并初始化二维数组的是

A) int a[ ][3]={1,2,3,4,5,6}; B) int a[ ][ ]={1,2,3,4,5,6};

C) int a[2][ ]={1,2,3,4,5,6}; D) int a[2][3]=“1,2,3,4,5,6”;

26.设有char array[ ]=Welecome”;则数组array所占的存储单元是

A) 6个字节 B)7个字节 C)8个字节 D)9个字节

27.下列程序段的输出结果是

char s[ ]=\\\\x41xyz”;

printf (%d\\n,strlen(s))

A)5 B)8 C)9 D)10

28.设有int m[ ]={5,4,3,2,1},i=4;则下列对数组m元素的引用中错误的是

A) m[i] B) m[4] C) m[m[0]] D) m[m[i]

29设有函数调用语句fun((a1,a2),( a3,a4,a5),a6)则该调用语句中实参的个数是

A) 6 B)5 C)4 D)3

30设有以下函数首部

int func(double x[100],int n)

如果在程序中需要对该函数进行声明则下列选项中错误的是

A) int func(double x[ ],int n); B) int func(double,int );

C) int func(double a[100],int b); D) int func(double *x,int n);

31C语言规定,函数返回值的类型是由 决定。

A) return语句中的表达式值的类型 B) 调用该函数的主调用函数类型

C) 调用该函数时传递的实参类型 D)定义该函数时指定的函数类型

32.若要说明a是整体型变量,pa为指向a的整体指针变量,则下列选项中正确的是

A) int a, *pa=&a; B) int a,pa=&a; C)int a,*pa=a; D) int *pa=&a, a;

33.设有int s[ ]={1,23,5,7,9},*p=s;则下列选项中值为7的表达式是

A)*p+2 B)*p+3 C)*(p+3) D)*(p+2)

34.对于类型相同的两个指针变量之间,能进行的运算是

A) % B) = C) ! D) /

35.设有

Struct student

{ char name[21];

int age;

char sex;

}std={“Li Ming”,19,’M’},*p;

P=&std;

则下列输出语句中错误的是

A) printf(“%d”,(*p).age); B)printf(“%d”,p->age)

C) printf(“%d”,stb.age); D) printf(“%d”,p.age);

36.设有

union data

{ int i ; char c ; float f ;} a ;

int b ;

则下列语句中正确的是

Aa=1.6 B) a.c=\101 C) b=a D) printf(%d\\n,a)

37.设有

Typedef struct ABC

{ long a ; int b; char c[2];}NEW;

则下列叙述中正确的是

A)以上的说明形式非法 BABC是一个结构体变量

CNEW是个结构体类型名 DNEW是个结构体变量

38.设有int x=28; ,则执行语句printf(%d\\n,x>>2);后的输出结果是

A)7 B14 C28 D56

39C语言中,根据数据的组织方式,文件可分为ASCII文件和

A)二进制文件 B)只读文件 C)只写文件 D)随机文件

40.以读写方式打开一个已存在的文件data.txt,下列选项中正确的是

A) FILE *fp;fp=fopen(“data.txt”,”rb”);

B) FILE *fp;fp=fopen(“data.txt”,”w”);

C) FILE *fp;fp=fopen(“data.txt”,”r”);

D) FILE *fp;fp=fopen(“data.txt”,”r+”);

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

1.结构化程序设计的三种基本结构分别是:顺序结构、 和循环结构。

2.设有int a=65;,执行语句printf(%x\\n,a);后的输出结果是

3.设有double x=56.7; ,则执行语句printf(%.2f\\n,x);后的输出结果是

4.设有int a =27;,则执行语句a%=4;后a的值是

5设有int a[3][4]={{1,2},{0,1},{4,6,8,10}};,则a[1 ][1]+a[2 ][2 ]的值是

6C标准库函数中,常用的字符串比较函数是

7.表示变量存储方式的关键字auto registerextern.

8.下列程序的输出结果是

#include

void main()

{char s[ ]={“Computer”},*p=s;

Printf(“%c”,*p+5);}

9.设有#define M(x) x*x,则M1+2)的值是

10.设有enum weekday {SundayMondayTuesdayWednesdayThursdayFridaySatturday};,则枚举元素Saturday对应的数值是

三、阅读理解题(每题4分,共20分)

1.运行一下程序是从键盘输入2010,其运行结果是

#include

void main()

{int year,leap=0;

scanf(“%d”,&year);

if((year%4= =0&& year%100!=0)∣∣(year%400= =0))leap=1;

if(leap= =1) printf(“%d is a leap year!\\n”,year);

else printf(“%d is not a leap year!\\n”,year);

}

2.以下程序的运行结果是

#include

void main( )

{char ch=’c’;

Switch(ch)

{case a’:

case A’:

case b’:

case B’: printf(good!\\n)break

case c’:

case C’: printf(pass!\\n)break

case d’:

case D’: printf(warning!\\n)break

default printf(error!\\n)

}

}

3.以下程序的运行结果是

#include

void main()

{char s[ ]= “I / love / C / Programming/”;

int i , num;

num = 0;

for ( i = 0;s[ i ] != ‘\0’; i++)

if(s[i]!=’/’ && s[i+1] = = ‘/’) num++;

printf(“ num = %d\\n “,num);

}

4.以下程序的运行结果是

#include

int f(int n)

{ int m;

if( n = = 0∣∣ n = = 1) m= 3;

else m = n*n-f(n-2);

return(m)

}

Void main( )

{

int n=2,m;

m=f(n);

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

}

5.以下程序的运行结果是

#include

void main()

{char s[ ]= ABCDEFGH b[ ] = abCDefGh;

char *p1,p2;

printf(“%s\\n”,a);

printf(“%s\\n”,b);

for (p1=a,p2=b;*p1!’\0’;p1++;p2++)

if(*p1= =*p2) printf(“%c”,*p1);

printf(“\\n “);

}

四、编程题(第16分,第23题各7分,共20分)

1、输入两个正整数a b 整除,输出商,否则输出商和余数。

2、利用循环语句编写程序,计算s = 1+11+111+1111并输出结果。

#include

int main(void)

{

int j,sum=0,t=0;

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

{

t=t*10;

t=t+1;

sum+=t;

printf("%d+",t);

}

printf("\\b=%d\\n",sum);

return 0;

}

解法二

#include

#include

void main()

{

int i,j,a,s=0;

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

{ a=0;

for(j=i;j>0;j--) a=a+pow(10,j-1);

s=s+a;

}

printf("s=1+11+111+1111=%4d",s);

printf("\\n");

}

3、输入10位学生的成绩,输出学生成绩及其所对应的名次。

成绩 90 85 90 95 80 88 70 100 95 95

名次 5 8 5 2 9 7 10 1 2 2

例如,下面有10位学生的成绩及计算后的对应的名次:

其中“95分”排名第2,由于有3个“95分”,下一个较小的成绩“90分”则排名第5

说明:算法及输出形式不限,相同的成绩及名次可以不重复输出。

#include

void main()

{

int a[11],rank[11];

int i,j,t;

printf("请输入10个学生的成绩:\\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

printf("\\n");

for(i=0;i<10;i++)

{ t=1;

for(j=0;j<10;j++)

if(a[i]

rank[i]=t;

}

printf("成绩:");

for(i=0;i<10;i++)

printf("%4d",a[i]);

printf("\\n");

printf("名次:");

for(i=0;i<10;i++)

printf("%4d",rank[i]);

printf("\\n");

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