C语言模拟试题

  • 格式:doc
  • 大小:43.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟试题五

一、选择题(本大题30分,每小题2分)

1.下列说法正确的是。

A)在执行C程序时不是从mian函数开始的

B)C程序书写格式严格限制,一行内必须写一个语句

C)C程序书写格式自由,一个语句可以分写在多行上

D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号

2.设有以下定义,则能使值为3的表达式是:。

int k=7, x=12;

A)x%=(k%=5) B)x%=(k-k%5)

C)x%=k D)(x%=k)-(k%=5)

3.以下选项中是C语言的数据类型的是:。

A)复数型B)逻辑型

C)双精度型D)集合型

4.下面能正确表示变量a在区间[0,5]或(6,10)内的表达式为:。

A)0<=a || a<=5 ||6

B)0<=a&&a<=5 || 6

C)(0<=a||a<=5)&&(6

D)0<=a&&a<=5&&6

5.已知字母A的ASCII码为十进制65,下面程序段的运行结果为:。

char ch1,ch2;

ch1= …A‟+5-3; ch2= …A‟+6-3;

printf(“%d, %c\n”, ch1,ch2);

A)67, D B)B, C

C)C, D D)不确定值

6.根据定义和数据的输入方式,输入语句的正确形式为:。

已有定义:float a1, a2;

数据的输入方式: 4.523

3.52

A)scanf(“%f %f ”, &a1,&a2);

B)scanf(“%f ,%f ”, a1, a2);

C)scanf(“%4.3f ,%3.2f ”, &a1,&a2);

D)scanf(“%4.3f %3.2f ”, a1,a2);

7.在C语言中,多分支选择结构语句为:

switch(c)

{ case 常量表达式1:语句1;

……

case 常量表达式n-1:语句n-1;

default 语句n;}

其中括号内表达式c的类型:。

A)可以是任意类型B)只能为整型

C)可以是整型或字符型D)可以为整型或实型

8.以下能对二维数组a进行正确说明和初始化的语句是:。

A)int a( )(3)={ ( 1, 0, 1 ), ( 2, 4, 5 ) }

B)int a[2][]={ { 3, 2, 1 }, { 5, 6, 7 } }

B)int a[][3]={ { 3, 2, 1 }, { 5, 6, 7 } }

D)int a(2)( )={ ( 1, 0, 1 ), ( 2, 4, 5 ) }

9.下面有关形参的说明语句中正确的是:。

A)形参在被调函数中定义,当被调定义完后形参就将占用内存空间,并将获得值。

B)形参只有在发生函数调用时才会被分配内存空间,才会获得值,且调用结束后又会消失。

C)形参将会在程序编译阶段获得内存空间和值,且在整个程序运行过程中都将保持。

D)以上说法都不正确。

10.以下程序的输出结果是:。

main( )

{ int I=012, j=12, k=0x12;

printf(“%d,%d,%d\n”,I, j, k );

A)10, 12, 18 B)12, 12, 12

C)10, 12, 12 D)12, 12, 18

11.以下叙述中不正确的是。

A) C语言中的文本文件以ASCII码形式存储数据

B) C语言中对二进制位的访问速度比文本文件快

C) C语言中,随机读写方式不使用于文本文件

D) C语言中,顺序读写方式不使用于二进制文件

12.以下程序的运行结果是:。

main( )

{ int n=4;

while(n--)

printf (“%2d”,--n);}

A)2 0 B)3 1

C)3 2 1 D)2 1 0

13.以下程序的功能是:按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

main()

{int n,k;

float score,sum,ave;

sum=0.0;

for(n=1;n<=10;n++)

{for(k=1;k<=4;k++)

{scanf("%f",&score);sum+=score};}

ave=sum/4.0;

printf("NO%d:%f\n",n,ave);

}

}

上述程序有一条语句出现在程序的位置不正确。这条语句是。

A)sum=0.0; B)sum+=score;

C)ave=sum/4.0; D)printf("NO%d:%f\n",n,ave);

14.设有如下函数定义:

int f(char * s)

{ char *p=s;

while(*p!= …\0‟ ) p++;

return(p-s); }

如果在主函数中用下面语句调用该函数,则输出结果应为:。

printf(“%d\n”, f(“goodbye!”) );

A)3 B)6 C)8 D)0

15.下面程序的输出结果是:。

int m=13;

int fun( int x, int y)

{ int m=3;

return( x*y-m); }

main( )

{ int a=7,b=5;

printf(“%d\n”, fun(a,b)/m); }

A)1 B)2 C)7 D)10

二、判断题(本大题10分,每小题1分)

1.C程序是按书写的顺序执行的。()

2.在C语言中,int、char和short三种类型数据在内存中所占用的字节数都是一样的。()

3. 在C程序中语句是以分号结束的。()

4.在C语言的if语句中,else可以单独出现。()

5.在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一次循环结构;continue语句用来结束一层循环。()

6.C语言中while和do-while循环的主要区别是do-while语句的循环体至少会被执行一次,而while语句的循环体则可能一次也不执行。()

7.数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。()

8.在C语言中,函数strcpy是用来连接字符串的。()

9.函数的返回值类型是由函数的类型和return语句中表达式的类型共同决定的,当这两类型不一致时最终起决定作用的是return中表达式的类型。()

10.由于指针变量存储的是地址,指针变量被定义之后可以指向任一类型的变量。()

三、程序填空题(本大题12分,每小题2分)

1.以下程序可求出所有水仙花数(指3位正整数中各位数字立方和等于该数本身,如153=13+53+33),请填空。

main( )

{ int x, y ,z, a[10], m, i=0;

printf(“shui xian huan shu :\n”);

for(____(1)____;m<1000;m++)

{ x=m/100;

y=____(2)____;

z=m%10;

if(m==x*x*x+y*y*y*y+z*z*z)