东北大学15秋《高级语言程序设计基础》在线作业答案
东北大学15秋《高级语言程序设计基础》在线作业1试卷总分:100 测试时间:--
一、单选题(共20道试题,共100分。)
1.以下为一维整型数组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分
2.下面程序的运行结果是( )。 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分
3.若有以下程序段: for (m=1; m<=100; m++) { scanf("%d", &y); if (y<0) continue; printf("%3d", m); }正确的描述是( )。
A. 当y<0时整个循环结束
B. y>=0时什么也不输出
C. printf函数永远也不执行
D. 最多允许输出100个非负整数
满分:5分
4.若有说明:int a;则对a数组元素的正确引用是( )。
A. a
B. a
C. a
D. a(2)(1)
满分:5分
5.若二维数组a有m列,则计算任一元素a在数组中位置的公式为( )。(假设a位于数组的第1个位置上)
A. i*m+j
B. j*m+i
C. i*m+j-1
D. i*m+j+1
满分:5分
6.若a和b均为int型变量,则执行以下程序断后x的输出是( )。 x=15;y=15;printf("%d\n",x%=(y%=2));
A. 0
B. 1
C. 6
D. 12
满分:5分
7.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf("****\n");
A. 循环体只执行一次
B. 是无限循环
C. 循环体一次都不执行
D. for语句中存在语法错误
满分:5分
8.C语言的编译系统对宏命令的处理是( )。
A. 在对源程序中其它成分正式编译之前进行的
B. 和C程序中的其它语句同时进行的
C. 在程序连接时进行的
D. 在程序运行时进行的
满分:5分
9.在C语言中,一维数组的定义方式为:类型说明符 数组名( )。
A. [常量表达式]
B. [整型表达式]
C. [整型常量或整型表达式]
D. [整型常量]
满分:5分
10.若调用fputc函数输出字符成功,则函数的返回值是( )。
A. 输出的字符
B. -1
C. 0
D. EOF
满分:5分
11.在一个源文件中定义的全局变量的作用域为( )。
A. 本文件的全部范围
B. 本程序的全部范围
C. 本函数的全部范围
D. 从定义该变量的位置开始至本文件结束
满分:5分
12.以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。
A. #define MUL(x,y) x*y
B. #define MUL(x,y) (x)*(y)
C. #define MUL(x,y) (x*y)
D. #define MUL(x,y) ((x)*(y))"
满分:5分
13.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A. -1
B. 随机值
C. 0
D. 1
满分:5分
14.在C语言中,错误的int类型的常数是( )。
A. 32768
B. 0
C. 37
D. 0xAF
满分:5分
15.若有说明:int a;则数组a中各元素( )。
A. 可在程序的运行阶段得到初值0
B. 可在程序的编译阶段得到初值0
C. 不能得到确定的初值
D. 可在程序的编译或运行阶段得到初值0
满分:5分
16.若使用一维数组名作函数实参,则以下正确的说法是( )。
A. 必须在主调函数中说明此数组的大小
B. 实参数组类型与形参数组类型可以不匹配
C. 在被调函数中,不需要考虑形参数组的大小
D. 实参数组名与形参数组名必须一致
满分:5分
17.下面程序的输出结果为( )。 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分
18.若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
A. "wb+
B. "r+"
C. "rb+"
D. "ab+""
满分:5分
19.下面程序的运行结果是( )。 void prt(int *a) { printf(“%d\n”,++*a); } main() { int b=25; prt(&b);}
A. 24
B. 25
C. 26
D. 27
满分:5分
20.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
A. 该变量只在该复合语句中有效
B. 该变量在该函数中有效
C. 该变量在本程序范围内有效
D. 该变量为非法变量
满分:5分15秋学期《高级语言程序设计基础》在线作业2
试卷总分:100 测试时间:--
一、单选题(共20道试题,共100分。)
1.C语言中字符型(char)数据在内存中的存储形式是( )。
A. 原码
B. 补码
C. 反码
D. ASCII码
满分:5分
2.下面对typedef的叙述中不正确的是( )。
A. 用typedef不能定义变量名
B. 用typedef可以定义新的数据类型
C. 用typedef只是将已存在的类型用一个新的标识符来代表
D. 使用typedef有利于程序的通用和移植
满分:5分
3.以下正确的函数形式是( )。
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分
4.以下正确的函数说明是( )。
A. int fun(int a, b)
B. float fun(int a; int b)
C. double fun( )
D. int fun(char a[ ][ ])
满分:5分
5.下列程序的输出结果是( )。 #include void fun(); void main() { int x=1; if(x= =1) { int x=2; printf(“%d”,++x); } void fun() { printf(“%d”,x++);}
A. 2,1,1
B. 1,2,1
C. 2,2,2
D. 2,2,1"
满分:5分
6.设ch是char类型变量,其值是A,则表达式ch=(ch>='A'&&ch<='Z')(ch+32):ch的值是( )。
A. Z
B. A
C. a
D. z
满分:5分
7.下面程序( )。(每行程序前的数字为行号) 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 }
A. 没有错误
B. 第3行有错误
C. 第5行有错误
D. 第7行有错误
满分:5分
8.下面程序的运行结果是( )。 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分
9.若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。 b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d\n",a,b,c); c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);
A. a=10,b=15,c=10a=10,b=5,c=10
B. a=10,b=10,c=10a=10,b=5,c=10
C. a=10,b=10,c=10a=10,b=5,c=15
D. a=10,b=10,c=10a=10,b=5,c=5
满分:5分
10.若使用一维数组名作函数实参,则以下正确的说法是( )。
A. 必须在主调函数中说明此数组的大小
B. 实参数组类型与形参数组类型可以不匹配
C. 在被调函数中,不需要考虑形参数组的大小
D. 实参数组名与形参数组名必须一致
满分:5分
11.以下有关宏替换的叙述不正确的是( )。
A. 宏名不具有类型
B. 宏名必须用大写字母表示
C. 宏替换只是字符替换
D. 宏替换不占用运行时间
满分:5分
12.函数rewind(fp)的作用是:使文件位置指针( )。
A. 重新返回文件的开头
B. 返回到前一个字符的位置
C. 指向文件的末尾
D. 自动移至下一个字符的位置
满分:5分
13.函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
A. 移动到距离文件头10个字节处
B. 从当前位置向后移动10个字节
C. 从文件尾部前移10个字节
D. 移到离当前位置10个字节处
满分:5分
14.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
A. num%2==1
B. !(num%2==0)
C. !(num%2)
D. num%2
满分:5分
15.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf("****\n");
A. 循环体只执行一次
B. 是无限循环
C. 循环体一次都不执行
D. for语句中存在语法错误
满分:5分
16.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A. -1
B. 随机值
C. 0
D. 1
满分:5分
17.C语言程序从main()函数开始执行,所以这个函数要写在( )。
A. 程序文件的开始
B. 程序文件的最后
C. 它所调用的函数的前面
D. 程序文件的任何位置
满分:5分
18.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
A. 该变量只在该复合语句中有效
B. 该变量在该函数中有效
C. 该变量在本程序范围内有效
D. 该变量为非法变量
满分:5分
19.若有以下说明,并且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分
20.以下正确的定义语句是( )。
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分15秋学期《高级语言程序设计基础》在线作业3
试卷总分:100 测试时间:--
一、单选题(共20道试题,共100分。)
1.执行以下程序后,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分
2.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A. -1
B. 随机值
C. 0
D. 1
满分:5分
3.函数rewind(fp)的作用是:使文件位置指针( )。
A. 重新返回文件的开头
B. 返回到前一个字符的位置
C. 指向文件的末尾
D. 自动移至下一个字符的位置
满分:5分
4.以下正确的定义语句是( )。
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分
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.以下程序段的执行结果是( )。 int x=-3; do { printf("%d\n", x++); }while(!x);
A. -3
B. -2
C. -1
D. 陷入死循环
满分:5分
7.下面程序的运行结果是( )。 char a="abcdef"; char b="ABC"; strcpy(a,b); printf("%c",a);
A. 输出空格
B. \0
C. e
D. f
满分:5分
8.下面程序的输出结果是( )。 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分
9.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A. -1
B. 随机值
C. 0
D. 1
满分:5分
10.下列关于C语言的叙述错误的是( )。
A. 大写字母和小写字母的意义相同
B. 不同类型的变量可以在一个表达式中
C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D. 同一个运算符号在不同的场合可以有不同的含义
满分:5分
11.语句while (!y)中的表达式 !y 等价于( )。
A. y==0
B. y!=1
C. y!=0
D. y==1
满分:5分
12.函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
A. 移动到距离文件头10个字节处
B. 从当前位置向后移动10个字节
C. 从文件尾部前移10个字节
D. 移到离当前位置10个字节处
满分:5分
13.若二维数组a有m列,则在a前的元素个数为( )。
A. j*m+i
B. i*m+j
C. i*m+j-1
D. i*m+j+1
满分:5分
14.若有说明:int a;则数组a中各元素( )。
A. 可在程序的运行阶段得到初值0
B. 可在程序的编译阶段得到初值0
C. 不能得到确定的初值
D. 可在程序的编译或运行阶段得到初值0
满分:5分
15.以下能对二维数组a进行正确初始化的语句是( )。
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}};"
满分:5分
16.若有说明:int a;则数组a中各元素( )。
A. 可在程序的运行阶段得到初值0
B. 可在程序的编译阶段得到初值0
C. 不能得到确定的初值
D. 可在程序的编译或运行阶段得到初值0
满分:5分
17.若有定义:int a;,则以下对a数组元素地址的正确表示为( )。
A. *(a+1)
B. *(a+2)
C. a+3
D. a
满分:5分
18.若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
A. "wb+
B. "r+"
C. "rb+"
D. "ab+""
满分:5分
19.若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。
A. *pc代表的是字符串"aaa
B. *pc代表的是字符'a'
C. pc代表的是字符串"aaa"
D. pc代表的是字符'a'
满分:5分
20.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A. scanf("c1=%cc2=%c",&c1,&c2);
B. getchar( )
C. putchar(c2);
D. putchar(c1,c2)"
满分:5分
页:
[1]