1、专升本 C 语言历年考试题及答案1专升本 C 语言历年考试题及答案一、单项选择题1. C 语言源程序文件经过 C 编译程序编译连接之后生成一个后缀为_C_的文件。A、”.c” B、“.obj” C、“.exe” D、“.bas”2. 以下选项中不正确的整型常量是_C_。A、 12L B、 -10 C、 1,900 D、 123U3. 表达式_C_的值是 0。A、3%5 B、3/5.0 C、3/5 D、30|y0) 等价于_D_。A、!x0|!y0 B、!(x0)|!(y0) C、!x0 将得到出错信息。A、%d B、%o C、%x D、%f8. 设变量定义为“int s =“hellonwor
2、ldn“;”,则数组 s 中有_B_个元素。A、12 B、13 C、14 D、159. 设变量定义为“int a2=1,3, *p=”,则*p 的值是_B_。A、2 B、3 C、4 D、int k; p4;A、p-k=2 B、p0.s=“abc” C、p0-k=2 D、p-s=a14. 下列运算符中,优先级从高到低依次为_D_。A、 p= q = p = q ; (*p)+;printf(“%d“,*q);A、1 B、2 C、10 D、1116 以下各选项企图说明一种新的类型名,其中正确的是水量 (C)A) typedef v1 int; B) typedef v2=int;C) typede
3、fv1 int v3; D) typedef v4: int;17. 以下选项中,非法的字符常量是 (C)A) t B) 17 C)“n” D) xaa18. 以下程序的输出结果是 (C)main() int i, a10;for(i=9;i=0;i-) ai=10-i;printf(“%d%d%d”,a2,a5,a8);专升本 C 语言历年考试题及答案3A) 258 B) 741 C) 852 D) 36919. 以下程序的输出结果是(B)main() char st20= “hello0t”;printf(%d %d n”,strlen(st),sizeof(st);A) 9 9 B) 5
4、 20 C) 13 20 D) 20 2020. 以下程序的输出结果是 (D)main() int a, b;for(a=1, b=1; a=10) break;if (b%3= =1) b+=3; continue; printf(“%dn”,a);A) 101 B) 6 C) 5 D) 421. 以下程序的输出结果是 (D) union myun struct int x, y, z; u;int k; a;main() a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf(%dn”,a.u.x);A) 4 B) 5 C) 6 D) 022. 以下程序段的输出结果是
5、 (A)char s=“141141abct“;printf (“%dn“,strlen(s);A) 9 B) 12 C) 13 D) 1423. 以下程序的输出结果是 (B)main() char ch35=“AAAA“,“BBB“,“CC“;printf(“%s“n“,ch1);专升本 C 语言历年考试题及答案4A) “AAAA“ B) “BBB“ C) “BBBCC“ D) “CC“24. 不合法的 main 函数命令行参数表示形式是 (C)A) main(int a,char *c) B) main(int arc,char *arv)C) main(int argc,char *ar
6、gv) D) main(int argv,char *argc)25. 有以下程序main() char *s=“one“,“two“,“three“,*p; p=s1; printf(“%c,%sn“,*(p+1),s0); 执行后输出结果是 (C)A) n,two B) t,one C)w,one D) o,two26. 设有如下说明typedef struct int n; char c; double x;STD; 则以下选项中,能正确定义结构体数组并赋初值的语句是 (A)A) STD tt2=1,A,62,2, B,75;B) STD tt2=1,“A“,62,2, “B“,75;C
7、) struct tt2=1,A,2, B;D)structtt2=1,“A“,62.5,2, “B“,75.0;27. 若变量 c 为 char 类型,则能正确判断出 c 为小写字母的表达式是( D )。A) a= a)|(c=c) D) (c= a)else if(x=0)y=0;else y=-1;_。1 x0y= 0 x=0-1 xk) break ; else s += k; printf(“k=%d s=%d“, k, s);6. 下列程序段的输出结果是_15_。 #define MIN(x,y) (x)*s ) s=p;return(*s);main() int x5=12,21
8、,13,6,18;printf(“%dn“,findmax(x,5);三、程序(段)填空题1设变量 x, y, z 已正确定义和赋值,请仔细阅读程序段,然后在程序段中填入正确的内容,使程序段和程序段有相同的功能。专升本 C 语言历年考试题及答案7程序段 A程序段 Bx=x+y;y=x-y;x=x-y;z=x+y;z=x ;x=y ;y=z; z=x+y;2请仔细阅读函数 f1,然后在函数 f2 中填入正确的内容,使函数 f1 和函数 f2 有相同的功能。char *f1(char s , char t) int k;for(k=0; tk!= ; k+)sk=tk;sk= ;return s;