相关练习代码:
#include <stdio.h>
/*
2020年11月1日 14:49
目的:测试%X %x %#x %#X的用法
*/
int main (void)
{
int x = 47; //100是十进制 0100表示八进制 0x100表示16进制
int j = 3;
int k = 5;
printf("j = %d ,k = %d\n",j, k);
printf("%x\n", x); //输出结果是2f
printf("%X\n", x); //输出结果是2F
printf("%#X\n",x); //输出结果是0X2F 推荐使用
printf("%#x\n",x); //输出结果是0x2f
#include <stdio.h>
/*
输出结果为:
2f
2F
0X2F
0x2f
*/
return 0 ;
}
#include <stdio.h>
int main(void)
{
int i=0x32c;
printf("i = %d\n", i);//%d 表示以十进制输出
printf("i = %o\n", i);//%o表示以八进制输出
printf("i = %x\n", i);//%x或者%X表示以十六进制输出
/*
printf 的用法
%d 表示以十进制输出
%x或者%X表示以十六进制输出
%o表示以八进制输出
*/
return 0;
}
#include <stdio.h>
int main(void)
{
int i;
scanf("%d", &i);//%d:将键盘输入的字符转化为十进制数字$i 表示i的地址 & 取地址符
/*明确:
1、从键盘输入的是字符
*/
printf("i = %d\n", i);
return 0 ;
}
#include <stdio.h>
int main(void)
{
int i;
scanf("m%d", &i);//m 为非输入控制符 m123 正确的输入 123 非法的输入 m123n 输出为i=123
/*明确:
1、从键盘输入的是字符
*/
printf("i = %d\n", i);
return 0 ;
}
# include <stdio.h>
int main(void)
{
int i, j, k;
scanf("%d %d %d", &i, &j, &k);
//scanf("%d,%d,%d", &i, &j, &k);//注意:,是非输入控制字符
printf("i = %d, j = %d, k = %d\n", i, j, k);
return 0;
}
#include <stdio.h>
int main(void)
{
int i;
scanf("%d", &i);
//scanf("%d\n", &i);// 输入时不需要加\n,此时的\n是非输入控制符
printf("i = %d\n", i);
return 0;
}
对用户的非法输入做适当的处理
#include <stdio.h>
int main(void)
{
int i;
char ch;
scanf("%d", &i);
printf("i = %d\n",i);
//.......
while((ch=getchar()) !='\n')
continue;
int j;
scanf("%d", &j);
printf("j = %d\n",j);
return 0;
}
#include<stdio.h>
int main (void)
{
int i = 10;
int k = 20;
int m;
int x = 5||6 ;
m = (2>3) && (k=5); //不含分号的是表达式 含分号的是语句
printf("m = %d, k = %d, x = %d\n", m, k, x);
return 0;
}