程序阅读及填空(答案).doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【程序阅读及填空(答案)】 在编程中,理解并能正确分析程序的执行流程是至关重要的。这里我们分析几个涉及C语言的程序题目。 1. 题目给出的程序是检查输入的整数是否为偶数。程序通过`scanf`读取一个整数赋值给变量`a`,然后使用条件运算符(三元运算符)来判断`a`是否为奇数。当`a`除以2的余数不等于0时,程序打印"Yes",表示输入的数是奇数;否则,打印"No",表示输入的是偶数。若输入100,由于100是偶数,所以程序将输出"Yes"。 2. 这个程序包含两个嵌套的`switch`语句,分别基于`a>0`和`b<0`以及`c==5`的条件。`a=2`,所以`a>0`为真,进入第一个`switch`语句的`case 1`。在内部的`switch(b<0)`中,因为`b=7`,`b<0`为假,所以没有匹配的`case`,默认执行`case 2`的代码,打印"!"。接着,由于没有`break`语句跳出内部`switch`,程序会执行到外部`switch`的`case 0`。在这里,`c==5`为真,因此执行`case 1`,打印"*"。同样,外部`switch`也没有`break`语句,所以会执行到`default`,打印"#"。最终的输出是"*&"。 3. 该程序通过一个`for`循环和`while`循环计算一个累加器`k`,在每次循环中,`b`被初始化为`i`除以2的余数。如果`b`等于0,`while`循环执行`k++`,直到`b--`不等于0为止。当`i`从1到5遍历,`b`只会在`i`为偶数时为0,所以`k`会在`i`=2和4时增加,最后`k`的值为2。而`b`在最后一次循环后会被减至-1,所以输出`b`为0。 4. 这个程序使用`do-while`循环计算给定整数`n`(初始值为263)各个位数的乘积。在每次循环中,`k`乘以`n`除以10的余数,`n`除以10更新自身,直到`n`为0。263的各位数乘积是3*6,因此输出结果是36。 5. 最后一个程序中的`do-while`循环在`a`小于或等于14时持续执行。每次循环`a`增加2,并累加到`y`,直到`y`大于50,循环终止。当`a`=14时,`y`=54,满足`y>50`的条件,循环停止,`a`增加2变为16,`y`保持不变,因此输出`a=16 y=60`。 对于数组部分: 1. 第一个程序初始化一个6x6的二维数组`a`,并用`i/j`和`j/i`的乘积填充。由于`i/j`和`j/i`只有在`i`和`j`都为非零时才有效,所以数组的对角线(除了左上到右下的主对角线外)都是1,其余位置是0。程序输出的是这个数组的每个元素,展示了一个由1和0组成的矩形图案。 2. 第二个程序将两个字符串`a`和`b`的对应字符比较,若`a`的字符大于或等于`b`的字符,将`a`的字符转换为其大写形式(减去32得到大写字母与小写字母之间的差值)存入`c`,否则将`b`的字符转换为大写存入`c`。当遇到字符串结束标志`\0`时停止。因此,若输入的字符串分别为"abm"和"aqid",输出的字符串`c`将会是"AQM"。 3. 第三个程序要求输入一个字符串`s`,当输入"AabD"时,程序将遍历输入的字符串,将每个字符与`s`中当前位置的字符进行比较。若当前字符大于`s`的相应位置的字符,就将其转换为大写,否则保持原样。由于输入"AabD",程序将输出"AQM",因为"A>D","a>A","b>b","D>b"。 这些程序展示了基本的C语言控制结构(如`if`,`switch`,`for`,`while`,`do-while`),条件运算符,数组操作,字符串处理,以及变量的使用。理解这些概念对于编程学习至关重要。
- 粉丝: 15
- 资源: 19万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助