计算机二级C语言选择题 下载本文

main( ) {

int a=2, c=5;

printf(“a=%%d,b=%%d\\n”,a,c); }

程序的输出结果是

A a=2,b=5 B a=%2,b=%5 C a=%%d,b=%%d D a=%d,b=%d 标准答案:D

103、以下叙述正确的是

A 在c语言程序中,只有main函数才可单独进行编译

B 每个后缀为,c上午c语言源程序都可以单独进行编译 C 在c语言程序中,main函数必须放在其他函数的最前面 D 每个后缀为,c的c语言源程序都应该包含一个main函数 标准答案: B

104、c语言中的标识符分为关键字,预定义标识符和用户标识符,以下叙述正确的是

A 预定义标识符可用作用户标识符,但失去原有含义 B 关键字可用作用户标识符,但失去原有含义 C 用户标识符可以由字母和数字任意顺序组成

D 在标识符中大写字母和小写字母被认为是相同的字符 标准答案:A

105、以下选项中合法的常量是

A 123E 0.2 B 9 9 9 C 2.7e D 0Xab 标准答案:D

106、c语言主要是借助以下哪种手段来实现程序模块化

A 使用三种基本结构语句 B 定义函数

C 使用丰富的数据类型 D 定义常量和外部变量 标准答案:B

107、以下叙述中错误的是

A 常量可以用一个符号名来代表 B 数值型常量有正值和负值的区分

C 定义符号常量必须用类型名来设定常量的类型 D 常量是在程序运行过程中值不能被改变的量 标准答案:C

108、若有以下定义 int a, b;

scanf(“%d,%d,”,&a,&b);

以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是

A 3,5, B 3,5,4 C 3 , 5 D 3,5 标准答案:C 109、有以下程序

#include masin( )

{ char a,b,c,d;

scanf(“%c%c”,&a,&b); c=getchar(); d=getchar();

13

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

当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符) 12 34 则输出结果是

A 12

3

B 1234

C 12 D 12 34

标准答案:A

110、以下关于逻辑运算符两侧对象的叙述正确的是

A 可以是任意合法的表达式 B 只能是整数0或1

C 可以是结构体类型的数据 D 只能是整数0或非0整数 标准答案:A 111、有以下程序

#include main( )

{ int a=0,b=0,,c=0,d=0; if(a=1) b=1;c=2; else d=3;

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

程序输出

A 1,1,2,0 B 0,1,2,0 C 0,0,0,3 标准答案:D 112、有以下程序

#include main( )

{ int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y)

{ case 0: a++; break; case 1: b++; break; }

case 2: a++; b++; break; case 3: a++; b++; }

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

程序的运行结果是A

14

D 编译有错

A a=2,b=1 B a=2,b=2 C a=1,b=0 D a=1,b=1 113、以下程序段中的变量已正确定义 for(i=0;i<4;i++,i++)

for(k=1;k<3;k++); printf(“ * ” ); 该程序段的输出结果是

A * B ******** C ** D ****

标准答案:A 114、有以下程序段

#include int i, n;

for (i=0;i<8,i++) { n= rand ( ) % 5; switch(n) { case 1:

case 3: printf(“%d \\n”,n); break; case 2:

case 4: printf(“%d \\n”,n); continue; case 0: exit(0); }

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

以下关于程序段执行情况的叙述,正确的是 A for循环语句固定执行8次

B 当产生的随机数n为1和2时不做任何操作 C 当产生的随机数n为0时结束程序运行 D 当产生的随机数n为4时结束循环操作 标准答案:C 115、有以下程序

#include main( )

{ char c1, c2; c1=?A?+?B?-?4?; c2=?A?+?B?-?5?;

printf( “%c.%d\\n”,c1,c2); }

已知字母A的ASCII码为65,程序运行后的输出结果是

A D,69 B O,78 C 输出无定值 D E,D

标准答案:B

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

A (x-y<0) ||x-y>0 B (x-y==0) C (x-y<0) D (x-y>0) 标准答案:A 117、有以下程序

#include main( )

{ int x=1, y=0 ;

15

if ( !x) y++ ; else if (x==0) {if y+=2; else y+=3 ;} printf(“%d\\n”,y); }

程序运行后的输出结果是

A 2 B 3 C 1 D 0 标准答案:D 118、若有定义

float x=1.5;

int a=1,b=3,c=2; 则正确的switch语句是 A switch(x)

{ case 1.0: printf(“*\\n”);

case 2.0:printf(“**\\n”); }

B switch((int)x)

{ case 1: printf(“*\\n”);

case 2:printf(“**\\n”); }

C switch(a+b)

{ case 1: printf(“*\\n”);

case 2: printf(“**\\n”); }

D switch(x)

{ case 1: printf(“*\\n”);

case 2+1: printf(“**\\n”); } 标准答案:B.C 119、有以下程序

#include main( )

{ int y=9;

for( ; y>0; y--)

if(y%3==0) printf(“%d”, --y); }

程序的运行结果是

A 852 B 875421 C 741 标准答案:A

120、有以下程序

#include main( )

{ int i, j, m=1;

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

16

D 963