2018~2019 学年第一学期期末考试试卷(A)卷
《C 语言程序设计》
满分:100 分考试时间:100 分钟考生得分:
:
号
学
线
封
密
/
级
班
业
专
:
名
姓
、,
一、填空题(每空 1 分 ,共 20 分)
1. C 语言程序的基本单位是 函数
2. 若整型数的十进制形式为 112, 则它的八进制形式为(160)8
。
式为 (70)16
。
3. 设 int a=10,b=4, 则表达式 a/b 的值为 2
。
4. 结构化编程的三种基本结构分别是 顺序 结构
构
、
5. 在逻辑运算中,7&&0 等于
6. C 语言规定:合法的标识符只能由 字母
,1||0 等于
循环结构 。
0
1
、 数字
、 下划线
、十六进制形
、
选择结
。
下划
、
。
线 组成,第一个字符必须为 字母
7. 函数体以符号 { 开始,以符号 }
8、按变量的作用域分,变量分为两种类型,分别为 局部 变量和 外部 变
量。
9. 二维数组 int
表示。
个元素,它的首地址用_ a[0][0]_____
a[3][4]共包含
结束。
12
B、八进制
D
B.程序文件中的第一个函数开始执行的;
二、选择题(每题 2 分,共 22 分)
1.一个 C 程序的执行是从( A
)
A.main 函数开始执行的;
C. 程序文件中的第一个子函数开始执行的; D. 程序文件最后 1 个函数开始的。
2. .数据在内存中以( A)形式存放。
A、二进制
3.下列语句的输出为(
int a=4;
a*=2+3;
printf(“%d”, a);
A. 6
C. 30
4.定义变量如下:char
B.15
D.20
x; float y;则以下输入语句中( C
D、十六进制
C、十进制
)是正确的。
)
5.int a=0,b=10,条件表达式(a>b)?(a+b):(a*b)的值为 (
B
)
)
A
B.0;
D.10。
A.
1;
C. -1;
6. 在 C 语言中形参的缺省存储类别是(
A.自动(auto);B.静态(static);C.寄存器(register);D.外部(extern)。
7.设有如下定义 int x=10,y=3,z; 则语句 printf(“%d\n”,z=(x/y,x%y));
的输出结果是( A
A.
D. 3。
8.若有定义 int x,*p;则以下正确的赋值表达式是(
A. P=&x ;
9.变量的指针,其含义是指该变量的( B
C. *p=&x ;
B. p=x ;
C. 4 ;
B.0 ;
1 ;
)
A
)
D. *p= *x。
)。
D.一个标志
B、6
C.名字
B.地址
)个字节
A.值
10.字符串“China”在内存中占(B
A、5
C、7
11.当 a=1,b=3,c=5,d=4 时,执行下面一段程序后,x 的值为( B
If(a
数字与 ASCII 码的对应关系为: 0 对应 48,9 对应 57 )
main( )
{
ch;
char
printf(“Please input a symbol:”);
scanf(“__(1)__”,&ch);
if( (2) &&_(3)__)
printf(“\n %d”,(4));
else
}
printf(“\n 0”);
(1):
%c
(2):
ch>=48
(3):
ch<=57
(4):
ch
四、根据程序写结果(每题 4 分,共 24 分)
1 .int yushu(int x,int y)
{
int s;
s=x%y;
return(s);
}
main( )
{int a,b,c;
a=5;b=3;
c=yushu(a,b);
printf(“%d”,c);
}
2. main( )
{ int i,j,m,n;
i=8;
j=10;
m=i++;
n=++j;
printf(“%d,%d”,m,n);
}
结果为:
2
结果为:
8,11
3.
main( )
{ int n;
for(n=1;n<=10;n++)
{ if(n%4 = =0) continue;
printf(“ %d ”,n);
}
}
4.
f(int x)
{int y=0;
static z=3;
y++;z++;
return(x+y+z);
}
main( )
a=3,i;
{int
for(i=0;i<3;i++)
结果为:
5.main( )
{int a[]={2,4,6,8,10};
int y=1,i,*p;
p=&a[2];
for(i=0; i<3;i++) y=*(p+i);
printf(“%d\n”,y);
}
printf(“%d”,f(a));
printf(“\n”);
}
1 2 3 4 5 6 7 8 9 10
结果为:
8910
6. #include
int x,y;
f( )
{int a=3,b=6;
x=x+a+b;
y=y+a-b;
}
main( )
{ int a=5,b=2;
x=a+b;
y=a-b;
f( );
printf(“%d,%d”,x,y);
}
结果为:
10
结果为:
16,0
五.编写程序题 (10 分)
1.按下列要求编写出 C 源程序:自定义求最大值的函数 max、求乘积的函数
product,主函数 main 中输入三个整数,通过调用 max、product 函数,求它
们的最大值和乘积并返回主函数输出。
int max(int x,int y,int z)
{int n,m;
if(x>y)
n=x;
else n=y;
if(z>n)
m=z;
else m=n;
return m;
}
long product(int x,int y,int z)
{long s;
s=x*y*z;
return s;}
甘肃能源化工职业学院试卷
共 2 页第 2页
main()
{int a,b,c,m,p;
scanf("%d , %d, %d",&a,&b,&c);
m=max(a,b,c);
p=product(a,b,c);
printf("max=%d,乘积=%ld\n",m,p);
}
甘肃能源化工职业学院试卷
共 2 页第 3页