网院作业 发表于 2021-1-18 18:02:47

石油北京21秋《C语言程序设计》第三次在线作业

21秋《C语言程序设计》第三次在线作业
1.[单选题] 在C语言中,当函数调用时()。
A. 实参和形参各占一个独立的存储单元
B. 实参和形参共用存储单元
C. 可以由用户指定实参和形参是否共用存储单元
D. 由系统自动确定实参和形参是否共用存储单元
答:——A——
2.[单选题] 以下函数调用语句中实参的个数为()。 exce((v1,v2),(v3,v4,v5),v6);
A. 3
B. 4
C. 5
D. 6
答:——A——
3.[单选题] 如果在一个函数的复合语句中定义了一个变量,则该变量()。
A. 只在该符合语句中有效,在该符合语句外无效
B. 在该函数中任何位置都有效
C. 在本程序的原文件范围内均有效
D. 此定义方法错误,其变量为非法变量
答:——A——
4.[单选题] C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。
A. float型
B. int型
C. long型
D. double型
答:——B——
5.[单选题] C语言规定,函数返回值的类型是由()。
A. return语句中的表达式类型所决定
B. 调用该函数时的主调函数类型所决定
C. 调用该函数时系统临时决定
D. 在定义该函数时所指定的函数类型决定
答:——D——
6.[单选题] 在C语言程序中,以下描述正确的是()。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
答:——B——
7.[单选题] 以下叙述中正确的是()。
A. 全局变量的作用域一定比局部变量的作用域范围大
B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间
C. 函数的形参都属于全局变量
D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值
答:——B——
8.[单选题] 以下程序的运行结果是()。 #include< stdio_h> void sub(int s[],int y) { static int t=3; y=s;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.1234
B.432l
C.0000
D.4444
答:——C——
9.[单选题] 以下程序的运行结果是: main() { int w=5; fun(w); } fun(int k) { if(k> O) fun(k-1); printf(" %d" ,k); }
A.5 4 3 2 l
B.0 1 2 3 4 5
C.1 2 3 4 5
D.5 4 3 2 1 0
答:——B——
10.[单选题] 当调用函数时,实参是一个数组名,则向函数传送的是()
A.数组的长度
B.数组的首地址
C.数组每一个元素的地址
D.数组每个元素中的值
答:——B——
11.[单选题] 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。
A.地址传递
B.单向值传递
C.由实参传给形,再由形参传回实参
D.传递方式由用户指定
答:——B——
12.[单选题] 定义一个结构体变量时系统分配给它的内存是()。
A. 各成员所需要内存量的总和
B. 结构体中第一个成员所需内存量
C. 成员中占内存量最大者所需的容量
D. 结构中最后一个成员所需内存量
答:——A——
13.[单选题] 设有如下定义:struct sk {int a ;float b ;}data ,*p ;若有p=& data ; ,则对data 中的a 域的正确引用是()。
A.(*p).data.a
B.(*p).a
C.p-> data.a
D.p.data.a
答:——B——
14.[单选题] 当定义一个共用体变量时系统分配给它的内存是()。
A. 各成员所需要内存量的总和
B. 共用体中第一个成员所需内存量
C. 成员中占内存量最大者所需的容量
D. 共用体中最后一个成员所需内存量
答:——C——
15.[单选题] 设有如下枚举类型定义:enum language { Basic=3 ,Assembly ,Ada=100 ,COBOL ,Fortran} ;枚举量Fortran 的值()。
A. 4
B. 7
C. 102
D. 103
答:——C——
16.[单选题] 若x=5,y=5,则x& y的结果是()。
A. 0
B. 2
C. 3
D. 5
答:——D——
17.[单选题] 在位运算中,操作数每左移两位,则结果相当于()。
A. 操作数乘以2
B. 操作数除以2
C. 操作数除以4
D. 操作数乘以4
答:——D——
18.[单选题] C语言可以处理的文件类型是()。
A. 文本文件和数据文件
B. 文本文件和二进制文件
C. 数据文件和二进制文件
D. 数据代码文件
答:——B——
19.[单选题] 在执行fopen函数时,若执行不成功,则函数的返回值是()。
A.TRUE
B.–1
C.1
D.NULL
答:——D——
20.[单选题] 在C程序中,可把整型数以二进制形式存放到文件中的函数是()。
A.fprintf函数
B.fread函数
C.fwrite函数
D.fputc函数
答:——C——
21.[判断题] 下面程序段运行时输出结果是: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; }
A.错误
B.正确
答:——A——
22.[判断题] 下面程序段运行时输出结果是:38.5 int x; void main() { x=7; s(); printf(" %d\n" ,x); } void s() { x=5*x+x/2; }
A.错误
B.正确
答:——A——
23.[判断题] 下面程序段运行时输出结果是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));}
A.错误
B.正确
答:——B——
24.[判断题] 下面程序段运行时输出结果是29 fun(int x,int y,int z) {z=x*x+y*y;} main() { int a=31; fun(5,2,a); printf("%d",a); }
A.错误
B.正确
答:——A——
25.[判断题] 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。判断以下程序是否正确: #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> =' a' & & str< =' z' ||str> =' A' & & str< =' Z' ) a++; else if (str> =' 0' & & str< =' 9' ) a++; else if (str==' ' ) a++; else a++; } } void main() { static char str; static int a={0,0,0,0}; gets(str); fltj(str,a); printf(" %s char:%d digit:%d space:%d other:%d" , str,a,a,a,a); }
A.错误
B.正确
答:——B——
26.[判断题] 打印出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); }
A.错误
B.正确
答:——B——
27.[判断题] 对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> a) { k=a;a=a;a=k; } } void main( ) { int a, i, j, k; printf(" 请任意输入10个整数:\n" ); for ( i=0 ; i< 10 ; i++) scanf(" %d" , & a) ; printf(" \n" ) ; sort(a,10); printf(" 按由小到大的顺序输出10个整数是:\n" ); for (i=0; i< 10; i++) printf(“%d," ,a); }
A.错误
B.正确
答:——B——
28.[判断题]
fun函数用来统计各分数段的分数个数,其中所有分数存放在数组a中,各分数段的分数个数存放在数组b中,85-100分的个数存放到b,60-84分的个数存放到b,60以下的个数存放到b。main函数中输入所有的分数值,调用fun函数,打印各分数段的分数个数。判断以下程序是否正确:
#include
#define N 20
void fun(int a[],int b[],int n)
{ int i;
for (i=0;i if (a>=85 && a<=100) b++;
else if(a>=60&&a<=84) b++;
else if(a<60&&a>=0) b++;
return;
}
void main()
{ int a,b,i;
fun(a,b,N);
for(i=0;i<3;i++) printf(“%d\n”,b);
}
A.错误
B.正确
答:——B——
29.[判断题] 在定义函数时,函数名后面的括号中的变量名称为实参。
A.错误
B.正确
答:——A——
30.[判断题] 在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用。
A.错误
B.正确
答:——B——
31.[判断题] 在函数内定义的变量是局部变量,在函数外定义的变量是外部变量。外部变量是全局变量。
A.错误
B.正确
答:——B——
32.[判断题] 函数的参数不仅可以是整型、字符型、浮点型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。
A.错误
B.正确
答:——B——
33.[判断题] 结构体的成员不能是结构体变量。
A.错误
B.正确
答:——A——
34.[判断题] 一个结构体变量的指针就是该变量所占内存段的起始地址。
A.错误
B.正确
答:——B——
35.[判断题] “按位或”运算指两个运算数相应的二进制位中只要有一个为1,则该位结果值为1,比如0|0=0,1|0=1。
A.错误
B.正确
答:——B——
36.[判断题] 异或运算指两个运算数相应的二进制位相同则结果为0,相异则结果为1,比如0∧1=1,0∧0=0。
A.错误
B.正确
答:——B——
37.[判断题] 若fp是指某文件的指针,且已读到文件的末尾,则表达式feof(fp)的返回值是NULL
A.错误
B.正确
答:——A——
38.[判断题] C语言库函数fgets(str,n,fp)的功能是从文件fp中读取n个字符串存入str指向的内存。
A.错误
B.正确
答:——A——
39.[判断题] 函数rewind的作用是使位置指针自动移至下一个字符位置。
A.错误
B.正确
答:——A——
40.[判断题] C语言中以w+方式打开文件后,可执行的文件操作是可任意读写。
A.错误
B.正确
答:——A——
页: [1]
查看完整版本: 石油北京21秋《C语言程序设计》第三次在线作业