|
北交《C语言程序设计(专)》在线作业二
答案
一、单选题:
1.C语言允许函数类型缺省定义,此时函数值隐含的类型是 (满分:4)
A. float
B. int
C. long
D. double
2.请选出可用作C语言用户标识符的是 (满分:4)
A. void,define,WORD
B. a3b3,123,IF
C. FOR,--abc,Case
D. 2a,Do,Sizeof
3.下面程序的输出结果是 main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));} (满分:4)
A. 3
B. 4
C. 1
D. 2
4.在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是 (满分:4)
A. a=20000+20000;
B. a=4000*10;
C. a=30000+10000;
D. a=4000L*10L
5.C语言中,能识别处理的文件为 (满分:4)
A. 文本文件和数据块文件
B. 文本文件和二进制文件
C. 流文件和文本文件
D. 数据文件和二进制文件
6.以下程序的输出结果是 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); (满分:4)
A. 22
B. 10
C. 34
D. 30
7.设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的二进制值是 (满分:4)
A. 00010100
B. 00011011
C. 00011100
D. 00011000
8.以下程序有语法错误,有关错误原因的正确说法是 main( ) { int G=5,k; void prtchar( ); ... k=prtchar(G); ... } (满分:4)
A. 语句 void prtchar( );有错,它是函数调用语句,不能用void说明
B. 变量名不能使用大写字母
C. 函数说明和函数调用语句之间有矛盾
D. 函数名不能使用下划线
9.执行以下程序后,a,b的值分别为 main( ) { int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(*p1)/(*p2)+7; printf("a=%d\n",a); printf("b=%d\n",b); } (满分:4)
A. -1,5
B. 1,6
C. 0,7
D. 4,10
10.一个C语言程序是由 (满分:4)
A. 一个主程序和若干子程序组成
B. 函数组成
C. 若干过程组成
D. 若干子程序组成
二、多选题:
1.内存中供用户使用的存储空间可分为:( )。 (满分:4)
A. 程序区
B. 静态存储区
C. 动态存储区
D. 数据存储区
2.下列描述正确的是 (满分:4)
A. 由main 函数及其参数argc和* argv[]可以实现命令行方式
B. 使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C. 字符数组并不要求它的最后一个字符是‘\0'
D. ‘A'和“A”都是字符串常量
3.C语言中函数返回值的类型与下列哪项无关? (满分:4)
A. 定义函数时所指定的函数类型
B. 调用函数时临时
C. 调用该函数的主函数类型
D. return语句中的表达式类型
4.以下( )是正确的转义字符。( ) (满分:4)
A. ‘\\'
B. ‘\’
C. ‘\81'
D. ‘\0'
5.以下对一维数组a进行初始化,错误的语句是( )。 (满分:4)
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}
6.以下正确的C语言标识符是( )。 (满分:4)
A. ABC
B. abc
C. abc
D. ab.c
7.以下不正确的描述是( )。 (满分:4)
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
8.以下说法不正确的是( )。 (满分:4)
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D. 如果形参与实参的类型不一致,以实参类型为准
9.关于文件的打开方式描述正确的是:( )。 (满分:4)
A. r:打开只读文件
B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
C. a:打开或建立一个把数据追加到文件尾的文件
D. r+:打开用于更新数据的文件
10.关于宏定义的说法正确的是: (满分:4)
A. 宏名一般习惯用大写字母表示,以便与变量名相区别
B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
三、判断题:
1.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。 (满分:4)
A. 错误
B. 正确
2.模运算符要求两侧均应为整型数据。( ) (满分:4)
A. 错误
B. 正确
3.for(;;)语句相当于while(1)语句 (满分:4)
A. 错误
B. 正确
4.C程序中各函数之间既允许直接递归调用也允许间接递归调 (满分:4)
A. 错误
B. 正确
5.语句int *pt中的*pt是指针变量名。 (满分:4)
A. 错误
B. 正确
更多免费学习资料请登录www.openhelp100.com
|
|