网院作业 发表于 2017-5-15 09:37:30

东北大学17春学期《高级语言程序设计》在线作业答案

东北大学17春学期《高级语言程序设计》在线作业1

一、单选题:
1.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是(    )。          (满分:5)
    A. 该变量只在该复合语句中有效
    B. 该变量在该函数中有效
    C. 该变量在本程序范围内有效
    D. 该变量为非法变量
2.若有说明:int a;则对数组元素的正确引用是(    )。          (满分:5)
    A. a
    B. a
    C. a(5)
    D. a
3.以下正确的描述是(    )。          (满分:5)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后面的值不能为表达式
    C. 如果函数值的类型与返回值类型不一致,以函数值类型为准
    D. 如果实参与形参的类型不一致,以实参类型为准
4.执行以下程序段后,y的值是(    )。int a[ ]={1, 3, 5, 7, 9}int x=0, y=1, *ptr;ptr=&a;while(!x) { y+=*(ptr+x); x++; }          (满分:5)
    A. 1
    B. 2
    C. 4
    D. 24
5.以下正确的函数形式是(    )。          (满分:5)
    A. double fun1(int x, int y)  { z=x+y; return z; }
    B. fun1(int x, y){ int z;return z; }
    C. fun1(x, y) { int x, y; double z;z=x+y;return z; }
    D. double fun1(int x, int y){ double z;z=x+y; return z; }"
6.以下正确的说法是(    )。          (满分:5)
    A. 实参和与其对应的形参各占用独立的存储单元
    B. 实参和与其对应的形参共占用一个存储单元
    C. 只有当实参和与其对应的形参同名时才共用存储单元
    D. 形参是虚拟的,不占用存储单元
7.以下程序段的执行结果是(    )。    int x=-3;    do     { printf("%d\n", x++);     }while(!x);          (满分:5)
    A. -3
    B. -2
    C. -1
    D. 陷入死循环
8.下面程序段的运行结果是(    )。char str="output";printf("\"%s\"\n", str);          (满分:5)
    A. output
    B. "output"
    C. \"output\"
    D. 编译出错
9.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是(    )。    for(y=100; x!=y; ++x,y++)      printf("****\n");          (满分:5)
    A. 循环体只执行一次
    B. 是无限循环
    C. 循环体一次都不执行
    D. for语句中存在语法错误
10.当定义一个结构体变量时系统分配给它的内存是(    )。          (满分:5)
    A. 结构中第一个成员所需的内存量
    B. 结构中最后一个成员所需的内存量
    C. 结构体成员中占内存量最大者所需的容量
    D. 结构体中各成员所需内存量的总和
11.以下能对一维数组a进行正确初始化的语句是(    )。          (满分:5)
    A. int a=(0,0,0,0,0);
    B. int a={ };
    C. int a[]={0};
    D. int a={10*1};
12.有两个字符数组a、b,则以下正确的输入语句是(    )。          (满分:5)
    A. gets(a,b);
    B. scanf("%s%s",a,b);
    C. scanf("%s%s",&a,&b);
    D. gets("a"); gets("b");"
13.若有说明:int a={0};则下面正确的叙述是(    )。          (满分:5)
    A. 只有数组元素a可得到初值0
    B. 此说明语句不正确
    C. 数组a中各元素都可得到初值,但其值不一定为0
    D. 数组a中每个元素均可得到初值0
14.下面程序的运行结果是(    )。 char a="abcdef"; char b="ABC"; strcpy(a,b); printf("%c",a);          (满分:5)
    A. 输出空格
    B. \0
    C. e
    D. f
15.设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是(    )。          (满分:5)
    A. p++;
    B. a--;
    C. b++;
    D. c--;
16.若有说明:int a;则对a数组元素的正确引用是(    )。          (满分:5)
    A. a
    B. a
    C. a
    D. a(2)(1)
17.若有说明:int a;则数组a中各元素(    )。          (满分:5)
    A. 可在程序的运行阶段得到初值0
    B. 可在程序的编译阶段得到初值0
    C. 不能得到确定的初值
    D. 可在程序的编译或运行阶段得到初值0
18.若有说明:int a;则数组a中各元素(    )。          (满分:5)
    A. 可在程序的运行阶段得到初值0
    B. 可在程序的编译阶段得到初值0
    C. 不能得到确定的初值
    D. 可在程序的编译或运行阶段得到初值0
19.若有定义:int i, x;,则不能将x的值赋给变量i的语句是(    )。          (满分:5)
    A. i=x
    B. i=*(*(x+1))
    C. i=*(*(x+1)+1)
    D. i=*(x+1)
20.系统的标准输入文件是指(    )。          (满分:5)
    A. 键盘
    B. 显示器
    C. 软盘
    D. 硬盘
17春学期《高级语言程序设计》在线作业2

一、单选题:
1.以下正确的函数形式是(    )。          (满分:5)
    A. double fun1(int x, int y)  { z=x+y; return z; }
    B. fun1(int x, y){ int z;return z; }
    C. fun1(x, y) { int x, y; double z;z=x+y;return z; }
    D. double fun1(int x, int y){ double z;z=x+y; return z; }"
2.以下能对二维数组a进行正确初始化的语句是(    )。          (满分:5)
    A. int a[]={{1,0,1},{5,2,3}};
    B. int a[]={{1,2,3},{4,5,6}};
    C. int a={{1,2,3},{4,5},{6}};
    D. int a[]={{1,0,1},{},{1,1}};"
3.语句while(!y)中的表达式 !y 等价于(    )。          (满分:5)
    A. y==0
    B. y!=1
    C. y!=0
    D. y==1
4.若调用fputc函数输出字符成功,则函数的返回值是(    )。          (满分:5)
    A. 输出的字符
    B. -1
    C. 0
    D. EOF
5.设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是(    )。scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);          (满分:5)
    A. 1234123121
    B. 1234123412341234
    C. 1234+1234+1234+1234
    D. 1234+123+12+1
6.若有说明:int a;则数组a中各元素(    )。          (满分:5)
    A. 可在程序的运行阶段得到初值0
    B. 可在程序的编译阶段得到初值0
    C. 不能得到确定的初值
    D. 可在程序的编译或运行阶段得到初值0
7.以下正确的函数说明是(    )。          (满分:5)
    A. int fun(int a, b)
    B. float fun(int a; int b)
    C. double fun(    )
    D. int fun(char a[ ][ ])
8.以下正确的说法是(    )。          (满分:5)
    A. 实参和与其对应的形参各占用独立的存储单元
    B. 实参和与其对应的形参共占用一个存储单元
    C. 只有当实参和与其对应的形参同名时才共用存储单元
    D. 形参是虚拟的,不占用存储单元
9.对以下说明语句的正确理解是(    )。 int a={6,7,8,9,10};          (满分:5)
    A. 将5个初值依次赋给a至a
    B. 将5个初值依次赋给a至a
    C. 将5个初值依次赋给a至a
    D. 因为数组与初值的个数不相同,所以此语句不正确
10.下面程序(    )。(每行程序前的数字为行号) 1 main{} 2 { 3 float a={0.0}; 4 int i; 5 for(i=0;i<3;i++) scanf(%d",&a); 6 for(i=1;i<10;i++) a=a+a; 7 printf("%f\n",a); 8 }          (满分:5)
    A. 没有错误
    B. 第3行有错误
    C. 第5行有错误
    D. 第7行有错误
11.C语言程序从main(    )函数开始执行,所以这个函数要写在(    )。          (满分:5)
    A. 程序文件的开始
    B. 程序文件的最后
    C. 它所调用的函数的前面
    D. 程序文件的任何位置
12.下面程序段的输出结果是(    )。int a=023;printf("%d\n",--a);          (满分:5)
    A. 23
    B. 17
    C. 18
    D. 24
13.若二维数组a有m列,则在a前的元素个数为(    )。          (满分:5)
    A. j*m+i
    B. i*m+j
    C. i*m+j-1
    D. i*m+j+1
14.若调用fputc函数输出字符成功,则函数的返回值是(    )。          (满分:5)
    A. 输出的字符
    B. -1
    C. 0
    D. EOF
15.若有说明:int a[]={1,2,3,4,5,6,7};则数组a第一维的大小是(    )。          (满分:5)
    A. 2
    B. 3
    C. 4
    D. 无确定值
16.以下对二维数组a的正确说明是(    )。          (满分:5)
    A. int a[];
    B. float a(3,4);
    C. double a
    D. float a(3)(4);
17.函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针(    )。          (满分:5)
    A. 移动到距离文件头10个字节处
    B. 从当前位置向后移动10个字节
    C. 从文件尾部前移10个字节
    D. 移到离当前位置10个字节处
18.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是(    )。if(x>y)z=x;x=y;y=z;          (满分:5)
    A. x=10,y=20,z=30
    B. x=20,y=30,z=30
    C. x=20,y=30,z=10
    D. x=20,y=30,z=20"
19.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(    )。          (满分:5)
    A. num%2==1
    B. !(num%2==0)
    C. !(num%2)
    D. num%2
20.函数rewind(fp)的作用是:使文件位置指针(    )。          (满分:5)
    A. 重新返回文件的开头
    B. 返回到前一个字符的位置
    C. 指向文件的末尾
    D. 自动移至下一个字符的位置
17春学期《高级语言程序设计》在线作业3

一、单选题:
1.以下正确的定义语句是(    )。          (满分:5)
    A. int a={1,2,3,4,5};
    B. float x[]={{1},{2},{3}};
    C. long b={{1},{1,2},{1,2,3}};
    D. double y[]={0};
2.以下判断正确的是(    )。          (满分:5)
    A. char *s="string"; 等价于char *s; *s="string";
    B. char str={"string"}; 等价于char str; str={"string"};
    C. char *s="string"; 等价于char *s; s="string";
    D. char str={"string"}; 等价于char str; *str={"strint"};"
3.下列程序的输出结果是(    )。#includevoid fun(    );void main(    ){int x=1;if(x= =1){ int x=2; printf(“%d”,++x);} void fun(    ){ printf(“%d”,x++);}          (满分:5)
    A. 2,1,1
    B. 1,2,1
    C. 2,2,2
    D. 2,2,1"
4.以下正确的说法是(    )。          (满分:5)
    A. 实参和与其对应的形参各占用独立的存储单元
    B. 实参和与其对应的形参共占用一个存储单元
    C. 只有当实参和与其对应的形参同名时才共用存储单元
    D. 形参是虚拟的,不占用存储单元
5.设ch是char类型变量,其值是A,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是(    )。          (满分:5)
    A. Z
    B. A
    C. a
    D. z
6.在C语言中,一维数组的定义方式为:类型说明符 数组名(    )。          (满分:5)
    A. [常量表达式]
    B. [整型表达式]
    C. [整型常量或整型表达式]
    D. [整型常量]
7.当正常执行了文件关闭操作时,fclose函数的返回值是(    )。          (满分:5)
    A. -1
    B. 随机值
    C. 0
    D. 1
8.执行以下程序段后,y的值是(    )。int a[ ]={1, 3, 5, 7, 9}int x=0, y=1, *ptr;ptr=&a;while(!x) { y+=*(ptr+x); x++; }          (满分:5)
    A. 1
    B. 2
    C. 4
    D. 24
9.若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是(    )。          (满分:5)
    A. a, p, &*a
    B. *&a, &a, *p
    C. &a, p, &*p
    D. *&p, *p, &a"
10.系统的标准输入文件是指(    )。          (满分:5)
    A. 键盘
    B. 显示器
    C. 软盘
    D. 硬盘
11.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是(    )。    for(y=100; x!=y; ++x,y++)      printf("****\n");          (满分:5)
    A. 循环体只执行一次
    B. 是无限循环
    C. 循环体一次都不执行
    D. for语句中存在语法错误
12.已知ch是字符型变量,则不正确的赋值语句是(    )。          (满分:5)
    A. ch=5+9;
    B. ch='\0';
    C. ch='7'+'9';
    D. ch='a+b';
13.以下为一维整型数组a的正确说明是(    )。          (满分:5)
    A. int a(10);
    B. int n=10,a;
    C. int n; scanf("%d",&n); int a;
    D. #define SIZE 10;int a;
14.设x,y是float型变量,则不正确的赋值语句是(    )。          (满分:5)
    A. ++x;
    B. y=int(5);
    C. x*=y+1;
    D. x=y=0;
15.下面程序的输出结果是(    )。main(    ){ int x,i;for(i=1;i<=100;i++){ x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d ",x);}}          (满分:5)
    A. 39 81
    B. 42 84
    C. 26 68
    D. 28 70
16.对以下说明语句的正确理解是(    )。 int a={6,7,8,9,10};          (满分:5)
    A. 将5个初值依次赋给a至a
    B. 将5个初值依次赋给a至a
    C. 将5个初值依次赋给a至a
    D. 因为数组与初值的个数不相同,所以此语句不正确
17.设c1、c2均是char类型变量,则以下不正确的函数调用是(    )。          (满分:5)
    A. scanf("c1=%cc2=%c",&c1,&c2);
    B. getchar(    )
    C. putchar(c2);
    D. putchar(c1,c2)"
18.下面程序段的运行结果是(    )。char str="output";printf("\"%s\"\n", str);          (满分:5)
    A. output
    B. "output"
    C. \"output\"
    D. 编译出错
19.若有以下程序段:  for(m=1; m<=100; m++)   { scanf("%d", &y);   if(y<0)   continue;   printf("%3d", m);   }正确的描述是(    )。          (满分:5)
    A. 当y<0时整个循环结束
    B. y>=0时什么也不输出
    C. printf函数永远也不执行
    D. 最多允许输出100个非负整数
20.下面程序(    )。(每行程序前的数字为行号) 1 main{} 2 { 3 float a={0.0}; 4 int i; 5 for(i=0;i<3;i++) scanf(%d",&a); 6 for(i=1;i<10;i++) a=a+a; 7 printf("%f\n",a); 8 }          (满分:5)
    A. 没有错误
    B. 第3行有错误
    C. 第5行有错误
    D. 第7行有错误

妍之小筑 发表于 2017-5-15 16:00:15

17春刚出来就有作业答案了,回复下载,感谢
页: [1]
查看完整版本: 东北大学17春学期《高级语言程序设计》在线作业答案