9月计算机二级《C语言》上机考题及答案

Python014

9月计算机二级《C语言》上机考题及答案,第1张

1、以下选项中属于C语言的数据类型是( )。

A. 复合型

B. 双精度型

C. 逻辑型

D. 集合型

2、以下说法中正确的是( )。

A. C语言程序总是从第一个的函数开始执行

B. 在C语言程序中,要调用的函数必须在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

3、选出下列标识符中不是合法的标识符的是( )。

A. hot_do

B. cat1

C. _pri

D. 2ab

4、下列描述中不正确的是( )。

A、字符型数组中可能存放字符串。

B、可以对字符型数组进行整体输入、输出。

C、可以对整型数组进行整体输入、输出。

D、 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

5、若已定义:int a[9], *p=a并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )。

A. p+1

B. a+1

C. a++

D. ++p

6、设有如下定义: int x=10,y=3,z则语句printf("%d\n",z=(x%y,x/y))的输出结果是( )。

A. 1

B. 0

C. 4

D. 3

7、定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9}则下面语句for(i=0i<3i++) printf("%d",x[i][2-i])的输出结果是( )

A. 1 5 9

B. 1 4 7

C. 3 5 7

D. 3 6 9

8、读出以下语句的输出结果是( )。

int x=10,y=10

printf(“%d %d\n”,x--,--y)

A. 10 10

B. 9 9

C. 9 10

D. 10 9

9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。

if(x++>5) printf("%d",x)

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

A. 7和5

B. 6和3

C. 7和4

D. 6和4

10、设有如下定义:char *aa[2]={"abcd","ABCD"}则以下说法中正确的是( )。

A)aa数组成元素的值分别是"abcd"和ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的`首地址

D)aa数组的两个元素中各自存放了字符’a’和’A’的地址

11、以下语句的输出结果是( )。

int a=-1,b=4,k

k=(+ +a<0)&&!(b - -<=0)

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

A. 1,0,4

B. 1,0,3

C. 0,0,3

D. 0,0,4

12、下列程序的输出结果是( )。

char *p1="abcd", *p2="ABCD", str[50]="xyz"

strcpy(str+2,strcat(p1+2,p2+1))

printf("%s",str)

A. xyabcAB

B. abcABz

C. ABabcz

D. xycdBCD

13、执行下面的程序后,a的值是( )。

#define SQR(X) X*X

main( )

{ int a=10,k=2,m=1

a/=SQR(k+m)/SQR(k+m)

printf("%d\n",a)}

A. 10

B. 1

C. 9

D. 0

14、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。

A.P+i*2

B. P+(i-1)*2

C. P+(i-1)

D. P+i

15、下列程序执行后输出的结果是( )。

int d=1

fun (int p)

{ int d=5

d + =p + +

printf("%d,",d)}

main( )

{ int a=3

fun(a)

d + = a + +

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

A. 8, 4

B. 9, 6

C. 9, 4

D. 8, 5

16、表达式:10!=9的值是( )。

A. true

B. 非零值

C. 0

D. 1

17、若有说明: int i,j=7, *p=&i, 则与i=j等价的语句是( )。

A. i= *p

B. *p=*&j

C. i=&j

D. i=* *p

18、不能把字符串:Hello!赋给数组b的语句是( )。

A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’}

B. char b[10]b="Hello!"

C. char b[10]strcpy(b,"Hello!")

D.char b[10]="Hello!"

19、在C程序中有如下语句:char *func(int x,int y)它是( )。

A. 对函数func的定义。

B. 对函数func的调用。

C.对函数func的原型说明。

D. 不合法的。

20、以下程序的输出结果是( )。

char str[15]=”hello!”

printf(“%d\n”,strlen(str))

A. 15

B. 14

C. 7

D. 6

参考答案:

1、B 2、C 3、D 4、C 5、C 6、D 7、C 8、D 9、C 10、D

11、D 12、D 13、B 14、B 15、A 16、D 17、B 18、B 19、C 20、D

C 程序设计试题库C语言概述练习题

1.一个C程序的执行是从( )

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序文件的第一个函数开始,到本程序main函数结束

2.以下叙述正确的是:( )

A.在C程序中,main函数必须位于程序的最前面

B.程序的每行中只能写一条语句

C.C语言本身没有输入输出语句

D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误

3.以下叙述不正确的是:( )

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

4.C语言规定:在一个源程序中,main的位置( )

A.必须在最开始

B.必须在系统调用的库函数后面

C.可以任意

D.必须在最后

5.一个C语言程序是由( )

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

B.函数组成

C.若干过程组成

D.若干子程序组成

6.C源程序的基本单位是____________

7.一个C源程序中至少包括一个____________

8.在一个C源程序中,注释部分两侧的分界符分别为____________ 和____________

9.在C语言中,输入操作是由库函数____________ 完成的,输出操作是由库函数____________ 完成的

c语言模拟练习题

一、 判断题(2×8=16分)

1、Printf()函数总是从新行的起始位置开始打印。 ( )

2、所有的变量在使用前都必须予以申明。( )

3、在申明变量时必须给出变量的类型。( )

4、C语言认为变量number和NuMbEr是相同的。( )

5、打印三行输出的C语言程序必须用三条printf语句。( )

6、求余运算符%只能用于两个整数操作数。( )

7、switch选择结构中必须有default子句。( )

8、如果x>y或a<b为真,那么表达式(x>y&&a<b)为真。( )

二、 选择题(3×16=48分)

1、下面实现换行功能的格式符为 。( )

A. \t B. \n C. \a D. \k

2. C语言程序由什么组成?(单选)

A. 子程序 B. 主程序和子程序 C. 函数 D. 过程

3. 下面哪个表达式的值为4.

A. 11/3 B. 11.0/3

C. (float)11/3 D. (int)(11.0/3+0.5)

4. 该源程序执行后,屏幕上显示什么?

void main()

{

int a

float b

a=4

b=9.5

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

}

A. a=%d,b=%f\n B. a=%d,b=%f

C. a=4,b=9.50 D. a=4,b=9.5

5. 若有以下说明语句:

char s='\\\092'

则下面哪一项是正确的.

A. 使s的值包含2个字符 B. 说明语句不合法

C. 使s的值包含6个字符 D. 使s的值包含4个字符

6.若k,g均为int型变量,则以下语句的输出为哪一项?

int k,g

k=017

g=111

printf("%d,",k)

printf("%x\n",g)

A. 15,6f B. f,6f C. f,111 D. 15,111

7. 在C语言的if语句中,用作判断的表达式为___。

A. 关系表达式 B. 逻辑表达式

C. 算术表达式 D. 任意表达式

8. 请问:下面这个程序段的输出是什么?

int a,b,c

a=7b=8c=9

if(a>b)

a=b,b=cc=a

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

A. a=7 b=8 c=7 B. a=7 b=9 c=7

C. a=8 b=9 c=7 D. a=8 b=9 c=8

9. 下面这个程序的输出是什么?

#include <stdio.h>

main()

{

int y=10

while(y--)

printf("y=%d\n",y)

}

A. y=0 B. while构成死循环 C. y=1 D. y=-1

10. 若有以下说明和语句,则输出结果是___。

char str[]="\"c:\\abc.dat\""

printf("%s",str)

A. 字符串中有非法字符 B. \"c:\\abc.dat\"

C. "c:\abc.dat" D. "c:\\abc.dat"

11. 如果要把常量327存入变量a中,a不能定义成哪些类型?

A. int B. char C. long D. float

12. C语言中,预处理总是以 符号开头。 ( )

A. ¥ B.# C. @ D. ◇

13. C语言中,double类型的数据占 个字节的空间。( )

A. 1 B.2 C. 4 D. 8

14. 下面语句执行完后,b的值为 。 ( )

int a=b=10

b=10+(a++)

A. 10 B.19 C. 20 D. 21

15. 这段程序中的常量有: (多选) ( )

#define PI 3.14

void main()

{

int sum

sum = 10 + 15

printf("sum=%d\n",sum)

printf("result is 25\n")

}

这段程序中常量有:

A. 10 B. sum C. 15

D. 25 E. main F. PI

16. 指出下面错误的表达式:(多选) ( )

A. a+b=5 B. 56=a11 C. i=i++

D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=7

三、 填空题(3×8=24分)

1、C语言程序都是从 函数开始执行。

2、函数体用 开始,用 结束。

3、C语言的语句都以 结束。

4、执行循环结构中的 语句能够立即执行下一次循环。

5、执行循环结构或switch结构中的 语句能够立即退出该结构。

6、输出字符串的格式化符为 。

7、C语言中数组名表示数组的 。

1.60~69

<60

error!

2.**1**

**3**

3.C

4.sjhiu

5.2*x+4*y==90 或 4*x+2*y==90

6.C