C程序设计自测题

一、填空题(本大题共7小题,每空1分,共10分)

1、冯·诺依曼体系结构的计算机由存储器、(           )、(           )、输入设备和输出设备五部分组成。

2、程序语句“int a =0, b, c; b=++a; c=(++b)+(a++);”执行后,变量c的值是(           )。

3、常用的流程跳转语句有goto语句、break语句、(           )语句和(           )语句。

4、程序语句“char c =‘A’; c=c>=‘A’&&c<=‘Z’?c+32:c; cout << c;”执行后,在设备上输出的结果是(           )。

5、在表达式“u = i--, a *= ++j”中,共有(           )个运算符,其中优先级最低的运算符是(           )。

6、静态局部变量存储在内存区域的(           )区。

7、程序语句“int a=5, b=2; double d = a / b; cout << d +1.5;”执行后,在设备上输出的结果是(           )。

二、简答题(本大题共3小题,每小题10分,共30分)

8、已知如下程序代码,请按照要求回答问题。

#include<iostream>

using namespace std;

int main()

{

    int s = 0, n = 12345;

    while (n > 0)

   

    s += n % 10;

n /= 10;

} 

    cout << s;   

    return 0

}

    (1)请画出程序中变量s和n的内存变化过程图(每次变化)。

    (2)while循环中的条件表达式“n > 0”共执行多少次?

9、已知如下计算机表达式,请按照要求回答问题。

a += !b || x>=y && m != n + c++

(1)画出计算机表达式的计算顺序图。

(2)画出计算机表达式的计算序列图。

10、已知short int数据类型的变量占2个字节。读下面的程序,写出程序的输出结果。

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

    unsigned short us = 65535;

    us = us + 2;

    cout << "unsigned short:";

    cout << hex << us << "," << dec << us << endl;

    signed short ss = 32767;

    ss = ss + 2;

    cout << "signed short:";

    cout << hex << ss << "," << dec << ss << endl;

    return 0;

}

三、编程题(本大题共1小题,每小题15分,共15分)

11、使用C++语言分支语句编写程序,能够实现如下分段函数,并满足题目要求(15分)。


(1)画出程序流程图。(5分)

(2)在程序中,对于输入的每一个x值,计算并输出y的值。(10分)

四、程序设计题(本大题共1小题,每小题20分,共20分)

12、使用C++语言编写程序,能够求斐波那契数列的第n项的值,并满足题目要求(20分)。

(1)使用循环结构编写自定义函数fib1(int)。(4分)

(2)使用递归思想编写自定义函数fib2(int)。(4分)

(3)在main()函数中分别调用fib1函数和fib2函数,对于10~20范围内的所有整数,程序能够依次计算并输出结果。(8分)

(4)用图示方式说明函数fib2(5)的调用过程,并标注函数的实参和返回值。(4分)

五、程序分析题(本大题共1小题,每小题25分,共25分)

13、使用C++语言循环语句编写程序,能够依据如下公式求ln2的近似值,并满足题目要求。

(1)使用2种不同方法分解出数列的通项公式,并推导出相应的递推公式。(10分)

(2)画出程序流程图。(5分)

(3)选择一种递推公式编写程序,在程序中输出ln2的近似值,精确到小数点后5位。(10分)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值