编程模拟题-五级C++ 1 / 45 十进制 -35的补码是多少?( ) A. 11011110 B. 11011101 C. 00110011 D. 00111010 本题从对补码的理解方向考察学生知识认知能力。,补码是用于表示计算机中的负数的常用方法。对于一个十进制数-35,我们首先找到它的正数形式(即35)的二进制表示,然后取这个二进制数的反码(也就是将所有的1换成0,所有的0换成1),最后在反码的基础上加1得到补码。因此,-35的二进制补码为11011101。因此,正确答案选B。 2 / 45 定义整形m,int m = 1;下列选项能输出2的是?( ) A. cout << +m; B. cout << m++; C. cout << ++m; D. cout << m==1; 本题从基本操作符的掌握方向考察学生编程操作能力。选项A, cout << +m; 的输出为m的原始值1,"+"运算符并不会改变m的值。选项B, cout << m++; 这个选项会先输出m的原始值1,然后才对m进行递增操作。这是由于"m++"是后置递增运算符,它首先返回m的当前值,然后再增加m。选项C, cout << ++m; 这个选项会先对m进行递增操作,然后输出递增后的m。因为"++m"是前置递增运算符,它首先增加m,然后返回m的值。所以,这个选项会输出2。选项D, cout << m==1; 是一个比较操作,检查m的值是否为1。因为m的原始值是1,所以这个比较是真,C++中真的值为1,这个选项会输出1。因此,正确答案选C。 3 / 45 以下对字符串的函数描述错误的是( )。 A. splice(1,3) 用于删除或添加元素 B. strcpy(s1,s2) 用于复制字符串s2到字符串s1 C. strlen(s) 用于返回字符串s的长度 D. strchr(s, h) 用于返回字符h在字符串s中第一次出现的位置 本题从处理字符串时常用的几个函数的理解与应用方向考察学生编程操作能力。其中splice(1,3)并非字符串操作函数,而是在C++中处理数组和向量时使用的,它可以在数组或向量中插入或删除元素。因此,正确答案选A。 4 / 45 定义一个 数据结构 struct Book{…} book; 后,访问结构成员的方式是通过( ) A. booktitletitle B. book.title C. book"title" D. book(title) 本题从操作符访问的方法方向考察学生编程操作能力。在C++中,我们定义了一个结构体后,可以通过句点操作符来访问其成员。在这个例子中,如果我们有一个成员名为”title”(例如,如果我们的结构定义是这样的:struct Book { std::string title; };),那么我们可以通过书写 book.title 来访问这个成员变量。因此,正确答案选B。 5 / 45 算法的时间复杂度是指( ) A. 执行算法所需要的空间 B. 执行算法需要的变量 C. 执行算法需要的运算次数 D. 算法的代码量 本题从算法的时间复杂度定义方向考察学生知识认知能力。时间复杂度是对一个算法在运行过程中临时存储空间需求量的度量,它在算法分析中表示的是执行算法需要的运算次数。因此,正确答案选C。 6 / 45 下列不可能是代码打印结果的是( ) A.1 B.3 C.0 D.9 本题从for循环的使用方法方向考察学生编程操作能力。这段代码中,i是从0开始,每次循环增加3,这样打印出来的i依次会是0,3,6,9,直到i不小于10为止。因此,正确答案选A。 7 / 45 下列语句描述中,正确的是?( ) A. break 语句不影响循环体内部执行逻辑 B. continue 语句不影响循环体内部执行逻辑 C. continue 语句会立即终止当前循环 D. break 语句在循环体中,可以立即终止循环 本题从流程控制语句的理解方向考察学生编程操作能力。break语句在循环体中可以立即终止循环。continue语句会立即终止当前循环的剩余部分,并判断是否进行下一次循环。因此,正确答案选D。 8 / 45 下列程序输出结果是?( ) A. "" B. hello C. helloworld D. worldhello 本题从字符串处理函数方向考察学生编程操作能力。在这段代码中,函数strcat(a, b)是将字符串b连接到字符串a的尾端,所以字符串a经过连接后的内容为”worldhello”。可以看到,cout用于打印字符串a的内容,所以这个程序最终将输出字符串a的新内容,即”worldhello”。因此,正确答案选D。 9 / 45 如下有一段代码,请给m初始化一个值,使得程序输出suc。( ) A.2 B.4 C.1 D.3 本题从程序执行和数值推理方向考察学生编程操作能力。在这段代码中,循环输出了字符串str中的前len-m个字符。让我们首先分析一下,str的长度为7。我们希望输出”suc”,这意味着我们只需要前三个字符。因此,我们需要将m设置为使得len – m等于3。如果len为7,只有当m为4 ((7-4)=3),循环才能输出前三个字符(即”suc”)。因此,将m初始化为4时,程序将按照要求输出”suc”。因此,正确答案选B。 10 / 45 小明想将hello放入一个数组中,下列选项正确的是?( ) A. int arr = "hello" B. char arr44 = 'hello' C. char arr55 = "hello" D. int arr55 = "hello" 本题从数组初始化的语法掌握方向考察学生编程操作能力。字符串”hello”含有5个字符以及一个结束字符’