输出为:ff,10
%x的意思是输出a的十六进制,把255换算成16进制,255=15,15换算成16进制为f,然后再除以16,余15,那么就是ff了,8由10进制转换成8进制,直接数就行逢8进1,那不就是10喽。
4. 一下程序输出的结果是()
#include
int a1=1,a2=0,a3=2;
printf(\}
输出为:1,3,1 很简单的运算···不能再简单了···
5. printf函数中用到格式符%5s,其中5表示输出字符占5列。如果字符串长度大于5则按(原样输出),如果字符串长度小于5,则(前加空格补齐然后原样输出)。 6. 已定义变量如下, int a1,a2; char c1,c2;
若要求输入a1,a2,c1和c2的值,正确的输入函数调用语句是() 答:scanf(“%d,%d,%c,%c”,&a1,&a2,&c1,&c2);
因为a1,a2为整形变量,所以用scanf,而c1,c2为字符型变量,所以用字符输入格式。
7. 输入两个整形变量a,b的值,输出下列算式以及运算结果。 a+b,a-b,a*b,a/b,(float)a/b,a%b 每个算式占一行。
如a=10,b=5,a+b,输出为10+5=15。 答:#include
void main() { int a,b; scanf(\ printf(\ printf(\ printf(\ printf(\
printf(\
//float强制类型转换,换为实形
printf(\
//两个%的意思不一样,
前一个%的意思是:输入一个%,
而后一个%的意思是求余。
} 输入:5,4 输出为:
5+4=9 5-4=1 5*4=20 5/4=1
(float)5/4=1.250000
5%4=1
8. 输入一个非负数,计算以这个数为半径的圆周长和面积。 答:这和前面求半径面积的一样,就不用再写一次了吧? 9. 输入任意一个三位数,将其各位数字反序输出(例如输入123输出321)。
答:这道题的思路为输出的顺序,既然已经定义了是3位数,我们只要让最后一位数字先输出即可,那么我们就思考如何利用加减乘除以及求余来实现最后一位先输出?例如123,123加上什么,减去什么,乘以什么,除以什么或者是对什么求余等于3?我们很容易就想到123为3(这个在想不到我就直接无语了),我们也很容易想到123/10然后再对10求余为2,123/100=1,这些很容易做到,那么我们就按做的顺序输出就行。看下面的程序:
#include
printf(\请输入一个三位数:\\n\
scanf(\
printf(\
}
#include
printf(\请输入一个三位数:\\n\ }
输入:467 输出:764
10. 输入任意大小的3个整数,判断其中是否有两个奇数一个偶数。若是,则输出YES,若不是,则输出NOT(用条件表达式,不用if语句)
答:首先,我们先要弄懂什么事条件表达式,条件表达式为 表达式1?表达式2:表达式3
先求解表达式1,若其值为真(非0)则将表达式2的值作为整
个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。 程序如下:
#include
//在这里,若d==2,那么执行“printf(“YES”)”,
若d!=2,
scanf(\
printf(\
则执行“printf(“NOT”)
}
输入:3,4,5
输出:YES
11. 求前驱字符和后继字符。输入一个字符,找出他的前驱字符和后继字符,并按ASCII码值从大到小的顺序输出3个字符及其对应的ASCII码值。
答:对于这道题,我们首先要认识什么是前驱字符什么是后继字符,前驱字符是你输入当前字符的前一个字符,后继字符是你输入当前字符的后一个字符,字符是可以相加减的(在一定条件下);既然明白了那咱就开始编写程序: #include
void main() { char ch;
printf(\请输入一个字符:\\n\ch=getchar();
printf(\前驱字符为:\printf(\ printf(\后继字符为:\printf(\
//输出后继字符 //输出前驱字符 //输入一个字符