当前位置:文档之家› 远程满分北交15秋《C语言程序设计(专) 》在线作业一 答案

远程满分北交15秋《C语言程序设计(专) 》在线作业一 答案


北交《C语言程序设计(专) 》在线作业一




一、单选题(共 10 道试题,共 40 分。)

1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A. p=1;
B. *q=2;
C. q=p;
D. *p=5;
正确答案:D
2. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是
A. 2
B. 4
C. 6
D. 8
正确答案:B
3. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
A. ABCDEFG
B. IJHL
C. ABCDEFGHIJKL
D. IJKLABCDEFGH
正确答案:D
4. 下列各数据类型不属于构造类型的是
A. 枚举型
B. 共用型
C. 结构型
D. 数组型
正确答案:A
5. 以下程序有错,错误原因是 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;没有意义,可能会影响后面语句的执行结果
正确答案:D
6. sizeof(float)是
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
正确答案:B
7. 函数 rewind 的作用是
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位置
C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
正确答案:A
8. 有以下程序: #include union pw { int 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
正确答案:A
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
正确答案:B
10. 下面程序的输出结果是 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
正确答案:A



北交《C语言程序设计(专) 》在线作业一




二、多选题(共 10 道试题,共 40 分。)

1. 以下______是正确的转义字符。( )
A. ‘\\'
B. ‘\’
C. ‘\81'
D. ‘\0'
正确答案:ABD
2. 若

定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有
A. *(a+1)为元素6的地址
B. *(a[1]+1)的值为2
C. **(a+1)+2的值为8
D. a[0]与a相同
正确答案:ACD
3. 下列说法中错误的是______。
A. C程序总是从第一个定义的函数开始执行
B. C程序总是从main函数开始执行
C. C函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案:ACD
4. 函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
正确答案:ABC
5. 若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:______
A. 以上两处的*p含义相同,都说明给指针变量p赋值
B. 语句“*p=r;”把变量r的地址值赋给指针变量p
C. 语句“*p=r;”取变量r的值放回r中
D. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
正确答案:ABC
6. 下列描述正确的是
A. 由main 函数及其参数argc和* argv[]可以实现命令行方式
B. 使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C. 字符数组并不要求它的最后一个字符是‘\0’
D. ‘A’和“A”都是字符串常量
正确答案:AC
7. 关于静态局部变量的说明正确的是______。
A. 静态局部变量存储在静态存储区
B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
正确答案:ABCD
8. 已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
A. int pb=&x;
B. int *pb=x;
C. int *pb=&x;
D. *pb=*x
正确答案:ABD
9. 以下正确的C语言标识符是_____。
A. ABC
B. abc
C. a_bc
D. ab.c
正确答案:ABC
10. 以下说法不正确的是______。
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D. 如果形参与实参的类型不一致,以实参类型为准
正确答案:ABD



北交《C语言程序设计(专) 》在线作业一




三、判断题(共 5 道试题,共 20 分。)

1. 主函数和其它函数可以相互调用
A. 错误
B. 正确
正确答案:A
2. 数据结构指的是数据的组织形式,数组就是一种数据结构( )
A. 错误
B. 正确
正确答案:B
3. 语句int *pt中的*pt是指针变量名。
A. 错误
B. 正确
正确答案:A
4. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A. 错误
B. 正确

正确答案:B
5. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A. 错误
B. 正确
正确答案:B



北交《C语言程序设计(专) 》在线作业一




一、单选题(共 10 道试题,共 40 分。)

1. 下面程序的输出结果是 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
正确答案:A
2. 函数 rewind 的作用是
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位置
C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
正确答案:A
3. 以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
A. 语句 void prt_char();有错,它是函数调用语句,不能用void说明
B. 变量名不能使用大写字母
C. 函数说明和函数调用语句之间有矛盾
D. 函数名不能使用下划线
正确答案:C
4. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A. 4
B. 16
C. 32
D. 52
正确答案:C
5. 以下不正确的叙述是
A. 在C程序中,逗号运算符的优先级最低
B. 在C程序中,APH和aph是两个不同的变量
C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
正确答案: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);
A. 22
B. 10
C. 34
D. 30
正确答案:A
7. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A. p=1;
B. *q=2;
C. q=p;
D. *p=5;
正确答案:D
8. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是
A. 2
B. 4
C. 6
D. 8
正确答案:B
9. 有以下程序: #include union pw { int 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
正确答案:A
10. 在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A. 1
B. 2
C. 7
D. 11
正确答案:D



北交

《C语言程序设计(专) 》在线作业一




二、多选题(共 10 道试题,共 40 分。)

1. 以下叙述中正确的是______。
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C. 可以通过赋初值的方式确定数组元素的个数
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:ACD
2. 下列关于#include命令的叙述中,正确的是______。
A. 一个#include命令中只能指定一个被包含文件
B. 一个#include命令中可以指定多个被包含文件
C. 一个被包含文件中又可以包含另一个被包含文件
D. #include命令中,文件名可以用双引号或尖括号括起来
正确答案:ACD
3. 以下对一维数组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}
正确答案:ABD
4. 不与while(x)语句中的x等价的是_____。
A. x= =0
B. x= =1
C. x!=1
D. x!=0
正确答案:ABC
5. 在动态存储区中主要存放以下数据______。
A. 函数形式参数
B. 自动变量
C. 函数调用时的现场保护和返回地址
D. 全局变量
正确答案:ABC
6. 关于实参和形参的说法正确的是______。
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递”
正确答案:ABCD
7. 下列说法中错误的是______。
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数的默认值时,应该全部参数都设置
正确答案:ABD
8. 对静态变量的正确描述
A. 静态局部变量在静态存储区内分配单元
B. 静态外部变量可以赋初值,也可以不赋初值
C. 静态外部变量的作用与外部变量相同
D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:ABD
9. 在文件操作中,用于检测和设置文件状态的函数有______。
A. 文件结束检测函数feof()
B. 读写文件出错检测函数ferror()
C. 文件出错和结束标志文件函数才clearerr()
D. 文件关闭函数fclose()
正确答案:ABC
10. 以下不正确的描述是______。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
正确答案:ACD



北交《C语言程序设计(专) 》在线作业一




三、判断题(

共 5 道试题,共 20 分。)

1. 模运算符要求两侧均应为整型数据。( )
A. 错误
B. 正确
正确答案:B
2. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
A. 错误
B. 正确
正确答案:B
3. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A. 错误
B. 正确
正确答案:B
4. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A. 错误
B. 正确
正确答案:B
5. 宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。
A. 错误
B. 正确
正确答案:B



北交《C语言程序设计(专) 》在线作业一




一、单选题(共 10 道试题,共 40 分。)

1. C语言中,能识别处理的文件为
A. 文本文件和数据块文件
B. 文本文件和二进制文件
C. 流文件和文本文件
D. 数据文件和二进制文件
正确答案:B
2. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
A. ABCDEFG
B. IJHL
C. ABCDEFGHIJKL
D. IJKLABCDEFGH
正确答案:D
3. 以下不正确的定义语句是
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[]={′1′,′2′,′3′,′4′,′5′};
D. char c2[]={′\x10′,′\xa′,′\x8′};
正确答案:B
4. 一个C语言程序是由
A. 一个主程序和若干子程序组成
B. 函数组成
C. 若干过程组成
D. 若干子程序组成
正确答案:B
5. 设有int x=11;则表达式(x++*1/3)的值是
A. 3
B. 4
C. 11
D. 12
正确答案:A
6. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include main() { int i=0,j,k; do{i++;k=316-13*i;}while(______); j=k/11; printf("316=13*%d+11*%d",i,j); }
A. k/11
B. k
C. k/11==0
D. k==0
正确答案:B
7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A. 4
B. 16
C. 32
D. 52
正确答案:C
8. 请选出可用作C语言用户标识符的是
A. void,define,WORD
B. a3_b3,_123,IF
C. FOR,--abc,Case
D. 2a,Do,Sizeof
正确答案:B
9. 下面程序段的运行结果是 char *format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b);
A. for,"a+=b",ab
B. format,"a+=b"
C. a+=b,a=21,b=10
D. 以上结果都不对
正确答案:C
10. 函数 rewind 的作用是
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位


C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
正确答案:A



北交《C语言程序设计(专) 》在线作业一




二、多选题(共 10 道试题,共 40 分。)

1. 已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
A. int pb=&x;
B. int *pb=x;
C. int *pb=&x;
D. *pb=*x
正确答案:ABD
2. 对静态变量的正确描述
A. 静态局部变量在静态存储区内分配单元
B. 静态外部变量可以赋初值,也可以不赋初值
C. 静态外部变量的作用与外部变量相同
D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:ABD
3. 以下不正确的叙述是______。
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
正确答案:ABC
4. 以下对一维数组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}
正确答案:ABD
5. 在C语言中,正确的int类型的常数是:______。
A. 0
B. 32768
C. 037
D. 0xaf
正确答案:ACD
6. 函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
正确答案:ABC
7. C语言中函数返回值的类型与下列哪项无关?
A. 定义函数时所指定的函数类型
B. 调用函数时临时
C. 调用该函数的主函数类型
D. return语句中的表达式类型
正确答案:BCD
8. 以下说法不正确的是______。
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D. 如果形参与实参的类型不一致,以实参类型为准
正确答案:ABD
9. 关于实参和形参的说法正确的是______。
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递”
正确答案:ABCD
10. 下列说法中错误的是______。
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数的默认值时,应该全部参数都设置
正确答案:ABD



北交《C语言程序设计(专) 》在线作业一




三、判断题(共 5 道试题,共 20 分。)

1. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。
A. 错误
B. 正确
正确答案:B
2. 模运算符要求两侧均应为整型数据。( )
A. 错误
B.

正确
正确答案:B
3. 主函数和其它函数可以相互调用
A. 错误
B. 正确
正确答案:A
4. C程序的执行总是从第一个定义的函数开始
A. 错误
B. 正确
正确答案:A
5. for(;;)语句相当于while(1)语句
A. 错误
B. 正确
正确答案:B



北交《C语言程序设计(专) 》在线作业一




一、单选题(共 10 道试题,共 40 分。)

1. 下面程序段的运行结果是 char *format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b);
A. for,"a+=b",ab
B. format,"a+=b"
C. a+=b,a=21,b=10
D. 以上结果都不对
正确答案:C
2. 下列程序的输出结果是 main() { double 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
正确答案:C
3. 设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是
A. struct结构体类型的关键字
B. example是结构体类型名
C. x,y,z都是结构体成员名
D. struct ex是结构体类型名
正确答案:B
4. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
A. a[p-a]
B. *(&a[i])
C. p[i]
D. a[10]
正确答案:D
5. 一个C语言程序是由
A. 一个主程序和若干子程序组成
B. 函数组成
C. 若干过程组成
D. 若干子程序组成
正确答案:B
6. 下面程序的运行结果是 #include main() { int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); }
A. a=3,b=11
B. a=2,b=8
C. a=1,b=-1
D. a=4,b=9
正确答案:B
7. 设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的二进制值是
A. 00010100
B. 00011011
C. 00011100
D. 00011000
正确答案:B
8. 函数 rewind 的作用是
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位置
C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
正确答案:A
9. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A. p=1;
B. *q=2;
C. q=p;
D. *p=5;
正确答案:D
10. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A. 4
B. 16
C. 32
D. 52
正确答案:C



北交《C语言程序设计(专) 》在线作业一




二、多选题(共 10 道试题,共 40 分。)

1. 下列字符中能构成标识符的是______。
A. 数字字符
B. 连接符
C. 下划线字符
D. 大写字母
正确答案:ACD
2. 下列说法中错误的是______。
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数

的默认值时,应该全部参数都设置
正确答案:ABD
3. 对函数的正确使用方法描述
A. 用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
B. 实参数组元素和形参数组元素类型可以不一致
C. 形参数组长度可以不指定
D. 形参数组长度可以大于实参数组长度
正确答案:ACD
4. 在缓冲文件系统中用于读写的函数有
A. putchar ()
B. fread()
C. rewind ()
D. purw()
正确答案:ABD
5. 以下不正确的描述是______。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
正确答案:ACD
6. 下列关于#include命令的叙述中,正确的是______。
A. 一个#include命令中只能指定一个被包含文件
B. 一个#include命令中可以指定多个被包含文件
C. 一个被包含文件中又可以包含另一个被包含文件
D. #include命令中,文件名可以用双引号或尖括号括起来
正确答案:ACD
7. 以下不正确的叙述是______。
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
正确答案:ABC
8. 对静态变量的正确描述
A. 静态局部变量在静态存储区内分配单元
B. 静态外部变量可以赋初值,也可以不赋初值
C. 静态外部变量的作用与外部变量相同
D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:ABD
9. 函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
正确答案:ABC
10. 关于实参和形参的说法正确的是______。
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递”
正确答案:ABCD



北交《C语言程序设计(专) 》在线作业一




三、判断题(共 5 道试题,共 20 分。)

1. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A. 错误
B. 正确
正确答案:B
2. C程序中各函数之间既允许直接递归调用也允许间接递归调
A. 错误
B. 正确
正确答案:B
3. switch语句中,各个case和default的出现次序不影响执行结果。( )
A. 错误
B. 正确
正确答案:B
4. 使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( )
A. 错误
B. 正确
正确答案:B
5. C语言编译系统在给出逻辑运算结果时,以数

值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )
A. 错误
B. 正确
正确答案:B



北交《C语言程序设计(专) 》在线作业一




一、单选题(共 10 道试题,共 40 分。)

1. 下列程序的输出结果是 main() { double 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
正确答案:C
2. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
A. a=20000+20000;
B. a=4000*10;
C. a=30000+10000;
D. a=4000L*10L
正确答案:D
3. 一个C语言程序是由
A. 一个主程序和若干子程序组成
B. 函数组成
C. 若干过程组成
D. 若干子程序组成
正确答案:B
4. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include main() { int i=0,j,k; do{i++;k=316-13*i;}while(______); j=k/11; printf("316=13*%d+11*%d",i,j); }
A. k/11
B. k
C. k/11==0
D. k==0
正确答案:B
5. 下面程序段的运行结果是 char *format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b);
A. for,"a+=b",ab
B. format,"a+=b"
C. a+=b,a=21,b=10
D. 以上结果都不对
正确答案:C
6. 下面能正确进行字符串赋值操作的是
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);
正确答案:C
7. 有以下程序: #include union pw { int 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
正确答案:A
8. C语言允许函数类型缺省定义,此时函数值隐含的类型是
A. float
B. int
C. long
D. double
正确答案:B
9. 以下程序有错,错误原因是 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;没有意义,可能会影响后面语句的执行结果
正确答案:D
10. 函数 rewind 的作用是
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位置
C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
正确答案:A



北交《C语言程序设计(专) 》在线作业一




二、多选题(共 10 道试题,共 40 分。)

1. 以下不正确的描述是______


A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
正确答案:ACD
2. 以下对一维数组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}
正确答案:ABD
3. 下列描述正确的是
A. 由main 函数及其参数argc和* argv[]可以实现命令行方式
B. 使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C. 字符数组并不要求它的最后一个字符是‘\0’
D. ‘A’和“A”都是字符串常量
正确答案:AC
4. 下列说法中错误的是______。
A. C程序总是从第一个定义的函数开始执行
B. C程序总是从main函数开始执行
C. C函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案:ACD
5. 关于宏定义的说法正确的是:
A. 宏名一般习惯用大写字母表示,以便与变量名相区别
B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
正确答案:ABCD
6. 关于文件的打开方式描述正确的是:______。
A. r:打开只读文件
B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
C. a:打开或建立一个把数据追加到文件尾的文件
D. r+:打开用于更新数据的文件
正确答案:ABCD
7. 以下______是正确的转义字符。( )
A. ‘\\'
B. ‘\’
C. ‘\81'
D. ‘\0'
正确答案:ABD
8. 关于实参和形参的说法正确的是______。
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递”
正确答案:ABCD
9. 对静态变量的正确描述
A. 静态局部变量在静态存储区内分配单元
B. 静态外部变量可以赋初值,也可以不赋初值
C. 静态外部变量的作用与外部变量相同
D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:ABD
10. 带参宏定义与函数的区别是:______。
A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C. 宏不存在类型问题,宏名和参数都不存在类型问题
D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果

确答案:ABCD



北交《C语言程序设计(专) 》在线作业一




三、判断题(共 5 道试题,共 20 分。)

1. C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )
A. 错误
B. 正确
正确答案:B
2. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A. 错误
B. 正确
正确答案:B
3. for(;;)语句相当于while(1)语句
A. 错误
B. 正确
正确答案:B
4. switch语句中,多个case可以共用一组执行语句。( )
A. 错误
B. 正确
正确答案:B
5. 静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A. 错误
B. 正确
正确答案:B



相关主题
文本预览
相关文档 最新文档