学号: 姓名: 分数:
一、选择题(1--14题,每题1分;15--36题,每题2分。共58分)
1) 以下非法的赋值语句是。
a) n=(i=2,++i); b)j++;c) +i+1); d)x=j>0;
2) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是。
a)6.500000 b)6 c) 5.500000 d) 6.000000
3) 已知i、j、k为int型变量,若从键盘输入:1,2,3《回车》,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是。
a) scanf(“%2d%2d%2d”,&i,&j,&k);
b) scanf(“%d %d %d”,&i,&j,&k);
c) scanf(“%d,%d,%d”,&i,&j,&k);
d) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
4) 与数学式子对应的c语言表达式是。
a) 3*x^n(2*x-1b) 3*x**n(2*x-1)
c) 3*pow(x,n)*(1/(2*x-1)) d) 3*pow(n,x)/(2*x-1)
5) 设有定义:long x=-123456l;,则以下能够正确输出变量x值的语句是。
a)printf(“x=%d”,x); b) printf(“x=%1d”,x);
c)printf(“x=%8dl”,x); d)printf(“x=%ld”,x);
6) 若有以下程序:
main()
int k=2,i=2,m;
m=(k+=i*=k);printf(“%d,%d”,m,i);
执行后的输出结果是。
a) 8,6 b) 8,3c) 6,4 d) 7,4
7) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 &&y+z/2的值是。
abcd) 1
8) 若有以下说明和定义。
typedef int *integer;
integer p,*q;
以下叙述正确的是。
a) p是int型变量b) p是基类型为int的指针变量。
c) q是基类型为int的指针变量 d) 程序中可用integer代替int类型名。
9) 以下选项中,与k=n++完全等价的表达式是。
a) k=n,n=n+1 b) n=n+1,k=n c) k=++n d) k+=n+1
10) 有以下程序段。
int n=0,p;
dowhile(p!=12345 &&n<3);
此处do—while循环的结束条件是。
a) p的值不等于12345并且n的值小于3
b) p的值等于12345并且n的值大于等于3
c) p的值不等于12345或者n的值小于3
d) p的值等于12345或者n的值大于等于3
11) c语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是。
a) void b) int c) float d) double
12) 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是。
a) p=qb) *p=*q; c) n=*q; d) p=n;
13) 以下叙述中错误的是。
a) 二进制文件打开后可以先读文件的末尾,而顺序文件不可以。
b) 在程序结束时,应当用fclose函数关闭已打开的文件。
c) 在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据。
d) 不可以用file定义指向二进制文件的文件指针。
14) 设有如下定义:
struck sk
int a;
float b;
data;int *p;
若要使p指向data中的a域,正确的赋值语句是。
a) p=&a; b) p= c) p=& d) *p=
15) 有一函数,,以下程序段中不能根据x值正确计算出y值的是。
a) if(x>0) y=1b) y=0;
else if(x==0) y=0if(x>0) y=1;
else y=-1else if(x<0) y=-1;
c)y=0d)if(x>=0)
if(x>=0if(x>0) y=1;
if(x>0) y=1else y=0;
else y=-1else y=-1;
16) 有以下程序。
float fun(int x,int y)
return(x+y);
main()
int a=2,b=5,c=8;
printf(“%3.0f”,fun((int)fun(a+c,b),a-c));
程序运行后的输出结果是。
a) 编译出错 b) 9 c) 21 d) 9.0
17) 有以下程序。
void fun(char *c,int d)
*c=*c+1;d=d+1;
printf(“%c,%c,”,c,d);
main()
char a=’a’,b=’a’;
fun(&b,a); printf(“%c,%c”,a,b);
程序运行后的输出结果是。
a)b,a,b,a b) a,b,a,b c) a,b,a,b d) b,b,a,b
18) 以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序。
void sort(int a,int n)
int i,j,t;
for(i=0;ifor(j=i+1,jif(a[i]}
main()
int aa[10]=,i;
sort(&aa[3],5);
for(i=o;i<10;i++)print(“%d,”,aa[i]);
printf(‘”);
程序运行后的输出结果是。
a)1,2,3,4,5,6,7,8,9,10 b) 10,9,8,7,6,5,4,3,2,1,c) 1,2,3,8,7.6.5.
4.9,10 d) 1,2,10,9,8,7,6,5,4,3
19) 有以下程序。
int f(int n)
if (n==1) return 1;
else return f(n-1)+1;
main()
int i,j=0;
for(i=1;i<3;i++)j+=f(i);
printf(“%d”,j);
程序运行后的输出结果是。
a) 4 b) 3 c) 2 d) 1
20) 有以下程序。
main()
char a[ ]int i,j;
i=sizeof(a); j=strlen(a);
printf(“%d,%d”,i,j);
程序运行后的输出结果是。
a)9,9 b)8,9 c)1,8 d)9,8
21) 以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。
void reverse(int a[ ]int n)
int i,t;
for(i=0;i
main()
int b[10]=;int i,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf(“%d”,s);
程序运行后的输出结果是。
a) 22 b) 10 c) 34 d) 30
22) 有以下程序。
main()
int aa[4][4]=,
int i,s=0;
for(i=0;i<4;i++)s+=aa[i][1];
printf(“%d”,s);
程序运行后的输出结果是。
a) 11 b) 19 c) 13d) 20
23) 有以下程序。
#include <>
main()
char *p=“abcde\ofghjik\0”;
printf(“%d”,strlen(p));
程序运行后的输出结果是。
a) 12 b) 15 c) 6 d) 5
24) 程序中头文件 的内容是:
#define n 5
#define m1 n*3
程序如下:#include “
#define m2 n*2
main()
int i;
i=m1+m2; printf(“%d”,i);
程序编译后运行的输出结果是:
a) 10 b) 20 c) 25 d) 30
25) 有以下程序。
#include <>
main()
file *fp; int i=20,j=30,k,n;
fp=fopen(“
fprintf(fp,“%d”,i);fprintf(fp,“%d”,j);
《C语言程序设计》期末考试试卷
c语言程序设计 期末考试试卷。txt机会就像秃子头上一根毛,你抓住就抓住了,抓不住就没了。我和你说了10分钟的话,但却没有和你产生任何争论。那么,我们之间一定有个人变得虚伪无比!过错是短暂的遗憾,错过是永远的遗憾。相遇是缘,相知是份,相爱是约定,c语言程序设计 c语言程序设计 期末考试试卷。txt机...
C语言程序设计期末考试试题
一 单项选择题 30分 1.下列不属于算法应该具有的特性是 a.确定性 b.有穷性 c.可行性 d.有零个或者多个输入。2.以下不正确c语言标识符是 b.abc c.bc 3.计算机能直接执行的程序是 a.源程序 b.目标程序 c.汇编程序 d.可执行程序。4.以下运算符优先级最高的是 a.b.c....
《C语言程序设计》期末考试试题
考生必须将答案做在前面的答题纸上!试题一 28分,每小题4分 解答下列各小题,把解答写在答卷的对应栏内。1 试写出下列数学表达式的c语言表达式。2 满足关系式 a ch z 的c语言表达式是。a 65 ch ch 90b ch a z ch c a ch zd ch a z ch 3 设a 1 b ...