C语言几道简单的题目

Python013

C语言几道简单的题目,第1张

【B】2.变量a与b分别初始为10与20,正确语句是:

A:

int

a=10,

int

b=20

B:

int

a=10,

b=20

C:

int

a=10

b=20

D:

int

a=10

b=20,

【C】3.以下选项中正确的C语言常量是:

A:

0xEfGh

B:

'XYZ'

C:

12.34e5

D:

'\5A'

【A】4.设有double

xchar

s[50]输出双精度浮点数x和字符串s,正确的语句是:

A:

printf("%lf

%s",x,s)

B:

printf("%ld

%s",x,s)

C:

printf("%lf

%s",&&x,s)

D:

printf("%lf

%s",x,s[50])

【B】5.语句printf("%.1f,%d\n",10./4,10/8)的输出是:

A:

2.5,1.25

B:

2.5,1

C:

1,1.25

D:

2,1.25

【B】6.设有char

ch

与语句“ch=getchar()”等价的语句是:

A:

scanf("%c",ch)

B:

scanf("%c",&ch)

C:

printf("%c",ch)

D:

printf("%c",&ch)

【C】7.

设int

n,m

使m为n的十进制百位数的语句是:

A:

m

=

n/100

B:

m

=

n%100

C:

m

=

n/100%10

D:

m

=

n%10/100

【C】8.设float

x,y

使y为x的小数部分的语句是:

A:

y

=

(int)x

B:

y

=

int(x)

C:

y

=

x-(int)x

D:

y

=

x-int(x)

【C】9.

与语句“m

+=

(x=5)

+

(--y)”等价的语句序列是:

A:

m=m+x+y

x=5

y=y-1

B:

x=5

m=m+x+y

y=y-1

C:

x=5

y=y-1

m=m+x+y

D:

y=y-1

m=m+x+y

x=5

【B】10.

设int

n

对应“n为二位数(10至99)”的判断表达式是:

A:

10<=n<=99

B:

10<=n

&&&&

n<=99

C:

10<=n

||

n<=99

D:

10<=n,

n<=99

【A】11.

设char

ch

判断“ch为数字字符”的表达式是:

A:

ch>='0'

&&&&

ch<='9'

B:

ch>0

&&&&

ch<9

C:

ch>='0'

||

ch<='9'

D:

ch>=0

||

ch<=9

【A】12.

与语句“x+=(a++==b)?c:--d”功能等价的语句段是:

A:

if

(a==b)

{

a=a+1

x=x+c

}

else

{

a=a+1

d=d-1

x=x+d

}

B:

a=a+1if

(a==b)

{

x=x+c

}

else

{

d=d-1

x=x+d

}

C:

if

(a==b)

{

a=a+1

x=x+c

}

else

{

a=a+1

x=x+d

d=d-1

}

D:

if

(a==b)

{

a=a+1

x=c

}

else

{

a=a+1

d=d-1

x=d

}

【C】13.

设有in

i

写出下列语句的运行结果:

for

(i=0i<5i++)

printf("%d",i)

A:

0123456

B:

012345

C:

01234

D:

0123

【C】14.

设有char

ch

写出下列语句的运行结果:

for

(ch='B'ch<='F'ch++)

putchar(ch)

A:

ABCDEFG

B:

ABCDEF

C:

BCDEF

D:

BCDEFG

【A】15.

以下一维数组定义中,正确的是:

A:

int

a[5]

=

{

1,2,3,4,5

}

B:

int

a[5]

=

1,2,3,4,5

C:

int

a[1

to

5]

D:

int

a[]

【D】16.以下字符串定义与赋值中,正确的是:

A:

char

s[80]

s

=

{'A',

'B',

'C'}

B:

char

s[80]

s

=

"ABC"

C

char

s[80]

=

{"A",

"B",

"C"}

D:

char

s[80]

=

"ABC"

【B】17.

在字符串常用函数中,用于复制字符串的函数是:

A:

strlen

B:

strcpy

C:

strcat

D:

strcmp

【B】18.

设有定义:int

i,

a[10]

能正确输入a数组各元素的语句是:

A:

i=10

scanf("%d",

&a[i])

B:

for(i=0

i<=9

i++)

scanf("%d",

a+i)

C:for(i=0i<10i++)scanf("%d",a[i])D:for(i=0i<10i++)scanf("%d",

&a)

【B】19.

设有定义:int

a[10]={6,7,8,9,10}正确的解释是:

A:

将5个初值依次赋给a[1]至a[5]

B:

将5个初值依次赋给a[0]至a[4]

C:

将5个初值依次赋给a[6]至a[10]

D:

将5个初值依次赋给a[5]至a[9]

#include <stdio.h>

int main()

{

int m, n

int mcount = 0

printf("请输入M(小于1000的整数)和N(小于1000的整数)两个数\n")

scanf("%d %d", &m, &n)

if (m >1000)

{

printf("输入的M有误")

}

else

{

for (int i = 1i <= mi++)

{

if (i%n == 0)

{

printf("%d\t", i)

mcount++

}

}

printf("\n%d", mcount)

}

return 0

}

第一题:

赋值符号"="右边是由常量,变量,运算符,和函数组成的表达式.A,B中第一个"="右边不是一个表达式.

逗号表达式形式是:表达式1,表达式2,..,表达式n按从左到右的顺序逐个求解表达式.整个表达式的值就是最后一个表达式n的值.所以C是一个逗号表达式加一个阔号可以与周围其他逗号区分开,在这里不会有错.

一条语句必须加分号,复合语句必须加中括号.明显D错了.

正确选C

第二题.

自加自减运算符优先与加减运算符

并且按自右向左顺序执行,显然--i,被先合并了.被执行了,那么此刻i就是等于2,所以再执行-的时候变成了2-2,答案自然是A啦.哈

说明下++,--只能和变量组合,当然右边优先.

+++,---你要怎么拆,首先给我拆给变量,两边都是变量当然又是右边优先啦