C语言二级考试试题及答案

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

1.若i,j和k都是int型变量,则表达式(i=4,j=16,k=32,i=j)的值为

A. 4

B. 16

C. 32

D. 52

2.若有函数内部说明:int a[3][4];则数组a中各元素

A. 可在程序的运行阶段得到初值0

B. 可在程序的编译阶段得到初值0

C. 不能得到确定的初值

D. 可在程序的编译或运行阶段得到初值0

3.一个C语言程序是由

A. 一个主程序和若干子程序组成

B. 函数组成

C. 若干过程组成

D. 若干子程序组成

4.若有说明 int a[2][4];则a数组元素的非法引用是

A. a[0][2*1]

B. a[1][3]

C. a[4-3][0]

D. a[0][4]

5.阅读下面程序,则执行后的输出结果是___。

#include "stdio.h"

main()

{int x,y,z;

x=1;y=2;z=3;

if(x>y)if(x>z)printf("%d",x);

else printf("%d",y);

printf("%d\n",z);

}

A. 0

B. 1

C. 2

D. 3

6.下面程序的输出结果为

main()

{ int a,b;b=(a=3*5,a*4,a*5);

printf("%d",b ;}

A. 60

B. 75

C. 65

D. 无确定值

7.下列选项中不是结构化程序基本结构的是

A. 顺序结构

B. 跳转分支结构

C. 选择结构

D. 循环结构

8.所有C函数的结构都包括的三部分是

A. 语句、花括号和函数体

B. 函数名、语句和函数体

C. 函数名、形式参数和函数体

D. 形式参数、语句和函数体

9.设int a=5,b=6,表达式(--b==6)?++a:--b的值是___

A. 5

B. 6

C. 7

D. 4

10.下列叙述中不是C语言的特点的是______。

A. 简洁、紧凑,使用方便、灵活,易于学习和应用

B. C语言是面向对象的程序设计语言

C. C语言允许直接对位、字节和地址进行操作

D. C语言数据类型丰富、生成的目标代码质量高

11.下列关于C语言注释的叙述中错误的是______。

A. 以“/*”开头并以“*/”结尾的字符串为C语言的注释符

B. 注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义

C. 程序编译时,不对注释作任何处理

D. 程序编译时,需要对注释进行处理

12.s1和s2已正确定义并分别指向两个字符串。

若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是

A. if(s1>s2)S;

B. if(strcmp (s1,s2))S;

C. if(strcmp(s2,s1)>0) S;

D. if(strcmp (s1,s2)>0)S;

13.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。

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

k=i+j;

A. 10

B. 20

C. 8

D. 0

14.已知:int c[3][4];则对数组元素引用正确的是

A. c[1][4]

B. c[1.5][0]

C. c[1+0][0]

D. 以上表达都错误

15.以下不能正确进行字符串赋初值的语句为

______。

A. char str[5]="good!"

B. char str[]="good!"

C. char *str="good!"

D. char str[5]={'g','o','o','d'}

16.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num执行后sum的值为

A. 7

B. 8

C. 9

D. 10

17.设以下变量均为int类型,则值等于3的表达式是

A. (x=y=2,x+y,x+1)

B. (x=y=6,x+y,y+1)

C. (x=6,y=6,x+y)

D. (y=6,y+1,x=y)

18.有以下程序

main()

{ int i=10;

printf("%d\n",i++);

}

执行后输出结果是

A. 9

B. 10

C. 11

D. 8

19.main()

{ char a[]={ ′a′, ′b′, ′c′,′d′, ′e′, ′f′, ′g′,′h′,′\0′}; int i;

i=strlen(a);

printf("%d\b",i);

}

程序运行后的输出结果是

A. 9

B. 10

C. 7

D. 8

20.以下不正确的定义语句是

A. double x[5]={2.0,4.0,6.0,8.0,10.0};

B. int y[5.3]={0,1,3,5,7,9};

C. char c1[]={′1′, ′2′, ′3′, ′4′, ′5′};

D. char c2[]={′\x10′, ′\xa′, ′\x8′};

21.以下程序输入3课整数给a、b、c;程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a、b、c的值,请填上空缺的语句:#include

void main()

{

int a,b,c;

int temp;

printf("Enter a,b,c:")

scanf("%d%d%d",&a,%b,&c);

temp=a;

a=b;

b=c;

______________

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

}

22.分析以下程序,写出此程序的运行结果:

#include

int x,y;

int s( )

{ int z;

x=3; y=4;

z=x+y;

return(z);

}

void main( )

{

int n;

x=1; y=2;

n=s( );

printf("n=%d",n+x+y);

}

23.分析如下程序,此程序运行时输出结果是:

#include

void test(int *x,int *y);

void main()

{

int a=10,b=20;

test(&a,&b);

printf("%d",a);

}

void test( int *x,int *y)

{

int t;

t=*x;*x=*y;*y=t;

}

24.下面程序是计算n的阶乘,n是由键盘输入,最后显示出s的值,请找出此程序中错误的语句:

#include

void main( )

{ float s=1,i,n;

scanf("%d",&n);

相关文档
最新文档