admin 管理员组

文章数量: 1184232


2024年4月22日发(作者:后台登录界面设计)

C语言程序设计模拟试题(二)

《C语言程序设计》模拟试题(二)

一、填空(每空1分,共9空,共9分)

1.执行a=10>8*2?3+5:3*2;后,a的值是

2.设int i=10;则执行j=++i;后j的值为

3.(!x)==(x!=0)的值为

4.能表示一个整数即是奇数又是3的倍数的表达式是

5.定义一指向整型数据的指针变量p的语句是

6.C语言中三种常用的循环控制结构是循环、do---while循环和

循环。

a[9]; 则a数组的下标范围是

8.对应scanf("a=%d,b=%d",&a,&b);语句的输入a为3,b为7

的键盘输入格式是

二、选择(每小题2分,共15小题,共30分)

1.C语言中,要求运算数必须是整型的运算符是()

(A) % (B) / (C) < (D) !

2.表达式10!=9的值是()

(A) 0 (B) 1 (C) true (D) false

3.连接两个字符串的C语言库函数是()

(A) strcmp (B) strcpy (C) strcat (D) strlen

4. 以下定义整型3行4列的二维数组a并初始化不正确的是( )

(A) int a[3][4]={0};

(B) int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12};

(C) int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12};

(D) int a[3][4]={{1,2},{1,2,3},{1,2,3,4}};

5.有如下程序,该程序的执行结果是( )

main()

{ int i,sum=0;

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

sum+=i++;

printf("%dn",sum); }

(A) 6 (B) 3 (C) 死循环 (D) 4

6.有如下程序, 该程序的输出的结果是( ) int addc(int a,int b,int c)

{ c=a+b;

return(c); }

main()

{ int x=4,y=2,z,r;

z=x+y;

r=addc(addc(x,y,z),addc(y,z,x),z); printf("%dn",r); }

(A) 36 (B) 12 (C) 14 (D) 6

7.有如下程序,该程序的输出结果是( ) long fib(int n)

{ if(n>2) return(fib(n-1)+fib(n-2)); else

if(n= =2) return(2);

else return(1); }

main()

{ printf("%dn",fib(4)); }

(A) 3 (B) 4 (C) 5 (D) 6

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

main()

{ int a;

for(a=1;a<=100;a++)

if (a%3= =0)

a+=3;

printf("%dn",a); }

(A) 100 (B) 101 (C) 102 (D) 103

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

void fun(int *a,int b)

{ *a=2; b=5; }

main()

{ int a=3, b=7;

fun(&a,b);

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

(A) 25 (B) 37 (C) 35 (D) 27

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

#define MAX(x,y,z) x*(y)+z

main()

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

printf("%dn", MAX(a+b,b+c, c+a)); }

(A) 12 (B) 15 (C) 19 (D) 22

11.以下程序运行后的输出结果是( )

main()

{ int i=5, j=0;

do

{ j=j+(--i); }

while(i<2);

printf("%dn",j); }

(A) 4 (B) 5 (C) 6 (D) 9

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

int f(int b[],int m,int n)

{ int i,s=1;

for(i=m;i

{ b[i]=b[i-2]+ b[i+2];

s+=b[i]; }

return s; }

main()

{ int x,a[]={1,2,3,4,5,6,7,8,9,10};

x=f(a,4,7);

printf("%dn",x); }

(A) 22 (B) 26 (C) 42 (D) 64

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

int func(int n)

{ static int m=0;

m=m+n;

return(m); }

main()

{ int i,a=0;

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

a+=func(i);

printf("%dn",a); }

(A) 10 (B) 15 (C) 20 (D) 22

14.下列程序的输出结果是( )

struct student

{ int a, b, c; };

main()

{ struct student stu[2]={{1,2,3},{4,5,6}};

t=stu[0].a+stu[1].b%stu[0].c;

printf("%d n",t); }

(A) 0 (B) 1 (C) 3 (D) 5

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

main()

{ int a=0,i;

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

{ switch(i)

{ case 0:

case 3:a+=2;

case 1:

case 2:a+=3; break;

default:a+=5;} }

printf("%dn",a); }

int t;

(A) 10 (B) 15 (C) 21 (D) 36

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

1.下面程序的功能是:输出100以内能被3整除且个位数为6的所

有整数,请填空。main()

{ int i, j;

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

{ ①

if( ② ) continue;

printf("%d",j); } }

2.打印出[1900 2050]之间的所有的闰年,判断闰年的条件:

(二者之一即可)(1)能被4整除,但不能被100整除。

(2)能被4整除,又能被400整除。

程序如下,请填空:

main()

{int i;

for(i=1900;i<=2050;i++)

if( ③ )

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

3.下面程序的功能是将数组中的数据按逆序存放,请填空使程序

完整。

#define N 12

main()

{int k,j,t,a[N];

for(k=0;k

scanf("%d", ④ );

k=0;

while(k

{ t=a[k];

a[j]=t;

k++;

⑦ }

for(k=0;k

printf("%4d",a[k]);

printf("n"); }

四、读程序题(每个小题5分,共4小题,共20分)

1.读程序从键盘输入1080,则程序的输出结果是:

int f(int n)

{ int m=0,c;

while(n!=0)

{ c=n%10;

m=m*10+c;

n=n/10; }

return(m); }

main()

{ int m;

scanf("%d",&m);

printf("%dn",f(m)); }

2.写当运行程序输入5时程序输出的结果:

main()

{int i,j,n;

scanf("%d",&n);

for(i=0;i<=n-1;i++)

{

for(j=0;j<=n-1;j++)

if((i+j>=n/2 && i+j<=n/2+n-1) && (i-j>=-n/2 && i-j<=n/2))

printf("*");

else

printf(" "); /* 注释:引号内空白处为一个空格 */


本文标签: 程序 输出 结果