搜档网
当前位置:搜档网 › 郑州大学c语言考试题1

郑州大学c语言考试题1

郑州大学c语言考试题1
郑州大学c语言考试题1

【HNCE 网上考试系统 v9.6】 本套软件使用权属于:郑州大学

考试课程: 考试时间:100分钟 考场:第一考场 考试日期:2013.05.24

考号:11100000000 姓名: 剩余时间: 99:41 保存 交卷 退出 帮助

本卷共有3道大题:

一、单项选择题(50道小题,共50分)

1、一个C 语言程序是由( )。(1分)

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

B 、函数组成

C 、若干过程组成

D 、若干子程序组成

2、一个C 程序的执行是从( )。(1分)

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

B 、本程序文件的第一个函数开始,到本程序文件的最

后一个函数结束

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

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

3、以下叙述中,不正确的是( )。(1分)

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

B 、一个

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

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

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

4、若有语句:int x=3;do{printf("%d\n",x-=2);}while(!(--x));,则程序段( )。(1分)

A 、输出的是1

B 、输出的是1和-2

C 、输出的是3和0

D 、是死循环

5、下列四个选项中,都是合法的转义字符的是( )。(1分)

A 、'\''、'\\'、'\n'

B 、'\'、'\017'、'\"'

C 、'\018'、'\f'、'xab'

D 、'\\0'、'\101'、'x1f'

6、若有定义:int a=7;float x=2.5,y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是( )。(1分)

A 、2.500000

B 、2.7500OO

C 、3.500000

D 、0.000000

7、若x,i,j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后,x的值为()。(1分)

A、4

B、16

C、32

D、52

8、表达式18/4*sqrt(4.0)/8值的数据类型为()。(1分)

A、int

B、float

C、double

D、不确定

9、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式()。(1分)

A、从左起输出该字串,右补空格

B、按原字符长从左向右全部输出

C、右对齐输出该字串,左补空格

D、输出错误信息

10、已知程序段:int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);,当输入数据的形式为:25,13,10,正确的输出结果为()。(1分)

A、x+y+z=48

B、x+y+z=35

C、x+y+z=35

D、不确定值

11、下面四个选项中,均是不合法的用户标识符的选项是()。(1分)

A、A、P_0、do

B、float、1a0、_A

D、_123、temp、

C、b-a、goto、int

INT

12、x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x、y和z的值是()。(1分)

A、x=10、y=15、z=10

B、x=10、y=10、z=10

C、x=10、y=10、z=15

D、x=10、y=5、z=10

13、以下叙述中,正确的叙述是()。(1分)

B、若a是实型变量,C程序中允许赋值a=10,因此实型

A、在C程序中,每行中只能写一条语句

变量中允许存放整型数

C、在C程序中,无论是整数还是实数,都能被准确无误

D、在C程序中,%是只能用于整数运算的运算符

地表示

14、已有定义和输入语句:int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()。(1分)

A 、10A 20B

B 、10 A 20 B

C 、10A20

D 、10A20 B

15、若希望当A 的值为奇数时,表达式的值为“真”, A 的值为偶数时,表达式的值为“假”。则以下不能满足要求的

表达式是( )。(1分)

A 、A%2==1

B 、!(A%2==0)

C 、!(A%2)

D 、A%2

16、判断char 型变量c1是否为小写字母的正确表达式为( )(1分)

A 、'a'<=cl<='z'

B 、(cl>=a)&&(cl<=z)

C 、('a'>=cl)||('z'<=cl)

D 、(c1>='a')&&(cl<='z')

17、设x,y 和z 是int 型变量,且x = 3,y= 4,z= 5,则下面表达式中值为0的是( )(1分)

A 、'y'&&'y'

B 、x<=y

C 、x||y+z&&y-z

D 、!(x

18、执行程序段:int w=3,z=7,x=10;x>10?x+100:x-10;w++||z++;!w>z;printf("%d\n",w&&z);后,输出结果是

( )。(1分)

A 、0

B 、1

C 、2

D 、3

19、有两个字符数组a 和b ,则以下正确的输入语句是( )。(1分)

A 、gets(a,b);

B 、scanf("%s%s",a,b);

C 、scanf("%s%s",&a,&b);

D 、gets("a"),gets("b");

20、以下叙述中,不正确的叙述是( )。(1分)

A 、在C 程序中,逗号运算符的优先级最低

B 、在

C 程序中,APH 和aph 是两个不同的变量

C 、若a 和b 类型相同,在执行了赋值表达式a=b 后b

中的值将放人a 中,而b 中的值不变 D 、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

21、下面不正确的字符串常量是( )。(1分)

A、'abc'

B、"12'12"

C、"0"

D、""

、下面四个选项中,均是合法整型常量的选项是()。(1分)

A、160、-0xffff、011

B、-0xcdf、01a、0xe

C、-01、986,012、0668

D、-0x48a、0x、2e5

、循环语句for(x=0,y=0;(y=123)&&(x<4);x++); 的执行次数是()。(1分)

A、是无限循环

B、循环次数不定

C、执行4次

D、执行3次

、当a=1,b=3,c=5,d=4,执行程序段:if(a

1分)

A、1

B、2

C、3

D、6

、若运行int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);时,给变量x输入12,则以下程序的运行结果是()(1分)

A、0B、22

C、12

D、10

以下程序:

a,b;scanf("%f",&a);if(a<10.0)b=1.0/a;else if((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);else if(a<10.0) b=1.0/x ;else b=10.0;printf("%f\n 时,输入2.0(回车),则上面程序的输出结果是()。(1分)

A、0.000000

B、0.500000

C、1.000000

D、0.250000

、以下不正确的语句为()。(1分)

A、if(x>y);

B、if(x=y) && (x!=0) x+= y;

C、if(x!=y)scanf("%d",&x);else scanf("%d",&y);

D、if(x

、以下if语句语法正确的是()。(1分)

A、if(x>0)printf("%f",x)else printf("%f",- -x);

B、if(x>0){x=x+y;printf("%f",x);}else printf("f",-x);

C 、if(x>0){x=x+y;prinrf("%f",x);};else printf("%f",-x);

D 、

if(x>0){x=x+y;printf("%f",x)} else printf("%f",-x);

29、若i 为整型变量,则for(i=2;i==0;)printf("%d",i-- );循环执行次数是( )。(1分)

A 、无限次

B 、0次

C 、1次

D 、2次

30、有以下程序段:int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);,则( )。(1分)

A 、运行程序段后输出0

B 、运行程序段后输出1

C 、程序段中的控制表达式是非法的

D 、程序段执行无限次

31、逻辑运算符两侧运算对象的数据类型( )。(1分)

A 、只能是0或1

B 、只能是0或非0正数

C 、只能是整型或字符型数据

D 、可以是任何类型的数据

32、在C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。(1分)

A 、整型常量

B 、整型表达式

C 、整型常量或整型表达式

D 、任何类型的表达式

33、以下能对一维数组a 进行正确初始化的语句是( )。(1分)

A 、int a[10]=(0,0,0,0,0)

B 、int a[10]={}

C 、int a[]={0};

D 、int a[10]={10*1};

34、若有说明:int a[10];,则对a 数组元素的正确引用是( )。(1分)

A 、a[10]

B 、a[3.5]

C 、a[15]

D 、a[10-10]

35、下面描述中,正确的是( )。(1分)

A 、两个字符串所包含的字符个数相同时,才能比较字

符串 B 、字符个数多的字符串比字符个数少的字符串大

C、字符串" STOP"(注:有一个空格)与"STOP"相等

D、字符串"That"小于字符串"The"

36、判断字符串a 和b 是否相等,应当使用( )。(1分)

A 、if(a= =b)

B 、if(a=b)

C 、if(strcpy(a,b))

D 、if(strcmp(a,b))

37、定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};,则语句

for(k=0;k<3;k++) printf("%d",a[2-k][k]);的输出结果是( )。(1分)

A 、3 6 9

B 、7 5 3

C 、9 6 3

D 、3 5 7

38、以下不能对二维数组a 进行正确初始化的语句是( )。(1分)

A 、int a[2][3]={0};

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

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

D 、int a[][3]={{1,0,1},{},{1,1}};

39、若有说明:int a[3][4];,则对a 数组元素的非法引用是( )。(1分)

A 、a[0][2*1]

B 、a[1][3]

C 、a[4-2][0]

D 、a[0][4]

40、若有说明:int a[][4]={0,0};,则下面不正确的叙述是( )。(1分)

A 、数组a 的每个元素都可得到初值0

B 、二维数组a 的第一维大小为1

C 、因为二维数组0中第二维大小的值除以初值个数的

商为1,故数组a 行数为1 D 、只有元素a[0][0]和a[0][1]可得初值0,其余元素均得不到初值0

41、以下各组选项中,均能正确定义二维实型数组a 的选项是( )。(1分)

A 、float a[3][4];、float a[][4];、

float a[3][]={{1},{0}};

B 、float a(3,4);、float a[3][4];、float a[][]={{0},{0}};

C 、float a[3][4];、

static float a[][4]={{0},{0}};、

auto float a[][4]={{0},{0},{0}}; D 、float a[3][4];、float a[3][];、float a[][4]

42、以下能对二维数组a 进行正确初始化的语句是( )。(1分)

A 、int a[2][]={{1,0,1},{5,2,3}};

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

相关主题