admin 管理员组

文章数量: 1086019


2024年4月21日发(作者:xml格式演示文稿打开方式)

C语言程序设计模拟试题4

说明:

1. 本卷共五大题,共6页。

2. 本试卷时间120分钟,满分100分。

一、项选择题(每小题2分,共20分, 每小题只有一个正确答案,请将你认为

正确的答案填在对应的括号内。)

1. 组成C程序的基本单位是( )。

A.函数 B.标识符 C.表达式 D.语句

2. 在C语言中,正确的字符类型的常量是( )

A.‘b‘ B.“ab” C.’ab’ D.”a”

3. 在C语言中,逻辑值“真”是用( )表示的。

A.预定义为真值的宏 B.非零数

C.正数 D.非零整数

4.下列描述中不正确的是( )

A. 字符型数组中可以存放字符串

B. 可以对字符型数组进行整体输入、输出

C. 可以对整型数组进行整体输入、输出

D. 不能在赋值语句中通过赋值运算符“=”对字符型

数组进行整体赋值

5.设有如下定义:int x=1,y=-1;,则语句:printf(“%dn”,(x--&++y));的输出结果是

( )

A.1 B.0 C.-1 D.2

6.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( )

A. c=b=a; B.(a=c)||(b=c); C.(a=c)&&(b=c); D.a=c=b;

7.以下程序的输出结果是( )

A.10 1 9 2 B. 9 8 7 6

C. 10 9 9 0 D.10 10 9 1

main()

{

int x=10,y=10,i;

for(i=0;x>8;y=++i)

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

}

8.以下程序的输出结果是( )

A.5 2 B.5 1 C.5 3 D.9 7

main()

{

int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];

for(i=0;i<4;i+=2) printf(“%d”,p[i]);

}

9.以下程序的输出结果是( )

A.6 B.6789 C.’6’ D.789

main()

{

char a[10]={‘1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,0},*p;

int i;

i=8;

p=a+i;

printf(“%sn”,p-3);

}

10.C语言提供的合法的数据类型关键字是( )

A. Double B. short C. integer D. Char

二、读程序(每小题3分,共27分)

1、以下程序的输出结果为:( )

main()

{

int a,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf("%d,%dn",a,b);

}

A.2,1 B.2,0 C.0.25,0 D.程序有错

2、以下程序的输出结果为:( )

#include "stdio.h"

main()

{int i;

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

{if(i%2)

printf("*");

else

continue;

printf("#");

}

printf("$n");

}

A.#*#*#$ B.*#%*#$ C.*#*#*#$ D.*#*#*$

3、有以下程序:

#include "stdio.h"

main()

{char c[6];

int i=0;

for(;i<6;c[i]=getchar(),i++);

for(i=0;i<6;putchar(c[i]),i++);

}

输入以下三行,每行输入都是在第一列上开始,代表一个回车键:

a

b

cdef

程序输出结果为:( )

B. a C.a D.a

b b b

cdef c cd

d

e

f

4、以下程序的输出结果为:

#include "stdio.h"

main()

{int c;

while((c=getchar())!='n')

{

switch(c-'2')

{case 0:

case 1:putchar(c+4);

case 2:putchar(c+4);break;

case 3:putchar(c+3);

default:putchar(c+2);break;

}

}

printf("n");

}

每行输入在第一列上开始,代表一个回车键:

2473

程序输出结果为:( )

A.6696 B. 668977 C.666965 D.669855

5、以下程序的输出结果为:( )

A.19,59,5 B.29,59,5 C.2,9,5,9,5 D.17,4,8,5

main()

{

int i=1,j=3;

printf("%d",i++);

i+=j++*2;

printf("%d,%d",++i,++j)

printf("%d,%dn",i,j);

}

6、以下程序的输出结果为:( )

main()

{ int a=2,i;

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

printf("%4d",f(a++));

}

f(int a)

{ int b=0;

static int c=3;

b++;c++;

return a+b+c;

}

A. 7 8 9 B. 7 7 7

C.8 9 10 D.7 9 11

7、下列程序,分别选择3条printf语句行的正确输出结果。

point1(int x,int y)

{ int t=1;

x=x+t;y=y+t;

return;

}

point2(int *x,int *y)

{ int t=1;

*x= *x+t;

*y=*y+t;

return;

}

void point3(char *p)

{

p+=1;

*p=*p+1;

}

main()

{

char b[4]={‘a’,’c’,’s’,’f’},*pt=b;

int x=3,y=4;

point1(x,y);

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

point2(&x,&y);

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

point3(pt);

printf(“%cn”,*(pt+1)); (3) ( )

(1)A. 4,5 B. 3,4 C 4,3 D. 5,4

(2)A. 4,5 B. 3,4 C 4,3 D. 5,4

(3)A. c B. s C acsf D. d

三、读程序,填空(每空3分,共21)。

1、用以下程序把大写字母A~Z转换成对应的小写字母,其他字符不转换。

main()

{

char ch;

scanf(___________);

ch=(___________________)?ch+32:ch;

_________ ("char=%c",ch);

}

2、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,

并输出低于平均分的学生成绩,用输入负数结束输入。请填空。

main()

{

float x[1000],sum=0.0,ave,a;

int n=0,i;

printf(“enter mark:n”);

scanf(“%f,&a);

while(a>=0.0&&n<1000)

{

sum+= _________ ;

x[n]= ____________ ;

n++;

scanf(“%f”,&a);

}

ave= __________ ;

printf(“ave=%fn”,ave);

for(i=0;i

if( _____________ ) printf(“%fn”,x[i]);

}

四、改程序。下列程序功能为:先从键盘上输入一个5行5列矩阵的各个元素

的值,然后输出对角线元素之和。请改正程序中的错误,使它能得出正确的结

果。(共10分)

注意:不要增加行或删除行,也不得更改程序的结构!

#include “stdio.h”

main()

{

int a[5][5],sum;

int i,j;

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

{

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

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

}

sum=sumprog(a);

printf(“sum=%dn”,sum);

}

void sumprog(int a)

{ int sum;

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

sum=sum+a[i][i];

}

五、 编写程序。(各题10分,共20分)

1、删除一个字符串中的所有空格。例如,输入字符串“this is a string”,

则应输出”thisisastring”.要求1)原字符串存放在a数组中,新字符串

存放在b数组中。2)要求画出流程图及编写程序。(本题10分)

2、编写一个程序,将数组a中n个整数按相反顺序存放。(本题10分)

要求:1)交换部分用函数

2)函数调用时形参和实参都要用指针


本文标签: 程序 输出 输入 结果 数组