C语言试题3.docx

上传人:b****3 文档编号:27228420 上传时间:2023-06-28 格式:DOCX 页数:15 大小:18.08KB
下载 相关 举报
C语言试题3.docx_第1页
第1页 / 共15页
C语言试题3.docx_第2页
第2页 / 共15页
C语言试题3.docx_第3页
第3页 / 共15页
C语言试题3.docx_第4页
第4页 / 共15页
C语言试题3.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言试题3.docx

《C语言试题3.docx》由会员分享,可在线阅读,更多相关《C语言试题3.docx(15页珍藏版)》请在冰豆网上搜索。

C语言试题3.docx

C语言试题3

《高级程序设计基础(C语言)》考试题三

一、选择题(共20题,每题2分)

1、以下选项中合法的用户标识符是()。

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

 

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

main()

{

intx=11,y=11;

printf("%d%d\\n",x--,--y);

}

A)11,11     B)10,10     C)10,11     D)11,10

 

3、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。

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

 

4、能正确表示“当x的值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()。

B)(x>=1)&&(x<=10)&&(x>=200)||(x<=210)

B)(x>=1)||(x<=10)||(x>=200)||(x<=210)

C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)

 

5、若运行时给变量x输入12,则以下程序的运行结果是()。

main()

{  intx,y;

      scanf(“%d”,&x);

      y=x>12?

x+10:

x-12;

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

}

A)0                    B)22                  C)12                  D)10

 

6、以下程序的输出结果是()。

main()

{  intx=2,y=-1,z=2;

      if(x

             if(y<0) z=0;

             else z=z+1;

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

}

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

 

7、下列程序的输出结果是()

main()

{

 intx=100,a=10,b=20;

intv1=5,v2=0;

if(a

if(b!

=15)

if(!

v1)

        x=1;

else if(v2)x=10;

x=-1;

printf(“%d”,x);

}

A)1  B) 10  C) -1 D) 100

 

8、设有程序段

 int k=10;

 while(k=0) 

k=k—1;

 则下面描述中正确的是()

A) while循环执行10次     B)循环是无限循环

C)循环体语句一次也不执行   D)循环体语句执行一次

 

9、下面程序段的运行结果是()。

   a=1;b=2;c=2;

while(a

{  

t=a;

a=b; 

b=t;

      c--;

}

printf("%d,%d,%d",a,6,c);

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

 

10、以下对一维数组a的正确说明是()。

A)inta(10);                   

B)intn=10,a[n];

C)intn;scanf(“%d”,&n);   inta[n];                  

D)#defineSIZE10   

inta[SIZE];

 

11、以下程序的输出结果是()。

main()

{

inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

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

}

A)20         B)21         C)22         D)23

 

12、对下面程序段说法正确的是()。

   

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

  {

scanf("%d",&x);

     if(x<0) continue;

     printf("%3d",t);

}

  A)当x<0时整个循环结束

  B)x>=0时什么也不输出

  C)printf函数永远也不执行

  D)最多允许输出100个非负整数

 

13、下面是对s的初始化,其中不正确的是()。

 (A)chars[5]={“abc”};            (B)chars[5]={‘a’,’b’,’c’};

 (C)chars[5]=””;                 (D)chars[5]=”abcdef”;

 

14、以下程序的输出结果是()。

main()

{

 inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A)258       B)741       C)852       D)369

 

15、在执行charstr[10]=“Ch\nina\0”;strlen(str)的结果是(    )。

      

A)5       B)6       C)7       D)9

 

16、以下选项中,对指针变量p不正确的操作是()。

A)inta[6],*p;      p=&a;                        B)inta[6],*p;p=a;

C)inta[6];    int*p=a=1000;          D)inta[6];    int*p1,*p2=a;     *p1=*p2;     

 

17、下面语句中能正确进行字符串赋值操作的是()。

      A)charstr[5]={“abcde”};         B)charstr[5]={‘a’,’b’,’c’,’d’,’e’}

      C)char*str;str=”abcde”;          D)char*str;scanf(“%s”,str);

 

18、对于C语言的函数,下列叙述中正确的是()。

      A)函数的定义不能嵌套,但函数调用可以嵌套

      B)函数的定义可以嵌套,但函数调用不能嵌套

      C)函数的定义和调用都不能嵌套

      D)函数的定义和调用都可以嵌套

 

19、以下程序的输出结果是()。

      #include

      main()

      {

             intk=4,m=1,p;

             p=func(k,m);

             printf(“%d”,p);

             p=func(k,m);

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

      }

      func(inta,intb)

      {

             intm=0,i=2;

             i+=m+1;

             m=i+a+b;

             returnm;

      }

      A)8,17                B)8,16                C)8,20                       D)8,8

 

20、fopen()函数的mode取值”r”和”w”时,它们之间的差别是()。

      A)”r”可向文件写入,”w”不可向文件写入

      B)”r”不可向文件写入,”w”可向文件写入

      C)”r”不可由文件读出,”w”可由文件读出

      D)文件不存在时,”r”建立新文件,”w”出错

二、分析程序题(共10题,每题3分)

1、下面程序的运行结果是__________________。

#include

main()

{

 inti,j,k;

 i=3;

 j=2;

 printf("i++=%d\n",i++);

 printf("++i=%d\n",++i);

 }

 

2、下面程序的运行结果是x=__________________,y=__________________。

main()

{floatx=4.9;inty;

y=(int)x;

printf("x=%f,y=%d",x,y);}

 

3、设有程序片段:

switch(grade)

{  case‘A’:

printf(“85-100\n”);

      case‘B’:

printf(“70-84\n”);

      case‘C’:

printf(“60-69\n”);

      case‘D’:

printf(“<60\n”);

      default:

printf(“error!

\n”);

}

若grade的值为’C’,则输出结果是__________________。

 

4、以下程序的输出结果是__________________。

main()

{  

   intx=2,y=-1,z=2;

   if(x

      if(y<0) z=0;

      else     z=z+1;

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

}

 

5、以下程序段的输出结果是__________________。

   int x=2,s=0;

   while (x!

=0) 

    {  s=s+x;

        x--;        

    }

   printf("%d",s);

 

6、以下程序执行时输入LanguageProgramming<回车>的结果是__________________。

      #include

      main()

      {

             charstr[30];

             scanf(“%s”,str);

             printf(“str=%s\n”,str);

      }

 

7、以下程序的执行结果是__________________。

      #include

      main()

      {

             charstr[]={“1a2b3c”};

             inti;

             for(i=0;str[i]!

=’\0’;i++)   

                    if(str[i]>=’0’&&str[i]<=’9’)

                           printf(“%c”,str[i]);

             printf(“\n”);

      }

 

8、以下程序的执行结果是__________________

#include

structstudent{

  charname[20];

  intmath;

};

main(){

 structstudents={"tom",90};

 structstudent*p=&s;

 printf("%s\t",p->name);

 printf("%d\n",p->math);

}

 

9、以下程序的执行结果是__________________。

      #include

      intx=1;

      main()

      {

             func(x);

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

      }

      func(intx)

      {

             x=3;

      }

 

10、有如下定义:

      struct

      {

             intx;

             char*y;

      } tab[2]={{1,”ab”},{2,”cd”}},*p=tab;

      则:

表达式*p->y的结果是__________________。

         表达式*(++p)->y的结果是__________________。

三、编写程序题(共3题,每题10分)

1、编写输出以下图形的程序(要求行数从键盘输入)。

 

1

12

123

1234

12345

123456

……

2、从键盘输入8个整数保存到数组中,运用选择法按从大到小排序后输出数组。

 

3、试自定义函数myExchange(),用于交换两个整型数据。

第三套考试题参考答案

一、             选择题

1、B

2、D

3、C

4、C

5、A

6、B

7、D

8、C

9、A

10、D

11、B

12、D

13、D

14、C

15、B

16、D

17、B

18、A

19、D

20、B

 

二、程序分析题

1、i++=3++i=5

2、x=4.90000,y=4

3、60-69

  <60

  Error!

4、2

5、3

6、str=Language

7、123

8、tom90

9、x=3

10、abcd

 

三、编程题

1、

#include

main()

{

      inti,j,n;

 

      printf("inputn:

");

      scanf("%d",&n);

 

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

      {

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

                    printf("%d",j);

             printf("\n");

      }

}

 

2

 

#include

main()

{

      inta[8],i,j,max_id,tmp;

 

      printf("input8integers:

");

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

             scanf("%d",&a[i]);

 

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

      {

             max_id=i;

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

             {

                    if(a[max_id]

                           max_id=j;

             }

 

             tmp=a[max_id];

             a[max_id]=a[i];

             a[i]=tmp;

      }

 

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

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

}

 

3

 

#include

voidmyExchange(int*p1,int*p2)

{

      inttmp;

      tmp=*p1;

      *p1=*p2;

      *p2=tmp;

}

main()

{

      inta,b;

      printf("inputaandb:

");

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

      myExchange(&a,&b);

      printf("after:

a=%d,b=%d",a,b);

}

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

当前位置:首页 > 小学教育 > 语文

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

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