运算符表达式练习
9表达式(条件表达式7)定义整型变量x,y,初始化值为,将表达式(x++,y++)计算后的值赋给变量s,输出s的值,变量值使用scanf输入,多个参数使用空格隔开
\
比如:
\
\输入 6 4输出为4
\
\输入 6 1输出为1
\
10表达式(数值取位1)定义一个整型变量num,对其初始化,计算求出该数的个位,将结果保存到变量ret中,然后输出结果ret,并将其输出注意输入14表达式(数值取位6)定义一个整型变量num,用任意一个两位数初始化该变量,然后将这个两位数反序保存到ret中输出,要求反序后以整数输出。,并将其输出注意输入使用scanf输入
\
比如:
\
\输入 56输出为65
\
\输入 24输出为42
\
15表达式(数值取位7)定义一个整型变量num,用任意一个三位数初始化该变量,然后将这个三位数反序保存到ret中输出,要求反序后以整数输出。,并将其输出注意输入使用scanf输入
\
比如:
\
\输入 156输出为651
\
\输入 224输出为422
\
18表达式(字符判断3)定义一个整型变量c,将其初始化,判断是否是数字。输出Y或N,并将其输出注意输入使用scanf输入
\
比如:
\
\输入 23输出为Y
\
\输入 D输出为N
\
19表达式(字符转换1)定义一个字符型变量c,将其初始化,判断是否是小写字符。如果是小写将其转换成大写字母,并输出,注意输入使用scanf输入
\
比如:
\
\输入 y输出为Y
\
\输入 n输出为N
\
类型转换练习
思考:
以下程序会输出什么?
1.
int main()
{
char a;
int b = 56;
a = b;
printf(“%d %ld\n”,a,sizeof(a));
}
2.
int main()
{
int a = 256;
char b;
b = a;
printf("%d\n",b);
}
3.
int main()
{
int a = 511;
char b;
b = a;
printf("%d\n",b);
}
4.
int main()
{
int a;
float b = 3.14;
a = b;
printf("%d\n",a);
}
5.
int main()
{
float a = 3.14;
int b;
b = a%2;
printf("%d\n",b);
}
运算符练习
用 C 表达式来表达下面的题目,比如判断一个整数a是不是等于9,对应的表达式为 a ==9。
数学运算
- 将数学表达式c = 3a + 5b翻译成C的表达式。
- 已知某个圆的半径为a,表示圆的面积和圆的周长。
- 已知字符变量a的值对应的是某大写字母,将其转换为对应的小写字母。
- 获取某个整数a的个位数值(比如75是5,109是9)。
- 获取某个大于3位的10进制整数a的百位数值(比如1923是 9)。
- 假设整数a=1,b=5;表达式a++ + ++b的值是?
- 不借助第三个变量,用一组表达式来交换两个整数a和 b。
- 设变量m,n,a,b,c,d均为 0,执行(m=a==b)||(n=c==d)后,m,n的值是?
- int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为?
- 给定一个浮点数,要求将其转化为只保留小数点后2位的小数,其中需要四舍五入,
比如 1.23678->1.24。
Bool 运算
- 假设a=1,则表达式a=1和a==1的值分别是?
- 假设a=1;表达式!(a-2)的值是?
- 表达式-1<=3<=-5的值是?
- 假设a=3,b=4,c=5;表达式a+b>c&&b==c的值是?
- 假设a=3,b=4,c=5;表达式!(a>b)&&!c||1的值?
- 对于整数a,如果表达式(a%5 == 3) && (a%7==4)&&(a%5==3)&&(a<20)为真,那么a的值是?
- 判断某个整数a是否能被 7 整除。
- 判断某个边长为a的正方形的面积是否比某个半径为b的圆的面积大。
- 判断某个正整数a的个位数值在 3,8的范围之内。比如16满足,12、19不满足。
- 判断某个字符变量a是不是一个英文字符。
- 判断某个字符变量a是不是一个数字字符。
- 判断某个正整数a是不是一个质数(只能被自己和1整除的数)。
- 给定整数a,判断它是否能同时被7和3整除。
- 给定整数a,判断它是否能被7或者被3整除。
- 给定字符a和 b,判断它们是否有一个字符是阿拉伯数字符号。
- 任意给定某一年为a,判断它是否为闰年。
逗号运算符
1. 如果有int a; int i = 2;则执行完a = (i++, i++, i++)后;a和i的值分别是?
条件运算符
- 有3个整数 a,b,c,不用if只用基本表达式来找到其中的最大值。
- 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则n、i和j的值是?
进制练习题
1.计算机中数据是哪种进制存储的?为什么用该进制?
2.掌握进制转换原理,试着将885转换成二进制,再将1010110转换成十进制。
3.了解八进制,试着将八进制072转换成十进制和二进制。
4.掌握十六进制和二进制的转换以及与十进制之间的相互转换,试着将0xCC88转换成二进制和十进制。
5.二进制如何快速转换成十六进制?十六进制的优势是什么?
6.掌握正负数的原码/反码/补码,将十六进制的-0x100的二进制原码/反码/补码写出来。
7.程序中的数据最终都会被翻译成二进制数据,这个数据是以哪种码表示呢?
8.分别计算10进制数100,89,67的二进制,八进制,十六进制.
9.分别计算二进制数1011101, 1000010的十进制数.