C语言期末试题A卷答案

  • 格式:doc
  • 大小:66.50 KB
  • 文档页数:8

第1页 共6页

„„„„„○„„„„„密„„„„„○„„„„„封„„„„„○„„„„„线„„„„„○„„„„

考试科目:C 语言程序设计

试卷适用专业(班): 生

学年度/第1学期 考试时间 月 日 节

题号 一 二 三 四 总计

分值 30 20

24 26

100

得分

阅卷人

一、 填空题(每空2分,共15分)

1. C语言中标识符只能由字母、数字和下划线三种字符

组成,且必须以 或 开头。

2. 假设int 型变量a 的值为2,则表达式a*=a+a的

值是 。

3.‘g’在内存中占 个字节,“g”在内存中

占 个字节。

4. 已知i=3,执行语句“j=i++;”后,j的值是 ,

i的值是 。

5. 若有“int a[2][2]={{1,2},{3}};”,则a[0][1]

的值是 。

6.已知float a=123.456;语句printf(“% .2f”,a)的

输出结果为 。

第2页 共6页

7. 若有int a=3,b=4,c=5;则表达式!(a>b)&&!c||1的值 。

8. 已知char str[]=“hello!”,则strlen(str)的值为 。

9. C语言中数组元素的下标最小值为 。

10.C语言的基本数据类型有: , , 。

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

1. C语言程序的基本单位是( )

A.程序行 B.字符 C.函数 D.语句

2. 在C语言中,下列运算符的操作数必须是int类型的运算符是( )

A.% B. += C./ D. *

3. 设a=1,b=2,则语句“printf(“%d”,a

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

4. 设有程序段如下:

int k=10;

while( k>=10 )

k=k+1;

则下面叙述正确的是( )

A.循环体执行10次 B. 循环是死循环

C.循环体一次也不执行 D. 循环体执行一次

5. 以下程序运行的结果是( )

main()

{ char a[7]=“abcdef”;

printf(“%c”,a[5]);

}

A.e B.f C.\0 D.无结果

第3页 共6页

6. 以下叙述正确的是( )

A. main函数必须出现在程序开头

B. 在C语言中,一行上只能写一条语句

C. 一个C程序是由一个或多个函数构成

D. 在C 程序中,ABC和abc是两个相同的变量

7. 在下面的语句中,能对一维数组正确赋初值的语句是( )

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

B. char a[]={'0','1','2','3'};

C. char a={‘A’,‘B’,‘C’};

D. int a[5]=“01234” ;

8.C语言中,简单变量作为实参时,它和对应的形参之间的数据传递方式是( )

A.单向值传递 B.地址传递

C.相互传递 D.由用户指定传递方式

9. 与“for(表达式1;;表达式3)”等价的为( )

A. for(表达式1;0;表达式3)

B. for(表达式1;1;表达式3)

C. for(表达式1;表达式1;表达式3)

D. for(表达式1;表达式3;表达式3)

10. 若有int a[4][5];则对a数组元素的正确引用是( )

A.a[2][5] B.a[2,3]

C.a[1+1][0] D.a(2)(2)

第4页 共6页

三、写出下列程序运行结果(每题6分,共24分)

1. 下面程序的输出结果是:

#define f(x) x*x

main( )

{ int i;

i=f(4)/f(2+2);

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

}

2. 下面程序的输出结果是:

max(int x,int y)

{int z;

z=x>y?x:y;

return z;

}

main()

{int a=10,b=8,m;

m=max(a,b);

printf(“%d”,m);}

}

3. 下面程序的输出结果是:

main( )

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

int *p=a+5,*q=NULL;

*q=*(p+2);

printf(“%d %d\n” , *p, *q );

}

第5页 共6页

4.下面程序的输出结果是:

main()

{ int arr[10],i,k=0;

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

arr[i]=i;

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

k+=arr[i];

printf(“%d\n”,k);}

四、编程题(共26分)

1. 编程判断输入的一个正整数是否既是3又是7的整数倍。若是,则输出 YES,否则输出NO。(8分)

第6页 共6页

2.编程计算1到正整数n之间的偶数之和。(8分)

3.找出有10个元素的整型数组中最小元素的值并输出。(10分)

第7页 共6页

C 语言程序设计答案(A卷)

一、填空题

1、字母、下划线 2、8

3、4 ,5 4、3,4

5、2 6、123.45

7、1 8、6

9、0 10、整型(int),实型(float),字符型(char)

二、选择题

1、C 2、A 3、A 4、B 5、B

6、C 7、B 8、A 9、B 10、C

三、写出下列程序运行结果

1、i=14

2、10

3、6 8

4、6

四、程序设计题

1、main()

{int n;

scanf(“%d”,&n);

if(n%3==0&&n%7==)

printf(“YES”);

else

printf(“NO”);}

第8页 共6页

2、 main( )

{ int i ,n, sum=0 ;

scanf(“%d”,&n);

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

sum=sum+i;

printf(“%d”,sum);

}

3、

3、main()

{int a[10];

int i,max;

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

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

max=a[0];

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

if(max>a[i])

max=a[i];

printf(“max=%d”,max);