C语言试卷(B卷)(带答案)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二.填空题(每空1分,共16分)

1. ‘c’表示一个字符,“c”表示一个字符串,后者比前者多一个元素‘\0’

2. 2

3. 0 , 1

4. #include “stdio.h”或#include

5. 1) 6 , 4

2) 6 , 5

6. continue ,breake

7. AB

8. China!

9. (x%4= =0)&&(x%100!=0)(括号可以不要)

x<0&&y>0

sin(3.1415926/2)+x*x*(y+z) 或sin(3.14/2)+pow(x,2)*(y+z)

三.读程序,写出运行结果(6*4=24分)

1. 2. 1 5 14 30 result=27

3. 4.

Before: 10 20 30 40 50 1223 34 45 60 50 40 30 20 10 After:

21 32 43 54 6

5. 6.

Before called swap(): a=10,b=20 shanghai is a great city! In swap(): x=20,y=10 hanghai i a great city! After called swap(): a=20,b=10 m=2

四. 写程序(3*10=30分)(编程题写在此页背面)

四.编程题答案:

(1)#include "stdio.h"

#define N 20

void main()

{ int sum=0,i;

static int a[N]={8},b[N]={1};

sum=sum+a[0];

for(i=1;i

{ b[i]=b[i-1]+3;

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

sum=sum+a[i];

}

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

}

(2)#include "stdio.h"

int fun(int a,int b)

{

int r,t,ggg;

if(a

r=a%b;

while(r!=0)

{ a=b;b=r;r=a%b;}

ggg=b;

return(ggg);

}

void main()

{ int m,n,k;

printf("请输入两个整数: ");

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

k=fun(m,n);

printf("\n其最大公约数为:%4d\n",k);

}

(3)#include "stdio.h"

#define N 10

void main()

{ int a[N],i,j,k,t,n;

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

for(i=0;i

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

for(i=0;i

{ k=i;

for(j=i+1;j

if(a[k]

if(i!=k) { t=a[i];a[i]=a[k];a[k]=t;} }

for(i=0;i

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

printf("\n");

for(n=N,i=0;i

for(j=n-1;j>i;j--)

if(a[i]==a[j])

{ for(k=j+1;k

a[k-1]=a[k]; n--;

}

for(i=0;i

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

printf("\n");

}

一.单选题(30*1=30分)

1.下列哪一个不是合法的变量名()。

A. _123

B. _auto_

C. Mr.th

D. abc_1_2_3

2.C语言程序由()组成。

A.子程序 B. 语句 C. 函数 D. 主程序和子程序

3.设x、y、z均为实型变量,代数式“x /(yz)”的正确写法是()。

A.x / y * z B. x % y % z C. x / y / z D. x % y * z

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

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

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

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

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

5.C的三种基本结构是()。

A. 顺序结构、转移结构、递归结构

B. 顺序结构、嵌套结构、递归结构

C. 顺序结构、选择结构、循环结构

D. 选择结构、循环结构、嵌套结构

6.已知:char a; int b; float c; double d; 则表达式a*b+c-d的结果为()型。

A.double B. int C. float D. char

7.为了避免嵌套的条件分支语句if~else的二义性,特规定else总是与()

组成配对关系。

A.缩排位置相同的if B. 在其前未配对的if

C. 在之前未配对的最近的if

D. 同一行上的if

8.在C语言程序中,()。

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

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

C.函数的定义和函数的调用均不可以嵌套

D.函数的定义和函数的调用均可以嵌套

9.设有整型变量i=3,执行语句k=(++i)+( ++i) +(++i)后,k的值为()。

A. 15

B. 16

C. 17

D. 18

10.表达式“1 ? ( 0 ? 3 : 2) : (10 ? 1 : 0)”的值为()。

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

11.已说明int a=256,执行语句“printf(“%x”, a);”的结果是()。

A. 0100

B. 0256

C. 0ffe

D. 00ff

12.下面对字符数组s的初始化不正确的是()。

A. char s[5]={“abc”};

B. char s[5]={‘a’, ‘b’, ‘c’};

C. char s[5]=“”;

D. char s[5]=“abcdef”;

13.在C语言中,函数的隐含存储类别是()。

A. auto

B. static

C. extern

D. 无存储类别

14.下列不正确的转义字符是()。

A)'\\' B)‘\"’C) '074' D) '\0'

15.执行下列程序后,变量i的正确结果是:()。

int i=10;

switch( i ) {

case 9: i+=1;

case 10: i+=1;

case 11: i+=1;

default: i+=1;

}

A. 11

B.12 C . 13 D. 14

16.在“static int a[5]={1, 3, 5}; ”中,数组元素a[3]的值是()

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

17.若有说明:int a[3][3]={1,2,3,4,5,6,7}; 则a[2][2]的值为()。

A) 0 B) 5 C) 2 D) 无确定值

18.以下程序的输出结果为()。

#include

相关文档
最新文档