第一范文网 - 专业文章范例文档资料分享平台

2016年3月计算机二级C语言题库(选择题)

来源:用户分享 时间:2025/7/15 23:28:04 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

#include fun(int x, int y)

{ static int m=0, i=2;

i+=m+1; m=i+x+y; return m; }

main()

{ int j=1, m=1, k;

k=fun(j,m); printf(\,\,k); k=fun(j,m); printf(\,k); }

执行后的输出结果是( A )。

A) 5, 11 B) 5, 5 C) 11, 11 D) 11, 5

34.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( C )。 A) auto和staticB) extern和register C) auto和register D) static和register

35.下面结构体的定义语句中,错误的是( A )。

A) struct ord {int x;int y;int z;} struct ord a; B) struct ord {int x;int y;int z;}; struct ord a; C) struct ord {int x;int y;int z;} a; D) struct {int x;int y;int z;} a;

36.有以下程序: # include

typedef struct { int b, p; } A;

void f(A c) /* 注意:c是结构变量名 */ { int j;

c.b += 1; c.p+=2; }

main() { int i;

A a={1,2}; f(a);

printf(\,%d\\n\, a.b, a.p); }

程序运行后的输出结果是( B )。

A) 2,4 B) 1,2 C) 1,4 D) 2,3

37.以下叙述中正确的是( A )。

A)在C语言中,预处理命令行都以\#\开头 B)预处理命令行必须位于C源程序的起始位置C)#include 必须放在C程序的开头D)C语言的预处理不能实现宏定义和条件编译的功能

38.有以下程序:

#include #include int fun(int n) { int *p;

p = (int*)malloc(sizeof(int)); *p=n; return *p; }

main()

{ int a;

a = fun(10); printf(\,a+fun(10)); }

程序的运行结果是( C )。

A) 0 B) 10 C) 20 D) 出错

5 / 38

39.有以下程序:

# include main()

{ unsigned char a=8, c; c = a>>3;

printf(\, c); }

程序运行后的输出结果是( B )。

A) 16 B) 1 C) 32 D) 0

40.读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表

的是( D )。

A) 一个内存块的字节数 B) 一个整型变量,代表待读取的数据的字节数 C)一个文件指针,指向待读取的文件 D)一个内存块的首地址,代表读入数据存放的地址

11.下列叙述中错误的是( B )。

A) C程序可以由多个程序文件组成 B) 一个C语言程序只能实现一种算法

C) C程序可以由一个或多个函数组成 D) 一个C函数可以单独作为一个C程序文件存在

12.以下选项中,能用作数据常量的是( A )。 A) 115L B) 0118 C) 1.5e1.5 D) o115

13.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( D )。 A) 大写字母 B) 下划线 C) 数字字符 D) 连接符

14.设变量已正确定义并赋值,以下正确的表达式是( A )。

A) x=y+z+5,++y B) int(15.8%5)C) x=y*5=x+zD) x=25%5.0

15.设有定义:int x=2;,以下表达式中,值不为6的是( A )。 A) 2*x,x+=2B) x++,2*xC) x*=(1+x)D) x*=x+1

16.有以下程序: #include main()

{ int x, y, z; x=y=1;

z=x++,y++,++y;

printf(\,%d,%d\\n\,x,y,z); }

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

17.有以下程序: #include main()

{ char c1,c2; c1='A'+'8'-'4'; c2='A'+'8'-'5';

printf( \,%d\\n\,c1,c2); }

已知字母A的ASCII码为65,程序运行后的输出结果是( A )。 A) E,68 B) D,69 C) E,D D) 输出无定值

18.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是( A )。

A) (x-y<0||x-y>0)B) (x-y<0)C) (x-y>0)D) (x-y==0)

19.有以下程序: #include main()

{ int x=1, y=0; if (!x) y++;

6 / 38

else if (x==0)

if (x) y+=2; else y+=3; printf(\, y); }

程序运行后的输出结果是( D )。

A) 3 B) 2 C) 1 D) 0

20.若有定义:float x=1.5; int a=1,b=3,c=2;则正确的switch语句是( A )。

A) switch(a+b)

{ case 1: printf(\; case 2+1: printf(\; }

B) switch((int)x);

{ case 1: printf(\; case 2: printf(\; }

C) switch(x)

{ case 1.0: printf(\; case 2.0: printf(\; }

D) switch(a+b)

{ case 1: printf(\; case c: printf(\; }

21.有以下程序: #include main()

{ int y=9;

for( ; y>0; y--)

if(y%3==0) printf(\,--y); }

程序的运行结果是( A )。 A) 852 B) 963C) 741D) 875421

22.有以下程序: #include main()

{ int i,j,m=1; for(i=1;i<3;i++) { for(j=3;j>0;j-- ) { if(i*j>3) break; m*=i*j; } }

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

程序运行后的输出结果是( C )。 A) m=4B) m=2 C) m=6 D) m=5

23.有以下程序: #include

int fun (int x, int y )

{ if (x!=y) return ( (x+y) /2 ); else return ( x ); }

main()

{ int a=4, b=5, c=6;

printf( \, fun(2*a,fun(b,c)));(A) }

7 / 38

A) 6B) 3C) 8D) 12

24.有以下程序:

#include

int add( int a,int b){ return (a+b); } main()

{ int k, (*f)(), a=5,b=10; f=add; … }

则以下函数调用语句错误的是( D )。

A) k=f(a,b);B) k=add(a,b);C) k=(*f)(a,b); D) k= *f(a,b);

25.有以下程序: #include main()

{ int n,*p=NULL; *p=&n;

printf(\:\; scanf(\,&p); printf(\:\; printf(\,p);

}

该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是( A )

A) int n,*p=NULL;B) *p=&n;C) scanf(\,&p)D) printf(\,p);

26.下列定义数组的语句中,正确的是( A )。

A) #define N 10int x[N];B) int N=10;int x[N];

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

27.有以下程序:

#include main()

{ int a[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2)

{ case 0:switch(a[i]%2)

{ case 0:a[i]++;break; case 1:a[i]--; } break; case 1:a[i]=0; }

for(i=0;i<4;i++) printf(\,a[i]); printf(\; }

程序运行后的输出结果是( D )。 A) 0 3 0 4 B) 2 0 5 0 C) 3 3 4 4 D)3 0 4 0

28.有以下程序: #include main()

{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0; i<3; i++)

for(j=i;j<=i;j++) t+=b[i][b[j][i]]; printf(\,t); }

程序运行后的输出结果是( B )。

A) 3 B) 4 C) 1 D) 9

29.以下语句中存在语法错误的是( A )。

A) char ss[6][20]; ss[1]= \?\;B) char ss()[20]={ \?\;

8 / 38

2016年3月计算机二级C语言题库(选择题).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3hw9u3nw3e3fmdz9vden_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top