下载此文档

C语言顺序结构作业(含解答).doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
一、选择题:
有以下程序:
#include<>
void main()
{ int a=10, b=20, c=30; printf(“%d\n”, (a=50, b*a,c+a));
}
程序运行后输出结果是
40 b)50 c)600 d)80
答案:d)
解答:(a=50, b*a,c+a)是一个逗号表达式,执行的顺序按排列顺序进行,整个表达式的值是括号中最后一个表达式的值。计算过程:
a=50,——> a的值为50;
a*b, ——> a的值仍然为50,b的值仍然为20;a*b的值为1000;
c+a, ——> a的值仍然为50,c的值仍然为30;c+c的值为30+50,即80;
有以下程序:
#include<>
void main()
{ int x;
x=x++;
printf("%d\n", x);
}
程序运行后输出结果是
1 b)0 c)编译出错 d)不错定
答案:d)
解答:x=x++;的执行顺序为:
首先取x的值,那么x的值是什么呢?在一对{ } 之间定义的变量,称为局部变量,系统对没有赋初值的局部变量不作任何处理,即,它的值是不确定的。
然后将取出的x值赋给“=”左边的x,最后x的值增1;
进一步思考:如果上面的程序段改成:
#include<>
void main()
{ int x=1;
x=x++;
printf("%d\n", x); }
程序运行后输出结果应该是什么值?
有以下程序:
#include<>
void main()
{ int x=1, y=5,z; z=x%y; z++; printf(“%d\n”, z); }
程序运行后输出结果是
1 b)2 c)5 d)0
答案:b)
解答:z=x%y;的执行结果为:1%5(1除以5的余数)的值为1;将1赋给z;
z++; 的执行结果为:z的值增1;
有以下程序:
#include<>
void main()
{
float x=1, y=5,z;
z=x%y;
z++;
printf(“%d\n”, z); }
程序运行后输出结果是
2 b)5
c)编译程序指出,程序第5行有错 d) 编译程序指出,程序第5、6、8行有错
答案:c)
解答: 1. %运算两个运算数必须是整数;
2. ++运算的运算量必须是整型变量;但是因为在之前已经指出z的错误,所以这里不再给出错误信息。
3. “printf(“%d\n”, z);”的错误是用“%d”说明一个float类型量的输出格式, 输出结果是错误的,但语法检查,不提示错误信息。
有以下程序:
#include<>
void main()
{ int x; x=32768; printf(“%d\n”, x); }
程序运行后输出结果是
a) -32768 b)32768 c)0 d)编译出错
答案:a)
解答: 1. 32768对应的二进制数为10000000 00000000;最高位为1。
2.

C语言顺序结构作业(含解答) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xgs758698
  • 文件大小55 KB
  • 时间2018-11-12