c语言输入姓名比较是否同性,C语言基础--选择题

1. 以下4组用户定义标识符中,全部合法的一组是______。

A、_main

enclude sin

B、If

-max

turbo

C、txt

REAL

3COM

D、int

k_2

_001

2.

下列变量命名合法的一组是:

A、3max TEXT pointer B、_main

maxLe va3ue

C、_001 -maxValue boob

D、if continue break

3.

下列变量声明正确的是:

A、int a = 0 , b = 5; B、float i

= j = 3.0;

C、char a =

‘A’b =

‘B’D、int a = 3 , b =

&a;

4. 以下数组定义不正确的是:

A、int array[] = {1,2,3};

B、float array[5] = {0};

C、char array[5] = {1,2,3,4,5} ;

D、int

array[5] = {1,2,3,4,5,6};

5. 若程序中定义了以下函数

double maxValue(double

a,double b)

{ return a

> b ? a : b; }

并将其放在调用语句之后,则在调用之前应该对函数进行声明,以下选项中错误的是:

A、double maxValue(double a, b); B、double

maxValue(double,double);

C、double maxValue(double b,double

a);

D、double maxValue(double x,double

y);

6. 以下结构体类型的变量所占用字节数是:

struct

student

{ short

num;

char

name[15];

float

score;

char

sex;

};

A、22 B、24 C、26 D、28

7. 以下定义语句中正确的是______。

A、char a='A'

b='B';

B、float a=b=10.0;

C、int

a=10,*b=&a;

D、float

*a,b=&a;

8.

当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______。

A、c=b=a;

B、(a=c)‖(b=c);

C、(a=c)&&(b=c);

D、a=c=b;

9. 以下程序的输出结果是______。

main()

{

int a,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

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

}

A、6,1

B、2,1

C、6,0

D、2,0

10.表达式3.6-5/2 1.2

5%2的值是______。

A、4.3

B、4.8 C、3.3

D、3.8

11. 设int a=12,则执行完语句a

=a-=a*a后,a的值是______。

A、552 B、264 C、144

D、-264

12. 若有定义:int

a=8,b=5,c;,执行语句c=a/b

0.4;后,c的值是______。

A、1.4

B、1

C、2.0

D、2

若有以下定义和语句:

int

u=010,v=0x10,w=10;

printf("%d,%d,%d\n",u,v,w);

则输出结果是:

______。

A、8,16,10

B、10,10,10 C、8,8,10

D、8,10,10

14. 若执下面程序时从键盘上输入5,

main()

{

int x;

scanf("%d",&x);

if(x >5) printf("%d\n",x);

else printf("%d\n",x--);

}

则输出是______。

A、7

B、6 C、5

D、4

15. 以下程序的输出结果是______。

#include

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

16. 当调用函数时,实参是一个数组名,则向函数传送的是______。

A、数组的长度B、数组的首地址C、数组每一个元素的地址D、数组每个元素的值

17. 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。

A、0

B、1

C、2

D、3

18. 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是______。

A、while((ch=getchar())!='N')

printf("%c",ch) ;

B、while(ch=getchar()!='N') printf("%c",ch)

; C、while(ch=getchar()=='N') printf("%c",ch);

D、while((ch=getchar())=='N')

printf("%c",ch);

有以下程序

main()

{char

p[]={'a','b','c'},q[]="abc";

printf("%d%d\n",sizeof(p),sizeof(q));

};

程序运行后和输出结果是______。

A、4 4

B、3 3

C、3 4

D、4

3

20. 以下数组定义中错误的是:

A、int x[][3] ={0};

B、int x[2][3]={{1,2},{3,4},{5,6}};

C、int x[][3]={{1,2,3},{4,5,6}}; D、int

x[2][3]={1,2,3,4,5,6};

21. 有以下程序:

main()

{int

y=10;

while(y--)

;

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

}

程序执行后的输出结果是:

A、y=0;

B、y=-1; C、 y=1

D、while构成无限循环

22. 以下叙述中错误的是:

A、c程序必须由一个或者一个以上的函数组成。

B、函数调用可以作为一个独立的语句存在。C、若函数有返回值,必须通过return

语句返回。D、函数形参的值也可以传回给对应的实参。

23. 设有如下定义的变量

union

data

{ int i;

char ch;

float f;

}b;

则变量b占用内存的字节数是(假设int类型占2个字节,char类型占1个字节,float类型占4个字节):

(A)

4

(B)5(C) 6

(D)7

24. 能正确表示a 和b

同时为正或同时为负的逻辑表达式是:

(A)

(a>=0||b>=0)&&(a<0||b<0)

(B)(a>=0&&b>=0)&&(a<0&&b<0)

(C) (a

b>0)&&(a

b<=0) (D)

a*b>0

25. 对于一个正常运行的c程序,以下叙述中正确的是:

(A)程序的执行总是从main函数开始,在main函数结束。

(B)程序的执行总是从程序的第一个函数开始,在main函数结束。

(C)程序的执行总是从main函数开始,在程序的最后一个函数中结束。(D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束。

26. 设有定义:int

k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是:

(A)k

(B)k

=1(C) k(D)k

1

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

A. (x=y=6,x y,x

1)

B. (x=y=6,x y,y 1) C. (x=6,x 1,y=6,x y) D.

(y=6,y 1,x=y,x 1

28. 以下不正确的if语句形式是

A.

if(x>y&&x!=y)t=x

;

B. if(x==y) x =y; C. if(x!=y)

scanf("%d",&x)

else scanf("%d",&y); D.

if(x<0)x ;

29. 若i为整型变量,则以下循环执行次数是

for(i=2;i==0;)

printf("%d",i--);

A. 无限次B. 0次C. 1次D. 2次

30. 将三个数排序需要比较______次。

A. 2 B.

3 C.

4

D. 不确定

31. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()

A、INPUT

x、y、z;

B、scanf("%d%d%d",&x,&y,&z);

C、scanf("%d%d%d",x,y,z);

D、read("%d%d%d",&x,&y,&z);

对两个字符数组a和b进行初始化

char a[]="ABCDEF";char b[

]={'A','B','C','D','E','F'};

则以下叙述正确的是()

A、a与b数组完全相同

B、a与b长度相同C、a和b中都存放字符串D、a数组比b数组长度长。

以下错误的if语句是()

A、if(x>y) z=x;

B、

if(x= =y) z=0; C、if(x!=y) printf("%d",x) else

printf("%d",y); D、if(x

程序char

c[5]={‘a’,’b’,’\0’,’c’,’\0’};

printf(“%s”,c);}的运行结果是()。

A、'a''b'

B、ab C、ab

c

D、ab

判断字符串a是否大于b,应当使用()

A、if (a>b)

B、if

(strcmp(a,b))

C、if

(strcmp(b,a)>0)

D、if

(strcmp(a,b)>0)

表示关系12<=x<=y的C语言表达式为:()

A、(12<=x)&(x<=y)

B、(12<=x)&&(x<=y)

C、(12<=x)|(x<=y)

D、(12<=x)||(x<=y)

C语言源程序的基本单位是(

)。

A、过程B、 函数C 、子程序D、 标识符

设有以下定义,值为5的枚举常量是(

)。

enum week{sun,mon=4,tue,wed,thu,fri,sat}

w;

A、tue

B、sat

C、fri

D、thu

若有以下宏定义:

#define N

2

#define

Y(n)(N

1)*n

则执行语句int z; z=2*N

Y(5);后的值是

(A) 50

(B)34

(C)19

(D)无定值

设已有定义:float x;

则以下对指针变量p进行定义且赋初值的语句中正确的是:

(A)float *p=1024;

(B)int *p=(float)x;

(C)float p=&x;

(D)float

*p=&x;

请读程序:

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;

}

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

}

上面程序输出结果是:

A. a=2,b=1

B. a=1,b=1 C. a=1,b=0 D.

a=2,b=0

以下程序的输出结果是

main()

{ int

a=5,b=4,c=6,d;

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

}

A. 5 B.

4 C.

6

D. 不确定

设 int x=1, y=1;

表达式(!x||y--)的值是()

A、0

B、1

C、2

D、-1

语句for(a=0,b=0;b!=100&&a<5;a

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

scanf最多可执行次数为:()

A、4

B、6

C、5

D、1

以下程序的输出结果为( )。

int i;

void prt(

)

{

for(i=5;i<8;i )

printf("%c",'*');

printf("\t");

}

main( )

{

for(i=5;i<=8;i ) prt(

);

}

A ***

B ***

***

***

***

C ***

*** D *

*

*

在C语言程序中,以下说法正确的是()

A、函数的定义可以嵌套,但函数的调用不可以嵌套

B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用都不可以嵌套D、函数的定义和函数的调用都可以嵌套

46. 设i和k都是int类型,则for循环语句(

)。

for(i=0,k=-1;k=1;i ,k

)

printf("****\n");

A、循环结束的条件不合法

B、循环体一次也不执行C、循环体只执行一次D、是无限循环

47. 设有说明

int (*ptr)();其中标识符ptr是(

)

A、是一个指向整形变量的指针

B、是一个指针,它指向一个函数值是int的函数C、是一个函数名D、定义不合法

48以下循环体的执行次数是______。

main()

{

int i,j;

for (i=0,j=1; i<=j 1;i =2,j--)

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

}

A、3

B、2

C、1

D、0

49. 有以下程序

main()

{

int m[][3]={1,4,7,2,5,8,3,6,9};

int i,j,k=2;

for(i=0;i<3;i )

{

printf("%d ",m[k][i]); }

}

执行后输出结果是______。

A、4

5 6

B、2 5 8 C、3 6

9

D、7 8 9

50. 有以下程序

main()

{ char

s[]="abcde";

s =2;

printf("%d\n",s[0]);

}

执行后的结果是______。

A、输出字符a的ASCII码

B、输出字符c的ASCII码C、输出字符c

D、程序出错

51. 有定义语句:int b;char

c[10];,则正确的输入语句是______。

A、scanf("%d%s",&b,&c);

B、scanf("%d%s",&b,c);

C、scanf("%d%s",b,c);

D、scanf("%d%s",b,&c);

51. 以下程序的输出结果是______。

main()

{ int

x=10,y=10,i;

for(i=0;x>8;y= i)

printf("%d %d ",x--,y);

}

A、10 1 9 2

B、9 8 7 6

C、10

9 9 0

D、10 10 9 1

52. 若执行下面程序时:

int x;

scanf(“%d”,&x);

if(x >

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

else{printf(“%d”,

x)};

从键盘上输入5,则输出是:

A、7

B、6 C、5

D、4

53. 以下代码的输出结果为:

int x = 10,y =

10;

for(int i = 0; x

> 8; y = i)

{ printf(“%d %d”, x--

, y); }

A、10 1 9 2

B、9 8 7 6

C、9

10 9 10

D、10 10 9 1

54. 以下代码的输出结果为:

int sum;

for(int i = 0; i

< 5; i )

{ sum = i; }

A、10

B、9

C、11

D、不能确定

55. 以下代码的输出结果为:

int array[3] =

{1,4};

for(int i = 0;i

< 3;i )

{

printf(“%d

”,array[i]); }

A、1 4 0

B、0 1 4

C、1

0 4

D、1 4 4

56. 设变量定义为int x , *p =

&x;则&(*p)相当于:

A、*(&x)

B、*p

C、p

D、x

57. 以下代码的输出结果为:

void fun(int x,int

y)

{ int

temp;

if(x <

y)

{ temp = x ; x = y ; y

= temp; }

}

main()

{

int a = 4,b = 3,c =

5;

fun(a,b);fun(a,c);fun(b,c);

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

}

A、3,4,5

B、5,3,4

C、4,3,5

D、5,4,3

58. 以下程序的输出结果是:

char s[] =

“abcde”;

s = 2;

printf(“%d\n”,s[0]);

A、

输出字符a的ASCII码B、输出字符c的ASCII码C、输出字符c D、程序出错

59. 有以下程序

void f(int x,int

y)

{

int t;

if(x

}

main()

{

int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c);

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

}

执行后输出结果是______

A、3,4,5

B、5,3,4 C、5,4,3

D、4,3,5

60. 请读程序:

#include

f(int b[],int

n)

{ int

i,r;

r=1;

for(i=0;i<=n;i )

r=r*b[i];

return r;

}

main()

{ int

x,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

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

}

上面程序的输出结果是______

A、720

B、120

C、24

D、6

61有以下程序

main()

{

int i;

for(i=1;i<40;i )

{

if(i %5==0)

if( i%8==0)

printf("%d ",i);

}

printf("\n");

}

执行后的输出结果是______

A、5

B、24

C、32

D、40

62. 有以下程序

main()

{ int

k=5,n=0;

while(k>0)

{ switch(k)

{

default : break;

case 1: n =k;

case 2:

case 3: n =k;

}

k--;

}

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

}

程序运行后的输出结果是______

A、0

B、4

C、6

D、7

63. 有以下程序

main()

{

int

k=4,n=0;

for(;n

{

n ;

if(n%3!=0)

continue;

k--;

}

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

}

程序运行后的输出结果是______

A、1,1

B、2,2

C、3,3

D、4,4

64. 有如下程序

void fun(int *x,int

*y)

{printf(“%d

%d ”,*x,*y);

*x = 3;*y =

4;

}

main()

{ int

x=1,y=2;

fun(&y,&x);

printf("%d %d",x,y);

}

该程序的执行结果是______

A、2

1 4 3

B、1 2 1 2

C、1 2 3 4

D、2 1 1 2

65. 下面程序的功能是输出以下形式的金字塔图案是:

*

***

*****

*******

main()

{ int

i,j;

for(i=1;i<=4;i )

{ for(j=1;j<=4-i;j )

printf("

");

for(j=1;j<=____;j )

printf("*");

printf("\n");

}

}

在下划线处应填入的是______

A、i

B、2*i-1

C、2*i 1

D、i 2

66.

设有以下程序段 int

x=0,s=0;

while(!x!=0) s = x;

printf("%d",s); 则______

A. 运行程序段后输出0

B. 运行程序段后输出1 C.

程序段中的控制表达式是非法的D. 程序段执行无限次

67. 以下程序的输出结果为( )。

main( )

{ char

c;

int i;

for(i=65;i<68;i

)

{ c=i 32;

switch(c)

{ case 'a':

case 'b':

case 'c':

printf("%c,",c);

break;

default:

printf("end");

}

}

}

A a,b,c,end

B a,a,a,end

C a,a,a,

D a,b,c,

68. 如果定义变量

int * p = NULL;int a = 5;float b =

3.5;下列代码会造成崩溃的是(

)

A、* p = a

B、p = &a

C、(p

= &a) 1 D、p =

&b

69. 利用宏,求三个数中的最大值,一下宏定义正确的是:

A、#define MAX(a,b,c)

((a)>(b)?(a):(b))>c?((a)>(b)?(a):(b)):(c)

B、#define MAX(a,b,c)

(a>b?a:b)>c?(a>b?a:b):c

C、A、#define

MAX(a,b,c)

(a)>(b)?(a):(b)>c?((a)>(b)?(a):(b)):(c)

D、B、#define

MAX(a,b,c)

a>b?a:b>c?(a>b?a:b):c

70定义一个函数指针,返回类型为void,参数为两个int型变量,一下定义正确的是(

)

A、

void (*p)(int,int) =

NULL;

B、

B、void *p(int,int) =

NULL;

C、

C、typedef void(*p)(int,int)

D、typedef void *p(int,int)

你可能感兴趣的:(c语言输入姓名比较是否同性)