级计算机专业本科生C语言程序设计期末考试汇编
中南大学考试试卷
—2014学年第 1 学期期末考试试题 时间95分钟
计算机与程序设计语言基础 课程40学时 2.5学分 考试形式:闭卷
专业年级:计算机科学与技术2013级 总分 100分,占总评成绩70 %
注:此页不作答题纸,请将答案写在答题纸上判断对错(101分。对的划“√”,错的划“×”)
1.表达式1/4+2.75的值是3。( )函数无返回值,它形参。( )在Turbo C中,实型数据在内存中占4个字节。( )
被main函数调用的函数只能是库函数。( )
对整型变量可进行自加或自减运算,而对常量或表达式不可以。( )
算术运算符和赋值运算符的结合方向均由左右。( )
定义在main函数后的任何函数都需在main中进行函数声明。( )
一个函数中只允许有一条return语句。( )
任何数组在使用时必须先定义。( )
在int *p;和语句printf(“%d”, *p);中的*p含义相同。( )
A 主函数main中定义的变量在整个文件或程序中有效。
B 不同函数中,可以使用相同名字的变量。
C 形式参数是局部变量。
D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效。
3.若x、i、j和k都是int类型变量,则执行表达式x=(i=4,j=16,k=32);后x的值为 。
A.4 B.16 C.32 D.52
4.已知字母A的ASCII码为十进制数65,且c2为字符类型,则执行语句
c2=‘A’+‘6’-‘3’;后,c2中的值为 。
A.D B.68 C.不确定的值 D.C
5. 有定义语句:int??b;char??c[10];,则正确的输入语句是
A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);
C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);
6.设x、y和z是int类型变量,且x=3; y=4; z=5; 则下面表达式中的值为0的是 。
A.‘x’&&‘y’ B.x<=y C.x||y+z&&y-z D.!((x
7.下面程序段的运行结果是 。
int a,b,c,t;
a=1;b=2;c=2;
while(a
printf(“%d,%d,%d”,a,b,c);
A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1
8.若有说明:int *p,m=5,n;以下正确的程序段是 。
A.p=&n; scanf(“%d”,&p); B.p=&n; scanf(“%d”,*p);
C.scanf(“%d”,&n); *p=n; D.p=&n; *p=m;
9.已知变量定义和函数调用语句:int a=25; print_value(&a);下面函数正确输出结果是 。
void print_value(int *x)
{ printf(“%d\n”,++*x);}
A.23 B.24 C.25 D.26
10.以下对a[5]元素的非法表示是 。
?int a[10],*p=a;
A.*(a+5) B.p+5 C.*(p+5) D.p[5]
三、写出下列程序运行后的输出结果(每小题4分,共40分)
1.
#include
main()
{int a=-10,b=-3;
printf(“%d,”,-a%b);
printf(“%d,”,(a-b,a+b));
printf(“%d\n”,a-b?a-b:a+b);
}
2.
#include
void swap(int??x,int y)
{?? int??t;
????t=x;x=y;y=t;
????printf("x=%d,y=%d,",x,y);
}
main()
{?? int??a=3,b=4;
????swap(a,b);
????printf("a=%d,b=%d\n",a,b);
}
3.
#include
fun(int??a)
{? int b=0; static?int c=3;
? b++; c++;
? return??(a+b+c);
}
main()
{??int i;
for(i=0;i<3;i++)
??printf("%d %