21春南开大学(1709、1803、1809、1903、1909、2003、2009、2103)《程序设计基础(上)》在线作业1
南开大学21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《程序设计基础(上)》在线作业 试卷总分:100 得分:100 一、单选题 (共 25 道试题,共 50 分) 1.已知“char *s=“mybook“;”,则strlen(s)的值为##。 A.4 B.6 C.7 D.不确定 答案:B 2.函数定义中,下列有关return语句的描述错误的是##。 A.函数定义中可以没有return语句 B.函数定义中可以有多个return语句,但是只执行其中之一 C.函数定义中,一个return语句可以返回多个值 D.只要和函数类型一致,return后面可以是常量、变量和任一表达式 答案:C 3.已知“char *s=“mybook“;”,则下列语句正确的是##。 A.strcpy(s,“hello“); B.strcat(s, “hello“); C.s=“hello“; D.以上均不正确 答案:C 4.6位二进制数能表示的最大十进制数是( )。 A.32 B.31 C.64 D.63 答案:D 5.以下各选项中,非法的变量名是( )。 A.No_1 B.No123 C.2name D.sumOfStudent 答案:C 6.已知“char s[]=“hello“;”,则下面叙述中正确的是##。 A.数组s的长度为5 B.元素s[2]的值为 e C.使用“cin>>s;”可以将从键盘上键入的字符串保存在数组s中 D.使用“int t[]=s;”可以定义数组t、并用s中各元素的值初始化t中的各元素 答案:C 7.默认形参值不可以是##。 A.局部变量 B.全局变量 C.静态全局变量 D.函数调用 答案:A 8.下面各选项中的数组定义方式,错误的是##。 A.int a[7]; B.const int N=7; float b[N]; C.char c[]=“abcdef“; D.int N=7; double d[N]; 答案:D 9.下面关于for循环的正确描述是##。 A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 答案:D 10.设i,j,k都是变量,下面不正确的赋值表达式是( )。 A.i++ B.i=j=k C.i=j==k D.i+j=k 答案:D 11.假设堆内存分配均成功,则下面程序段完全正确的是##。 A.int *p=new int(3);cout 答案:D 25.自定义头文件中一般不包含##。 A.数据类型的定义 B.全局变量的定义 C.符号常量的定义 D.内联函数的定义 答案:B 二、判断题 (共 25 道试题,共 50 分) 26.可以定义函数指针变量指向函数的首地址,并使用函数指针变量代替函数名进行函数调用 答案:正确 27.选择语句中的分支语句在逻辑上是一条语句,当一个分支功能需要多条语句才能完成时,就需要使用复合语句。 答案:正确 28.do…while语句与while语句不一样,它首先执行,然后执行。 答案:正确 29.一个结构体类型定义的最后必须以分号结束。 答案:正确 30.已知double x=10,y=3; 则x%2的值为1。 答案:错误 31.C++中的命名空间是为了解决C++中的变量、函数的命名冲突的问题而设置的。 答案:正确 32.关系表达式值的数据类