C语言程序设计试题及答案

更新时间:2024-03-04 17:20:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言程序设计

一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D )

A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数

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

2、下列四个选项中,是不合法的用户标识符的选项是( B ) A、abc B、12AC C、sun D、 A

3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是(A ) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是( B )

A、< B、+ C、&& D、==

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(“%d\\n”,pad);

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

8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B ) A、 INPUT x、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 )

void main ( ) { int m,n;

scanf(“-=”,&m,&n); printf(“m=%d n=%d\\n”,m,n); }

A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是( A ) main( )

{ int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\\n”,y);

}

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

11、C语言中while和do-while循环的主要区别( A ) A、do-while的循环体至少执行一次

B、while 的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句

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

A、int a[3][] B、float a(3,4) C、double a[3][4] D、float a(3)(4) 13、以下程序的输出结果是(C) main( )

{ int i,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,9 B、1,4,7 C、3,5,7 D、3,6,9 14、以下能对一维数组a进行正确初始化的语句是( C ) A、int a[10]=(0,0,0,0,0); B、 int a[10]={ }; C、int a[10]={0}; D、 int a[10]={10 *1}; 15、以下程序执行后的输出结果是:( A ) int fun( int a,int b,int c) { a=456;b=567;c=678; }

void main( )

{ int x=10,y=20,z=30; z=fun(x,y,z);

printf(“%d,%d,%d\\n”,z,y,x); }

A、30,20,10 B、10,20,30 C、10,30,50 D、10,30,40 16、以下说法正确的是(A)

如果在一个函数中的复合语句中定义了一个变量,则该变量 A、 只在该复合语句中有效 B、 在该函数中有效 C、 在本程序范围内有效 D、为非法变量

17、以下函数调用语句中含有的实参个数为(B ) func((exp1,exp2,exp3),(exp4,exp5)); A、1 B、2 C、4 D、5

18、在C语言程序中,以下说法正确的是( B )。 A、函数的定义可以嵌套,但函数的调用不可以嵌套 B、函数的定义不可以嵌套,但函数的调用可以嵌套 C、函数的定义和函数的调用都不可以嵌套 D、函数的定义和函数的调用都可以嵌套

19、请读程序 long fun5(int n) {long s;

if((n==1)||(n==2)) s=2; else

s=n+fun5(n-1); return (s); }

main( ) {long x;

x=fun5(4); printf(%ld\\n”,x); }

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

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

20、若有下面的变量定义,以下语句中合法的是D )。 int i,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,则表达式!(ab>c的值是 0 。

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

8、若有定义:double x[3][5];则x数组中行下标的下限为2___,列下标的下限为__4__。 9、若有定义:int a[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( ) {int y=10;

for(;y>0;y--) if(y%3==0)

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

continue; } }

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

int n1,n2; scanf(“%d”,&n2); while (n2!=0) { n1=n2 ;

n2=n2/10; printf(“%d”,n1); }

3、以下程序的输出结果是 d1=7 d2=5 #include “stdio.h” fun(int b) { int d=5; d+=b++;

printf(“d1=%d\\n”,d); }

main( )

{int a=2,d=3; Fun(a); d+=a++;

printf(“d2=%d\\n”,d); }

4、以下程序的输出结果是 k=5 #include “stdio.h” f(int n) {switch(g)

{case 0:return 0; case 1:

case 2:return 1; }

return (f(g-1)+f(g-2)); } main( ) {int k; 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---------5 DBABA 6---------10CCBCA 11--------15ACCCA 16--------20ABBAD 二、填空题

1)、12 2)、&& || ! 3)、1 0 4)、2 5)、1 6)、0 7)、while for 8)、2 4 9)、0 8 0 10)、函数头 函数体 声明 执行 三、程序分析 1)、852 2)、8921 3)、d1=7 4)、k=5 d2=5 四、编程

1、#include main()

{int sum=0,i;

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

printf(“1+2+??+100=%d\\n”,sum); } 2、

#include main()

{ float score;

scanf(“%f”,&score); switch (score/10) { case 10:

case 9: printf(“your score is A\\n”); break; case 8: printf(“your score is B\\n”);break; case 7: printf(“your score is C\\n”);break; case 6: printf(“your score is D\\n”);break; default: printf(“your score is E\\n”); } }

本文来源:https://www.bwwdw.com/article/s0xa.html

Top