admin 管理员组

文章数量: 887021


2023年12月24日发(作者:imgplay安卓版官方下载)

;

C语言程序设计

一、选择题(共40分,每小题2分)

1、以下叙述不正确的是(D)

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

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

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

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

2、下列四个选项中,是不合法的用户标识符的选项是(B)

A、abcB、12ACC、sunD、A

3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A)

A、-24B、0C、4D、16

4、下列运算符中优先级最高的是(B)

A、

5、在C语言中,运算对象必须是整型数的运算符是(A)

A、%B、/C、%和/D、+

6、以下关于运算符的优先顺序的描述正确的是(C)

A、关系运算符<算术运算符<赋值运算符<逻辑与运算符

B、逻辑与运算符<关系运算符<算术运算符<赋值运算符

C、赋值运算符<逻辑与运算符<关系运算符<算术运算符

D、算术运算符<关系运算符<赋值运算符<逻辑与运算符

7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C)

sum=pad=5;pAd=sum++,pAd++,++pAd;

printf(“%dn”,pad);

A、7B、6C、5D、4

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

A、INPUTx、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);

9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)

voidmain()

{intm,n;

scanf(“%2d%3d”,&m,&n);

printf(“m=%dn=%dn”,m,n);

}

A、m=23n=45B、m=234n=56C、m=23n=456D、语句有错误

10、若运行时,给变量x输入12,则以下程序的运行结果是(A)

main()

{intx,y;

scanf(“%d”,&x);

y=x>12?x+10:x-12;

..

;

printf(“%dn”,y);

}

A、0B、22C、12D、10

11、C语言中while和do-while循环的主要区别(A)

A、do-while的循环体至少执行一次

B、while的循环控制条件比do-while的循环控制条件严格

C、do-while允许从外部转到循环体内

D、do-while的循环体不能是复合语句

12、以下对二维数组的正确说明的语句是(C)

A、inta[3][]B、floata(3,4)C、doublea[3][4]D、floata(3)(4)

13、以下程序的输出结果是(C)

main()

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

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

printf(“%d”,x[i][2-i]);

}

A、1,5,9B、1,4,7C、3,5,7D、3,6,9

14、以下能对一维数组a进行正确初始化的语句是(C)

A、inta[10]=(0,0,0,0,0);B、inta[10]={};

C、inta[10]={0};D、inta[10]={10*1};

15、以下程序执行后的输出结果是:(A)

intfun(inta,intb,intc)

{a=456;b=567;c=678;

}

voidmain()

{intx=10,y=20,z=30;

z=fun(x,y,z);

printf(“%d,%d,%dn”,z,y,x);

}

A、30,20,10B、10,20,30

C、10,30,50D、10,30,40

16、以下说法正确的是(A)

如果在一个函数中的复合语句中定义了一个变量,则该变量

A、只在该复合语句中有效

B、在该函数中有效

C、在本程序范围内有效

D、为非法变量

17、以下函数调用语句中含有的实参个数为(B)

func((exp1,exp2,exp3),(exp4,exp5));

A、1B、2C、4D、5

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

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

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

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

D、函数的定义和函数的调用都可以嵌套

19、请读程序

..

;

longfun5(intn)

{longs;

if((n==1)||(n==2))

s=2;

else

s=n+fun5(n-1);

return(s);

}

main()

{longx;

x=fun5(4);

printf(%ldn”,x);

}

上面的程序的运行结果是(A)

A、9B、10C、12D、18

20、若有下面的变量定义,以下语句中合法的是D)。

inti,a[10],*p;

A、p=a+2;B、p=a[5];C、p=a[2]+2;D、p=&(i+2);

二、填空题(共20分,每空1分)

1、若a是int型变量,且a的初值为6,则计算表达式a+=(b=4)+(c=2)后,a的值为12。

2、C语言中三种逻辑运算符为&&、||____、__!_。

3、在C语言中,逻辑“真”值用1表示,逻辑“假”值用0表示。

4、如a是int型变量,则计算表达式a=25/3%3后a的值为2。

5、若a=1,b=4,c=3,则表达式!(a

6、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。

7、常见的循环语句有while语句、do-while语句和for语句。

8、若有定义:doublex[3][5];则x数组中行下标的下限为2___,列下标的下限为__4__。

9、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是_______,a[2][2]得到的初值是,a[0][2]得到的初值是。

10、在C语言中,一个函数由函数头和函数体两部分组成,函数体一般包括声明部分和执行部分。

三、程序分析题(20分,每题5分)

1、以下程序的输出结果是852

main()

{inty=10;

for(;y>0;y--)

if(y%3==0)

{printf(“%d”,--y);

continue;

}

}

2、有以下程序段,若输入1298,则输出结果是8921

main()

{

intn1,n2;

scanf(“%d”,&n2);

..

;

while(n2!=0)

{n1=n2%10?;

n2=n2/10;

printf(“%d”,n1);

}

3、以下程序的输出结果是d1=7d2=5

#include“stdio.h”

fun(intb)

{intd=5;

d+=b++;

printf(“d1=%dn”,d);

}

main()

{inta=2,d=3;

Fun(a);

d+=a++;

printf(“d2=%dn”,d);

}

4、以下程序的输出结果是k=5

#include“stdio.h”

f(intn)

{switch(g)

{case0:return0;

case1:

case2:return1;

}

return(f(g-1)+f(g-2));

}

main()

{intk;

k=f(5);

printf(“k=%d”,k);

}

四、编程题.(共20分,每小题10分)

1、编程求1+2+3+……+99+100.

2、输入一同学成绩,判断其成绩等级。

等级范围为:

90以上等级为A

89~80等级为B

79~70等级为C

69~60等级为D

60以下等级为E

C语言程序设计参考答案

一、选择题

1---------5DBABA

6---------10CCBCA

..

;

11--------15ACCCA

16--------20ABBAD

二、填空题

1)、122)、&&||!3)、10

4)、25)、16)、07)、whilefor

8)、249)、08010)、函数头函数体

声明执行

三、程序分析

1)、8522)、89213)、d1=74)、k=5

d2=5

四、编程

1、#include

main()

{intsum=0,i;

for(i=1;i<=100;i++)

sum=sum+I;

printf(“1+2+……+100=%dn”,sum);

}

2、

#include

main()

{floatscore;

scanf(“%f”,&score);

switch(score/10)

{case10:

case9:printf(“yourscoreisAn”);break;

case8:printf(“yourscoreisBn”);break;

case7:printf(“yourscoreisCn”);break;

case6:printf(“yourscoreisDn”);break;

default:printf(“yourscoreisEn”);

}

}

..


本文标签: 语句 运算符 程序 函数 结果