2016 年福建华侨大学 C 语言程序设计考研真题
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码写在
答题纸上。请注意注明题号。每小题 3 分,共计 90 分)
【1】以下不正确的 C 语言标识符是____。
A) int
B) a_1_2
C) ab1exe
D) _x
【2】以下是正确的 C 语言标识符是____。
A) #define
B) _123
C) %d
D) \n
【3】下列四组字符串中都可以用作C语言程序标识符的一组是 。
【4】下面各选项组中,均是 C 语言关键字的组是 。
A) auto,enum,include
B) switch,typedef,continue
C) signed,union,scanf
D) if,struct,type
【5】下列不属于 C 语言关键字的是 。
A) default
B) register
C) enum
D) external
【6】C 语言程序从 main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始
B) 程序文件的最后
C) 它所调用的函数的前面
D) 程序文件的任何位置
【7】下列关于 C 语言的叙述错误的是____
A) 大写字母和小写字母的意义相同
B) 不同类型的变量可以在一个表达式中
C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D) 同一个运算符号在不同的场合可以有不同的含义
【8】在 C 语言中,错误的 int 类型的常数是 。
A) 32768
B) 0
C) 037
D) 0xAF
【9】执行语句 printf("%x",-1);屏幕显示____。
A) -1
B) 1
C) -ffff
D) ffff
【10】已知 long i=32768;执行语句 printf("%d",i);屏幕显示____。
A) -1
B) -32768
C) 1
D) 32768
【11】已知 long i=65539;执行语句 printf("%d",i);屏幕显示____。
A) 65539
B) -3
C) 3
D) 程序不能执行
【12】在C语言中,整数-8 在内存中的存储形式是 。
A) 1111 1111 1111 1000
B) 1000 0000 0000 1000
C) 0000 0000 0000 1000
D) 1111 1111 1111 0111
【13】C 语言中字符型(char)数据在内存中的存储形式是____。
A) 原码
B) 补码
C) 反码
D) ASCII 码
【14】将字符 g 赋给字符变量 c,正确的表达式是 。
A) c=\147
B) c="\147"
C) c=’\147’
D) c=’0147’
【15】下列转义字符中错误的一个是____。
A) ’\000’
B) ’\0014’
C) ’\x111’
D) ’\2’
【16】将空格符赋给字符变量 c,正确的赋值语句是____。
A) c=’\0’
B) c=NULL
C) c=0
D) c=32
【17】已知:char a=’\70’;则变量 a 中 。
A) 包含 1 个字符
B) 包含 2 个字符
C) 包含 3 个字符
D) 说明非法
【18】字符串"\"EOF\n=-\61\""的长度是____。
A) 8
B) 9
C) 14
D) 非法字符串
【19】字符串""的长度是____。
A) 0
B) 1
C) 2
D) 非法字符串
【20】已知:char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量 c
的数据类型是 。
A) int
B) char
C) float
D) double
【21】温度华氏和摄氏的关系是: C=-(F-32)。已知:float C,F;由华氏求摄氏的正确
的赋值表达式是____。
A) C=5/9(F-32)
B) C=5*(F-32)/9
C) C=5/9*(F-32)
D) 三个表达式都正确
【22】逗号表达式"(a=3*5,a*4),a+15"的值是____。
A) 15
B) 60
C) 30
D) 不确定
【23】如果 int a=1,b=2,c=3,d=4;则条件表达式"a
【24】为求出 s=10!的值,则变量 s 的类型应当为 。
A) int
B) unsiged
C) long
D) 以上三种类型均可
【25】已知 int i=10;表达式"20-0<=i<=9"的值是____。
A) 0
B) 1
C) 19
D) 20
【26】已知 int x=1,y;执行下述语句后变量 x 的值是____。
y=++x>5&&++x<10;
A) 1
B) 2
C) 3
D) 4
【27】为判断字符变量 c 的值不是数字也不是字母时,应采用下述表达式____。
A) c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122
B) !(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)
C) c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122
D) !(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)
【28】已知 int a[3][2]={3,2,1};
则表达式"a[0][0]/a[0][1]/a[0][2]"的值是____。
A) 0.166667
B) 1
C) 0
D) 错误的表达式
【29】已知 int x=1,y=1,z=1;
表达式"x+++y+++z++"的值是____。
A) 3
B) 4
C) 5
D) 表达式错误
【30】用十进制表示表达式"12|012"的值是____。
A) 1
B) 0
C) 12
D) 14
二、阅读程序,并回答问题(共 40 分)
1、下列程序的输出是什么?(20 分)
2、下列程序为什么无法将用户输入的三个整数按从小到大排序输出?应该如何修改? (20
分)
三、程序设计(共 20 分)
设在文件 a.txt 和文件 b.txt 中分别存有两个字符串,设计一个程序将这两个字符串按依
序交叉的方式合并为一个字符串(例如“aaaaa”与“bbb”的合并结果为“abababaa”,而
“bbb”与“aaaaa”的合作结果为“ bababaa”,)并将结果存入文件 a.txt 中。