黄老师 发表于 2014-4-18 08:26:37

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

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

试卷总分:100   测试时间:--
一、单选题(共20道试题,共100分。)
1.设x,y是float型变量,则不正确的赋值语句是( )。
A. ++x;
B. y=int(5);
C. x*=y+1;
D. x=y=0;
满分:5分
2.一个C语言程序总是从( )。
A. 主过程开始执行
B. 主函数开始执行
C. 子程序开始执行
D. 主程序开始执行
满分:5分
3.以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。
A. int x=y=z=5;
B. int x,y,z=5;
C. int x=5,y=5,z=5;
D. x=5,y=5,z=5;"
满分:5分
4.若二维数组a有m列,则计算任一元素a在数组中位置的公式为( )。(假设a位于数组的第1个位置上)
A. i*m+j
B. j*m+i
C. i*m+j-1
D. i*m+j+1
满分:5分
5.系统的标准输入文件是指( )。
A. 键盘
B. 显示器
C. 软盘
D. 硬盘
满分:5分
6.若有说明:int a;则数组a中各元素( )。
A. 可在程序的运行阶段得到初值0
B. 可在程序的编译阶段得到初值0
C. 不能得到确定的初值
D. 可在程序的编译或运行阶段得到初值0
满分:5分
7.已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。 struct student { int num; char name; struct { float math; float engl; float computer; } mark;} std;
A. student.computer=84;
B. mark.computer=84;
C. std.mark.computer=84;
D. std.computer=84;
满分:5分
8.以下正确的描述是( )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
满分:5分
9.以下为一维整型数组a的正确说明是( )。
A. int a(10);
B. int n=10,a;
C. int n; scanf("%d",&n); int a;
D. #define SIZE 10;int a;
满分:5分
10.下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}
A. **0**
B. **0****2**
C. **0****1****2**
D. 有语法错误
满分:5分
11.在C语言中,错误的int类型的常数是( )。
A. 32768
B. 0
C. 37
D. 0xAF
满分:5分
12.若有定义:int a;,则以下对a数组元素地址的正确表示为( )。
A. *(a+1)
B. *(a+2)
C. a+3
D. a
满分:5分
13.若二维数组a有m列,则计算任一元素a在数组中位置的公式为( )。(假设a位于数组的第一个位置上。)
A. i*m+j
B. j*m+i
C. i*m+j-1
D. i*m+j+1
满分:5分
14.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是( )。
A. float
B. int
C. long
D. double
满分:5分
15.以下正确的定义语句是( )。
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};
满分:5分
16.C语言的编译系统对宏命令的处理是( )。
A. 在对源程序中其它成分正式编译之前进行的
B. 和C程序中的其它语句同时进行的
C. 在程序连接时进行的
D. 在程序运行时进行的
满分:5分
17.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A. -1
B. 随机值
C. 0
D. 1
满分:5分
18.在C语言中,一维数组的定义方式为:类型说明符 数组名( )。
A. [常量表达式]
B. [整型表达式]
C. [整型常量或整型表达式]
D. [整型常量]
满分:5分
19.函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
A. 移动到距离文件头10个字节处
B. 从当前位置向后移动10个字节
C. 从文件尾部前移10个字节
D. 移到离当前位置10个字节处
满分:5分
20.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A. scanf("c1=%cc2=%c",&c1,&c2);
B. getchar( )
C. putchar(c2);
D. putchar(c1,c2)"
14春学期《高级语言程序设计基础》在线作业2

试卷总分:100   测试时间:--
一、单选题(共20道试题,共100分。)
1.若有说明:int a[]={0,0};则下面不正确的叙述是( )。
A. 数组a中的每个元素都可得到初值0
B. 二维数组a的第1维大小为1
C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D. 只有数组元素a和a可得到初值0,其余元素均得不到初值0
满分:5分
2.系统的标准输入文件是指( )。
A. 键盘
B. 显示器
C. 软盘
D. 硬盘
满分:5分
3.设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);
A. 1234123121<回车>
B. 1234123412341234<回车>
C. 1234+1234+1234+1234<回车>
D. 1234+123+12+1<回车>
满分:5分
4.以下能对一维数组a进行正确初始化的语句是( )。
A. int a=(0,0,0,0,0);
B. int a={ };
C. int a[]={0};
D. int a={10*1};
满分:5分
5.若有以下说明,并且0≤i<10,则( )是对数组元素的错误引用。int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a, I;
A. *(a+i)
B. a
C. p+i
D. *(&a)
满分:5分
6.以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}
A. 2
B. 3
C. 6
D. 出错
满分:5分
7.若有定义:int i, x;,则不能将x的值赋给变量i的语句是( )。
A. i=x
B. i=*(*(x+1))
C. i=*(*(x+1)+1)
D. i=*(x+1)
满分:5分
8.若二维数组a有m列,则在a前的元素个数为( )。
A. j*m+i
B. i*m+j
C. i*m+j-1
D. i*m+j+1
满分:5分
9.以下正确的函数说明是( )。
A. int fun(int a, b)
B. float fun(int a; int b)
C. double fun( )
D. int fun(char a[ ][ ])
满分:5分
10.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
A. 该变量只在该复合语句中有效
B. 该变量在该函数中有效
C. 该变量在本程序范围内有效
D. 该变量为非法变量
满分:5分
11.以下程序的输出结果是( )。 main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf("d=%d\n",d);}
A. d=10
B. d=15
C. d=20
D. d=25
满分:5分
12.在一个源文件中定义的全局变量的作用域为( )。
A. 本文件的全部范围
B. 本程序的全部范围
C. 本函数的全部范围
D. 从定义该变量的位置开始至本文件结束
满分:5分
13.以下程序段的执行结果是( )。    int x=-3;     do      { printf("%d\n", x++);     }while(!x);
A. -3
B. -2
C. -1
D. 陷入死循环
满分:5分
14.若调用fputc函数输出字符成功,则函数的返回值是( )。
A. 输出的字符
B. -1
C. 0
D. EOF
满分:5分
15.下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}
A. **0**
B. **0****2**
C. **0****1****2**
D. 有语法错误
满分:5分
16.对以下说明语句的正确理解是( )。 int a={6,7,8,9,10};
A. 将5个初值依次赋给a至a
B. 将5个初值依次赋给a至a
C. 将5个初值依次赋给a至a
D. 因为数组与初值的个数不相同,所以此语句不正确
满分:5分
17.以下程序执行后a的值为( )。  main( )   { int a,m=2, k=1, *p=&k;    a=p!=&m;    printf("%d\n",a);  }
A. -1
B. 0
C. 1
D. 2
满分:5分
18.设x,y是float型变量,则不正确的赋值语句是( )。
A. ++x;
B. y=int(5);
C. x*=y+1;
D. x=y=0;
满分:5分
19.在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
满分:5分
20.设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是( )。
A. p++;
B. a--;
C. b++;
D. c--;
14春学期《高级语言程序设计基础》在线作业3

试卷总分:100   测试时间:--
一、单选题(共20道试题,共100分。)
1.若执行fopen函数时发生错误,则函数的返回值是( )。
A. 随机值
B. 1
C. NULL
D. EOF
满分:5分
2.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。    for (y=100; x!=y; ++x,y++)      printf("****\n");
A. 循环体只执行一次
B. 是无限循环
C. 循环体一次都不执行
D. for语句中存在语法错误
满分:5分
3.下面程序的运行结果是( )。 void prt(int *a) { printf(“%d\n”,++*a); } main() { int b=25; prt(&b);}
A. 24
B. 25
C. 26
D. 27
满分:5分
4.执行以下程序后,m的值是( )。  #define MIN(x, y) (x)<(y)(x) : (y)   main( )   { int i=12, j=8, m;    m=10*MIN(i, j);    printf("%d\n", m);  }
A. 120
B. 80
C. 12
D. 8
满分:5分
5.若二维数组a有m列,则计算任一元素a在数组中位置的公式为( )。(假设a位于数组的第一个位置上。)
A. i*m+j
B. j*m+i
C. i*m+j-1
D. i*m+j+1
满分:5分
6.若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。
A. *pc代表的是字符串"aaa
B. *pc代表的是字符'a'
C. pc代表的是字符串"aaa"
D. pc代表的是字符'a'
满分:5分
7.若执行fopen函数时发生错误,则函数的返回值是( )。
A. 随机值
B. 1
C. NULL
D. EOF
满分:5分
8.语句while (!y)中的表达式 !y 等价于( )。
A. y==0
B. y!=1
C. y!=0
D. y==1
满分:5分
9.以下程序段的运行结果是( )。 char a[ ]="program", *p; p=a; while (*p!='g')   { printf("%c", *p-32); p++; }
A. PROgram
B. PROGRAM
C. PRO
D. proGRAM
满分:5分
10.以下正确的函数形式是( )。
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; }"
满分:5分
11.若有定义:int i, x;,则不能将x的值赋给变量i的语句是( )。
A. i=x
B. i=*(*(x+1))
C. i=*(*(x+1)+1)
D. i=*(x+1)
满分:5分
12.有字符数组a和b,则正确的输出语句是( )。
A. puts(a.b);
B. printf("%s,%s",a[],b[]);
C. pitchar(a,b);
D. puts(a); puts(b);
满分:5分
13.下面程序段的运行结果是( )。 char str="output";printf("\"%s\"\n", str);
A. output
B. "output"
C. \"output\"
D. 编译出错
满分:5分
14.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
A. num%2==1
B. !(num%2==0)
C. !(num%2)
D. num%2
满分:5分
15.若二维数组a有m列,则在a前的元素个数为( )。
A. j*m+i
B. i*m+j
C. i*m+j-1
D. i*m+j+1
满分:5分
16.下面程序的输出结果是( )。 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); }}
A. 39 81
B. 42 84
C. 26 68
D. 28 70
满分:5分
17.系统的标准输入文件是指( )。
A. 键盘
B. 显示器
C. 软盘
D. 硬盘
满分:5分
18.下面程序的运行结果是( )。 main( ) { int b={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *q=b; printf("%d\n", *(q+2) );}
A. 1
B. 2
C. 3
D. 4
满分:5分
19.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( )。if(x>y)z=x;x=y;y=z;
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"
满分:5分
20.以下有关宏替换的叙述不正确的是( )。
A. 宏名不具有类型
B. 宏名必须用大写字母表示
C. 宏替换只是字符替换
D. 宏替换不占用运行时间
满分:5分

页: [1]
查看完整版本: 东北大学14春《高级语言程序设计基础》在线作业答案