浙大17秋《程序设计基础(C)》在线作业
浙大《程序设计基础(C)》在线作业一、单选题:【30道,总分:60分】
1.下面的for语句( )。for(x=0,y=0;(y!=123)&&(x<4);x++);( ) (满分:2)
A. 是无限循环 B. 循环次数不定
C. 循环执行四次 D. 循环执行三次
2.以下有关switch语句的说法中,正确的是 (满分:2)
A. break语句是switch语句中必须的一部分
B. 在switch语句中可以根据需要使用或不使用break语句
C. break语句在switch语句中不可以使用
D. 在switch语句中的每一个case都要用break语句
3.若w=1,x=2,y=3,z=4;,则条件表达式w>x?w:y<z?y:z的结果为( ) (满分:2)
A. 4
B. 3
C. 2
D. 1
4.执行语句:for(i=1;i++<4 ;)后,变量i的值是( )。 (满分:2)
A. 3
B. 4
C. 5
D. 不确定
5.已知ch是字符型变量,下面不正确的赋值语句是 ( )。 (满分:2)
A. ch = 5 + 9
B. ch= ' a + b '
C. ch = ' \ 0 '
D. h= '7' + '6'
6.下列不属于字符型常量的是( )。 (满分:2)
A. ‘A’
B. “B”
C. ‘\n’
D. ‘D’
7.下列程序段的输出结果是( ) for( i=0; i<1;i+=l) for( j= 2;j> 0;j--) printf("*"); (满分:2)
A. **
B. ***
C. ****
D. ******
8.在c语言中,运算对象必须是整型数的运算符是( ) (满分:2)
A. %
B. \
C. %和\
D. **
9.在C程序中,若对函数类型未加说明,则函数的隐含类型为( )。 (满分:2)
A. int
B. double
C. void
D. char
10.下列符号串中,不属于C语言保留字的是( )。 (满分:2)
A. if
B. then
C. static
D. for
11.组成C语言程序的是( )。 (满分:2)
A. 子程序
B. 过程
C. 函数
D. 主程序和子程序
12.下列说法中,错误的是( )。 (满分:2)
A. 变量的定义可以放在所有函数之外
B. 变量的定义可以不放在本编译单位中,而放在其他编译单位中
C. 变量的定义可以放在某个函数的函数头中
D. 变量的定义可以放在某个复合语句的开头
13.正确的自定义标识符是( )。 (满分:2)
A. a=2
B. a+b
C. name
D. default
14.请选出可用作C语言用户标识符的是( ) (满分:2)
A. void,define,WORD
B. a3b3,123,IF
C. FOR,--abc,Case
D. 2a,Do,Sizeof
15.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是( )。( ) (满分:2)
A. 3
B. 2
C. 1
D. 0
16.不合法的八进制数是( ) (满分:2)
A. 0
B. 028
C. 077
D. 01
17.以下( )是错误的转义字符。 (满分:2)
A. \\'
B. '\n'
C. '\81'
D. '\0'
18.在C语言中,不正确的int类型的常数是( )。 (满分:2)
A. 0
B. 32768
C. 037
D. 0xaf
19.设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为( )。 (满分:2)
A. 4
B. 16
C. 32
D. 52
20.已知:char c='A';int i=1,j;,执行语句j=!c&&i++;,则i和j的值是( )。( ) (满分:2)
A. 1,1
B. 1,0
C. 2,1
D. 2,0
21.在C语言中,while语句中的条件为( )时,结束该循环。 (满分:2)
A. 0
B. 1
C. true
D. 非0
22.已知:int x=1,y=2,z;,则执行z=x>y?++x:++y;后,z的值为( )。 (满分:2)
A. 1
B. 2
C. 3
D. 4
23.在if(x)语句中的x与下面条件表达式等价的是( )。 (满分:2)
A. x!=0
B. x==1
C. x!=1
D. x==0
24.已知:int a,*p=&a;,则下列函数调用中错误的是( ) (满分:2)
A. scanf("%d",&a);
B. scanf("%d",p);
C. scanf("%d",*p);
D. printf("%d",a);
25.在C语言中,引用数组元素时,其数组下标的数据类型允许是 (满分:2)
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
26.下列不属于字符型常量的是( )。 (满分:2)
A. ‘A’
B. “B”
C. ‘\n’
D. ‘D’
27.以下能正确地定义整型变量a,b和c并为其赋初值5的语句是( ) 。 (满分:2)
A. int a=b=c=5;
B. int a,b,c=5;
C. int a=5,b=5,c=5;
D. int a=c=b=5;
28.已知:int i=6,j;,则执行语句j=(++i)+(i++)后的j值是( )。( ) (满分:2)
A. 4
B. 14
C. 13
D. 15
29.在C语言中,数字0x100是一个 (满分:2)
A. 八进制数
B. 十进制数
C. 十六进制数
D. 非法数
30.结构化程序所规定的三种最基本控制结构是( ) (满分:2)
A. 输入、处理、输出
B. 树形、网形、环形
C. 顺序、选择、循环
D. 主程序、子程序、函数
二、多选题:【10道,总分:20分】
1.下列说法正确的是( ) (满分:2)
A. 头文件的后缀可为.h或.c
B. 一个#include只能包含一个函数库文件
C. #include< >是语句
D. #include<f1.c>与#include"f1.c"完全相同,没有区别
2.对静态变量的正确描述包括哪几项( ) (满分:2)
A. 静态局部变量在静态存储区内分配单元
B. 静态外部变量可以赋初值,也可以不赋初值
C. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失
D. 静态局部变量只赋一次初值
3.下列叙述中错误的说法有哪几项( ) (满分:2)
A. 栈是先进先出的线性表
B. 队列是先进后出的线性表
C. 循环队列是非线性结构
D. 有序线性表即可以采用顺序存储结构,也可以采用链式存储结构
4.C语言中用到的函数库有( ) (满分:2)
A. 输入输出函数<stdio.h>
B. 内存分配函数<malloc.h>
C. 字符串函数<string.h>
D. 字符函数<ctype.h>
5.int a={0,2,4,6,8,10};以下描述正确的有( ) (满分:2)
A. *(a+1)为元素6的地址
B. **(a+1)+2的值为8
C. a与a相同
D. a的值为10
6.从不同的角度可对文件做不同的分类,按文件的内容可分为:( ) (满分:2)
A. 源程序文件
B. 目标文件
C. 数据文件
D. 二进制文件
7.对数组的描述正确的是( )。 (满分:2)
A. 每个元素的类型必须一致
B. 用不同的下标来区分数组的元素
C. 数组名表示数组在内存中的首地址
D. 不允许动态定义数组
8.以下属于文件定位函数的是( ) (满分:2)
A. rewind( )
B. fseek( )
C. fwrite( )
D. fread( )
9.调用一个文件,需要以下信息( ) (满分:2)
A. 文件当前的读写位置
B. 与该文件对应的内存缓冲区地址
C. 缓冲区中未被处理的字符串
D. 文件操作方式
10.关于void main(int argc,char *argv[])下列说法正确的是( ) (满分:2)
A. argc是命令行中的参数的个数
B. argv是一个字符指针数组
C. argv的元素个数为argc的值
D. argv的元素为指向命令行字符串的指针
三、判断题:【10道,总分:20分】
1.在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。( ) (满分:2)
A. 错误
B. 正确
2.语言中,数据的输入和输出都是通过函数调用实现的,输入可用scanf( )函数,输出可用printf( )函数。( ) (满分:2)
A. 错误
B. 正确
3.自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( ) (满分:2)
A. 错误
B. 正确
4.由于函数scanf在接收变量时必须指定该变量在内存中的地址,因此有scanf("%s",&str)。( ) (满分:2)
A. 错误
B. 正确
5.所有函数都是平行的,函数间可以相互调用,但不能调用main函数。( ) (满分:2)
A. 错误
B. 正确
6.for( ;; )语句相当于while(1)语句。 (满分:2)
A. 错误
B. 正确
7.在程序运行过程中,其值不能被改变的量称为常量( ) (满分:2)
A. 错误
B. 正确
8.指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是相同的。 (满分:2)
A. 错误
B. 正确
9.数组的大小是固定的,但可以有不同类型的数组元素。 (满分:2)
A. 错误
B. 正确
10.一个int型与一个double型数据进行混合运算时,其结果是double型( )。 (满分:2)
A. 错误
B. 正确
页:
[1]