奥鹏作业答案 发表于 2018-12-10 11:45:45

西南交大18秋《高级语言程序设计B》在线作业一

西南交《高级语言程序设计B》在线作业一

奥鹏作业答案
奥鹏西南交通大学作业

一、单选题:
1.[单选题]设有定义:intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是          (满分:)
    A. p=1;
    B. *q=2;
    C. q=p;
    D. *p=5;
    正确答案:——D——
2.[单选题]能正确表达逻辑关系"a≥5"且"a≤10"的C语言表达式是()          (满分:)
    A. a>=5ora<=10
    B. a>=5|a<=10
    C. a>=5&&a<=10
    D. a>=5||a<=10
    正确答案:——C——
3.[单选题]下面语句的运行结果为()#include“stdio.h”#include“string.h”voidmain(){charstr1={“how”};charstr2={“good”};strcpy(str1,st          (满分:)
    A. g
    B. how
    C. howgood
    D. good
    正确答案:——D——
4.[单选题]设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
    正确答案:————
5.[单选题]C语言表示逻辑假的方法是()          (满分:)
    A. FALSE
    B. 0
    C. 1
    D. NULL
    正确答案:————
6.[单选题]下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。  #include"stdio.h"main(){inti=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
    正确答案:————
7.[单选题]若有以下说明语句,且0<=i<=10,则()是对数组元素的错误引用。inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;          (满分:)
    A. *(a+i)
    B. p+i
    C. a
    D. *(&a)
    正确答案:————
8.[单选题]有如下程序  inta[10]={1,2,3,4,5,6,7,8,9,10};  int*p=&a[3],b;b=p[5];  则b的值是          (满分:)
    A. 5
    B. 6
    C. 9
    D. 8
    正确答案:————
9.[单选题]以下叙述中不正确的是          (满分:)
    A. 在不同的函数中可以使用相同的名字的变量
    B. 函数中的形式参数是局部变量
    C. 在一个函数内定义的变量只在本函数范围内有效
    D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
    正确答案:————
10.[单选题]返回值为void的函数,其含义为()          (满分:)
    A. 调用函数之后,被调用的函数没有返回值
    B. 调用函数之后,被调用的函数不返回    奥鹏作业答案

    C. 调用函数之后,被调用的函数的返回值为任意的类型
    D. 该类函数不允许被调用
    正确答案:————
11.[单选题]如下程序:voidmain(){inti,sum;for(i=1;i<=5;sum++)sum+=i;printf("%d"",sum);}该程序的执行结果是()          (满分:)
    A. 死循环
    B. 3
    C. 6
    D. 15
    正确答案:————
12.[单选题]有以下程序:  #include  unionpw  {inti;  charch[2];}a;  main()  {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}  程序的输出结果是          (满分:)
    A. 13
    B. 14
    C. 208
    D. 209
    正确答案:————
13.[单选题]假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:  PROGABCDEFGHIJKL<回车>,则输出结果为  main(intargc,char*argv[])  {while(--argc>0)  printf("%s",argv[argc]);  printf("\n");  }          (满分:)
    A. ABCDEFG
    B. IJHL
    C. ABCDEFGHIJKL
    D. IJKLABCDEFGH
    正确答案:————
14.[单选题]下面哪条语句是错误的(          (满分:)
    A. inta=0
    B. inta=b=c=1
    C. inta=0,b=0,c=0
    D. inta,b,c=1;
    正确答案:————
15.[单选题]设有intx=11;则表达式(x++*1/3)的值是          (满分:)
    A. 3
    B. 4
    C. 11
    D. 12
    正确答案:————
16.[单选题]sizeof(float)是          (满分:)
    A. 一个双精度型表达式
    B. 一个整型表达式
    C. 一种函数调用
    D. 一个不合法的表达式
    正确答案:————
17.[单选题]执行以下程序后,a,b的值分别为  main()  {inta,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
    正确答案:————
18.[单选题]下列各数据类型不属于构造类型的是          (满分:)
    A. 枚举型
    B. 共用型
    C. 结构型
    D. 数组型
    正确答案:————
19.[单选题]以下程序有错,错误原因是  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;没有意义,可能会影响后面语句的执行结果
    正确答案:————
20.[单选题]以下正确的C标识符是()          (满分:)
    A. 0XH
    B. _80
    C. main
    D. #A$
    正确答案:————
21.[单选题]C语言中运算对象必须是整型的运算符是()          (满分:)
    A. %
    B. /
    C. =
    D. <=
    正确答案:————
22.[单选题]在“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”(双引号)括起来时,寻找被包含文件的方式是()          (满分:)
    A. 仅仅搜索当前目录
    B. 仅仅搜索源程序所在目录
    C. 直接按系统设定的标准搜索目录
    D. 在系统当前目录搜索和C语言系统系统指定的INCLUDE目录中搜索
    正确答案:————
23.[单选题]以下程序的输出结果是  voidreverse(inta[],intn)  {inti,t;  for(i=0;i<n/2;i++)  {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}  }  main()  {intb[10]={1,2,3,4,5,6,7,8,9,10};inti,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
    正确答案:————
24.[单选题]下面程序段的运行结果是  char*format="%s,a=%d,b=%d\n";  inta=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. 以上结果都不对
    正确答案:————
25.[单选题]已知实型变量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));
    正确答案:————
二、多选题:
26.[多选题]关于静态局部变量的说明正确的是______。          (满分:)
    A. 静态局部变量存储在静态存储区
    B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
    C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
    D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
    正确答案:————
27.[多选题]C语言中函数返回值的类型与下列哪项无关?          (满分:)
    A. 定义函数时所指定的函数类型
    B. 调用函数时临时
    C. 调用该函数的主函数类型
    D. return语句中的表达式类型
    正确答案:————
28.[多选题]已知:intx;,则下面的说明指针变量pb的语句______不是正确的。          (满分:)
    A. intpb=&x;
    B. int*pb=x;
    C. int*pb=&x;
    D. *pb=*x
    正确答案:————
29.[多选题]若定义:inta{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相同
    正确答案:————
30.[多选题]在缓冲文件系统中用于读写的函数有          (满分:)
    A. putchar()
    B. fread()
    C. rewind()
    D. putw()
    正确答案:————
31.[多选题]在C语言中,正确的int类型的常数是:______。          (满分:)
    A. 0
    B. 32768
    C. 037
    D. 0xaf
    正确答案:————
32.[多选题]若有以下定义和语句:doubler=99,*p=&r;*p=r;则以下不正确的叙述是:______          (满分:)
    A. 以上两处的*p含义相同,都说明给指针变量p赋值
    B. 语句“*p=r;”把变量r的地址值赋给指针变量p
    C. 语句“*p=r;”取变量r的值放回r中
    D. 在“doubler=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
    正确答案:————
33.[多选题]以下不正确的叙述是______。          (满分:)
    A. C语言的主函数是无参函数
    B. C语言的主函数最多允许有1个参数
    C. C语言的主函数最多允许有2个参数
    D. C语言的主函数可以有2个以上参数
    正确答案:————
34.[多选题]设有如下定义:int(*ptr)();则以下叙述中不正确的是______。          (满分:)
    A. ptr是指向一维数组的指针变量
    B. ptr是指向int型数据的指针变量
    C. ptr是指向函数的指针,该函数返回一个int型数据
    D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
    正确答案:————
35.[多选题]以下______是正确的转义字符。()          (满分:)
    A. ‘""""'
    B. ‘""’
    C. ‘""81'
    D. ‘""0'
    正确答案:————
36.[多选题]已知:intx,a,b;下列选项中正确的if语句是______。          (满分:)
    A. if(a=b)x++;
    B. if(a=<b)x++;
    C. if(a-b)x++;
    D. if(x)x++;
    正确答案:————
37.[多选题]关于宏定义的说法正确的是:          (满分:)
    A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
    B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
    C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
    D. 宏定义不是C语句,不必在行末加分号
    正确答案:————
38.[多选题]关于实参和形参的说法正确的是______。          (满分:)
    A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
    B. 实参可以是变量、常量或表达式
    C. 实参与形参的类型应相同或赋值兼容
    D. 实参变量对形参变量的数据传递是“值传递”
    正确答案:————
39.[多选题]下列字符中能构成标识符的是______。          (满分:)
    A. 数字字符
    B. 连接符
    C. 下划线字符
    D. 大写字母
    正确答案:————
40.[多选题]在动态存储区中主要存放以下数据______。          (满分:)
    A. 函数形式参数
    B. 自动变量
    C. 函数调用时的现场保护和返回地址
    D. 全局变量
    正确答案:————
三、判断题:
41.[判断题]C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。()          (满分:)
    A. 错误
    B. 正确
    正确答案:————
42.[判断题]一个int型与一个double型数据进行混合运算时,其结果是double型。          (满分:)
    A. 错误
    B. 正确
    正确答案:————
43.[判断题]使用getchar函数可以不添加#include<stdio.h>命令。()          (满分:)
    A. 错误
    B. 正确
    正确答案:————
44.[判断题]使用printf和scanf函数时,必须添加#include<stdio.h>命令。()          (满分:)
    A. 错误
    B. 正确
    正确答案:————
45.[判断题]C程序中各函数之间既允许直接递归调用也允许间接递归调          (满分:)
    A. 错误
    B. 正确
    正确答案:————
46.[判断题]若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。          (满分:)
    A. 错误
    B. 正确
    正确答案:————
47.[判断题]switch语句中,多个case可以共用一组执行语句。()          (满分:)
    A. 错误
    B. 正确
    正确答案:————
48.[判断题]‘a’和“a”在内存中所占字节数相同。()          (满分:)
    A. 错误
    B. 正确
    正确答案:————
49.[判断题]C程序的执行总是从第一个定义的函数开始          (满分:)
    A. 错误
    B. 正确
    正确答案:————
50.[判断题]puts和gets函数只能输入或输出一个字符串          (满分:)
    A. 错误
    B. 正确
    正确答案:————
奥鹏作业答案
奥鹏西南交通大学作业
页: [1]
查看完整版本: 西南交大18秋《高级语言程序设计B》在线作业一