西南交通大学19春《高级语言程序设计B》在线作业12
西南交《高级语言程序设计B》在线作业一随机作业请核对题目下载,QQ 761296021
1.[单选题]C语言允许函数类型缺省定义,此时函数值隐含的类型是
A.float B.int C.long D.double
正确答案:——B——
2.[单选题]若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A.4
B.16
C.32
D.52
正确答案:——C——
3.[单选题]如下程序 :
void main( )
{
int i,sum;
for(i=1;i<=5;sum++) sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是( )
A.死循环
B.3
C.6
D.15
正确答案:——A——
4.[单选题]在“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”(双引号)括起来时,寻找被包含文件的方式是( )
A.仅仅搜索当前目录
B.仅仅搜索源程序所在目录
C.直接按系统设定的标准搜索目录
D.在系统当前目录搜索和C语言系统系统指定的INCLUDE目录中搜索
正确答案:————
5.[单选题]若有以下说明语句,且0<=i<=10,则 ( )是对数组元素的错误引用。
int a[]={1,2,3,4,5,6,7,8,9,0},*p,i; p=a;
A.*(a+i)
B.p+i
C.a
D.*(&a)
正确答案:————
6.[单选题]返回值为void的函数,其含义为( )
A.调用函数之后,被调用的函数没有返回值
B.调用函数之后,被调用的函数不返回
C.调用函数之后,被调用的函数的返回值为任意的类型
D.该类函数不允许被调用
正确答案:————
7.[单选题]以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
A.语句 void prt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
正确答案:————
8.[单选题]C语言中运算对象必须是整型的运算符是( )
A.%
B./
C.=
D.<=
正确答案:————
9.[单选题]假定以下程序经编译和连接后生成可执行文件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
正确答案:————
10.[单选题]C语言开始执行程序的开始执行点是( )
A.程序中第一条可执行的语句
B.程序中第一个函数
C.程序中的main()函数
D.包含文件中的第一个函数
正确答案:————
11.[单选题]以下说法中正确的是( )
A.一个函数在编译时被分配得到一个入口地址,这个入口地址称为函数的指针
B.a/=b+c;这个式子和a=a/b+c;等价
C.C语言开始执行程序的开始执行点是程序中第一条可执行的语句
D.对二维数组a赋值可以用这样的语句完成inta[]={1,2,3,4,5,6,7,8};
正确答案:————
12.[单选题]能正确表达逻辑关系"a≥10"或"a≤0"的C语言表达式是( )
A.a>=10ora<=0
B.a>=0|a<=10
C.a>=10&&a<=0
D.a>=10||a<=0
正确答案:————
13.[单选题]请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n"));
A.5
B.14
C.8
D.输出项不合法,无正常输出
正确答案:————
14.[单选题]sizeof(float)是
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
正确答案:————
15.[单选题]以下程序的输出结果是 void reverse(int a[],int n) { int i,t; for(i=0;i <n/2;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
正确答案:————
16.[单选题]阅读以下程序及对程序功能的描述,其中正确的描述是 #include main() { FILE *in,*out; char ch,infile[10],outfile[10]; printf("Enter the infile name:\n"); scanf("%s",infile); printf("Enter the outfile name:\n"); scanf("%s",outfile); if((in=fopen(infile,"r"))==NUL
A.程序完成将磁盘文件的信息在屏幕上显示的功能
B.程序完成将两个磁盘文件合二为一的功能
C.程序完成将一个磁盘文件复制到另一个磁盘文件中
D.程序完成将两个磁盘文件合并并在屏幕上输出
正确答案:————
17.[单选题]函数 rewind 的作用是
A.使文件位置指针重新返回文件的开始位置
B.将文件位置指针指向文件中所要求的特定位置
C.使文件位置指针指向文件的末尾
D.使文件位置指针自动移至下一个字符位置
正确答案:————
18.[单选题]若有以下程序 #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i<4;i++)a[i]=*p; printf("%d\n",a[2]); } 上面程序输出结果是
A.6
B.8
C.4
D.2
正确答案:————
19.[单选题]在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A.1
B.2
C.7
D.11
正确答案:————
20.[单选题]下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include "stdio.h" main(){ int i=0,j,k;do{i++;k=316-13*i;}while(k%11);j=k/11;printf("316=13*%d+11*%d",i,j);}
A.k%11
B.k
C.k/11==0
D.k==0
正确答案:————
21.[单选题]下列各数据类型不属于构造类型的是
A.枚举型
B.共用型
C.结构型
D.数组型
正确答案:————
22.[单选题]执行以下程序后,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); }
A.-1,5
B.1,6
C.0,7
D.4,10 奥鹏作业答案
正确答案:————
23.[单选题]以下可作为函数fopen中第一个参数的正确格式是( )
A.c:user\text.tex
B.c:\user\text.txt
C.“c:user\text.tex”
D.“c:\\user\\text.txt”
正确答案:————
24.[单选题]下列程序的输出结果是 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
正确答案:————
25.[单选题]请选出可用作C语言用户标识符的是
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,--abc,Case
D.2a,Do,Sizeof
正确答案:————
26.[多选题]以下不正确的叙述是______。
A.C语言的主函数是无参函数
B.C语言的主函数最多允许有1个参数
C.C语言的主函数最多允许有2个参数
D.C语言的主函数可以有2个以上参数
正确答案:————
27.[多选题]对静态变量的正确描述
A.静态局部变量在静态存储区内分配单元( )
B.静态外部变量可以赋初值,也可以不赋初值
C.静态外部变量的作用与外部变量相同
D.静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:————
28.[多选题]下列说法不正确的是______。
A.C程序由符号构成
B.C程序由标识符构成
C.C程序由函数构成
D.C程序由C语句构成
正确答案:————
29.[多选题]下列关于#include命令的叙述中,正确的是______。
A.一个#include命令中只能指定一个被包含文件
B.一个#include命令中可以指定多个被包含文件
C.一个被包含文件中又可以包含另一个被包含文件
D.#include命令中,文件名可以用双引号或尖括号括起来
正确答案:————
30.[多选题]关于静态局部变量的说明正确的是______。
A.静态局部变量存储在静态存储区
B.静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C.若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D.虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
正确答案:————
31.[多选题]以下叙述中正确的是______。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C.可以通过赋初值的方式确定数组元素的个数
D.数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:————
32.[多选题]不与while(x)语句中的x等价的是_____。
A.x= =0
B.x= =1
C.x!=1
D.x!=0
正确答案:————
33.[多选题]在缓冲文件系统中用于读写的函数有
A.putchar ()
B.fread()
C.rewind ()
D.putw()
正确答案:————
34.[多选题]在C语言中,正确的int类型的常数是:______。
A.0
B.32768
C.037
D.0xaf
正确答案:————
35.[多选题]关于文件的打开方式描述正确的是:______。
A.r:打开只读文件
B.a+:打开或建立用于更新数据的文件,数据追加到文件尾
C.a:打开或建立一个把数据追加到文件尾的文件
D.r+:打开用于更新数据的文件
正确答案:————
36.[多选题]若定义:int a{0,2,4,6,8,10};以下描述正确的有
A.A、*(a+1)为元素6的地址
B.B、*(a+1)的值为2
C.C、**(a+1)+2的值为8
D.D、a与a相同
正确答案:————
37.[多选题]C提供的预处理功能主要有______。
A.宏定义
B.文件包含
C.条件编译
D.异常终止
正确答案:————
38.[多选题]在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
正确答案:————
39.[多选题]设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
A.ptr是指向一维数组的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
正确答案:————
40.[多选题]若有以下定义和语句: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所指的存储单元
正确答案:————
41.[判断题]主函数和其它函数可以相互调用
A.错误
B.正确
正确答案:————
42.[判断题]switch语句中,各个case和default的出现次序不影响执行结果。()
A.错误
B.正确
正确答案:————
43.[判断题]使用printf和scanf函数时,必须添加#include <stdio.h>命令。()
A.错误
B.正确
正确答案:————
44.[判断题]调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A.错误
B.正确
正确答案:————
45.[判断题]‘ a’和“a”在内存中所占字节数相同。()
A.错误
B.正确
正确答案:————
46.[判断题]putchar()函数可以输出一个字符串
A.错误
B.正确
正确答案:————
47.[判断题]共用体所占的内存空间大小取决于占空间最多的那个成员变量。
A.错误
B.正确
正确答案:————
48.[判断题]静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A.错误
B.正确
正确答案:————
49.[判断题]puts和gets函数只能输入或输出一个字符串
A.错误
B.正确
正确答案:————
50.[判断题]语句int pt中的*pt是指针变量名。
A.错误
B.正确
正确答案:————
西南交《高级语言程序设计B》在线作业二
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.[单选题]若有以下程序 #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i<4;i++)a[i]=*p; printf("%d\n",a[2]); } 上面程序输出结果是
A.6
B.8
C.4
D.2
正确答案:——D——
4.[单选题]设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是
A.struct结构体类型的关键字
B.example是结构体类型名
C.x,y,z都是结构体成员名
D.struct ex是结构体类型名
正确答案:————
5.[单选题]已知实型变量a存贮的是一个0--1之间的实数,将a以两位小数百分比形式输出(如:a=0.347592,则输出为34.75%)正确的打印语句是( )
A.printf(“%.2f%%”,a*100)
B.printf(“%.2f%”,a)
C.printf(“%.2f%%”,a/100)
D.printf(“%.2f%%”,100*(a+0.5));
正确答案:————
6.[单选题]下列程序的输出结果是 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
正确答案:————
7.[单选题]下面程序段的运行结果是 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.以上结果都不对
正确答案:————
8.[单选题]若有如下说明 int a={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的元素的表达式是( )
A.*p+5
B.*(p+5)
C.*p+=5
D.p+5
正确答案:————
9.[单选题]下列程序段的输出结果是( )
void fun(int *x, int *y)
{
printf("%d %d", *x, *y);
*x=3; *y=4;
}
void main()
{
int x=1, y=2;
fun(&y,&x);
printf("%d %d", x, y);
}
A.1212
B.2143
C.1234
D.2112
正确答案:————
10.[单选题]设有int x=11;则表达式(x++*1/3)的值是
A.3
B.4
C.11
D.12
正确答案:————
11.[单选题]下列符号中,合法的C常量是( )
A.‘\t’
B.079
C.3.5e2.1
D.0xch
正确答案:————
12.[单选题]以下不正确的定义语句是
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′};
正确答案:————
13.[单选题]请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n"));
A.5
B.14
C.8
D.输出项不合法,无正常输出
正确答案:————
14.[单选题]下面哪条语句是错误的(
A.inta=0
B.inta=b=c=1
C.inta=0,b=0,c=0
D.inta,b,c=1;
正确答案:————
15.[单选题]下列各数据类型不属于构造类型的是
A.枚举型
B.共用型
C.结构型
D.数组型
正确答案:————
16.[单选题]以下程序有错,错误原因是 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;没有意义,可能会影响后面语句的执行结果
正确答案:————
17.[单选题]以下可作为函数fopen中第一个参数的正确格式是( )
A.c:user\text.tex
B.c:\user\text.txt
C.“c:user\text.tex”
D.“c:\\user\\text.txt”
正确答案:————
18.[单选题]能正确表达逻辑关系"a≥10"或"a≤0"的C语言表达式是( )
A.a>=10ora<=0
B.a>=0|a<=10
C.a>=10&&a<=0
D.a>=10||a<=0
正确答案:————
19.[单选题]在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
A.a=20000+20000;
B.a=4000*10;
C.a=30000+10000;
D.a=4000L*10L
正确答案:————
20.[单选题]设a是int型变量,b是float型变量,用下面的语句给这两个变量输入值
scanf("a=%d,b=%f",&a,&b);为了把100和76.5分别赋给i和f,则正确的输入为:( )
A.10076.5
B.a=100,b=76.5
C.10076.5
D.a=100b=76.5
正确答案:————
21.[单选题]若有定义:inta,*p=a;,则p+5表示( )
A.元素a的地址
B.元素a的值
C.元素a的地址
D.元素a的值
正确答案:————
22.[单选题]阅读以下程序及对程序功能的描述,其中正确的描述是 #include main() { FILE *in,*out; char ch,infile[10],outfile[10]; printf("Enter the infile name:\n"); scanf("%s",infile); printf("Enter the outfile name:\n"); scanf("%s",outfile); if((in=fopen(infile,"r"))==NUL
A.程序完成将磁盘文件的信息在屏幕上显示的功能
B.程序完成将两个磁盘文件合二为一的功能
C.程序完成将一个磁盘文件复制到另一个磁盘文件中
D.程序完成将两个磁盘文件合并并在屏幕上输出
正确答案:————
23.[单选题]sizeof(float)是
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
正确答案:————
24.[单选题]一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
正确答案:————
25.[单选题]选择下列程序的运行结果( )
main()
{
floatx;
int i;
x=3.6;
i=(int)x;
printf(“%2.1f,%d”,x,i);
}
A.3.6,4
B.3,3
C.3.6,3
D.4,3
正确答案:————
26.[多选题]在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
正确答案:————
27.[多选题]C提供的预处理功能主要有______。
A.宏定义
B.文件包含
C.条件编译
D.异常终止
正确答案:————
28.[多选题]不与while(x)语句中的x等价的是_____。
A.x= =0
B.x= =1
C.x!=1
D.x!=0
正确答案:————
29.[多选题]以下______是正确的转义字符。( )
A.‘\\'
B.‘\’
C.‘\81'
D.‘\0'
正确答案:————
30.[多选题]对静态变量的正确描述
A.静态局部变量在静态存储区内分配单元( )
B.静态外部变量可以赋初值,也可以不赋初值
C.静态外部变量的作用与外部变量相同
D.静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:————
31.[多选题]下列描述正确的是
A.由main 函数及其参数argc和* argv[]可以实现命令行方式
B.使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C.字符数组并不要求它的最后一个字符是‘\0’
D.‘A’和“A”都是字符串常量
正确答案:————
32.[多选题]下列说法不正确的是______。
A.C程序由符号构成
B.C程序由标识符构成
C.C程序由函数构成
D.C程序由C语句构成
正确答案:————
33.[多选题]在动态存储区中主要存放以下数据______。
A.函数形式参数
B.自动变量
C.函数调用时的现场保护和返回地址
D.全局变量
正确答案:————
34.[多选题]在C语言中,正确的int类型的常数是:______。
A.0
B.32768
C.037
D.0xaf
正确答案:————
35.[多选题]关于宏定义的说法正确的是:
A.<p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
B.使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C.宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D.宏定义不是C语句,不必在行末加分号
正确答案:————
36.[多选题]已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
A.int pb=&x;
B.int *pb=x;
C.int *pb=&x;
D.*pb=*x
正确答案:————
37.[多选题]以下对一维数组a进行初始化,错误的语句是______。
A.int a=(0,0,0,0,0);
B.int a={};
C.int a={0};
D.int a={10,9,8}
正确答案:————
38.[多选题]带参宏定义与函数的区别是:______。
A.函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B.函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C.宏不存在类型问题,宏名和参数都不存在类型问题
D.调用函数只能得到一个返回值,而使用宏可设法得到几个结果
正确答案:————
39.[多选题]关于文件的打开方式描述正确的是:______。
A.r:打开只读文件
B.a+:打开或建立用于更新数据的文件,数据追加到文件尾
C.a:打开或建立一个把数据追加到文件尾的文件
D.r+:打开用于更新数据的文件
正确答案:————
40.[多选题]以下叙述中正确的是______。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C.可以通过赋初值的方式确定数组元素的个数
D.数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:————
41.[判断题]‘ a’和“a”在内存中所占字节数相同。()
A.错误
B.正确
正确答案:————
42.[判断题]主函数和其它函数可以相互调用
A.错误
B.正确
正确答案:————
43.[判断题]switch语句中,各个case和default的出现次序不影响执行结果。()
A.错误
B.正确
正确答案:————
44.[判断题]函数必须有返回值,否则不能使用函数
A.错误
B.正确
正确答案:————
45.[判断题]宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。
A.错误
B.正确
正确答案:————
46.[判断题]putchar()函数可以输出一个字符串
A.错误
B.正确
正确答案:————
47.[判断题]使用printf和scanf函数时,必须添加#include <stdio.h>命令。()
A.错误
B.正确
正确答案:————
48.[判断题]for(;;)语句相当于while(1)语句
A.错误
B.正确
正确答案:————
49.[判断题]C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。()
A.错误
B.正确
正确答案:————
50.[判断题]puts和gets函数只能输入或输出一个字符串
A.错误
B.正确
正确答案:————
附件是答案,转载注明 无忧答案网
页:
[1]