您好,欢迎来到刀刀网。
搜索
您的当前位置:首页C语言考试题及答案

C语言考试题及答案

来源:刀刀网
C语言考试题

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

1、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)

A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性

2、C语言中最简单的数据类型包括(B)

A、整型、实型、逻辑型 B、整型、实型、字符型

C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型

3、设a和b均为double型变量,且a=5。5、b=2。5,则表达式(int)a+b/b的值是(D)

A、 6.500000 B、 6

C、 5。500000 D、 6。000000

4、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 (B)

A、 INPUT x、y、z; B、 scanf("%d%d%d",&x,&y,&z);

C、 scanf(”%d%d%d”,x,y,z); D、 read("%d%d%d”,&x,&y,&z);

5、设 int x=1, y=1; 表达式(!x||y——)的值是(B)。

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

6、对两个字符数组a和b进行初始化char a[]="ABCDEF”;char b[ ]={'A',’B’,'C’,’D','E’,'F'}; 则以下叙述正确的是(D)。

A、a与b数组完全相同 B、a与b长度相同

C、a和b中都存放字符串 D、a数组比b数组长度长

7、为了避免在嵌套的条件语句if――else中产生二义性,c语言规定:else子句总是与(B)配对.

A、缩排位置相同的if B、其之前最近的if C、其之后最近的if D、同一行上的if

8、下面不正确的字符串常量是(A)

A、 'abc’ B、 ”12'12” C、 "0” D、 " ”

9、以下错误的if语句是(C).

A、 if(x〉y) z=x;

B、 if(x= =y) z=0;

C、 if(x!=y) printf(”%d",x) else printf("%d”,y);

D、 if(x

10、若有说明:int a[3][4];则对a数组元素的非法引用是( D)。

A、a[0][2*1] B、a[1][3] C、a[4—2][0] D、a[0][4]

11、程序char c[5]={‘a','b’,’\\0’,'c’c,’\\0’}; printf(“%s”,c);}的运行结果是( D)。

A、’a’’b' B、ab C、ab c D、ab

12、一个C程序的执行是从( A)。

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

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

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

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

13、若变量已正确定义,以下非法的表达式是(B)

A、a/=b+c B、a%(4。0) C、a=1/2*(x=y=20,x*3) D、a=b=c

14、判断字符串a是否大于b,应当使用( D).

A、if (a〉b) B、if (strcmp(a,b)) C、if (strcmp(b,a)〉0) D、if (strcmp(a,b)〉0)

15、以下关于运算符优先顺序的描述中正确的是(C).

A、关系运算符<算术运算符<赋值运算符〈逻辑与运算符

B、逻辑与运算符<关系运算符〈算术运算符〈赋值运算符

C、赋值运算符〈逻辑与运算符<关系运算符〈算术运算符

D、算术运算符〈关系运算符<赋值运算符<逻辑与运算符

16、使用语句scanf(“a=%f,b=%d",&a,&b);输入数据时,正确的数据输入是:(A)

Aa=2.2,b=3    Ba=2。2 b=3    C2.2 3    D2。2,3

17、表示关系12<=x〈=yC语言表达式为:(B)

A(12〈=x)&(x〈=y)  B(12〈=x)&&(x〈=y)  C(12<=x)|(x<=y) D(12<=x)||(x〈=y)

18、语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:(C)

A4    B6    C5    D1

19、设有如下定义:struct jan{int a;float b;}c2,*p;若有p=&c2;则对c2中的成员a的正确引用是:(B)

A(*p)。c2。a     B(*p)。a     Cp—c2。a    Dp。c2.a 

20、下列程序的输出结果是(C)。

main( )

{ int a=7,b=5;

printf("%d\\n”,b=b/a);

}

A 5 B 1 C 0 D不确定值

填空题 (每题2分,共30分)

1、一个C源程序中至少应包含一个 main 函数.

2、a是整型变量,则执行表达式a=25/3%3后a的值为。 2

3、C语言中的数组必须先 定义 ,然后使用.

4、如果需要从被调用函数返回一个函数值,被调用函数必须包含 return 语句。

5、下面程序的运行结果是 .

#include

main()

{ int i,x,y;

i=x=y=0;

do {++i;

if(i%2!=0) {x=x+i;i++;}

y=y+i++;

} while (i<=7);

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

}

运行结果是: x=1,y=20

6、引用C语言标准库函数,一般要用 文件包含 预处理命令将其头文件包含进来。

7、在C语言程序中,符号常量的定义要使用 宏定义 预处理命令。

8、逻辑运算符!是 自右至左 结合性.

9、在一个C源程序中,注释部分二侧的分界符为 。 /*和*/

10、C语言标识符由 字母数字下划线 来构造。

11、若int x=5;while(x0)printf(“%d”,x-—);的循环执行次数为  5     。

12、若有说明和语句:int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是 1 、   20   。

13、C程序设计的三种基本结构是顺序结构选择结构循环结构

14、数组是表示类型相同的数据,而结构体则是若干    类型不同    数据项的集合。

15、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式 .x〈z||y〈z

三、判断题 (每题1分 共10分)

1、C语言程序总是从main()函数开始执行。( T )

2、执行程序段int a=—1,b=4,k;k=(++a<0)&&!(b--〈=0);printf(“%d %d %d\\n”,k,a,b);后的输出结果是004。( T )

3、C语言程序由函数组成,它的主函数必须在其它函数之前,函数内可以嵌套定义函数。( F )

4、用C语言实现的算法可以没有输出但必须要有输入.( F )

5、C语言本身有输入输出语句.( F )

6、若有int a[3][5]={2,2},{2,6},{2,6,2}},则数组a共有7个元素。( F )

7、int a=24; printf("%o ”, a );输出结果是30。( T )

8、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是整形。( T )

9、在C语言中,字符串常量是用双引号括起来的一串字符。( T )

10、若有int a[5],*p=a;则p+2表示第2个元素的地址。( F )

四、编程题 (每题5分,共20分)

1计算并输出200—400之间不能被3整除的整数的和

#include

void main()

{ int i,sum=0;

for(i=200;i〈=400;i++)

if(i%3!=0)

sum=sum+i;

printf(”%d\\n”,sum);

2输入5个数,求和并输出。要求编写求和的函数。

#include〈stdio.h>

void main()

int b(int x[],int n);

int sum=0;

int a[5]={1,2,3,4,5};

sum=b(a,5);

printf("sum=%d\\n”,sum);

}

int b(int x[],int n)

{

int i,sum=0;

for(i=0;i〈5;i++)

sum=sum+x[i];

return sum;

}

3输入3个学生4门课的成绩{(60,70,65,75),(75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出,结果保留一位小数

#include〈stdio.h>

void main()

{ int a[3][4]={{60,70,65,75},{75,80,75,90},{95,75,90,65}};

int i,j;

float averagesum=0。0;

printf("三个学生的总分和平均成绩依次为:\\n”);

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

sum=0.0;

for(j=0;j〈4;j++)

sum=sum+a[i][j];

average=sum/4;

printf("%.2f,%。2f\\n",sum,average);

}

4起泡法(选择法)对十个数排序

#include

void main()

int i,j,t;

int a[10];

printf("请输入10个数:\\n");

for(i=0;i〈10;i++)

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

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

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

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

for(i=0;i〈10;i++)

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

printf(”\\n”);

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务