18春北交《C语言程序设计(专) 》在线作业一[答案]满分答案
北交《C语言程序设计(专) 》在线作业一-0003
试卷总分:100 得分:0
一、 单选题 (共 10 道试题,共 40 分)
1.C语言允许函数类型缺省定义,此时函数值隐含的类型是
A.float
B.int
C.long
D.double
正确选项:----
2.以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }
A.p和q的类型不一致,不能执行*p=*q;语句
B.*p中存放的是地址值,因此不能执行*p=40;语句
C.q没有指向具体的存储单元,所以*q没有实际意义
D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
专业答案:----
3.以下不正确的叙述是
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
正确答案:----
4.下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
正确选项:----
A.3
B.4
C.1
D.2
专业答案:----
5.下面能正确进行字符串赋值操作的是
A.char s[5]={"ABCDE"};
正确选项:----
B.char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
正确选项:----
C.char *s;s="ABCDE";
正确选项:----
D.char *s;char a; scanf("%s",&s);
专业答案:----
6.一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
正确选项:----
7.sizeof(float)是
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
正确选项:----
8.以下程序的输出结果是 void reverse(int a[],int n) { int i,t; for(i=0;i { t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf(" %d\n ",s);
正确答案:----
A.22
B.10
C.34
D.30
专业答案:----
9.下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d\n",res); }
正确选项:----
A.4
B.6
C.8
D.10
正确答案:----
10.设有数组定义: char array[]="China"; 则数组 array所占的空间为
A.4个字节
B.5个字节
C.6个字节
D.7个字节
专业答案:----
18春北交《C语言程序设计(专) 》在线作业一[答案]多选题答案
二、 多选题 (共 10 道试题,共 40 分)
1.下列说法中错误的是______。
A.C程序总是从第一个定义的函数开始执行
B.C程序总是从main函数开始执行
C.C函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案:----
2.函数调用可以______。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
正确选项:----
3.不与while(x)语句中的x等价的是_____。
A.x= =0
B.x= =1
C.x!=1
D.x!=0
专业答案:----
4.C提供的预处理功能主要有______。
A.宏定义
B.文件包含
C.条件编译
D.异常终止
专业答案:----
5.内存中供用户使用的存储空间可分为:______。
A.程序区
B.静态存储区
C.动态存储区
D.数据存储区
正确答案:----
6.以下对C语言函数的有关描述中,错误的是:______。
A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.程序中有调用关系的所有函数必须放在同一个源程序文件中
专业答案:----
7.关于宏定义的说法正确的是:
A.宏名一般习惯用大写字母表示,以便与变量名相区别
B.使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C.宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D.宏定义不是C语句,不必在行末加分号
正确答案:----
8.以下对一维数组a进行初始化,错误的语句是______。
A.int a[10]=(0,0,0,0,0);
B.int a[10]={};
C.int a[10]={0};
D.int a[2]={10,9,8}
正确答案:----
9.在缓冲文件系统中用于读写的函数有
A.putchar ()
B.fread()
正确选项:----
C.rewind ()
正确选项:----
D.purw()
正确答案:----
10.带参宏定义与函数的区别是:______。
A.函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B.函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C.宏不存在类型问题,宏名和参数都不存在类型问题
D.调用函数只能得到一个返回值,而使用宏可设法得到几个结果
正确选项:----
三、 判断题 (共 5 道试题,共 20 分)
1.switch语句中,各个case和default的出现次序不影响执行结果。( )
正确答案:----
A.错误
B.正确
2.puts和gets函数只能输入或输出一个字符串
A.错误
B.正确
3.宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。
A.错误
B.正确
4.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A.错误
B.正确
5.使用getchar函数可以不添加#include <stdio.h>命令。( )
专业答案:----
A.错误
B.正确
18春北交《C语言程序设计(专) 》在线作业一[答案]历年参考题目如下: