C语言程序设计模拟试题4附答案new.docx

上传人:b****3 文档编号:3783507 上传时间:2023-05-06 格式:DOCX 页数:13 大小:22.92KB
下载 相关 举报
C语言程序设计模拟试题4附答案new.docx_第1页
第1页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第2页
第2页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第3页
第3页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第4页
第4页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第5页
第5页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第6页
第6页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第7页
第7页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第8页
第8页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第9页
第9页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第10页
第10页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第11页
第11页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第12页
第12页 / 共13页
C语言程序设计模拟试题4附答案new.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计模拟试题4附答案new.docx

《C语言程序设计模拟试题4附答案new.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟试题4附答案new.docx(13页珍藏版)》请在冰点文库上搜索。

C语言程序设计模拟试题4附答案new.docx

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

《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()

     {intn=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;             elsey=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;          elsey=0;

   elsey=-1

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

  inti,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)inta[5]={a};                B)chars[5]=“a123b”;       

C)intn[]={6,5,4,3,2,1};       D)intb[3]={1,2,3};

12、已知:

staticinta[][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、下面程序的输出结果是     。

    voidprtv(intx)

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

    main()

     {intt=10;

prtv(t);  }

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

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

main()

  {inta[]={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

main()

{intm,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()

{ intn,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()

{inta[11],i,j,t;

 printf(“input10numbers:

\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(“thesortednumbers:

\n”);

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

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

 

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

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

  #include

  main()

  {int a,b,x;

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

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

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

#include

main()

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

c=a;

if(a>b)c=1;

elseif(a==b)c=0;

     else c=-1;

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

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

#include

main()

{inti,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( )

{inta[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

      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

#include

func(charstr[])

{intnum=0;

while(*(str+num)!

='\0')num++;

return(num);

}

main()

{charstr[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、A4、15、6

BBB121

CCCCC1331

14641

五、

1、

#include"stdio.h"

main()

{intx,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

方法一:

#defineCONST1.42e8

#include

#include

main()

{

intn;

doubleterm,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);/*打印折合的总麦粒体积数*/

}

方法二:

#defineCONST1.42e8/*定义符号常量CONST值为1.42e8*/

#include

main()

{

intn;

doubleterm=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

structstudent

{intnum;

intchinese;

intenglish;

intmath;

intsum;

}stu[10];

main()

{

inti;

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()

{inti,j,total=0,number=0;

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

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

if(stu[i].sum

{

total=stu[j].sum;

number=stu[j].num;

}

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

}

另:

#include

structstudent

{intnum;

intchinese;

intenglish;

intmath;

intsum;

}stu[10];

main()

{

inti;

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()

{inti,j,total=0,number=0;

i=0;

for(j=2;j<10;j++)

if(stu[i].sum

i=j;

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

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2