|
【石油大学】C语言程序设计-第三次在线作业
试卷总分:100 得分:100
第1题,1.(2.5分)在C语言中,当函数调用时()。
A、A. 实参和形参各占一个独立的存储单元
B、B. 实参和形参共用存储单元
C、C. 可以由用户指定实参和形参是否共用存储单元
D、D. 由系统自动确定实参和形参是否共用存储单元
正确答案:
第2题,2.(2.5分)以下函数调用语句中实参的个数为()。exce((v1,v2),(v3,v4,v5),v6);
A、A. 3
B、B. 4
C、C. 5
D、D. 6
正确答案:
第3题,3.(2.5分)如果在一个函数的复合语句中定义了一个变量,则该变量()。
A、A. 只在该符合语句中有效,在该符合语句外无效
B、B. 在该函数中任何位置都有效
C、C. 在本程序的原文件范围内均有效
D、D. 此定义方法错误,其变量为非法变量
正确答案:
第4题,4.(2.5分)C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。
A、A. float型
B、B. int型
C、C. long型
D、D. double型
正确答案:
第5题,5.(2.5分)C语言规定,函数返回值的类型是由()。
A、A. return语句中的表达式类型所决定
B、B. 调用该函数时的主调函数类型所决定
C、C. 调用该函数时系统临时决定
D、D. 在定义该函数时所指定的函数类型决定
正确答案:
第6题,6.(2.5分)在C语言程序中,以下描述正确的是()。
A、A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B、B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C、C. 函数的定义和函数的调用均不可以嵌套
D、D. 函数的定义和函数的调用均可以嵌套
正确答案:
第7题,7.(2.5分)以下叙述中正确的是()。
A、A. 全局变量的作用域一定比局部变量的作用域范围大
B、B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间
C、C. 函数的形参都属于全局变量
D、D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值
正确答案:
第8题,8.(2.5分)以下程序的运行结果是()。#include<stdio_h>voidsub(ints[],inty){staticintt=3;y=s[t];t--;}main(){inta[]={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
正确答案:
第9题,9.(2.5分)以下程序的运行结果是:main(){intw=5;fun(w);}fun(intk){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
正确答案:
第10题,10.(2.5分)当调用函数时,实参是一个数组名,则向函数传送的是()
A、A.数组的长度
B、B.数组的首地址
C、C.数组每一个元素的地址
D、D.数组每个元素中的值
正确答案:
第11题,11.(2.5分)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。
A、A.地址传递
B、B.单向值传递
C、C.由实参传给形,再由形参传回实参
D、D.传递方式由用户指定
正确答案:
第12题,12.(2.5分)定义一个结构体变量时系统分配给它的内存是()。
A、A. 各成员所需要内存量的总和
B、B. 结构体中第一个成员所需内存量
C、C. 成员中占内存量最大者所需的容量
D、D. 结构中最后一个成员所需内存量
正确答案:
第13题,13.(2.5分)设有如下定义:structsk{inta;floatb;}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
正确答案:
第14题,14.(2.5分)当定义一个共用体变量时系统分配给它的内存是()。
A、A. 各成员所需要内存量的总和
B、B. 共用体中第一个成员所需内存量
C、C. 成员中占内存量最大者所需的容量
D、D. 共用体中最后一个成员所需内存量
正确答案:
第15题,15.(2.5分)设有如下枚举类型定义:enumlanguage{Basic=3,Assembly,Ada=100,COBOL,Fortran};枚举量Fortran的值()。
A、A. 4
B、B. 7
C、C. 102
D、D. 103
正确答案:
第16题,16.(2.5分)若x=5,y=5,则x&y的结果是()。
A、A. 0
B、B. 2
C、C. 3
D、D. 5
正确答案:
第17题,17.(2.5分)在位运算中,操作数每左移两位,则结果相当于()。
A、A. 操作数乘以2
B、B. 操作数除以2
C、C. 操作数除以4
D、D. 操作数乘以4
正确答案:
第18题,18.(2.5分)C语言可以处理的文件类型是()。
A、A. 文本文件和数据文件
B、B. 文本文件和二进制文件
C、C. 数据文件和二进制文件
D、D. 数据代码文件
正确答案:
第19题,19.(2.5分)在执行fopen函数时,若执行不成功,则函数的返回值是()。
A、A.TRUE
B、B.-1
C、C.1
D、D.NULL
正确答案:
第20题,20.(2.5分)在C程序中,可把整型数以二进制形式存放到文件中的函数是()。
A、A.fprintf函数
B、B.fread函数
C、C.fwrite函数
D、D.fputc函数
正确答案:
第21题,21.(2.5分)下面程序段运行时输出结果是:0,01,3voidmain(){inti;for(i=0;i<2;i++)add();}add(){intx=0;staticinty=0;printf("%d,%d",x,y);x++;y=y+3;}
正确
错误
正确答案:
第22题,22.(2.5分)下面程序段运行时输出结果是:38.5intx;voidmain(){x=7;s();printf("%d\n",x);}voids(){x=5*x+x/2;}
正确
错误
正确答案:
第23题,23.(2.5分)下面程序段运行时输出结果是2intf(intn){ints;if(n==1||n==2)s=1;elses=n-f(n-1);returns;}voidmain(){printf("%d",f(3));}
正确
错误
正确答案:
第24题,24.(2.5分)下面程序段运行时输出结果是29fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}
正确
错误
正确答案:
第25题,25.(2.5分)编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。判断以下程序是否正确:#include<stdio.h>#include<string.h>voidfltj(charstr[],inta[]){intll,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]++;elseif(str[i]>='0'&&str[i]<='9')a[1]++;elseif(str[i]=='')a[2]++;elsea[3]++;}}voidmain(){staticcharstr[60];staticinta[4]={0,0,0,0};gets(str);fltj(str,a);printf("%schar:%ddigit:%dspace:%dother:%d",str,a[0],a[1],a[2],a[3]);}
正确
错误
正确答案:
第26题,26.(2.5分)打印出1-100之间的全部素数(要求编写两个函数,一个用于判断一个数是否是素数,另一个是main函数,在main函数中调用该函数实现打印1-100之间的全部素数)。判断以下程序是否正确:#include<stdio.h>intprime(intm){inti;for(i=2;i<m;i++)if(m%i==0)return0;return1;}voidmain(){inti;for(i=2;i<100;i++)if(prime(i))printf("%d",i);}
正确
错误
正确答案:
第27题,27.(2.5分)对10个数进行从小到大排序。要求排序在函数sort内完成,用起泡算法。main函数内进行数据输入、调用排序函数sort、并输出排序后的数据。判断以下程序是否正确:#include<stdio.h>voidsort(inta[],intn){inti,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;}}voidmain(){inta[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]);}
正确
错误
正确答案:
第28题,28.(2.5分)<tablestyle="width:303pt;border-collapse:collapse"cellspacing="0"cellpadding="0"width="404"border="0"><colgroup><colstyle="width:303pt;mso-width-source:userset;mso-width-alt:12928"width="404"/></colgroup><tbody><trstyle="height:313.5pt"height="418"><tdclass="xl67"style="border-right:#d4d0c8;border-top:#d4d0c8;border-left:#d4d0c8;width:303pt;border-bottom:#d4d0c8;height:313.5pt;background-color:transparent"width="404"height="418"><fontface="宋体"size="3">fun函数用来统计各分数段的分数个数,其中所有分数存放在数组a中,各分数段的分数个数存放在数组b中,85-100分的个数存放到b[0],60-84分的个数存放到b[1],60以下的个数存放到b[2]。main函数中输入所有的分数值,调用fun函数,打印各分数段的分数个数。判断以下程序是否正确:<br/>#include<stdio.h></stdio.h><br/>#defineN20<br/>voidfun(inta[],intb[],intn)<br/>{inti;<br/>for(i=0;iif(a[i]>=85&&a[i]<=100)b[0]++;<br/>elseif(a[i]>=60&&a[i]<=84)<spanstyle="mso-spacerun:yes"> </span>b[1]++;<br/>elseif(a[i]<60&&a[i]>=0)<spanstyle="mso-spacerun:yes"> </span>b[2]++;<br/>return;<br/>}<br/>voidmain()<br/>{inta[N],b[3],i;<br/>fun(a,b,N);<br/>for(i=0;i<3;i++)printf(“%d\n”,b[i]);<br/>}</font><br/> </td></tr></tbody></table>
正确
错误
正确答案:
第29题,29.(2.5分)在定义函数时,函数名后面的括号中的变量名称为实参。
正确
错误
正确答案:
第30题,30.(2.5分)在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用。
正确
错误
正确答案:
第31题,31.(2.5分)在函数内定义的变量是局部变量,在函数外定义的变量是外部变量。外部变量是全局变量。
正确
错误
正确答案:
第32题,32.(2.5分)函数的参数不仅可以是整型、字符型、浮点型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。
正确
错误
正确答案:
第33题,33.(2.5分)结构体的成员不能是结构体变量。
正确
错误
正确答案:
第34题,34.(2.5分)一个结构体变量的指针就是该变量所占内存段的起始地址。
正确
错误
正确答案:
第35题,35.(2.5分)"按位或"运算指两个运算数相应的二进制位中只要有一个为1,则该位结果值为1,比如0|0=0,1|0=1。
正确
错误
正确答案:
第36题,36.(2.5分)异或运算指两个运算数相应的二进制位相同则结果为0,相异则结果为1,比如0∧1=1,0∧0=0。
正确
错误
正确答案:
第37题,37.(2.5分)若fp是指某文件的指针,且已读到文件的末尾,则表达式feof(fp)的返回值是NULL
正确
错误
正确答案:
第38题,38.(2.5分)C语言库函数fgets(str,n,fp)的功能是从文件fp中读取n个字符串存入str指向的内存。
正确
错误
正确答案:
第39题,39.(2.5分)函数rewind的作用是使位置指针自动移至下一个字符位置。
正确
错误
正确答案:
第40题,40.(2.5分)C语言中以w+方式打开文件后,可执行的文件操作是可任意读写。
正确
错误
正确答案: |
|