C语言程序设计试题

一、单项选择题(20道小题,共40分)
1、以下不合法的字符常量是( )。(2分)
A、"\n" B、'a'
C、'\123' D、'\n'

2、以下合法的赋值语句是( )。 (2分)
A、x=y=100 B、d--;
C、x + y D、c = int(a+b);

3、以下选项中不合法的标识符是( )。(2分)
A、1_ B、a1
C、a_1 D、_1a

4、以下选项中,当x为大于1的奇数时,值为0的表达式( )。 (2分)
A、x%2==1 B、x/2
C、x%2!=0 D、x%2==0

5、把数学表达式-5≤x<10表示成C语言表达式( )。(2分)
A、-5≤x<10 B、x≥-5&&x<10
C、x>=-5&&x<10 D、-5=< x, x < 10

6、在循环结构的循环体中执行break语句,其作用是( )。(2分)
A、结束本次循环,进行下次循环 B、继续执行break语句之后的循环体中各语句
C、跳出该循环体,提前结束循环 D、终止程序运行

7、若有如下定义变量:int K=7,X=12;则能使值为3的表达式是( )。(2分)
A、X%=(K%=5) B、X%=(K-K%5)
C、X%=K-K%5 D、(X%=K)-(K%=5)

8、在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。(2分)
A、a<>0 B、!a
C、a=0 D、a

9、表达式"0?(0?3:2):(10?1:0)"的值为( )。(2分)
A、3 B、2
C、1 D、0

10、对以下for循环:for(x=0,y=0;(y!=123)&&(x<4);x++,y++;叙述正确的是( )。(2分)
A、是无限循环 B、循环次数不定
C、执行了4次 D、执行了3次

11、若已定义a=8,b=2则表达式a||b&&(a-b*4)的运行结果是( )。(2分)
A、8 B、1
C、0 D、2

12、在以下运算符中,优先级最高的运算符是( )。(2分)
A、<= B、/
C、!= D、&&

13、计算机能直接执行的程序是( )。(2分)
A、源程序 B、目标程序
C、汇编程序 D、可执行程序

14、对for(表达式1;;表达式3)可理解为( )。(2分)
A、for(表达式1;0;表达式3) B、for(表达式1;1;表达式3)
C、for(表达式1; 表达式1;表达式3) D、for(表达式1; 表达式3;表达式3)

15、C语言源程序名的后缀是( )。(2分)
A、.exe B、.c
C、.obj D、.cp

16、以下正确的是( )。(2分)
A、do-while语句构成的循环不能用其它语句构成的循环来代替 B、do-while语句构成的循环只能用break语句退出
C、用do-while语句构成循环时,只有在while后的表达式非零时结束循环 D、用do-while语句构成循环时,只有在while后的表达式为零时结束循环

17、在C语言中,要求运算对象必须是整数的运算符是( )。(2分)
A、% B、/
C、< D、1

18、若变量c为char类

型,能正确判断出c为小写字母的表达式是( )。 (2分)
A、'a'<=c<='z' B、(c>='a')||(c<='z')
C、('a'<=C)and('z'>=C) D、(c>='a')&&(c<='z')

19、以下叙述中正确的是( )。(2分)
A、C语言程序将从源程序中第一个函数开始执行 B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D、main可作为用户标识符,用以命名任意一个函数作为主函数

20、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )。 (2分)
A、-3 B、9
C、-12 D、6



二、填空题(13道小题,共26分)
1、以下程序的功能是计算s=1+12+123+1234+12345。请填空。
main()
{ int t=0,s=0,i;
for(i=1;i<=5;i++)
{ t=i+; s=s+t; }
printf("s=%d\n",s);
}


(2分)


--------------------------------------------------------------------------------

2、设y为int型变量,请写出描述"y是奇数"的表达式。


(2分)


--------------------------------------------------------------------------------

3、在变量说明中给同类变量赋初值时,各变量之间用隔开。


(2分)


--------------------------------------------------------------------------------

4、赋值语句是由赋值表达式加上构成的。


(2分)


--------------------------------------------------------------------------------

5、若a=1,b=2则表达式a

(2分)


--------------------------------------------------------------------------------

6、已知: int a=1,b=1,c=1;执行完表达式c=++a&&b++后,变量b的值是。


(2分)


--------------------------------------------------------------------------------

7、有int x=2,y=3;且y+=(x++),则x=。

(2分)


--------------------------------------------------------------------------------

8、下面程序段中循环体的执行次数是次。
a=10;b=0;
do
{b=b+2;a-=2+b;}
while(a>=0);


(2分)


--------------------------------------------------------------------------------

9、执行下面程序段后,k的值是。
k=1;
n=263;
do
{
k*=n%10;
n=n/10;
}
while(n);


(2分)


--------------------------------------------------------------------------------

10、有int x,y,z;且x=3.2,y=4.2,z=2,则表达式z=(x+y)/z的值为。


(2分)


--------------------------------------------------------------------------------

11、若k为int整型变量且赋值7,x为double型变量且赋值8.4,赋值表达式k=x的运算结果是。


(2分)


--------------------------------------------------------------------------------

12、使用getchar()函数前必须包含头文

件。


(2分)


--------------------------------------------------------------------------------

13、由顺序、选择、循环三种基本结构构成的程序叫 程序。


(2分)


--------------------------------------------------------------------------------



三、简答题(6道小题,共24分)
1、下列程序的运行结果是什么?
main()
{int y=10;
while(y- -); printf("y=%d\n",y);
}


(4分)







--------------------------------------------------------------------------------

2、有以下程序,执行后输出结果是什么?
main( )
{ int i;
for ( i=0; i<3; i++ )
switch ( i )
{ case 1 : printf("%d ", i);
case 2 : printf("%d ", i);
default : printf("%d ", i);
}
}

(4分)







--------------------------------------------------------------------------------

3、如下程序的执行结果是什么?
main()
{ int i,sum=0;
for(i=1;i<=3;sum++)
sum+=i;
printf("%d\n",sum);
}


(4分)







--------------------------------------------------------------------------------

4、有以下程序,执行后输出结果是什么?
main()
{ int i=0,s=0;
do
{
if (i%2)
{
i++;
continue;
}
i++;
s += i;
}
while( i<7 );
printf("%d\n", s);
}


(4分)







--------------------------------------------------------------------------------

5、以下程序的输出结果是什么?
void main()
{ int a, b;
for(a=1, b=1; a<=100; a++)
{
if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf("%d\n",a);
}

(4分)







--------------------------------------------------------------------------------

6、以下程序的输出结果是什么?
#include
int main()
{int m=5;
if(m++>5)
printf("%d",m);
else
printf("%d",m--);
return 0;
}

(4分)







--------------------------------------------------------------------------------



四、编程题(2道小题,共10分)
1、编程判断输入的一个正整数是否既是5的又是7的倍数,若是则输出YES,否则输出NO。
(5分)
(本题不要求填写运行结果)
请将你解答本题所写的源程序粘贴到下面或者上载源程序




--------------------------------------------------------------------------------

2、在全系1000名学生中,征集慈善募捐,当总人数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。
(5分)
(本题不要求填写运行结果)
请将你解答本题所写的源程序粘贴到下面或者上载源程序




------------------------------------------------------------------------------

--





相关主题
相关文档
最新文档