一些c语言题求详解

2.已知:chara=’a’;floatb=2.3;doublec=41;intd;则执行语句d=a+b+c;后变量d的数据类型为(A)int(B)char(C)floa... 2.

已知:char a=’a’;float b=2.3;double c=41;int d;则执行语句d=a+b+c;后变量d的数据类型为
(A) int (B) char (C) float (D) double

3.

字符串“\ta\017bc”的长度(不包括结束符)是
(A) 9
(B) 5
(C) 6
(D) 7

4.

设整型变量x和y的值均为7,则表达式“x/(y-4)”的值是
A. 3
B. -3
C. 2
D. 1

6.

若有变量定义int a; double b; 要输入数据存放在a和b中,则下面正确的输入数据的语句为:
A. scanf("%d%f",a,b);
B. scanf("%d%f",&a,&b);
C. scanf("%d%lf",&a,&b);
D. scanf("%d%lf",a,b);

7.

若变量a的数据类型为double,执行下面两条语句后:
a=3.5;
printf("%d",a);
输出的数据或判断正确的是:
A. 3
B. 4
C. 3.500000
D. 输出格式错误

8.

在执行以下程序过程中
#include<stdio.h>
void main() {
char c1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();
c6=getchar();
putchar(c1);
putchar(c2);
printf("%c%c\n",c5,c6);
}
如果输入数据:
987<CR>
65432<CR>
(注意:从第一列开始,<CR>表示回车)
输出结果为
(A)9843
(B)9854
(C)9832
(D)9865

由于这是刚上完两节留的作业,越详细越好。。。。。。。。。
展开
 我来答
White_MouseYBZ
2013-09-17 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6448万
展开全部
2.A(d的类型不变)
3.B(\t a \017 b c)
4.C(取整7/3=2)
6.C(%d对应int型a,%lf对应doublr型b)
7.D(一般会输出0)
8.D(注意scanf要等CR才生效,而getchar不等待CR)
更多追问追答
追问
2题的话,c语言进行计算时,即便是前面认为d的类型是int ,但由于出现了double型,还是会自动转换吧,如果没有加(int)
追答
你说得也对。但是,只有在d参与运算的表达式中会自动提升到double型,这里d只是所谓“左值”变量,就是等号右边的运算结果要赋值给它;这时遵照的法则是只把右值表达式的整数部分赋给左值变量d而忽略小数部分。自动类型转换是临时的,只在运算时使用一下,不永久改变变量原来的类型。
201131001027
2013-09-16 · 超过12用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:34.3万
展开全部
2A:不改变
3A:我不怎么确定
4C:整形自动去余数
6C:只有它是对的
7D:应该为printf("%lf",a);
8D:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落幕羁绊着思念
2013-09-16
知道答主
回答量:31
采纳率:0%
帮助的人:19万
展开全部
2.B 3.D 4.C 6.B 7.A 8.D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-17
展开全部
第三题选c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式