当前位置:文档之家› 中国石油大学北京《C语言程序设计》第3次在线作业

中国石油大学北京《C语言程序设计》第3次在线作业

第三次在线作业

单选题 (共20道题)
展开
收起
1.(2.5分) 在C语言中,当函数调用时()。
? A、A. 实参和形参各占一个独立的存储单元
? B、B. 实参和形参共用存储单元
? C、C. 可以由用户指定实参和形参是否共用存储单元
? D、D. 由系统自动确定实参和形参是否共用存储单元
我的答案:A 此题得分:2.5分
2.(2.5分) 以下函数调用语句中实参的个数为()。 exce((v1,v2),(v3,v4,v5),v6);
? A、A. 3
? B、B. 4
? C、C. 5
? D、D. 6
我的答案:A 此题得分:2.5分
3.(2.5分) 如果在一个函数的复合语句中定义了一个变量,则该变量()。
? A、A. 只在该符合语句中有效,在该符合语句外无效
? B、B. 在该函数中任何位置都有效
? C、C. 在本程序的原文件范围内均有效
? D、D. 此定义方法错误,其变量为非法变量
我的答案:A 此题得分:2.5分
4.(2.5分) C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。
? A、A. float型
? B、B. int型
? C、C. long型
? D、D. double型
我的答案:B 此题得分:2.5分
5.(2.5分) C语言规定,函数返回值的类型是由()。
? A、A. return语句中的表达式类型所决定
? B、B. 调用该函数时的主调函数类型所决定
? C、C. 调用该函数时系统临时决定
? D、D. 在定义该函数时所指定的函数类型决定
我的答案:D 此题得分:2.5分
6.(2.5分) 在C语言程序中,以下描述正确的是()。
? A、A. 函数的定义可以嵌套,但函数的调用不可以嵌套
? B、B. 函数的定义不可以嵌套,但函数的调用可以嵌套
? C、C. 函数的定义和函数的调用均不可以嵌套
? D、D. 函数的定义和函数的调用均可以嵌套
我的答案:B 此题得分:2.5分
7.(2.5分) 以下叙述中正确的是()。
? A、A. 全局变量的作用域一定比局部变量的作用域范围大
? B、B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间
? C、C. 函数的形参都属于全局变量
? D、D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值
我的答案:B 此题得分:2.5分
8.(2.5分) 以下程序的运行结果是()。 #include< stdio_h> void sub(int s[],int y) { static int t=3; y=s[t];t--; } main() { int a[]={1,2,3,4},i,x=0; for(i=0;i< 4;i++){ sub(a,x);printf("%d",x);} printf("\n"); }
? A、A.1234
? B、B.432l
? C、C.0000
? D、D.4444
我的答案:C 此题得分:2.5分
9.(2.5分) 以下程序的运行结果是: main() { int w=5; fun(w); } fun(int k) { if(k> O) fun(k-1); printf(" %d" ,k); }
? A、A.5 4 3 2 l
? B、B.0 1 2 3 4 5
? C、C

.1 2 3 4 5
? D、D.5 4 3 2 1 0
我的答案:B 此题得分:2.5分
10.(2.5分) 当调用函数时,实参是一个数组名,则向函数传送的是()
? A、A.数组的长度
? B、B.数组的首地址
? C、C.数组每一个元素的地址
? D、D.数组每个元素中的值
我的答案:B 此题得分:2.5分
11.(2.5分) 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。
? A、A.地址传递
? B、B.单向值传递
? C、C.由实参传给形,再由形参传回实参
? D、D.传递方式由用户指定
我的答案:B 此题得分:2.5分
12.(2.5分) 定义一个结构体变量时系统分配给它的内存是()。
? A、A. 各成员所需要内存量的总和
? B、B. 结构体中第一个成员所需内存量
? C、C. 成员中占内存量最大者所需的容量
? D、D. 结构中最后一个成员所需内存量
我的答案:A 此题得分:2.5分
13.(2.5分) 设有如下定义:struct sk {int a ;float b ;}data ,*p ;若有p=& data ; ,则对data 中的a 域的正确引用是()。
? A、A.(*p).data.a
? B、B.(*p).a
? C、C.p-> data.a
? D、D.p.data.a
我的答案:B 此题得分:2.5分
14.(2.5分) 当定义一个共用体变量时系统分配给它的内存是()。
? A、A. 各成员所需要内存量的总和
? B、B. 共用体中第一个成员所需内存量
? C、C. 成员中占内存量最大者所需的容量
? D、D. 共用体中最后一个成员所需内存量
我的答案:C 此题得分:2.5分
15.(2.5分) 设有如下枚举类型定义:enum language { Basic=3 ,Assembly ,Ada=100 ,COBOL ,Fortran} ;枚举量Fortran 的值()。
? A、A. 4
? B、B. 7
? C、C. 102
? D、D. 103
我的答案:C 此题得分:2.5分
16.(2.5分) 若x=5,y=5,则x& y的结果是()。
? A、A. 0
? B、B. 2
? C、C. 3
? D、D. 5
我的答案:D 此题得分:2.5分
17.(2.5分) 在位运算中,操作数每左移两位,则结果相当于()。
? A、A. 操作数乘以2
? B、B. 操作数除以2
? C、C. 操作数除以4
? D、D. 操作数乘以4
我的答案:D 此题得分:2.5分
18.(2.5分) C语言可以处理的文件类型是()。
? A、A. 文本文件和数据文件
? B、B. 文本文件和二进制文件
? C、C. 数据文件和二进制文件
? D、D. 数据代码文件
我的答案:B 此题得分:2.5分
19.(2.5分) 在执行fopen函数时,若执行不成功,则函数的返回值是()。
? A、A.TRUE
? B、B.–1
? C、C.1
? D、D.NULL
我的答案:D 此题得分:2.5分
20.(2.5分) 在C程序中,可把整型数以二进制形式存放到文件中的函数是()。
? A、A.fprintf函数
? B、B.fread

函数
? C、C.fwrite函数
? D、D.fputc函数
我的答案:C 此题得分:2.5分
判断题 (共20道题)
展开
收起
21.(2.5分) 下面程序段运行时输出结果是:0,0 1,3 void main() { int i; for(i=0;i< 2;i++) add(); } add() { int x=0; static int y=0; printf(" %d,%d " ,x,y); x++; y=y+3; }
? 正确
? 错误
我的答案:错误 此题得分:2.5分
22.(2.5分) 下面程序段运行时输出结果是:38.5 int x; void main() { x=7; s(); printf(" %d\n" ,x); } void s() { x=5*x+x/2; }
? 正确
? 错误
我的答案:错误 此题得分:2.5分
23.(2.5分) 下面程序段运行时输出结果是2 int f(int n) { int s; if(n==1||n==2) s=1; else s=n-f(n-1); return s; } void main() { printf(“%d”,f(3));}
? 正确
? 错误
我的答案:正确 此题得分:2.5分
24.(2.5分) 下面程序段运行时输出结果是29 fun(int x,int y,int z) {z=x*x+y*y;} main() { int a=31; fun(5,2,a); printf("%d",a); }
? 正确
? 错误
我的答案:错误 此题得分:2.5分
25.(2.5分) 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。判断以下程序是否正确: #include< stdio.h> #include< string.h> void fltj(char str[],int a[]) { int ll,i; ll=strlen(str); for (i=0;i< ll;i++) { if (str[i]> =' a' & & str[i]< =' z' ||str[i]> =' A' & & str[i]< =' Z' ) a[0]++; else if (str[i]> =' 0' & & str[i]< =' 9' ) a[1]++; else if (str[i]==' ' ) a[2]++; else a[3]++; } } void main() { static char str[60]; static int a[4]={0,0,0,0}; gets(str); fltj(str,a); printf(" %s char:%d digit:%d space:%d other:%d" , str,a[0],a[1],a[2],a[3]); }
? 正确
? 错误
我的答案:正确 此题得分:2.5分
26.(2.5分) 打印出1-100之间的全部素数(要求编写两个函数,一个用于判断一个数是否是素数,另一个是main函数,在main函数中调用该函数实现打印1-100之间的全部素数)。判断以下程序是否正确: #include < stdio.h> int prime(int m) { int i; for(i=2;i< m;i++) if(m%i==0) return 0; return 1; } void main() { int i; for(i=2;i< 100;i++) if(prime(i)) printf(" %d " ,i); }
? 正确
? 错误
我的答案:正确 此题得分:2.5分
27.(2.5分) 对10个数进行从小到大排序。要求排序在函数sort内完成,用起泡算法。main函数内进行数据输入、调用排序函数sort、并输出排序后的数据。判断以下程序是否正确: #include < stdio.h> void sort(int a[],int n) { int i,j,k; for ( i=0; i< n-1; i++) for ( j=0; j< n-1-i; j++) if (a[j]> a[j+1]) { k=a[j];a[j]=a[j+1];a[j+1]=k; } } void main( ) { int a[10], i, j, k; printf(" 请任意输入10个整数:\n" ); for ( i=0 ; i< 10 ; i++) scanf(" %d" , & a[i]) ; printf(" \n" ) ; sort(a,10); printf(" 按由小到大的顺序输出10个整数是:\n" ); for (

i=0; i< 10; i++) printf(“%d," ,a[i]); }
? 正确
? 错误
我的答案:正确 此题得分:2.5分
28.(2.5分)
fun函数用来统计各分数段的分数个数,其中所有分数存放在数组a中,各分数段的分数个数存放在数组b中,85-100分的个数存放到b[0],60-84分的个数存放到b[1],60以下的个数存放到b[2]。main函数中输入所有的分数值,调用fun函数,打印各分数段的分数个数。判断以下程序是否正确:
#include
#define N 20
void fun(int a[],int b[],int n)
{ int i;
for (i=0;i if (a[i]>=85 && a[i]<=100) b[0]++;
else if(a[i]>=60&&a[i]<=84) b[1]++;
else if(a[i]<60&&a[i]>=0) b[2]++;
return;
}
void main()
{ int a[N],b[3],i;
fun(a,b,N);
for(i=0;i<3;i++) printf(“%d\n”,b[i]);
}

? 正确
? 错误
我的答案:正确 此题得分:2.5分
29.(2.5分) 在定义函数时,函数名后面的括号中的变量名称为实参。
? 正确
? 错误
我的答案:错误 此题得分:2.5分
30.(2.5分) 在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用。
? 正确
? 错误
我的答案:正确 此题得分:2.5分
31.(2.5分) 在函数内定义的变量是局部变量,在函数外定义的变量是外部变量。外部变量是全局变量。
? 正确
? 错误
我的答案:正确 此题得分:2.5分
32.(2.5分) 函数的参数不仅可以是整型、字符型、浮点型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。
? 正确
? 错误
我的答案:正确 此题得分:2.5分
33.(2.5分) 结构体的成员不能是结构体变量。
? 正确
? 错误
我的答案:错误 此题得分:2.5分
34.(2.5分) 一个结构体变量的指针就是该变量所占内存段的起始地址。
? 正确
? 错误
我的答案:正确 此题得分:2.5分
35.(2.5分) “按位或”运算指两个运算数相应的二进制位中只要有一个为1,则该位结果值为1,比如0|0=0,1|0=1。
? 正确
? 错误
我的答案:正确 此题得分:2.5分
36.(2.5分) 异或运算指两个运算数相应的二进制位相同则结果为0,相异则结果为1,比如0∧1=1,0∧0=0。
? 正确
? 错误
我的答案:正确 此题得分:2.5分
37.(2.5分) 若fp是指某文件的指针,且已读到文件的末尾,则表达式feof(fp)的返回值是NULL
? 正确
? 错误
我的答案:错误 此题得分:2.5分
38.(2.5分) C语言库函数fgets(str,n,fp)的功能是从文件fp中读取n个字符串存入str指向的内存。
? 正确
? 错误
我的答案:错误 此题得分:2.5分
39.(2.5分) 函数rewind的作用是使位置指针自动移至下一个字符位置。
? 正确
? 错误
我的答案:错

误 此题得分:2.5分
40.(2.5分) C语言中以w+方式打开文件后,可执行的文件操作是可任意读写。
? 正确
? 错误
我的答案:错误 此题得分:2.5分


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