C语言 基础练习题

时间:2022-04-28 11:58:30

运算符表达式练习


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,将其初始化,判断是否是数字。输出YN,并将其输出注意输入使用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
数学运算

  1. 将数学表达式c = 3a + 5b翻译成C的表达式。 
  2. 已知某个圆的半径为a,表示圆的面积和圆的周长。 
  3. 已知字符变量a的值对应的是某大写字母,将其转换为对应的小写字母。 
  4. 获取某个整数a的个位数值(比如755,1099)。 
  5. 获取某个大于3位的10进制整数a的百位数值(比如19239)。 
  6. 假设整数a=1,b=5;表达式a++ + ++b的值是? 
  7. 不借助第三个变量,用一组表达式来交换两个整数ab。 
  8. 设变量m,n,a,b,c,d均为 0,执行(m=a==b)||(n=c==d)后,m,n的值是? 
  9. int a=8,b=5,c;,执行语句c=a/b+0.4;,c的值为? 
  10. 给定一个浮点数,要求将其转化为只保留小数点后2位的小数,其中需要四舍五入,
    比如 1.23678->1.24。 

Bool 运算

  1. 假设a=1,则表达式a=1a==1的值分别是? 
  2. 假设a=1;表达式!(a-2)的值是? 
  3. 表达式-1<=3<=-5的值是? 
  4. 假设a=3,b=4,c=5;表达式a+b>c&&b==c的值是? 
  5. 假设a=3,b=4,c=5;表达式!(a>b)&&!c||1的值? 
  6. 对于整数a,如果表达式(a%5 == 3) && (a%7==4)&&(a%5==3)&&(a<20)为真,那么a的值是? 
  7. 判断某个整数a是否能被 7 整除。 
  8. 判断某个边长为a的正方形的面积是否比某个半径为b的圆的面积大。 
  9. 判断某个正整数a的个位数值在 3,8的范围之内。比如16满足,1219不满足。 
  10. 判断某个字符变量a是不是一个英文字符。 
  11. 判断某个字符变量a是不是一个数字字符。 
  12. 判断某个正整数a是不是一个质数(只能被自己和1整除的数)。 
  13. 给定整数a,判断它是否能同时被73整除。 
  14. 给定整数a,判断它是否能被7或者被3整除。 
  15. 给定字符ab,判断它们是否有一个字符是阿拉伯数字符号。 
  16. 任意给定某一年为a,判断它是否为闰年。 

逗号运算符
1. 如果有int a; int i = 2;则执行完a = (i++, i++, i++);ai的值分别是?

条件运算符

  1. 3个整数 a,b,c,不用if只用基表达式来找到其中的最大值。 
  2. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;nij的值是? 


进制练习题

1.计算机中数据是哪种进制存储的?为什么用该进制?

2.掌握进制转换原理,试着将885转换成二进制,再将1010110转换成十进制。

3.了解八进制,试着将八进制072转换成十进制和二进制。

4.掌握十六进制和二进制的转换以及与十进制之间的相互转换,试着将0xCC88转换成二进制和十进制。

5.二进制如何快速转换成十六进制?十六进制的优势是什么?

6.掌握正负数的原码/反码/补码,将十六进制的-0x100的二进制原码/反码/补码写出来。

7.程序中的数据最终都会被翻译成二进制数据,这个数据是以哪种码表示呢?

8.分别计算10进制数100,89,67的二进制,八进制,十六进制.

9.分别计算二进制数1011101, 1000010的十进制数.