**学院
2019—2020学年度第一学期期末考核试卷
课程名称:  C 语言程序设计        考核类型:  考查    考核形式: 闭卷
学生所在院系:              班  级:                试  卷: A
1.未指定存储类别的变量,其隐含的存储类别为(  )。
A. auto
B. static
C. extern
D. register 2. 以下选项中不合法的变量名称是(  )。
A .ab
B .file
C .main
D .printf 3. 下面合法的C 语言字符常量是(  )。
A. '\t'
B. "A"
C. 65
D. A 4. 字符(char)型数据在微机内存中的存储形式是(  )。
A . 反码
B . 补码
C . EBCDIC 码
D . ASCII 码 5. 下列字符数组初始化语句中,不正确的是(  )。
A .char c[]='goodmorning';
B .char e[20]="goodmorning":
C .char c[]={'a','b','c','d'};
D .char c[]={"ffgoodmorning"}; 6. 表达式: 10!=9的值是 (  )。
A. true
B. 非零值
C. 0
D. 1 7. 在下列选项中,不正确的赋值语句是 (  )。
A. ++t;
B. n1=(n2=(n3=0));
C. k=i=j;
D. a=b+c=1; 8. 为表示关系x ≥y ≥z,应使用C 语言表达式(  )。 A. (x>=y)&&(y>=z)        B. (x>=y)AND(y>=z) C. (x>=y>=z)              D. (x>=y) & (y>=z)
一、选择题………………………………(每小题2分,共30分)
9.下面程序的输出的是()。
#include<stdio.h>
void main(){
int x=10,y=3;
printf("%d\n",y=x/y);
}
A. 0
B. 1
C. 3
D. 不确定的值
10.执行下面程序中的输出语句后,输出结果是()。
#include<stdio.h>
void main(){
int a;
printf("%d\n",(a=3*5,a*4,a+5));
}
A. 65
printf函数返回值B. 20
C. 15
D. 10
11. C语言中的简单数据类型包括()。
A.整型、实型、逻辑型
B.整型、实型、逻辑型、字符型
C.整型、字符型、逻辑型
D.整型、实型、字符型
12.若int x=2,y=3,z=4,则表达式x<z?y:z的结果是(    )。
A. 4
B. 3
C. 2
D. 0
13. 对二维数组的正确定义是()。
A.int a[ ][ ]={1,2,3,4,5,6};
B.int a[2][ ]={1,2,3,4,5,6};
C.int a[ ][3]={1,2,3,4,5,6};
D.int a[2,3]={1,2,3,4,5,6};
14. 已知int a[3][4];则对数组元素引用正确的是()。
A.a[2][4]
B.a[1,3]
C.a[2][0]
D.a(2)(1)
15. C语言中函数返回值的类型是由()决定的。
A. 函数定义时指定的类型
B. return语句中的表达式类型
C. 调用该函数时的实参的数据类型
D. 形参的数据类型
二、判断题…………………………(每空1分,共10分)
16.函数的实参可以是常量、变量或表达式。()
17.如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。()
18.在C语言中,逗号既可以作为运算符,也可以作为分隔符。()
19. C语言的三种循环不可以互相嵌套。()
20.如果函数定义出现在函数调用之前,可以不必加函数原型声明。()
21.在对数组全部元素赋初值时,可以省略行数,但不能省略列数。()
22.在C语言中能逐个地使用下标变量,也能一次引用整个数组。()
23.函数返回值的类型是由在定义函数时所指定的函数类型决定。()
24.结构体成员的类型必须是基本数据类型。()
25.逻辑表达式的值只能为1或0。()
27.表达式 3.6/6+1/2+55%10 的计算结果(以保留1位小数的浮点型保存)是。28.在C语言中的实型变量分为两种类型,它们是float型和型。
29.定义int x; x=-3+4%5-6,则x的值为。
30.数组在内存中占一段连续的存储区,由代表它的首地址。
31.设x=62,表达式x>=60&&x<70||x==1的值为。
32.函数的实参传递到形参的传递有值传递和_______________ 两种方式。
33.C语言中,若未说明函数的类型,则系统默认该函数的类型是________型。
34.如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8}; ,则数组a的长度是________。
35.C语言的三种基本结构是顺序结构、选择结构和________结构。
四、程序设计题………………………(每小题10分,共50分)
36. 编写程序求1+2+3+4+ (100)
#include<stdio.h>
main()
{
int i=0;
int sum=0;
(1)/*for循环*/
(2)/*累加运算*/
printf("sum =%d", sum);
}
37. 编写程序求10个正整数的最大值和最小值。
#include<stdio.h>
void main()
{
int num[10],i;
for(i=0;i<10;i++)
{
(1)/*用sacnf函数输入每一个数组元素的值*/ }
int MAX=num[0],MIN=num[0];
for(i=1;i<10;i++)
{
if(MAX<num[i])
(2)/*将较大的值赋给MAX */
if(MIN>num[i]
(3)/*将较小的值赋给MIN */
}
printf("最大值是%d,最小值是%d",MAX,MIN);
}
38. 编写程序计算两个int型数据的和。
#include <stdio.h>
int sum (int x, int y)
{
(1)/*定义1个整型变量*/
(2)/* 计算x与y的和*/
(3)/* 返回结果*/
}
void main()
{
int a=1, b=2, c; /*定义3个整型变量a,b,c*/
(4)/*调用函数,返回值赋给c*/
printf (“c=%d\n”,c);/*输出c值*/
}
39. 编程实现对10个数按升序排列。
#include<stdio.h>
#define N 10
int main()
{
int i,j,a[N],temp;
for(i=0;i<N;i++) /*请输入10 个数字*/
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{
for(j=i+1;j<N;j++)
if( ) (1)/*比较大小*/
{
(2)/*交换值*/
(3)/*交换值*/
(4)/*交换值*/
}
}
printf("排序后的结果是:\n");
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。