当前位置:首页 > 华科2013年C语言程序设计试卷-A卷及参考答案(正式用卷)
计算机学院2012-2013学年第2学期C语言程序设计考试试卷
A卷(或B卷): A卷 闭卷(或开卷):闭卷 考试时间:2013年 7 月 5 日
专业 班级 学号 学生姓名
题号 题分 得分 一 10 二 10 三 10 四 10 五 20 六 20 七 20 总分 100 核对人
注意:试卷后面附有运算符的优先级和结合性表。
得分 评卷人 一、 单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项
是正确的,请选择正确的选项并填写到括号内,选择正确得分。本大题 共10小题,每小题1分,共10分。)
1、以下为正确的标识符是 【 】
A、 for B、u.3 C、3c D、DO
2、以下为合法的整型常量是 【 】
A、-1U B、01111001B C、ffff D、0138
3、下列数据中属于字符串常量的是 【 】
A、'a' B、\、'123' D、\4、表达式-a+++b中记号(token)的个数是 【 】 A、3个 B、4个 C、5个 D、6个 5、 -3的16位补码是 【 】
A、0xfffd B、0x1011 C、0x7ffd D、0x0003 6、 以下为正确的转义字符是 【 】
A、'\\' B、'\\\\' C、'\\0x12' D、'\\0f1' 7、设有声明: enum {U,V,W=0,X,Y=0,Z} a; 则值为1的枚举常量的个数是 【 】
A、1个 B、2个 C、3个 D、4个 8、设有声明: 【 】
union U{ long a; short b; char c; char s[20];} v={0x01020304},*p=&v; 则下列选项正确的是
A、printf(\输出4 B、printf(\输出4 C、printf(\输出1 D、printf(\输出102 9、设有声明和语句:FILE *fp; fp=fopen(\【 】
则下列选项正确的是
A、打开文件的文件名为\\abc.dat B、打开的是二进制文件 C、打开的是文本文件 D、打开的文件只能进行读操作 10、设有如下代码片段: 【 】
int a[]={1,2,3,4,5},i; char *p=(char *)a; for(i=0;i<3;i++)
printf(\ printf(\
则该代码片段的输出结果是
A、1 2 3 4 5 B、1 2 3 C、1 1 1 D、2 3 4
C语言程序设计试卷 共14页 第 1页
得分 评卷人 二、 多项选择题(下面每小题的A、B、C、D备选项中,有两个或两个以上 的选项是正确的,请选择正确的选项并填写到括号内。本大题共5小题,每小题2分,共10分。) 1、设有声明:char s[]=\则运算结果为’e’的选项有 【 】
A、ch=s[4]; B、*(p+4); C、*(s+4); D、*s 2、设有声明:int x=10,y=20,*p=&x;下面选项中非法的表达式有 【 】
A、y+=*p; B、*p+1=y; C、y+1=x; D、x=y+=10;
3、设有声明: int a=5,b=10,t;则下面各表达式功能及结果都相同的有 【 】 A、a+=b,b=a-b,a-=b B、a*=b,b=a/b,a/=b
C、a^=b,b^=a,a^=b D、t=b,b=a,a=t 4、设part.exe程序带形如int main(int argc,char *argv[]){...}的 【 】 main函数。则输入命令行:part.exe abc.dat def.dat xyz.dat uvw.dat 时下面选项正确的有
A、printf(\输出5 B、printf(\输出4
C、printf(\输出abc.dat D、printf(\输出f
5、设有以下说明: 【 】
struct T {
unsigned short a : 1; unsigned short b : 2; unsigned short c : 3; unsigned short d : 4; unsigned short e : 6; } x,*p=&x;
则下面对字段变量各成员赋值正确的有
A、x.a = 2 B、p->b = 3 C、*p.c = 4 D、x.d = 5
得分 评卷人 三、 填空题(本大题共10小题,每小题1分,共10分。) 本大题的第1题至第5题请参考下面的说明,请计算出表达式的值和类型并填入各题前面的括号中,各题的表达式相互无关。
以下程序假设在32位机上运行。 char c1=’A’, c2;
unsigned short i=65535,j=2; short int m=4, n=1; float x=7.34, y=7.0;
【 】 1、c2=c1+j 【 】 2、m=i 【 】 3、m^=n< 【 】 4、n struct T{ int i; C语言程序设计试卷 共14页 第 2页 char c[20]; char *pc; struct T *next; } t2={2,“final exam.”,t2.c,NULL},t1={1,“This is the”,t1.c,&t2}, *p=&t1; 【 】6、t1.i 【 】7、p->c[0] 【 】8、t1.next->i 【 】9、*++p->pc 【 】10、p->next->next=p,t2.next->i 得分 评卷人 四、 判断改错题 (先判断下面各题中是否存在错误;如果存在错误,请改 正之;否则不必改。本大题共5小题,每小题2分,共10分。) 1、本小题的程序段如下: char s1[20]=\s2=s1; 2、以下代码段接受从键盘输入的字符串,并输出: char *p; gets(p); printf(\ 3、定义一个带参的宏THR (x),它求x的三次方,#define THR(x) (x)*(x)*(x) 4、输出2维数组元素m[1][2]的代码片段如下: int m[3][4], (*p)[4]=m; p=p+1; printf(\ *p[2]); n 5、下面程序希望计算并输出2。例如输入2,程序输出4;输入3,程序输出8。 #include \int f(void); int main(void) { int i,n; scanf(\ C语言程序设计试卷 共14页 第 3页 for(i=1;i printf(\的%d次方是: %d\\n\ return 0; } int f() { int f=1; return f*=2; } 评卷人 五、简答题(本大题共5小题,每小题4分,共20分) 1. 写一个表达式,判断字符变量ch的值是否是字母。 2. 写一个表达式,将unsigned short int型数x的高低字节对调。 3. 定义一个带参的宏ABS(e),用来求表达式e的绝对值。表达式e的类型可以是char、short、int或long,宏调用表达式的值为e的绝对值。 4. 用完全等效的新代码段替代以下代码,要求新代码段中不得使用转移语句。 for (i=2; i*i<=n; i++) if (!(m = n % i)) break; 5.设p是长度为3的函数指针数组,该数组中元素的类型为指向无参字符指针函数的指针。请写出相应的声明语句。 得分 C语言程序设计试卷 共14页 第 4页
共分享92篇相关文档