C语言考试题目

Posted 张夷陵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言考试题目相关的知识,希望对你有一定的参考价值。

一、单项选择题:本大题共25小题,每题2分,共50分)

1、C语言的源程序通常的扩展名是( )。

A..cpp B..obj C..exe D..c

2、‎下列选项中,( )属于多行注释。

A./* B.// C.\\\\ D./**/

3、以下不合法的字符常量是( )。

A. 'ab' B.'2' C.'A' D.'\\n'

4.设int a=1,b=2;以下选项中不正确的语句是( )。

A.a/=1 B.a+=3 C.a*3=3 D.a=a+b

5.‏在C语言中,要求运算数必须是整型的运算符是( )。

A./ B.+ C.% D.-

6.78%10的结果是( )。

A.7 B.10 C.8 D.78

7.设int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( )。

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

8.能正确表示逻辑关系x<=y<=z的C语言表达式为( )。 

A.(x<=y)&&(y<=z)  

B.(x<=y)AND(y<=z)

C.(x<=y)&(y<=z)  

D.(x<=y<=z)    

9.语法不正确的语句是( )。

A.if (x!=y) scanf ("%d", &x);

B.if (x==y) && (x!=0)  x++;

C.if (x=y) x++;y++;

D.if (x>y);

10.设有语句“int a = 3;”,执行语句“a += a -= a * a;”后,变量a的值是( )。 

A.0 B.9 C.3 D.-12

11.在C程序中如果要使用数学函数,如sin(x),log(x)等,需要在程序中加入的语句是( )。 

A.#define <math.h> B.#include <stdio.h>

C.#define <stdio.h> D.#include <math.h>

12.设int k=7, x=12;则以下能使值为3的表达式是( )。

A.(x%=k)-(k%=5) B.x%=(k%=5) C.x%= k-k%5 D.x%=(k-k%5)

13.若给定条件表达式(m)?(a++):(a--),则其中表达式m()。

A.和(m!=1)等价 B.和(m!=0)等价 C.和(m==1)等价 D.和(m==0)等价

14.‌设整型变量x、y、z的值分别为3、2、1,则下列程序段的输出是( )。

‌if(x>y)   x=y;

‌if(x>z)   x=z;

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

A.1,1,1 B.3,2,1 C.1,2,1 D.1,2,3

15.下列说法错误的是()。

A.每个case后的常量只起语句标号的作用,所以case常量的值必须互不相同,而且在每个case的语句序列后都有break的情况下,改变case常量出现的次序,不影响程序的运行结果。

B.case后面的表达式不能是含有变量的关系表达式和逻辑表达式,它不能像if语句那样起到判断表达式真假的作用。

C.switch语句中的break和default可有可无。

D.若所有的case常量都不能与表达式的值相匹配,那么就执行default后面的语句。通常用于处理不在合理区间内的非法数据。

16.以下正确的描述是( )。

A.continue语句可以写在循环体之外

B. continue语句的作用是结束整个循环的执行

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

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

17.设已定义i和k为int类型变量,则以下for循环语句

‏for(i=0,k=-1;k=1; i++,k++)

    printf( "* * * *\\n");

A.是无限循环 B.循环只执行一次

C.判断循环结束的条件不合法 D.循环一次也不执行

18.程序运行后的输出结果是

int main()

 int i;

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

   switch(i)       

    case 0: printf("%d",i);

case 2: printf("%d",i);

default: printf("%d",i);       

        return 0;

A.012 B.022111 C.021021 D.000122

19.以下程序运行后的输出结果是

int main()

   int i=0,s=0;

    for (;;)

       if(i==3||i==5) continue;

        if (i==6) break;

        i++;

        s+=i;    

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

A.程序进入死循环 B.10 C.21 D.13

20.程序执行后的输出结果是

int main( )

   int i,s=0;

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

        s+=i+1;

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

A.自然数1~9中的奇数之和 B.自然数1~10的累加和

C.自然数1~10中的偶数之和 D.自然数1~9的累加和

21.若有定义:‌

​int a[5]=1,2,3,4,5;‌

​char b='c',c;‌

​则下面表达式中数值为 2 的是(    )。

A.a[b] B.a[2] C.a[c-b] D.a[b-'b']

‍22.关于int a[2][4]=1,2,3,4,5,6 ; 说法不正确的是(    )

A.它的等价形式之一是int a[][4]=1,2,3,4,5,6

B.它的等价形式之一是int a[][4]=1,2,3,4,5,6,0,0

C.它的等价形式之一是int a[2][]=1,2,3,4,5,6,0,0

D.它的等价形式之一是int a[][4]=1,2,3,4,5,6,0

23.假设 array 是一个已定义好的,有 10 个元素的整型数组, 则下列写法中正确的是(    )。

A.array[0]=10; B.array[10]=0; C.array=0; D.array[-1]=0;

24.‍对以下说明语句的正确理解是 (      )  

‍int a[10]=6,7,8,9,10;

A.将5个初值依次赋给a[6]至a[10]

B.将5个初值依次赋给a[1]至a[5]

C.因为数组长度与初值的个数不相同,所以此语句不正确

D.将5个初值依次赋给a[0]至a[4]

25.定义int b[6];

‎下面(   )可以输出数组的所有元素的值。

A.for(i=0;i<6;i++)  printf("%d",b[i]);

B.for(i=1;i<=6;i++)  printf("%d",b[i]);

C.printf("%d",b[5]);

D.printf("%d",b);

二、填空题:(本题共6小题,每空3分,30分)

‏1.在C语言程序中,用关键字        定义基本整型变量,用关键字        定义单精度实型变量,用关键字        定义双精度实型变量。

2.‍下列程序段当a的值为014和0x14时的执行结果分别是__________。

‍if ( a=0xA | a >12 )

if ( 011&10==a )    printf (”%d!\\n”,a);

else                printf (”Right!%d\\n”,a);

else printf (”Wrong!%d\\n”,a);

  1. 下面程序段的输出结果是__________。

void main()

  int n=4;‏

   while(n)‏

    printf("%d",--n);

  1. 若int A[5]=1,2,3;则A[2]的值是__________。

5.鸡兔同笼,共有98个头,386只脚,编程求鸡、兔各多少只。​

​代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。​

int main()

  int x, y;

    for (x=1; x<98; x++)

        _____(1)____

​        if ( __  (2) ___ )

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

    

6.已知int a,b;并且有a=-5%3;以及b=5%-3;,则a和b的值分别是__________。

7.若int类型变量占4个字节,定义int x[10]=0,2,4;,则数组x在内存中所占的字节数是__________。

以上是关于C语言考试题目的主要内容,如果未能解决你的问题,请参考以下文章

.为啥c语言里有的变量要赋初值,有的变量不用赋。

c语言如何通过函数来改变已经赋初值的全局变量的值?

c语言字符串赋初值

在c语言中给变量赋初值有啥作用

C语言中用const声明全局变量赋初值和不赋初值有何区别?变量存放位置有啥不一样?

C语言编程题目