您好,欢迎来到友迪情感。
搜索
您的当前位置:首页江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄)

江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄)

来源:友迪情感
江苏省五年一贯制专转本

C语言程序设计》模拟试卷(晓庄)

一、填空題(每2分,共20分)

1、一个C语言程序得开发过程包括:编辑、    ,连接与运行4个步骤。

2、设int x9,y=8;表达式x==y+1得结果就是        

3、若a=3,b=4,c=5,则表达式a ||( b=c&&b==c得值就是         .

4、执行下面程序段后,k值就是_______________

k=1;n=263;

do{k*=n%10; n/=10 }  while(n);

5、以下程序输入123456CR>后得执行结果就是       .

#include〈stdio、h>

main()

{int a,b;

scanf("%2d%3d",&a,&b);

printf("a=%d,b=%d\\n”,a,b);

}

6、设x,y,z均为int型变量,请写出描述“xy中有一个小于z"得表达式就是:

           

7、、以下程序得运行结果就是           

main ()

    { if(2*2= =5<2*2= =4)

  printf (T);

    else

   printf ();

     }

8、设有程序片断:

    switch (grade)

{ case ‘A’ : printf(85—100\n);

    case ‘B’ : printf(70-84n");

  case ‘C’ : printf(60—69\\n);

      case ‘D’ : printf(〈60\\n);

    default  : printf(error! \n);

    }

 grade得值为’C’,则输出结果就是       .

9、下面程序得运行结果就是_________、

 #include

 main()

 {int a,s,n,count;

  a=2;s=0;n=1;count=1;

   while(count<=7)

{n=n*a;s=s+n;++count;}

printf(”s=%d”,s);

10、以下程序得输出结果就是        

  int k,n,m;

n=10;m=1;k=1;

while(k++〈=n)

     m*=2;

printf(%d\\n",m);

二、单项选择题(每题2分,共40分)

1、能将高级语言编写得源程序转换成目标程序得就是______. 

A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序 

2、以下叙述中正确得就是______。 

A) 构成C程序得基本单位就是函数

B) 可以在一个函数中定义另一个函数

C) main()函数必须放在其它函数之前

D) 所有被调用得函数一定要在调用之前进行定义

 3、以下选项中合法得实型常数就是______. 

A) 5E2、0 B) E-3 C) 、2E0 D) 1、3E 

4、以下选项中合法得用户标识符就是______. 

A) long B) _2Test C) 3Dmax D) A、dat 

5、已知大写字母A得ASCII码就是65,小写字母a得ASCII码就是97,则用八进制表示得字符常量‘\101’就是______。

A) 字符A B) 字符a C) 字符e  D) 非法得常量

6、以下非法得赋值语句就是______。

A) n=(i=2,++i); B) j++;  C) ++(i+1);   D) x=j〉0;

 7、设a与b均为double型常量,且a=5、5、b=2、5,则表达式(int)a+b/b得值就是______。

A) 6、500000 B) 6    C) 5、500000   D) 6、000000

 8、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车〉,使i得值为1、j得值为2、k得值为3,以下选项中正确得输入语句就是______。

A) scanf("%2d%2d%2d",&i,&j,&k);  B) scanf("”%d %d %d",&i,&j,&k);  

C) scanf(”%d,%d,%d”,&i,&j,&k);    D) scanf("i=%d,j=%d,k=%d",&i,&j,&k);

9、与数学式子3乘以x得n次方/(2x-1)对应得C语言表达式就是______。

A) 3*x^n/(2*x-1)   B) 3*x**n/(2*x-1)

C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)

 10、若有以下程序:

main()

{int k=2,i=2,m; 

m=(k+=i*=k); printf(”%d,%d ",m,i);

执行后得输出结果就是______。

A) 8,6   B) 8,3    C) 6,4 D) 7,4

11、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2得值就是______。

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

12、有一函数

1 x>0 

y= 0 x=0

-1 x〈0, 

以下程序段中不能根据x得值正确计算出y得值得就是______。

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

B) y=0;if(x〉0) y=1;else if(x<0) y=—1;  

C) y=0;if(x〉=0)if(x〉0) y=1;else y=-1;  

D) if(x〉=0) if(x〉0) y=1;else y=0;else y=-1;

 13以下选项中,与k=n++完全等价得表达式就是_______. 

A) k=n,n=n+1    B) n=n+1,k=n  C) k=++n   D) k+=n+1

14、以下程序得功能就是:按顺序读入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,ave); 

}

上述程序运行后结果不正确,调试中发现有一条语句

出现在程序得位置不正确。这条语句就是______。 

A) sum=0、0; 

B) sum+=score;  

C) ave=sum/4、0;

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

15、有以下程序段 

int n=0,p;

do {scanf("%d",&p);n++;} while(p!=12345&&n<3); 

此处do—while循环得结束条件就是______。

A) p得值不等于12345并且n得值小于3

B) p得值等于12345并且n得值大于等于3 

C) p得值不等于12345或者n得值小于3  

D) p得值等于12345或者n得值大于等于3

16、有以下程序

main()

{int a=15,b=21,m=0;

switch(a%3)

case 0:m++;break; 

case 1:m++;

switch(b%2)

{default:m++; 

case 0:m++;break;

}

printf("%d ”,m);

} 

程序运行后得输出结果就是______。 A) 1   B) 2  C) 3   D) 4

17、C语言中,函数值类型得定义可以缺省,此时函数值得隐含类型就是______。

A) void   B) int  C) float   D) double

18.求取满足式 12+22+32+ …… +n2 ≤1000得n,正确得语句就是____。

A) for(i=1,s=0;(s=s+i*i)<=1000;n=i++) ;

B) for(i=1,s=0;(s=s+i*i)<=1000;n=++i) ;

C) for(i=1,s=0;(s=s+i*++i)<=1000;n=i) ;

D) for(i=1,s=0;(s=s+i*i++)〈=1000;n=i) ;

19.已知 char a[][20]={”Beijing”,"shanghai”,"tianjin",”chongqing"};语句printf("%c",a[30]);得输出就是____。

A) 〈空格〉  B) n  C) 不定  D) 数组定义有误

.对字符数组str赋初值,str不能作为字符串使用得一个就是____。

A) char str[]=”shanghai";   B) char str[]={"shanghai"};

C) char str[9]={’s’,'h’,'a','n',’g’,’h',’a’,’i’}; D) char str[8]={ 's',’h’,'a','n',’g',’h','a',’i'};

三、程序填空(每4分,共12分)

1、下面程序得功能就是不用第三个变量,实现两个数得对调操作。

#include <stdio、h>

main()

{ int a,b;

scanf(”%d%d",&a,&b);

printf(”a=%d,b=%d\n",a,b);

a=          

b=         ;

a=      

printf("a=%d,b=%d\\n",a,b);

2、下面程序得功能就是将形参x得值转换为二进制数,所得得二进制数放在一个一维数组中返回,二进制数得最低位放在下标为0得元素中。

fun(int x,int b[])

{ int k=0,r;

do

{ r=x%       ;

b[k++]=r;

x/=         ;

}while(x);

3、下面程序得功能就是输出1到100之间每位数得乘积大于每位数得与得数。例如数字26,数位上数字得乘积12大于数字之与8。

main()

{ int n,k=1,s=0,m;

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

{ k=1;

s=0;

1              ;

while( ②            

{ k*=m%10;

s+=m%10;

2          

}

if(k>s)

printf("%d",n);

}

四、写出以下程序运行结果(每题3分,共12分)

1、从键盘上输入"446755”时,下面程序得输出就是____ .

#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");

}

2、下面程序得输出结果就是____。

main()

{ int i,j,x=0;

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

{ x++;

for(j=0;j〈-3;j++)

{ if(j%2)

continue;

x++;

}

x++;

printf(”x=%d\n”,x);

3、下面程序得输出结果就是____.

#include 〈stdio、h〉

main( )

{ int n[3][3], i, j;

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

for(j=0;j〈3;j++ )

n[i][j]=i+j;

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

for(j=0;j〈2;j++ )

n[i+1][j+1]+=n[i][j];

printf("%d\n", n[i][j]);

}

五、编程题(题8分,共16分)

1、编写程序,输出1000以内得所有完数及其因子。所谓完数就是指一个整数得值等于它得因子之与,例如6得因子就是1、2、3,而6=1+2+3,故6就是一个完数。

2、计算s=1-1/2!+1/3! 1/!……+1/n!直到最后一项小于10得—6次方.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- udiu.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务