[作业考核] 西交17年3月课程《程序设计基础》作业考核答案

[复制链接]
发表于 2017-2-22 08:49:08 | 显示全部楼层 |阅读模式
西安交通大学17年3月课程考试《程序设计基础》作业考核试题
一、单选题:【30道,总分:60分】

1.以下叙述中正确的是(    )。          (满分:2)
    A. 在程序的一行上可以出现多个有效的预处理命令行
    B. 使用带参的宏时,参数的类型应与宏定义时的一致
    C. 宏替换不占用运行时间,只占编译时间
    D. 在以下定义中CR是称为"宏名"的标识符#defineCR045
2.以下只有在使用时才为该类型变量分配内存的存储类说明是(    )。          (满分:2)
    A. auto和static
    B. auto和register
    C. register和static
    D. extern和register
3.若二维数组a有m列,则在a[j]前的元素个数为(    )。          (满分:2)
    A. j*m+I
    B. i*m+j
    C. i*m+j-1
    D. i*m+j+1
4.以下运算符中,优先级最高的运算符是(    )。          (满分:2)
    A.(    )
    B. %
    C. !
    D. ==
5.fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是(    )。          (满分:2)
    A. 字符串读入后不会自动加入'\0'
    B. fp是file类型的指针
    C. fgets函数将从文件中最多读入n-1个字符
    D. fgets函数将从文件中最多读入n个字符
6.若有int i=3,*p;p=&i;下列语句中输出结果为3的是(    )。          (满分:2)
    A. printf("%d",&p);
    B. printf("%d",*i);
    C. printf("%d",*p);
    D. printf("%d",p);
7.以下正确的说法是(    )。          (满分:2)
    A. 用户若需调用标准库函数,调用前必须重新定义
    B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义
    C. 系统根本不允许用户重新定义标准库函数
    D. 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
8.下列程序的输出结果为(    )。main(    ){int m=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}          (满分:2)
    A. 27.000000
    B. 27.500000
    C. 28.000000
    D. 28.500000
9.要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是(    )。          (满分:2)
    A. fopen("A.\user\abc.txt","r")
    B. fopen("A.\\user\\abc.txt","r+")
    C. fopen("A.\user\abc.txt","rb")
    D. fopen("A.\\user\\abc.txt","w")
10.C语言中的文件类型只有(    )。          (满分:2)
    A. 索引文件和文本文件两种
    B. ASCII文件和二进制文件两种
    C. 文本文件一种
    D. 二进制文件一种
11.C语言中,要求运算数必须是整型的运算符是(    )。          (满分:2)
    A. ^
    B. %
    C. !
    D. >
12.下列程序的输出结果是(    )。main(    ){int x=1,y=0,a=0,b=0;switch(x){case1.switch(y){case0.a++;break;case1.b++;break;}case2.a++;b++;break;case3.a++;b++;break;}printf("a=%d,b=%d\n",a,b);}          (满分:2)
    A. a=1,b=0
    B. a=2,b=1
    C. a=1,b=1
    D. a=2,b=2
13.以下叙述中错误的是(    )。          (满分:2)
    A. 二进制文件打开后可以先读文件的末尾,而顺序文件不可以
    B. 在程序结束时,应当用fclose函数关闭已打开的文件
    C. 在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
    D. 不可以用FILE定义指向二进制文件的文件指针
14.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为(    )。          (满分:2)
    A. int
    B. float
    C. double
    D. 不确定
15.若k为int型变量,则以下程序段的执行结果是(    )。k=-8567;printf("|%06D|\n",k);          (满分:2)
    A. 格式描述符不合法,输出无定值
    B. 输出为|%06D|
    C. 输出为|0-8567|
    D. 输出为|-8567|
16.已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是(    )。          (满分:2)
    A. 一个整数,代表要读入的数据项总数
    B. 一个文件指针,指向要读的文件
    C. 一个指针,指向要读入数据的存放地址
    D. 一个存储区,存放要读的数据项
17.执行以下程序段后,输出结果和a的值是(    )。Int a=10;printf("%d",a++);          (满分:2)
    A. 10和10
    B. 10和11
    C. 11和10
    D. 11和11
18.下列四个选项中,均是C语言关键字的选项是(    )。          (满分:2)
    A. auto、enum、include
    B. switch、typedef、continue
    C. signed、union、scanf
    D. if、struct、type
19.C语言中要求对变量作强制定义的主要理由是(    )。          (满分:2)
    A. 便于移植
    B. 便于写文件
    C. 便于编辑预处理程序的处理
    D. 便于确定类型和分配空间
20.关于建立函数的目的,以下正确的说法是(    )。          (满分:2)
    A. 提高程序的执行效率
    B. 提高程序的可读性
    C. 减少程序的篇幅
    D. 减少程序文件所占内存
21.以下程序的运行结果是(    )。main(    ){int i=1,sum=0;while(i<10)sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}          (满分:2)
    A. i=10,sum=9
    B. i=9,sum=9
    C. i=2,sum=1
    D. 运行出现错误
22.以下运算符中,优先级最高的运算符是(    )。          (满分:2)
    A. =
    B. !=
    C. *(乘号)
    D.(    )
23.用户定义的函数不可以调用的函数是(    )。          (满分:2)
    A. 非整型返回值的
    B. 本文件外的
    C. main函数
    D. 本函数下面定义的
24.int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为(    )。          (满分:2)
    A. 1
    B. 2
    C. 3
    D. 不一定
25.函数rewind的作用是(    )。          (满分:2)
    A. 使位置指针重新返回文件的开头
    B. 将位置指针指向文件中所要求的特定位置
    C. 使位置指针指向文件的末尾
    D. 使位置指针自动移至下一个字符位置
26.若有下列定义和语句,则对a数组元素的非法引用是(    )。Int a[2][3],(*pt)[3];pt=a;          (满分:2)
    A. pt[0][0]
    B. *(pt+1)[2]
    C. *(pt[1]+2)
    D. *(a[0]+2
27.下列标识符中,不合法的C语言用户自定义标识符是(    )。          (满分:2)
    A. printf
    B. enum
    C.
    D. sin
28.下列程序段的输出结果为(    )。Float k=0.8567;printf("%06.1d%%",k*100);          (满分:2)
    A. 0085.6%%
    B. 0085.7%%
    C. 0085.6%
    D. .857
29.int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是(    )。          (满分:2)
    A. 2
    B. 3
    C. 4
    D. 不一定
30.以下运算符中优先级最低的是(    )。          (满分:2)
    A. &&
    B. &
    C.(    )
    D. |
二、多选题:【10道,总分:20分】

1.t为int类型,进入下面的循环之前,t的值为0do{………}while(t==1);则以下叙述中正确的是(    )          (满分:2)
    A. 循环控制表达式的值为0
    B. 循环控制表达式的值为1
    C. 循环控制表达式合法
    D. 以上说法都不对
2.合法的标识符(    )。          (满分:2)
    A. 可以由字母构成
    B. 第一个字母可以为数字
    C. 第一个字母可以为下划线
    D. 最后一个字母必须为字母
3.以下4个选项中,可以看作是一条语句的有(    )。          (满分:2)
    A. {;}
    B. a=0,b=0,c=0;
    C. if(a>0);
    D. if(b==0)m=1;n=2;
4.以下描述正确的是(    )。          (满分:2)
    A. 使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成
    B. while循环是先判断表达式,后执行循环语句
    C. do-while和for循环均是先执行循环语句,后判断表达式
    D. for,while和do-while循环中的循环体均可以由空语句构成
5.以下说法正确的是(    )。          (满分:2)
    A. C语言里有字符串变量
    B. C语言里没有字符串变量
    C. C语言里有字符变量
    D. C语言里没字符变量
6.在定义int a[2][3];之后,对a的引用正确的有(    )。          (满分:2)
    A. a[0][2]
    B. a[1,3]
    C. a[1>2][!1]
    D. a[2][0]
7.以下不正确的叙述是          (满分:2)
    A. 在C程序中,每行只能写一条语句
    B. 若a是实型变量,C程序中允许赋值A=10,因此实型变量中允许存放整型
    C. 在C程序中,无论是整数还是实数,都能被准确无误地表示
    D. 在C程序中,%是只能用于整数运算的运算符
8.关于for(表达式1,表达式2,表达式3)循环,以下正确的是(    )。          (满分:2)
    A. 三个表达式都不可省略
    B. 表达式1可以省略
    C. 表达式2可以省略
    D. 表达式3可以省略
9.下列选项中是C语言合法标志符的有(    )。          (满分:2)
    A. goodmorning
    B. main
    C. stdio.h
    D. 8abc
10.有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有(    )。          (满分:2)
    A. 1112<回车>
    B. 11,<空格>12<回车>
    C. 11,12<回车>
    D. 11,<回车>12<回车>
三、判断题:【10道,总分:20分】

1.在C中能代表逻辑值“假”的是0。(    )          (满分:2)
    A. 错误
    B. 正确
2.有unsigned int a=16;a=a>>2;则a的值是4。(    )          (满分:2)
    A. 错误
    B. 正确
3.C中*&a是取变量a的地址。(    )          (满分:2)
    A. 错误
    B. 正确
4.结构类型变量所占内存长度等于成员的长度;而共享体类型变量所占用的内存长度是各成员的内存长度之和,每个成员分别占用其自己的内存单元。(    )          (满分:2)
    A. 错误
    B. 正确
5.c程序是由c文件构成,而c文件是由函数构成(    )          (满分:2)
    A. 错误
    B. 正确
6.在C程序中“%”是只能用于整数运算的运算符,而“/”是既可以用于整数运算又可以用于实数运算的运算符。(    )          (满分:2)
    A. 错误
    B. 正确
7.数组类型不是C的基本数据类型,而是一种构造类型。(    )          (满分:2)
    A. 错误
    B. 正确
8.若有int x,y,z; x=y=z=1;则执行++x&&++y&&++z后,x,y,z的值分别为2,1,1。(    )          (满分:2)
    A. 错误
    B. 正确
9.函数的实参可以传递给形参,形参也可以传递给实参。(    )          (满分:2)
    A. 错误
    B. 正确
10.一个包含命令include可以包含几个头文件。(    )          (满分:2)
    A. 错误
    B. 正确

西安交通大学17年3月课程考试《程序设计基础》作业考核试题标准答案标准答案.rar.rar

3.88 KB, 下载次数: 11, 下载积分: 贡献 1

售价: 8 金币  [记录]  [购买]

快速回复 返回顶部 返回列表