北交15春《C语言程序设计(专)》在线作业答案
北交15春《C语言程序设计(专)》在线作业一一、单选题【共10道,总分:40分】
1.请选出可用作C语言用户标识符的是
A. void,define,WORD
B. a3_b3,_123,IF
C. FOR,--abc,Case
D. 2a,Do,Sizeof
2.下列程序的输出结果是 int b=2; int func(int *a)b += *a; return(b);} mainint a=2, res=2; res += func(&a); printf("%d\n",res);
A. 4
B. 6
C. 8
D. 10
3.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A. 4
B. 16
C. 32
D. 52
4.下列程序的输出结果是 maindouble d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y);
A. 3
B. 3.2
C. 0
D. 3.07
5.请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n";
A. 5
B. 14
C. 8
D. 输出项不合法,无正常输出
6.设有以下语句: char x=3,y=6,z; z=x^y
A. 00010100
B. 00011011
C. 00011100
D. 00011000
7.以下程序有错,错误原因是 mainint *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;没有意义,可能会影响后面语句的执行结果
8.有以下程序: include union pwint i; char ch[2];}a;main{a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是
A. 13
B. 14
C. 208
D. 209
9.以下不正确的叙述是
A. 在C程序中,逗号运算符的优先级最低
B. 在C程序中,APH和aph是两个不同的变量
C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
10.若有以下程序 include int a={2,4,6,8}; mainint i; int *p=a; for(i=0;i
A. 6
B. 8
C. 4
D. 2
二、多选题【共10道,总分:40分】
1.C提供的预处理功能主要有( )。
A. 宏定义
B. 文件包含
C. 条件编译
D. 异常终止
2.C语言中函数返回值的类型与下列哪项无关?
A. 定义函数时所指定的函数类型
B. 调用函数时临时
C. 调用该函数的主函数类型
D. return语句中的表达式类型
3.以下不正确的叙述是( )。
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
4.以下( )是正确的转义字符 )
A. '
B.
C. 81'
D. 0'
5.若定义:int a{0,2,4,6,8,10以下描述正确的有
A. a+1)为元素6的地址
B. a+1)的值为2
C. a+12的值为8
D. a与a相同
6.设有如下定义:int(*ptr)( );则以下叙述中不正确的是( )。
A. ptr是指向一维数组的指针变量
B. ptr是指向int型数据的指针变量
C. ptr是指向函数的指针,该函数返回一个int型数据
D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
7.以下叙述中正确的是( )。
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C. 可以通过赋初值的方式确定数组元素的个数
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
8.关于文件的打开方式描述正确的是:( )。
A. r:打开只读文件
B. a打开或建立用于更新数据的文件,数据追加到文件尾
C. a:打开或建立一个把数据追加到文件尾的文件
D. r打开用于更新数据的文件
9.对函数的正确使用方法描述
A. 用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
B. 实参数组元素和形参数组元素类型可以不一致
C. 形参数组长度可以不指定
D. 形参数组长度可以大于实参数组长度
10.在缓冲文件系统中用于读写的函数有
A. putchar( )
B. fread( )
C. rewind( )
D. purw( )
三、判断题【共5道,总分:20分】
1.数据结构指的是数据的组织形式,数组就是一种数据结构( )
A. 错误 B. 正确
2.宏名必须用大写字母表示。
A. 错误 B. 正确
3.使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改 )
A. 错误 B. 正确
4.使用getchar函数可以不添加#include 命令 )
A. 错误 B. 正确
5.C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真 )
A. 错误 B. 正确
北交《C语言程序设计(专)》在线作业二
一、单选题【共10道,总分:40分】
1.下面能正确进行字符串赋值操作的是
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);
2.执行以下程序后,a,b的值分别为 mainint a,b,k=4,m=6p1=&kp2=&m; a=p1==&m; b=p1)/p27; printf("a=%d\n",a); printf("b=%d\n",b);
A. -1,5
B. 1,6
C. 0,7
D. 4,10
3.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A. 4
B. 16
C. 32
D. 52
4.以下程序有错,错误原因是 mainint *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;没有意义,可能会影响后面语句的执行结果
5.设有以下说明语句 struct exint x ; float y; char z ;} example; 则下面的叙述中不正确的是
A. struct结构体类型的关键字
B. example是结构体类型名
C. x,y,z都是结构体成员名
D. struct ex是结构体类型名
6.以下不正确的定义语句是
A. double x[5]={2.0,4.0,6.0,8.0,10.0};
B. int y[5]={0,1,3,5,7,9};
C. char c1=12345;
D. char c2=x10xax8;
7.下面程序的运行结果是 include mainint a=1,b=10; do b-=a;a;}while(b--
A. a=3,b=11
B. a=2,b=8
C. a=1,b=-1
D. a=4,b=9
8.函数 rewind 的作用是
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位置
C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
9.设有定义:int n=0p=&nq=&p,则下列选项中正确的赋值语句是
A. p=1;
B. *q=2;
C. q=p;
D. *p=5;
10.C语言允许函数类型缺省定义,此时函数值隐含的类型是
A. float
B. int
C. long
D. double
二、多选题【共10道,总分:40分】
1.关于宏定义的说法正确的是:
A. 宏名一般习惯用大写字母表示,以便与变量名相区别
B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
2.以下对C语言函数的有关描述中,错误的是:( )。
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. 函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
3.下列说法中错误的是( )。
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数的默认值时,应该全部参数都设置
4.下列描述正确的是
A. 由main 函数及其参数argc和* argv[]可以实现命令行方式
B. 使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C. 字符数组并不要求它的最后一个字符是0’
D. ‘A’和“A”都是字符串常量
5.在C语言中,正确的int类型的常数是:( )。
A. 0
B. 32768
C. 037
D. 0xaf
6.关于静态局部变量的说明正确的是( )。
A. 静态局部变量存储在静态存储区
B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
7.对静态变量的正确描述
A. 静态局部变量在静态存储区内分配单元( )
B. 静态外部变量可以赋初值,也可以不赋初值
C. 静态外部变量的作用与外部变量相同
D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失
8.带参宏定义与函数的区别是:( )。
A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C. 宏不存在类型问题,宏名和参数都不存在类型问题
D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
9.下列字符中能构成标识符的是( )。
A. 数字字符
B. 连接符
C. 下划线字符
D. 大写字母
10.关于实参和形参的说法正确的是( )。
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递
三、判断题【共5道,总分:20分】
1.一个int型与一个double型数据进行混合运算时,其结果是double型。
A. 错误 B. 正确
2.for(;;)语句相当于while(1)语句
A. 错误 B. 正确
3.函数必须有返回值,否则不能使用函数
A. 错误 B. 正确
4.使用printf和scanf函数时,必须添加#include 命令 )
A. 错误 B. 正确
5.使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改 )
A. 错误 B. 正确
页:
[1]