homework 发表于 2016-12-24 10:48:25

西南交答16秋《高级语言程序设计A》在线作业一二答案

西南交答16秋《高级语言程序设计A》在线作业一

一、单选题:
1.如下程序 :                                             void main(    ){ int i,sum; for(i=1;i<=5;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是(    )          (满分:2)
    A. 死循环
    B. 3
    C. 6
    D. 15
2.若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后c3中的值是(    )          (满分:2)
    A. 0
    B. 0.5
    C. 1
    D. 2
3.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”(双引号)括起来时,寻找被包含文件的方式是(    )          (满分:2)
    A. 仅仅搜索当前目录
    B. 仅仅搜索源程序所在目录
    C. 直接按系统设定的标准搜索目录
    D. 在系统当前目录搜索和C语言系统系统指定的INCLUDE目录中搜索
4.设a是int型变量,b是float型变量,用下面的语句给这两个变量输入值scanf("a=%d,b=%f",&a,&b);为了把100和76.5分别赋给i和f,则正确的输入为:(    )          (满分:2)
    A. 10076.5
    B. a=100,b=76.5
    C. 10076.5
    D. a=100b=76.5
5.下面能正确进行字符串赋值操作的是          (满分:2)
    A. char s[5]={&quot;ABCDE&quot;};
    B. char s[5]={ &prime;A&prime;
   &prime;B&prime;
   &prime;C&prime;
   &prime;D&prime;
   &prime;E&prime;};
    C. char *s;s=&quot;ABCDE&quot;;
    D. char *s;char a; scanf(&quot;%s&quot;
    &s);
6.一个C语言程序是由          (满分:2)
    A. 一个主程序和若干子程序组成
    B. 函数组成
    C. 若干过程组成
    D. 若干子程序组成
7.下列程序的输出结果是  main(    )  { double d=3.2; int x,y;  x=1.2; y=(x+3.8)/5.0;  printf(&quot;%d\n&quot;, d*y);  }          (满分:2)
    A. 3
    B. 3.2
    C. 0
    D. 3.07
8.在16位IBM-PC机上使用C语言,若有如下定义  struct data  { int i;  char ch;  double f;  } b;  则结构变量b占用内存的字节数是          (满分:2)
    A. 1
    B. 2
    C. 7
    D. 11
9.能正确表达逻辑关系"a≥10"或"a≤0"的C语言表达式是(    )          (满分:2)
    A. a>=10ora<=0
    B. a>=0|a<=10
    C. a>=10&&a<=0
    D. a>=10(    )a<=0
10.能正确表达逻辑关系"a≥5"且"a≤10"的C语言表达式是(    )          (满分:2)
    A. a>=5ora<=10
    B. a>=5|a<=10
    C. a>=5&&a<=10
    D. a>=5(    )a<=10
11.下面哪条语句是错误的(          (满分:2)
    A. inta=0
    B. inta=b=c=1
    C. inta=0,b=0,c=0
    D. inta,b,c=1;
12.以下说法中错误的是(    )          (满分:2)
    A. a*=1;这个式子等价于a=a*1
    B. a/=b+c;这个式子和a=a/b+c等价
    C. a/=b-c;这个式子等价于a=a/(b-c)
    D. a*=b;这个式子等价于a=a*b
13.若有如下说明 int a={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的元素的表达式是(    )          (满分:2)
    A. *p+5
    B. *(p+5)
    C. *p+=5
    D. p+5
14.有以下程序:  #include  union pw  { int i;  char ch[2];}a;   main(    )   {a.ch[0]=13;a.ch[1]=0;printf(&quot;%d\n&quot;,a.i);}  程序的输出结果是          (满分:2)
    A. 13
    B. 14
    C. 208
    D. 209
15.有以下程序,程序运行的结果是(    ) #include “stdio.h” main(    ){int x=1;switch(x){    case 0: printf(“0\t”); break;   case 1: printf(“1\t”);   case 2: printf(“2\t”);   case 3: printf(“3\t”); break;    default: printf(“error”);    } }          (满分:2)
    A. 123
    B. 23
    C. 23error
    D. 2
16.有如下程序  int a[10]={1,2,3,4,5,6,7,8,9,10};  int *p=&a[3],b;b=p[5];  则b的值是          (满分:2)
    A. 5
    B. 6
    C. 9
    D. 8
17.continue语句的作用是(    )          (满分:2)
    A. 中止函数的执行
    B. 立即中止循环
    C. 中止本次循环,直接开始下一次循环
    D. 从一个循环体直接跳转至另一个循环体内
18.下面程序段的运行结果是  char *format=&quot;%s,a=%d,b=%d\n&quot;;  int a=11,b=10;  a+=b;  printf(format,&quot;a+=b&quot;,a,b);          (满分:2)
    A. for
    &quot;a+=b&quot;
    ab
    B. format
    &quot;a+=b&quot;
    C. a+=b
    a=21
    b=10
    D. 以上结果都不对
19.若有宏定义:#define PI3.14#define S(r)PI*r*r 则主函数中语句s2=S(r+3);宏替换后的结果为(    )          (满分:2)
    A. s2=PI*r+3*r+3
    B. s2=3.14*(r+3)*(r+3)
    C. s2=3.14*r+3*r+3
    D. s2=PI*r*r
20.下面用scanf语句获得从键盘输入的值,正确的语句是:(    )          (满分:2)
    A. inta;scanf(“%d”,&a)
    B. chara;scanf(“%s”,&a)
    C. inta;scanf(“%d”,a)
    D. inta;scanf(“%d”,a);
21.以下说法中错误的是(    )          (满分:2)
    A. a*=1;这个式子等价于a=a*1
    B. a/=b+c;这个式子和a=a/b+c;等价
    C. a/=b-c;这个式子等价于a=a/(b-c)
    D. a*=b;这个式子等价于a=a*b;
22.设有数组定义: char array[]=&quot;China&quot;; 则数组 array所占的空间为          (满分:2)
    A. 4个字节
    B. 5个字节
    C. 6个字节
    D. 7个字节
23.执行以下程序后,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);   }          (满分:2)
    A. -1
    5
    B. 1
    6
    C. 0
    7
    D. 4
    10
24.函数 rewind 的作用是          (满分:2)
    A. 使文件位置指针重新返回文件的开始位置
    B. 将文件位置指针指向文件中所要求的特定位置
    C. 使文件位置指针指向文件的末尾
    D. 使文件位置指针自动移至下一个字符位置
25.C语言中运算对象必须是整型的运算符是(    )          (满分:2)
    A. %
    B. /
    C. =
    D. <=
二、多选题:
1.关于宏定义的说法正确的是:          (满分:2)
    A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
    B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
    C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
    D. 宏定义不是C语句,不必在行末加分号
2.内存中供用户使用的存储空间可分为:(    )。          (满分:2)
    A. 程序区
    B. 静态存储区
    C. 动态存储区
    D. 数据存储区
3.对静态变量的正确描述          (满分:2)
    A. 静态局部变量在静态存储区内分配单元( )
    B. 静态外部变量可以赋初值,也可以不赋初值
    C. 静态外部变量的作用与外部变量相同
    D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
4.若定义:int a{0,2,4,6,8,10};以下描述正确的有          (满分:2)
    A. A、*(a+1)为元素6的地址
    B. B、*(a+1)的值为2
    C. C、**(a+1)+2的值为8
    D. D、a与a相同
5.以下(    )是正确的转义字符。(    )          (满分:2)
    A. ‘\\'
    B. ‘\’
    C. ‘\81'
    D. ‘\0'
6.不与while(x)语句中的x等价的是(    )。          (满分:2)
    A. x= =0
    B. x= =1
    C. x!=1
    D. x!=0
7.设有如下定义:int(*ptr)(    );则以下叙述中不正确的是(    )。          (满分:2)
    A. ptr是指向一维数组的指针变量
    B. ptr是指向int型数据的指针变量
    C. ptr是指向函数的指针,该函数返回一个int型数据
    D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
8.下列说法中错误的是(    )。          (满分:2)
    A. 不允许设置参数的默认值
    B. 设置参数的默认值只能在定义函数时设置
    C. 设置参数的默认值时,应该设置右边的参数
    D. 设置参数的默认值时,应该全部参数都设置
9.C语言中函数返回值的类型与下列哪项无关?          (满分:2)
    A. 定义函数时所指定的函数类型
    B. 调用函数时临时
    C. 调用该函数的主函数类型
    D. return语句中的表达式类型
10.函数调用可以(    )。          (满分:2)
    A. 出现在一个表达式中
    B. 出现在执行语句中
    C. 作为一个函数的实参
    D. 作为一个函数的形参
11.在C语言中,正确的int类型的常数是:(    )。          (满分:2)
    A. 0
    B. 32768
    C. 037
    D. 0xaf
12.以下不正确的叙述是(    )。          (满分:2)
    A. C语言的主函数是无参函数
    B. C语言的主函数最多允许有1个参数
    C. C语言的主函数最多允许有2个参数
    D. C语言的主函数可以有2个以上参数
13.带参宏定义与函数的区别是:(    )。          (满分:2)
    A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
    B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
    C. 宏不存在类型问题,宏名和参数都不存在类型问题
    D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
14.在文件操作中,用于检测和设置文件状态的函数有(    )。          (满分:2)
    A. 文件结束检测函数feof(    )
    B. 读写文件出错检测函数ferror(    )
    C. 文件出错和结束标志文件函数才clearerr(    )
    D. 文件关闭函数fclose(    )
15.以下正确的C语言标识符是(    )。          (满分:2)
    A. ABC
    B. abc
    C. abc
    D. ab.c
三、判断题:
1.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。          (满分:2)
    A. 错误
    B. 正确
2.puts和gets函数只能输入或输出一个字符串          (满分:2)
    A. 错误
    B. 正确
3.C程序的执行总是从第一个定义的函数开始          (满分:2)
    A. 错误
    B. 正确
4.switch语句中,多个case可以共用一组执行语句。(    )          (满分:2)
    A. 错误
    B. 正确
5.C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。(    )          (满分:2)
    A. 错误
    B. 正确
6.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。          (满分:2)
    A. 错误
    B. 正确
7.switch语句中,各个case和default的出现次序不影响执行结果。(    )          (满分:2)
    A. 错误
    B. 正确
8.一个int型与一个double型数据进行混合运算时,其结果是double型。          (满分:2)
    A. 错误
    B. 正确
9.‘ a’和“a”在内存中所占字节数相同。(    )          (满分:2)
    A. 错误
    B. 正确
10.语句int pt中的*pt是指针变量名。          (满分:2)
    A. 错误
    B. 正确
西南交《高级语言程序设计A》在线作业二

一、单选题:
1.若有如下说明 char a={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’},*p=a; 则输出表达式*(p+8),即printf("%c\n",*(p+8));得到(    )          (满分:2)
    A. g
    B. h
    C. i
    D. j
2.C语言中,能识别处理的文件为          (满分:2)
    A. 文本文件和数据块文件
    B. 文本文件和二进制文件
    C. 流文件和文本文件
    D. 数据文件和二进制文件
3.以下正确的C标识符是(    )          (满分:2)
    A. 0XH
    B. 80
    C. main
    D. #A$
4.下列程序的输出结果是  int b=2;  int func(int *a)  { b += *a; return(b);}  main(    )  { int a=2, res=2;  res += func(&a);  printf(&quot;%d\n&quot;,res);  }          (满分:2)
    A. 4
    B. 6
    C. 8
    D. 10
5.以下叙述中不正确的是          (满分:2)
    A. 在不同的函数中可以使用相同的名字的变量
    B. 函数中的形式参数是局部变量
    C. 在一个函数内定义的变量只在本函数范围内有效
    D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
6.C语言开始执行程序的开始执行点是(    )          (满分:2)
    A. 程序中第一条可执行的语句
    B. 程序中第一个函数
    C. 程序中的main(    )函数
    D. 包含文件中的第一个函数
7.下列各数据类型不属于构造类型的是          (满分:2)
    A. 枚举型
    B. 共用型
    C. 结构型
    D. 数组型
8.以下说法中错误的是(    )          (满分:2)
    A. a*=1;这个式子等价于a=a*1
    B. a/=b+c;这个式子和a=a/b+c;等价
    C. a/=b-c;这个式子等价于a=a/(b-c)
    D. a*=b;这个式子等价于a=a*b;
9.若k为整形,则while循环执行(    )次。k=2;while(k==0)printf(“%d”,k);   k--;printf(“\n”);          (满分:2)
    A. 10
    B. 9
    C. 0
    D. 1
10.在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是          (满分:2)
    A. a=20000+20000;
    B. a=4000*10;
    C. a=30000+10000;
    D. a=4000L*10L
11.若有定义:inta,*p=a;,则p+5表示(    )          (满分:2)
    A. 元素a的地址
    B. 元素a的值
    C. 元素a的地址
    D. 元素a的值
12.C语言允许函数类型缺省定义,此时函数值隐含的类型是          (满分:2)
    A. float
    B. int
    C. long
    D. double
13.函数 rewind 的作用是          (满分:2)
    A. 使文件位置指针重新返回文件的开始位置
    B. 将文件位置指针指向文件中所要求的特定位置
    C. 使文件位置指针指向文件的末尾
    D. 使文件位置指针自动移至下一个字符位置
14.执行以下程序后,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);   }          (满分:2)
    A. -1
    5
    B. 1
    6
    C. 0
    7
    D. 4
    10
15.以下不正确的定义语句是          (满分:2)
    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′};
16.下列程序段的输出结果是(    )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); }          (满分:2)
    A. 1212
    B. 2143
    C. 1234
    D. 2112
17.设有以下说明语句  struct ex  { int x ; float y; char z ;} example;  则下面的叙述中不正确的是          (满分:2)
    A. struct结构体类型的关键字
    B. example是结构体类型名
    C. x
    y
    z都是结构体成员名
    D. struct ex是结构体类型名
18.设有int x=11;则表达式(x++*1/3)的值是          (满分:2)
    A. 3
    B. 4
    C. 11
    D. 12
19.若有如下说明 int a={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的元素的表达式是(    )          (满分:2)
    A. *p+5
    B. *(p+5)
    C. *p+=5
    D. p+5
20.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”(双引号)括起来时,寻找被包含文件的方式是(    )          (满分:2)
    A. 仅仅搜索当前目录
    B. 仅仅搜索源程序所在目录
    C. 直接按系统设定的标准搜索目录
    D. 在系统当前目录搜索和C语言系统系统指定的INCLUDE目录中搜索
21.请选出以下语句的输出结果  printf(&quot;%d\n&quot;,strlen(&quot;\t\&quot;\065\xff\n&quot;));          (满分:2)
    A. 5
    B. 14
    C. 8
    D. 输出项不合法,无正常输出
22.一个C语言程序是由          (满分:2)
    A. 一个主程序和若干子程序组成
    B. 函数组成
    C. 若干过程组成
    D. 若干子程序组成
23.有以下程序:  #include  union pw  { int i;  char ch[2];}a;   main(    )   {a.ch[0]=13;a.ch[1]=0;printf(&quot;%d\n&quot;,a.i);}  程序的输出结果是          (满分:2)
    A. 13
    B. 14
    C. 208
    D. 209
24.C语言中运算对象必须是整型的运算符是(    )          (满分:2)
    A. %
    B. /
    C. =
    D. <=
25.下面语句的运行结果为(    )                                                                                                                         #include “stdio.h”#include “string.h”void main(    ) { char str1={“how”}; char str2={“good”}; strcpy(str1,st          (满分:2)
    A. g
    B. how
    C. howgood
    D. good
二、多选题:
1.下列关于#include命令的叙述中,正确的是(    )。          (满分:2)
    A. 一个#include命令中只能指定一个被包含文件
    B. 一个#include命令中可以指定多个被包含文件
    C. 一个被包含文件中又可以包含另一个被包含文件
    D. #include命令中,文件名可以用双引号或尖括号括起来
2.以下叙述中正确的是(    )。          (满分:2)
    A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
    B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
    C. 可以通过赋初值的方式确定数组元素的个数
    D. 数组名代表的是数组所占存储区的首地址,其值不可改变
3.在缓冲文件系统中用于读写的函数有          (满分:2)
    A. putchar(    )
    B. fread(    )
    C. rewind(    )
    D. putw(    )
4.关于宏定义的说法正确的是:          (满分:2)
    A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
    B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
    C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
    D. 宏定义不是C语句,不必在行末加分号
5.关于文件的打开方式描述正确的是:(    )。          (满分:2)
    A. r:打开只读文件
    B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
    C. a:打开或建立一个把数据追加到文件尾的文件
    D. r+:打开用于更新数据的文件
6.C提供的预处理功能主要有(    )。          (满分:2)
    A. 宏定义
    B. 文件包含
    C. 条件编译
    D. 异常终止
7.关于静态局部变量的说明正确的是(    )。          (满分:2)
    A. 静态局部变量存储在静态存储区
    B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
    C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
    D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
8.在动态存储区中主要存放以下数据(    )。          (满分:2)
    A. 函数形式参数
    B. 自动变量
    C. 函数调用时的现场保护和返回地址
    D. 全局变量
9.以下对一维数组a进行初始化,错误的语句是(    )。          (满分:2)
    A. int a=(0
    0
    0
    0
    0);
    B. int a={};
    C. int a={0};
    D. int a={10
    9
    8}
10.以下正确的C语言标识符是(    )。          (满分:2)
    A. ABC
    B. abc
    C. abc
    D. ab.c
11.C语言中函数返回值的类型与下列哪项无关?          (满分:2)
    A. 定义函数时所指定的函数类型
    B. 调用函数时临时
    C. 调用该函数的主函数类型
    D. return语句中的表达式类型
12.以下说法不正确的是(    )。          (满分:2)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后边的值不能为表达式
    C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
    D. 如果形参与实参的类型不一致,以实参类型为准
13.不与while(x)语句中的x等价的是(    )。          (满分:2)
    A. x= =0
    B. x= =1
    C. x!=1
    D. x!=0
14.对静态变量的正确描述          (满分:2)
    A. 静态局部变量在静态存储区内分配单元( )
    B. 静态外部变量可以赋初值,也可以不赋初值
    C. 静态外部变量的作用与外部变量相同
    D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
15.以下不正确的叙述是(    )。          (满分:2)
    A. C语言的主函数是无参函数
    B. C语言的主函数最多允许有1个参数
    C. C语言的主函数最多允许有2个参数
    D. C语言的主函数可以有2个以上参数
三、判断题:
1.函数必须有返回值,否则不能使用函数          (满分:2)
    A. 错误
    B. 正确
2.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。          (满分:2)
    A. 错误
    B. 正确
3.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。(    )          (满分:2)
    A. 错误
    B. 正确
4.宏名必须用大写字母表示。          (满分:2)
    A. 错误
    B. 正确
5.‘ a’和“a”在内存中所占字节数相同。(    )          (满分:2)
    A. 错误
    B. 正确
6.宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。          (满分:2)
    A. 错误
    B. 正确
7.一个int型与一个double型数据进行混合运算时,其结果是double型。          (满分:2)
    A. 错误
    B. 正确
8.主函数和其它函数可以相互调用          (满分:2)
    A. 错误
    B. 正确
9.共用体所占的内存空间大小取决于占空间最多的那个成员变量。          (满分:2)
    A. 错误
    B. 正确
10.使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”(    )          (满分:2)
    A. 错误
    B. 正确
回复贴子下载答案

**** Hidden Message *****
页: [1]
查看完整版本: 西南交答16秋《高级语言程序设计A》在线作业一二答案