东北大学16春学期《C语言及程序设计》在线作业参考答案
东北大学16春学期《C语言及程序设计》在线作业1一、单选题:
1.下列程序的输出结果是( )main( ){intb=4;b*=b+=b+b;printf(“%d\n”,a);} (满分:5)
A. 16
B. 32
C. 96
D. 144
2.有下列语句和赋值语句:(1)charstr[]=”iamaboy.”(2)charstr=”iamaboy.”(3)char*p=”iamaboy.”(4)p=”iamaboy.”下列说法正确的是( ) (满分:5)
A. 只有(1)、(2)正确
B. 只有(3)、(4)正确
C. 只有(1)、(3)、(4)正确
D. 只有(3)正确
3.下面对指针变量的叙述,正确的是( ) (满分:5)
A. 指针变量可以加上一个指针变量
B. 可以把一个整形数赋给指针变量
C. 指针变量的值可以赋给指针变量
D. 指针变量不可以有空值,即该指针变量必须指向某一变量
4.若有定义:intA;能表现数组元素A的是( ) (满分:5)
A.(A+1)
B. *(A)
C.(*(A+1))
D. *(A+5)
5.以下程序段执行后输出结果( )。inti;for(i=1;;i++);printf(“%d”,i++); (满分:5)
A. 1
B. 2
C. 3
D. 死循环
6.以下程序段( )。intx=1,y=4;printf(x<y?”x=%d”:”y=%d”,x,y); (满分:5)
A. 输出控制格式错误
B. 输出:x=1
C. 输出:y=1
D. 输出:y=4
7.已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为( )。 (满分:5)
A. D
B. 68
C. 一个不确定的值
D. C
8.对于循环语句while(1);下面( )是正确的。 (满分:5)
A. 死循环
B. 循环一次
C. 不进如循环体
D. 编译有错
9.在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是( )。 (满分:5)
A.(2>x>-2)( )(4>x>8)
B.((x<=-2)( )(x>=2)( )((x>4)( )(x>=8))
C.(x<2)(x>=-2)(x>4)(x<8)
D.(x>-2)(x>4)( )(x<8)(x<2)
10.函数rewind(fp)的作用是:使文件位置指针( )。 (满分:5)
A. 重新返回文件的开头
B. 返回到前一个字符的位置
C. 指向文件的末尾
D. 自动移至下一个字符的位置
11.一个C语言程序总是从( )。 (满分:5)
A. 主过程开始执行
B. 主函数开始执行
C. 子程序开始执行
D. 主程序开始执行
12.下面对函数的叙述,不正确的是( )。 (满分:5)
A. 函数的返回值是通过函数中的return语句获得的
B. 函数不能嵌套定义
C. 一个函数中有且只有一个return语句
D. 函数中没有return语句,并不是不带回值
13.以下叙述中不正确的是( ) (满分:5)
A. 在C程序中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. 在C程序的函数中,最好使用全局变量
C. 在C程序中,形参只是局限于所在函数
D. 在C程序中,函数名的存储类别为外部
14.以下是正确的C语言标识符是( )。 (满分:5)
A. #define
B. 123
C. %d
D. \n
15.071^052的结果是( ) (满分:5)
A. 32
B. 16
C. 23
D. 22
三、判断题:
1.函数必须有返回值,否则不能使用函数 (满分:5)
A. 错误
B. 正确
2.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串是“ab+”。 (满分:5)
A. 错误
B. 正确
3.声明语句int x=y=z=5;可以正确定义整型变量x,y和z并为其赋初值5。 (满分:5)
A. 错误
B. 正确
4.声明语句int a[]={{1,0,1},{},{1,1}};能对二维数组a进行正确初始化。 (满分:5)
A. 错误
B. 正确
5.c语言结构类型变量在程序执行期间所有成员一直驻留在内存。 (满分:5)
A. 错误
B. 正确
16春学期《C语言及程序设计》在线作业2
一、单选题:
1.以下对二维数组a的正确说明是( )。 (满分:5)
A. inta[];
B. "floata(3
4);"
C. doublea
D. floata(3)(4);
2.当正常执行了文件关闭操作时,fclose函数的返回值是( )。 (满分:5)
A. -1
B. 随机值
C. 0
D. 1
3.已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为( )。 (满分:5)
A. D
B. 68
C. 一个不确定的值
D. C
4.char*A,则标识符A的意义时( )。 (满分:5)
A. A是一个指向有5个字符型元素的指针变量
B. A是一个有5个元素的一维数组,每个元素指向字符型的指针变量
C. A是一个指向字符型的函数的指针变量
D. A是一个有5个元素的一维数组,每个元素指向整型变量的指针变量
5.下面四个选项中,均是合法转义字符的选项是( )。 (满分:5)
A. \'''\\''\n'
B. "\''\017''\""'"
C. \018''\f''xab'
D. \\0''\101''xlf'
6.在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。 (满分:5)
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
7.以下程序段执行后输出结果( )。inti;for(i=1;;i++);printf(“%d”,i++); (满分:5)
A. 1
B. 2
C. 3
D. 死循环
8.若有变量说明:inta=0,b=0,c=0;,以下符合C语言语法的赋值表达式是( )。 (满分:5)
A. a=9+b+c=a+9
B. a=9+b;c=a+9;
C. "a=(9+b
b++)"
D. a=9+b++=a+7
9.下面程序的输出是( )。main( ){intx=10,y=3;printf(“%d\n”,y=x%y);} (满分:5)
A. 0
B. 1
C. 3
D. 不确定的值
10.若有说明:inta;则对数组元素的正确引用是( )。 (满分:5)
A. a
B. "a[3
5]"
C. a(5)
D. a
11.为了避免嵌套的条件语句if-else的二义性,C语言规定:else与( )是正确的。 (满分:5)
A. 缩排位置相同的if
B. 其之前最近的if
C. 其之后if
D. 同一行上的if
12.标有/**/语句的输出结果为( )intx=20;printf(“%d,%o,%x”,x,x,x);/**/ (满分:5)
A. 20
20
20
B. "20
24
14"
C. "20
14
24"
D. "20
024
14"
13.设已定义i和k为int类型变量,则以下for循环语句for(I=0;k=-1,k=1;i++,k++)printf(“****\n”); (满分:5)
A. 判断循环结束的条件不合法
B. 是无限循环
C. 循环依次也不执行
D. 循环只执行一次
14.C语言中,逻辑“真”等价于( )。 (满分:5)
A. 大于零的数
B. 大于零的整数
C. 非零的数
D. 非零的整数
15.下面四个选项中,均是C语言关键字的选项是( )。 (满分:5)
A. autoenuminclude
B. switchtypedefcontinue
C. signedunionscanf
D. ifstructtype
三、判断题:
1.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 (满分:5)
A. 错误
B. 正确
2.c语言结构类型变量在程序执行期间所有成员一直驻留在内存。 (满分:5)
A. 错误
B. 正确
3.在c语言中,函数形参的存储类型是自动类型的变量 (满分:5)
A. 错误
B. 正确
4.C语言fread( )函数的功能是从文件fp中读取n个字符存入指定的内存。 (满分:5)
A. 错误
B. 正确
5.在swith语句中可以根据需要使用或不需要使用break语句。 (满分:5)
A. 错误
B. 正确
16春学期《C语言及程序设计》在线作业3
一、单选题:
1.下面程序的运行结果是( )。charc[]="\t\v\\\0will\n";printf("%d",strlen(c)); (满分:5)
A. 14
B. 3
C. 9
D. 字符串中有非法字符,输出值不能确定
2.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是( )。 (满分:5)
A. 0~255
B. 0~65535
C. -32768~+32767
D. -256~+255
3.对于循环语句while(1);下面( )是正确的。 (满分:5)
A. 死循环
B. 循环一次
C. 不进如循环体
D. 编译有错
4.若有以下类型说明语句:chara;intb;floatc;doubled;则表达式a*b-2*d+c的结果类型为( ) (满分:5)
A. float
B. char
C. int
D. double
5.有定义inta,输入其3行2列元素的正确语句为( ) (满分:5)
A. scanf(“%d”
a[3
2]);
B. "scanf(“%d”
*(*(a+2)+1))"
C. "scanf(“%d”
*(a+2)+1);"
D. "scanf(“%d”
*(a+1));"
6.下列程序的输出为( )#includestdio.h;main( ){intm=13;floata=12.6,x;x=m/2+a/2;printf(“%f\n”,x);} (满分:5)
A. 12
B. 12.3
C. 12.8
D. 12.3
7.若有说明:inta;则数组a中各元素( )。 (满分:5)
A. 可在程序的运行阶段得到初值0
B. 可在程序的编译阶段得到初值0
C. 不能得到确定的初值
D. 可在程序的编译或运行阶段得到初值0
8.合法的C语言标识符是( )。 (满分:5)
A. abc
B. 2ab
C. a1
D. /n
9.标有/**/语句的输出结果为( )intx=20;printf(“%d,%o,%x”,x,x,x);/**/ (满分:5)
A. 20
20
20
B. "20
24
14"
C. "20
14
24"
D. "20
024
14"
10.若x为float型变量,则以列程序段结果是( )x=1234.6789;printf(“%-2.1f”,x); (满分:5)
A. 输出格式描述符的域宽度不够,不能输出
B. 输出为1234.7
C. 输出为1234.6
D. 输出为-1234.6
11.设I和x都是int类型,则对于for循环语句for(i=0,x=0;i<9;i++),下列哪句话正确( )。 (满分:5)
A. 执行8次
B. 执行9次
C. 是无限循环
D. 循环体一次也不执行
12.在C语言中,一维数组的定义方式为:类型说明符数组名( )。 (满分:5)
A. [常量表达式]
B. [整型表达式]
C. [整型常量或整型表达式]
D. [整型常量]
13.若有以下定义:intm=7,n=12;则能得到值为3的表达式是( )。 (满分:5)
A. n%=(m%=5)
B. n%=(m-m%5)
C. n%=m-m%5
D.(n%=m)-(m%=5)
14.下列各数组定义程序段,正确的是( )。 (满分:5)
A. intn=10;inta;"
B. "main( ){charstr=”aman”}"
C. "staticint[]={{0
1
2}
{80
89
2}};"
D. staticchar=“iamastudent.”;
15.述语句中,( )中的if语法有错误。 (满分:5)
A. if(xy);
B. "if(x==y)x+y;"
C. "if(x!=y)scanf(""%d""
x)else scanf(""%d""
y);"
D. "if(xy){x++;y++;}"
三、判断题:
1.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串是“ab+”。 (满分:5)
A. 错误
B. 正确
2.声明语句int a[]={{1,0,1},{},{1,1}};能对二维数组a进行正确初始化。 (满分:5)
A. 错误
B. 正确
3.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 (满分:5)
A. 错误
B. 正确
4.int a[];可以对二维数组a的正确说明。 (满分:5)
A. 错误
B. 正确
5.已知int a[]={1,2,3,4},y,*p=&a;则执行语句y(*--p)++;变量y的值是3。 (满分:5)
A. 错误
B. 正确
页:
[1]