欢迎光临散文网 会员登陆 & 注册

大一c语言考试试题

2022-05-26 18:59 作者:答案资料  | 我要投稿

大一c语言试题

一、单项选择题(每小题2分,共50分)

1、一个C程序的执行是从___A__。

  A、本程序的main函数开始,到main函数结束

  B、本程序的main函数开始,到本程序文件的最后一个函数结束

  C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

  D、本程序文件的第一个函数开始,到本程序main函数结束

2、C语言程序的基本单位是___C___。

A、程序行                       B、语句

C、函数                         D、字符

3、请选出可用作C语言用户标识符的一组标识符___B___。      

A、void          B、a3_b3         C、For           D、2a

     define           _123             -abc             DO

      WORD             IF              ase              sizeof

4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__ 。

  A、4.500000                     B、4  

  C、4.000000                     D、2.000000

5、下列可以正确表示字符型常量的是___D__。

A、297                         B、"a"    

   C、"\n"                        D、'\t'

6、在C语言中,要求运算数必须是整型的运算符是__D__。

     A、/                 B、++    

     C、*=                D、%

7、C语言中,复合语句的构成是将一系列语句置于__C__。

   A、begin与end之间

   B、方框号“[ ]”之间

   C、花括号“{ }”之间

   D、圆括号“( )”之间

8、有如下程序段,对应正确的数据输入是___A___。

float x,y;

scanf(”%f%f”, &x,&y);

printf(”a=%f,b=%f”, x,y);

A、2.04<回车>                     B、2.04,5.67<回车>

  5.67<回车>

C、A=2.04,B=5.67<回车>            D、2.045.67<回车>

9、以下程序段的输出结果是___D__。

int a=5678;

   printf(”%2d\n”, a);

A、提示出错、无结果               B、56  

   C、78                             D、5678

10、已知:char ch='A';则下列表达式的值是__B__。

   ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch;

   A、A          B、a          C、Z         D、z

11、下列描述,正确的是___B__ 。

A、表达式3.91%5是合法的

B、用b=89作为while循环的条件是合法的

C、逗号表达式是没有值和类型的

D、字符型变量和int型变量的操作完全不同

12、阅读以下程序:

   main()

  {int x;

   scanf("%d",&x);

   if(x--<5) printf("%d",x);

   else printf("%d",x++);

  }

程序运行后,如果从键盘上输人5,则输出结果是__B__ 。

   A、3           B、 4           C、 5            D、 6

13、下列程序的运行结果是___C__。

#include ”stdio.h”

main()

{ int k;

 k=3;

 switch(k)

 { case 1: printf(”%d\n”, k++);

   case 2: printf(”%d\n”, k++);

   case 3: printf(”%d\n”, k++);

   case 4: printf(”%d\n”, k++);

           break;

   default: printf(”Full!\n”);

  }

}

A、3            B、4            C、3            D、4

                                  4               4

14、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、

   m=2、n=1,则逻辑表达式(m==a<b)&&(n==c<d) 的值为__A__。

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

15、设x、y和temp均为long int型变量,则以下语句:

{temp=x; x=y; y=temp;} 的功能是__D__。

A、把x和y按从大到小排列    

B、把x和y按从小到大排列

C、无确定结果

D、交换变量x和变量y的值

16、以下程序的输出结果是 ___A__ 。

main()

 {int a, b;

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

    {if(b>=10) break;

     if (b%3==1)

        { b+=3; continue; }

}

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

 }

  A、4           B、6          C、5          D、101

17、执行以下程序后输出的结果是___D__。

main()

{ int y=10;

 do {y--;}

 while(--y);

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

 A、-1    B、1          C、8   D、0

18、执行以下程序后输出的结果是___B__。

main()

 {int i, j, w=0;

  for(i=4; i; i--)

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

       w=w+i*j;  w=i*j;

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

 }

A、4           B、0           C、1           D、30

19、以下程序运行后,输出结果是__C__。  

main()

{

int  n[5]={3,3,3},i,k=2;

for(i=0;i<k;i++)  n[i]=n[i]+1;

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

}

A、4          B、9           C、3           D、不确定的值

20、以下程序的输出结果是 __A__ 。

   f ( int a)

  {int b=0;

   static int c = 3;

   b++; c++;

   return(a+b+c);

  }

  main()

 {int a = 2, i;

  for(i=0;i<3;i++) printf("%d\n",f(a));

 }

     A、 7        B、 7        C、 7           D、 7

         8            9            10              7

         9            11           13              7

21、设C程序如下:

#define ABC(x) x*x

   #include"stdio.h"

   main()

   {int a=3,b;

    b=ABC(a+1);

    printf("b=%d", b); }

上述程序运行输出的结果是__D_ 。

   A、b=4                         B、b=a+1

   C、b=16                        D、b=7

22、以下程序的输出结果是__B__。

   main()

  {int i, a[10];

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

printf("%d %d %d",a[1],a[6],a[9]);

  }

    A、1 6 9                      B、9 4 1

    C、9 6 1                      D、3 5 7

23、若定义:float x=3.14159,*p=&x;

则printf("%f\n",*p++);的输出结果为__C__ 。

A、无确定值                   B、x的地址        

   C、3.14159                    D、4.14159

24、以下程序的输出结果是___B__

main()

{char b[]="Language";

char *p=b;

printf("%c ",*(b+2));

p=p+7;

printf("%c\n",*p++);

}

A、2  7        B、n  e         C、a  g          D、n  u

25、下列程序的输出结果是___A__。

#include "stdio.h"

main()

{

   int a[]={1,2,3,4,5,6,7,8,9,0}, i, s, *p;

   p=a;s=0;

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

s+=*p++;  

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

}

A、45             B、44             C、0          D、9



二、判断题(每小题1分,共10分)

1.语句int *point;中的point是指针变量名。( T )

2.主函数和其它函数之间可以相互调用。( F  )

3.puts( )和gets( )函数只能输入或输出一个字符。( F  )

4. 可以对字符型数组元素进行整体输入、输出。( T )

5.do-while语句构成的循环不能用其他语句构成的循环来代替。(  F  )

6.在一个函数内的复合语句中定义的变量可以在本函数范围内有效。(F  )

7.函数必须有返回值,否则不能使用函数。( F   )

8.for(;;);语句相当于while(1);语句。( T )

9.C程序的执行总是从第一个定义的函数开始。( F )

10.C语言中的关键字专门用作语言的特定成分,而不能作为一般标识符使用。( T )



三、程序填空题(每空2分,共10分)

1、下面程序完成判断某一个数m是否为素数,如果是则输出"m is a prime!",否则就输出"m is not a prime!",请选择填空。

    main()

   { int i, m;

     scanf("m=%d", &m);

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

      { if(m%i==0)

        { printf("%d is not a prime!\n", m);  (1)  }

        else   (2)  

      }

     if(i==m) printf("%d is a prime!\n", m);

   }

(1)、 A、break                    B、continue

C、break;                  D、continue;

(2)、 A、break                    B、break;

C、continue                 D、continue;

2、以下程序的功能是:求出用数字0至9组成没有重复数字且是13倍数的三位数的个数,请选择填空。

   #include<stdio.h>

void main()

   { int i, j, k, w, count = 0;

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

       for(j=0;j<=9; j++)

           for(k=0; k<=9;k++)

              if(  (4)  )

                { w = i*100+j*10+k;

if(  (5)  )

count++;

}

      printf("\n count=%d\n", count);

  }

(3)、 A、i=0                     B、i=1

     C、i=9                     D、i=-1

(4)、 A、i!=j                    B、i!=j ||j!=k

C、i!=j&& j!=k             D、i!=j&& j!=k && k!=i

(5)、 A、w%13=0                  B、w/13=0

     C、w%13==0                 D、w/13==0



四、编程题(第1小题12分,第2小题18分,共30分)

1、从键盘输入一个4位数的正整数n,将该数反序输出。例如,若输入的是

   1357,则输出的是7531。

  要求:1)利用VC++编译系统进行调试、运行

         2)对输入的正整数n的合法性进行检查

3)将源程序以“编程题1.c”为文件名保存在网络盘(K:盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分


2、已知一组字符串a[27]="jjyyzzabcdefgJJYYZZABCDEFG"; 请编一程序,将其    中的小写字母换成其前一个字母,即z换成y,y换成x,...,b换成a,若是a则换成z。然后对数组a[27]从小到大排序,并输出排序后的字符串。

要求:1)利用VC++编译系统进行调试、运行

2)先输出原字符串(即未做任何改变的字符串),最后输出排序后

的字符串

3)将源程序以“编程题2.c”为文件名保存在网络盘(K:盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分



大一c语言考试试题的评论 (共 条)

分享到微博请遵守国家法律