C语言程序设计模拟试题4(附答案)

更新时间:2023-04-24 03:46:01 阅读量: 实用文档 文档下载

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

福建省计算机二级考试资料

《C语言程序设计》模拟试卷四

一、 单项选择题(每题2分,共30分)

1、下列对C语言特点的描述中,错误的是 。

A)C语言不是结构化程序设计语言

B)C语言编程简洁明了

C)C语言功能较强

D)C语言移植性好

2、设变量a是整型,b是实型,c是双精度型,则表达式2+‘ a ’+b*c值的数据类型 。

A)int B)float C)double D)不确定

3、在a=2,b=0,c;则执行c=b||a--;语句后,a和c的结果是 。

A)0,1 B)1,0 C)1,1 D)2,0

4、在scanf()函数的给是说明符中,长整型数的输入格式说明符是 。

A)%d B)%ld C)%lf D)%x

5、以下程序的执行结果是 。

main()

{ int n=1;

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

A)1,1,1 B)1,2,1 C)0,1,1 D)1,2,2

6、判断char型变量ch是否为大写字母的正确表达式是 。

A)‘A’<=ch<=‘Z’

B)(ch>=‘A’)&(ch<=‘Z’)

C)(‘A’<=ch)AND(‘Z’>=ch)

D)(ch>=‘A’)&&(ch<=‘Z’)

7、能够完成如下函数计算的程序段是 。 - 1 x < 0

y = 0 x = 0

1 x > 0

福建省计算机二级考试资料

A)y = - 1 ; B)if ( x > = 0 )

if ( x != 0 ) if ( x > 0 ) y = 1 ;

if ( x > 0 ) y = 1 ; else y = 0 ;

else y = 0 ; else y = -1 ;

C)y = 0 ; D)y = - 1 ;

if ( x > = 0 ) if ( x > 0 ) y = 1 ;

if ( x > 0 ) y = 1 ; else y = 0 ;

else y = -1

8、下列循环语句中,执行循环体的次数是 。

int i,j;

while(10) printf(“ABC”);

A)10次 B)0次 C)1次 D)无限次

9、若i、j已定义为int类型,则以下程序段中的内循环体的执行次数是 。 for(i = 4; i; i--)

for(j = 0; j < 5; j++) { }

A)10 B)15 C)20 D)25

10、数组赋初值时的数据项的个数与数组元素的个数的下列关系中,错误的是 。

A)大于 B)小于 C)等于 D)小于等于

11、下列数组初始化的定义中,错误的是 。

A)int a[5]={a}; B)char s[5]=“a123b”;

C)int n[]={6,5,4,3,2,1}; D)int b[3]={1,2,3};

12、已知:static int a[][3]={{5},{3},{13}};数值为0的元素是 。

A) a[0][0] B) a[0][2] C) a[1][0] D) a[2][0]

13、关于下列函数定义的描述中,错误的是 。

A) 定义函数时必须指出函数名和函数的类型

B) 定义函数时可以省略函数的类型

C) 函数可以嵌套定义

D) 函数不可以嵌套定义

福建省计算机二级考试资料

14、下面程序的输出结果是 。

void prtv( int x)

{ printf(“%d\n”,++x); }

main()

{ int t=10;

prtv(t); }

A) 8 B) 9 C) 10 D) 11

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

main( )

{ int a[ ]={1,2,3},s,b,*p;

s=1;

p=a;

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

s*=*(p+b);

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

A) s=1 B) s=2 C) s=3 D) s=6

二、 判断(每空1分,共10分)

1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。 ( )

2、C语言规定:标识符应由字母、下划线和数字组成,且可以是上述字符的任意组合,其长度也是任意的。

( )

3、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。( )

4、if语句有多种使用方法,其中if子句和else 子句也都可以单独使用。 ( )

5、for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内的分号却不可以却省。

( )

福建省计算机二级考试资料

6、字符串是C语言中一种基本数据类型,字符串总是以‘\n’作为结束标志。 ( )

7、在C语言中,程序的最小编译单位是源文件,最小功能单位是函

数。 ( )

8、在定义指针型变量时指定的基类型为该指针变量所能指向的变量类型。 ( )

9、结构体与数组一样,属于构造类型数据,且在结构体中的各个成员的类型也可不同。( )

10、在发生函数调用时,主~被调函数中的参数可以是简单变量,也可以是数组名,当采用数组名作为参数时其数据传递方式为单向值传

递。 ( )

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

1、求一个3位数各个位上值的和。(如123为1+2+3=6)

#include <stdio.h>

main( )

{int m,s,a,b,c,d,e;

scanf("%d",&m);

a=m/100;

b=(1) ;

c=(2) ;

s=a+b+c;

printf("s=%d",s); }

2、求1!+2!+3!+4!+5!的和。

main()

{ int n,s=0,t=1;

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

{ t=(3) ;

s=(4) ; }

福建省计算机二级考试资料

printf("1!+2!+3!+4!+5!=%d\n",s); }

3、用起泡法对十个数由小到大排序。

main( )

{ int a[11], i, j, t;

printf(“input 10 numbers: \n”);

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

scanf(“%d”,&a[i]);

printf(“\n”);

for (j=1;j<=9;j++)

for(i=1; (5) ; i++)

if ( (6) )

{ t=a[i]; a[i]=a[i+1]; a[i+1]=t;}

printf(“the sorted numbers: \n”);

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

printf(“%d”,a[i]); }

四、 读程序写出结果(本大题共5道小题,每小题4分,共20分)

1、写出下面程序的执行结果

#include <stdio.h>

main( )

{ int a,b,x;

x=(a=3,b=a--);

printf(“x=%d,a=%d,b=%d”,x,a,b); }

2、以下程序的运行结果是

#include <stdio.h>

main( )

{ int a = 2, b = 3, c ;

c = a ;

if ( a>b ) c = 1 ;

福建省计算机二级考试资料

else if ( a == b ) c = 0 ;

else c = -1 ;

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

3、以下程序的运行结果是

#include <stdio.h>

main()

{ int i,j,k;

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

{for(j=1;j<4-i;j++)

printf(" ");

for(k=1;k<=2*i-1;k++)

printf("%c",'A'+i-1);

printf("\n");} }

4、以下程序的运行结果是

main( )

{ int a[5][5],i, j ;

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

{ a[i][0] =1; a[i][i] =1; }

for( i=2; i<5; i++ )

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

a[i][j] =a[i-1][j-1] + a[i-1][j];

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

{ for( j=1; j<=i; j++)

printf(“%5d”,a[i][j]);

printf(“\n”);} }

5、以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为 #include<stdio.h>

#include<string.h>

func(char str[] )

福建省计算机二级考试资料

{int num =0;

while(*(str+num)!='\0') num++;

return(num);

}

main( )

{ char str[10],*p=str;

gets(p);

printf("%d\n",func(p)); }

五、 编程题(本大题28分,第一题8分,第二题9分,第三题11分)

1、计算分段函数的值: 1-x (x<0)

Y=

2*x2-2 (x>=0)

编程实现。

2、曾有一位印度国王要奖赏他的聪明能干的宰相达依尔。达依尔只要求在国际象棋的棋盘格上放置小麦粒,第一格放1粒,第二格放两粒,第三格放4粒,第四格放8粒, ,最后能有多少小麦粒呢?编程实现。

3、输入10个学生3门课(语文、英语、数学)的成绩,用函数求:找出总分最高的分数所对应的学号和总成绩。

模拟试卷四参考答案:

福建省计算机二级考试资料

一、ACCBA, DBDCA, ABCDD

二、√ 、×、×、×、√ 、×、√ 、√ 、×、×

三、1、m/10%10,m%10。2、n*t,t+s。3、i<=10-j,a[i]>a[i+1]。

四、1、x=3,a=2,b=3。2、c=-1。

3、 A 4、1 5、6

B B B 2 1

C C C C C 3 3 1

4 6 4 1

五、

1、

#include "stdio.h"

main()

{ int x,y;

printf("%d",&x);

if(x<0)

y=1-x;

else

y=2*x*x-2;

printf("%d",y);

}

2、(已知1立方米麦子约1.42e8粒) 总粒数为:sum=1+2+22+23+ +264 方法一:

#define CONST 1.42e8

#include <stdio.h>

#include <math.h>

main()

{

int n;

double term, sum = 0; /*累加求和变量赋初值*/

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

{

term = pow(2, n-1); /*根据累加项的规律计算累加项 */

sum = sum + term; /*作累加运算*/

}

printf("sum = %e\n", sum); /*打印总麦粒数*/

printf("volum = %e\n", sum/CONST);/*打印折合的总麦粒体积数*/

}

方法二:

#define CONST 1.42e8 /*定义符号常量CONST值为1.42e8 */

#include <stdio.h>

main()

{

福建省计算机二级考试资料

int n;

double term = 1, sum = 1; /*累乘求积、累加求和变量赋初值*/

for (n=2; n<=64; n++)

{

term = term * 2; /*根据后项总是前项的2倍计算累加项*/

sum = sum + term; /*作累加运算*/

}

printf("sum = %e\n", sum); /*打印总麦粒数*/

printf("volum = %e\n", sum/CONST); /*打印折合的总麦粒体积数*/

}

3、

#include <stdio.h>

struct student

{ int num;

int chinese; int english; int math; int sum; }stu[10];

main()

{

int i;

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

{

scanf("%d%d%d%d",&stu[i].num,&stu[i].chinese,&stu[i].english,&stu[i].math); stu[i].sum=stu[i].chinese+stu[i].english+stu[i].math;

}

max();

}

max( )

{ int i,j,total=0,number=0;

for(i=0;i<1;i++) for(j=i+1;j<10;j++)

if(stu[i].sum<stu[j].sum)

{

total=stu[j].sum;

number=stu[j].num;

}

printf("总分最高的学生成绩是%d,学号是%d",total,number);

}

另:#include <stdio.h>

struct student

{ int num;

福建省计算机二级考试资料

int chinese; int english; int math; int sum; }stu[10];

main()

{

int i; for(i=0;i<10;i++) {

scanf("%d%d%d%d",&stu[i].num,&stu[i].chinese,&stu[i].english,&stu[i].math); stu[i].sum=stu[i].chinese+stu[i].english+stu[i].math;

} max();

}

max()

{ int i,j,total=0,number=0;

i=0;

for(j=2;j<10;j++) if(stu[i].sum<stu[j].sum)

i=j;

printf("总分最高的学生成绩是%d,学号是%d",stu[i].sum,stu[i].num); }

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

Top