2006级《面向过程程序设计(C语言)》试卷A解答
课程名称:面向过程程序设计(C语言) ( A卷 闭卷)
适用专业年级:计06级,通信06级 考试时间: 100分钟
题号
一
二
三
四
五
六
七
八
九
十
总分
统分人 签名
题分
36
15
21
28
100
得分
考生注意事项:1、本试卷共 4 页,试卷如有缺页或破损,请立即举手报告以便更换。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
3、答案全部做在答题纸上,并写在密封线内和纸卷正面,否则不记分。
单选题。从供选择的答案中选出正确答案。(每题1.5分,共36分)
以下定义和语句: char?cl='b',c2='e'; printf(″%d,%c\n″,c2-c1,c2-'a'+'A');则输出结果是:??A. 2,M??B. 3,E ?? C. 2,E?D. 输出项与对应的格式控制不一致,输出结果不确定
若有两条语句static?char?x[]?="abcde";
static?char?y[]?={'a','b','c','d','e'};
则下列语法中正确的是
??A. x数组和y数组的长度相同?? B. x数组的长度小于y数组的长度
??C. x数组的长度大于y数组的长度??D. x数组等价于y数组
以下程序的输出结果是 ?#define f(x) ?x*x ?main( ) ?{ ?int ?a=6,b=2,c; ?c=f(a)?/?f(b); ?printf("%d?\n",c); ?}??
A. 9??B. 6 ??C. 36 ??D. 18
在C语言中的if语句中,用作判断的表达式为()??A. 关系表达式??B. 逻辑表达式??C. 算数表达式??D. 任意表达式
执行下面程序中输出语句后,a的值是main()
{ int?a;
printf("%d\n",(a=3*5,a*4,a+5));}??
??A. 65 ??B. 20 ?C. 15 ??D. 10
合法的数组定义是
??A. static int a[]=″string″; ??B. static int a[5]={0,1,2,3,4,5}
??C. static char a=″string″; D. static char a[]={0,1,2,3,4,5};
C语言可执行程序的开始执行点是(?)
??A. 程序中的一条可执行语句??B. 程序中第一个函数
??C. 程序中的main函数??D. 包含文件中的第一个函数
判断两个字符串S1?和?S2?相等的正确语句是
??A. if (S1=S2) ? ?B. if (S1==S2)
??C. if (strcpy(S1,S2)) ??D. if (strcmp(S1,S2)==0)
若有条件表达式?(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()
??A. (exp==0)??B. (exp!=0) ??C. (exp==1) ??D. (exp!=1)
若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()
??A. EOF??B. 0 ??C. 非零值??D. NULL
下面程序段的运行结果是()char?*s="abcde";
s+=2;printf("%d",s);
??A. cde ??B. 字符'c' ??C. 字符'c'的地址 ??D. 无确定的输出结果
假定int类型变量占用两个字节,其有定义:int?x[10]={0,2,4};,则数组x在内存中所占字节数是()??A. 3 ??B. 6 ??C. 10 ??D. 20
不合法的main函数命令行参数表示形式是()
??A. main(int a,char *c[]) ??B. main(int arc,char **arv)
??C. main(int argc,char *argv) ??D. main(int argc,char *argv[])
若有以下定义和语句:double?r=99,?*p=&r;*p=r;则以下正确的叙述是()??A. 两处的*p含义相同,都说明给指针变量p赋值
??B. 在"double r=99, *p=&r;"中,把r的地址赋值给了p所指的存储单元
??C. 语句"*p=r;"把变量r的值赋给指针变量p
??D. 语句"*p=r;"取变量r的值放回r中
已知int?j,i=1;,执行语句j=-i++;后,j的值是( C )。
??A. 1?