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

上传人:b****2 文档编号:24545286 上传时间:2023-05-28 格式:DOCX 页数:17 大小:21.12KB
下载 相关 举报
C语言程序设计模拟试题6附答案.docx_第1页
第1页 / 共17页
C语言程序设计模拟试题6附答案.docx_第2页
第2页 / 共17页
C语言程序设计模拟试题6附答案.docx_第3页
第3页 / 共17页
C语言程序设计模拟试题6附答案.docx_第4页
第4页 / 共17页
C语言程序设计模拟试题6附答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

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

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

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

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

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

 

一、填空题。

(每空2分,共16分)

1.C语句必须以        号结束

2.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是          。

3.若有以下程序段,

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是               。

4.有以下语句段

intn1=10,n2=20;

printf(“       ”,n1.n2);

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。

 n1=10

n2=20

5.设有定义:

intn,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。

scanf(“%d,”        );

printf(“%d\n”,       。

);

6.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是      。

7.有以下程序段

intk=0

while(k=1)k++;

while循环执行的次数是                   。

二、单项选择题。

(每题2分,共40分)

1.下列叙述中错误的是()

A)计算机不能直接执行用C语言编写的源程序

B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件

C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件

D)后缀为.obj和.exe的二进制文件都可以直接运行

2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()

A)大写字母  B)连接符  C)数字字符  D)下划线

3.以下叙述中错误的是()

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

B)结构化程序有顺序、分支、循环三种基本结构组成

C)使用三种基本结构构成的程序只能解决简单问题

D)结构化程序设计提倡模块化的设计方法

4.对于一个正常运行的C程序,以下叙述中正确的是()

A)程序的执行总是从main函数开始,在main函数结束

B)程序的执行总是从程序的第一个函数开始,在main函数结束

C)程序的执行总是从main函数开始,在程序的最后一个函数中结束

D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束

5.设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

以下所示的输入形式中正确的是(注:

□代表空格字符)()

A)10□X□20□Y〈回车〉   B)10□X20□Y〈回车〉 

C)10□X〈回车〉          D)10X〈回车〉

   20□Y〈回车〉             20Y〈回车〉

6.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()

A)sqrt(abs(n^x+e^x))                 

B)sqrt(fabs(pow(n,x)+pow(x,e)))

C)sqrt(fabs(pow(n,x)+exp(x)))    

D)sqrt(fabs(pow(x,n)+exp(x)))

7.设有定义:

intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()

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

8.有以下程序,其中%u表示按无符号整数输出()

main()

{unsignedintx=0xFFFF;  /*x的初值为十六进制数*/

       printf(“%u\n”,x);

}

程序运行后的输出结果是

A)-1     B)65535    C)32767  D)0xFFFF

9.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是()

A)if(x++);                         B)if(x>y&&y!

=0); 

C)if(x>y)x--                       D)if(y<0){;}

  elsey++;                              elsex++;

10.以下选项中,当x为大于1的奇数时,值为0的表达式()

A)x%2==1     B)x/2     C)x%2!

=0   D)x%2==0

11.以下叙述中正确的是()

A)break语句只能用于switch语句体中

B)continue语句的作用是:

使程序的执行流程跳出包含它的所有循环

C)break语句只能用在循环体内和switch语句体内

D)在循环体内使用break语句和continue语句的作用相同

12.有以下程序

main()

{intk=5,n=0;

        do

 {switch(k)

              {case1:

 case3:

n+=1;break;

default:

n=0;k--;

case2:

case4:

n+=2;k--;break;

}

printf(“%d”,n);

}while(k>0&&n<5);

}

程序运行后的输出结果是()

A)222    B)0235   C)02356    D)2356

13.有以下程序

main()

{inti,j;

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

{for(j=i;j<4;j++)printf(“%d*%d=%d”,i,j,i*j);

printf(“\n”);

}

}

程序运行后的输出结果是()

A)1*1=1 1*2=2 1*3=3         B)1*1=1 1*2=2 1*3=3

2*1=2 2*2=4                   2*2=4 2*3=6

3*1=3                          3*3=9

C)1*1=1                        D)1*1=1

1*2=2  2*2=4                  2*1=2  2*2=4

1*3=3  2*3=6  3*3=9          3*1=3  3*2=6 3*3=9

14.以下合法的字符型常量是()

A)”\x13”      B)”\018”      C)”65”       D)”\n”

15.在C语言中,函数返回值的类型最终取决于()

A)函数定义时在函数首部所说明的函数类型

B)return语句中表达式值的类型

C)调用函数时主函数所传递的实参类型

D)函数定义时形参的类型

16.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是()

A)c=(c-A)%26+‘a’                   B)c=c+32

C)c=c-‘A’+‘a’                       D)c=(‘A’+c)%26-‘a’

17.有以下函数

   intfun(char*s)

     {char*t=s;

       while(*t++);

       return(t-s); 

}

该函数的功能是()

A)比较两个字符的大小          B)计算s所指字符串占用内存字节的个数

C)计算s所指字符串的长度      D)将s所指字符串复制到字符串t中

18.设已有定义:

floatx;则以下对指针变量p进行定义且赋初值的语句中正确的是()

A)float *p=1024;                 B)int *p=(floatx);

C)float  p=&x;                   D)float*P=&x;

19.有以下程序

#include  

 main()

    {intn,*p=NULL;

*p=&n;

printf(“Inputn:

”);scanf(“%d”,&p); printf(“outputn:

”); printf(“%d\n”,p);

}

该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是()

A)intn,*p=NULL; B)*p=&n;   C)scanf(“%d”,&p)  D)printf(“%d\n”,p);

20.以下程序中函数f的功能是:

当flag为1时,进行有由小到大排序;当flag为0时,进行由大到小排序。

 voidf(int b[],int n,int flag)

 {int i,j,t;

for(i=0;i

          for(j=i+1;j

               if(flag?

b[i]>b[j]:

b[i]

}

main()

{inta[10]={5,4,3,2,1,6,7,8,9,10},i;

      f(&a[2],5,0);f(a,5,1);

      for(i=0;i<10;i++)printf(“%d,”,a[i]);

}

程序运行后的输出结果是()

A)1,2,3,4,5,6,7,8,9,10,

B)3,4,5,6,7,2,1,8,9,10,

C)5,4,3,2,1,6,7,8,9,10,

D)10,9,8,7,6,5,4,3,2,1,

三、修改下列程序:

(在程序出错的语句下划横线并标号,把修改后的语句下载程序下面的横线上。

)(每小题5分,共10分)

1.下列给定程序中,函数fun的功能是:

依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。

#include

#include

voidfun(chars)

{inti,j;

for(i=0,j=0;s[i]!

=‘\0';i++)

****************************************

if(s[i]>=‘0'&&s[i]<='9')

s[j]==s[i];

***************************************

s[j]=“\0”;

}

main()

{charitem[80];

clrscr();

printf(“\nEnterastring:

”);gets(item);

printf(“\n\nThestringis:

\%s\n”,item);

fun(*item);

printf(“\n\nThestringofchangingis:

\%s\n”,item);

}

 

                                                                                      

2.下列给定程序中,函数fun的功能是:

分别统计字符串中大写字母和小写字母的个数。

例如,给字符串s输入:

AAaaBBb123CCccccd,则应该输出结果:

upper=6,lower=8。

#include

#include

**********************************

voidfun(char*s,inta,intb)

{while(*s)

{if(*s>=‘A'&&*s<=‘Z')

***********************************

a++;

if(*s>=‘a'&&*s<=‘z')

************************************

b++;

s++;

}

}

 

main()

{chars[100];intupper=0,lower=0;

clrscr();

printf(“nPleaseastring:

”);gets(*s);

fun(s,&upper,&lower);

printf(“nupper=%dlower=%dn”,upper,lower);

}

 

                                                                                      

四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。

(每小题4分,共16分)

1.   #include

       voidmain()

      {  ints=1,t=1,a,n;

          scanf(“%d%d”,&a,&n);

          for(inti=1;i

{

             t=t*10+1;s=s+t;                   

          }

          s*=a;printf(“SUM=%d\n”,s);           

        }

 输入数据:

2,4

输出结果:

            

 2.#include

      voidmain()                   

     {  inta,b,c,find(int,int,int);

         scanf(“%d%d%d”,&a,&b,&c);

         printf(“%d\n%d,%d,%d\n”,find(a,b,c),a,b,c);

      }

      intfind(inta,intb,intc)

     {  intu,s,t;

         u=((u=(a>b)?

a:

b)>c)?

u:

c;

         t=((t=(a

a:

b)

t:

c;

         s=a+b+c-u-t;a=u;

         b=s;c=t;returns;

      }

运行时输入:

5–73,输出结果:

       

 

 3.#include

      voidmain()

     {inta[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9};

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

            for(intj=0;j<6;j++)

               if(*(a+i)==*(b+j))printf(“%d ”,*(a+i));

         printf(“\n”);

      }                                   

输出结果:

          

 4. #include

      #include

      voidmain()                   

      {  charstr1[]=“*******”;

          for(inti=0;i<4;i++){

             printf(“%s\n”,str1);

             str1[i]=‘ ';

             str1[strlen(str1)-1]=‘\0';

          }

       }

 输出结果:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。

(每空1分,共6分)

1.下面程序的作用是将以下给出的字符按其格式读入数组ss中,然后输出行、列号之和为3的数组元素,请在____处填入正确内容。

  A a f  

  c B d  

  e b c  

  g f D  

  main() 

  {  

  staticcharss[4][3]={‘A',‘a',‘f',‘c',‘B',‘d',‘e',‘b',‘C',‘g',‘f',‘D'};  

  intx,y,z;  

  for(x=0;             ;x++)  

  for(y=0;             ;y++)  

 {z=x+y;  if(             )  

  printf(“%c\n”,ss[x][y]); 

  } 

  }

2.以下函数的功能是删除字符串s中的所有数字字符。

请填空。

voiddele(char*s)

{intn=0,i;

 for(i=        ,s[i];i++)

     if(             )

         s[n++]=s[i];

      s[n]=             ;

 }

六、按要求编写下列程序。

(每题6分,共12分)

1.输出右图。

                * * * *                        

* * *

* *

*

 

                     

                   

2.编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔的输出该串,请用指针完成。

试卷六参考答案:

一、填空题

1.分号

2.2.5

3.0

4.n1=%d\nn2=%d\n

5.k*k

6.-12

7.无数次

二、单项选择题

1-5DBCAD

6-10CABCD

11-15CABDA

16-20ACDAB

三、程序修改

1.修改后的程序如下:

#include

#include

voidfun(chars[])

{inti,j;

for(i=0,j=0;s[i]!

='\0';i++)

if(s[i]>='0'&&s[i]<='9')

s[j++]=s[i];

s[j]='\0';

}

main()

{charitem[80];

clrscr();

printf("\nEnterastring:

");gets(item);

printf("\n\nThestringis:

\%s\n",item);

fun(item);

printf("\n\nThestringofchangingis:

\%s\n",item);

}

2.修改后的程序如下:

#include

#include

voidfun(char*s,int*a,int*b)

{while(*s)

{if(*s>='A'&&*s<='Z')

(*a)++;

if(*s>='a'&&*s<='z')

(*b)++;

s++;

}

}

main()

{chars[100];intupper=0,lower=0;

system("cls");

printf("nPleaseastring:

");gets(s);

fun(s,&upper,&lower);

printf("\nupper=%dlower=%d\n",upper,lower);

}

四、阅读程序

1.

SUM=2

2.

3

5-73

3.

2469

4.

*******

*****

***

*

五、

1.

x<=3

y<=2

z==3

2.

0

s[i]>'9'||s[i]<'0'

'\0'

六、

1.

#include

#include

voidmain()

{charstr1[]="****";

inti;

for(i=0;i<4;i++){

printf("%s\n",str1);

str1[strlen(str1)-1]='\0';

}

}

2.

#include

#include

voidmain()

{charstr[]="computer";

char*s=str;

while((*s)!

='\0')

printf("%c",*s);

s++;

}

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1