[编程] C语言变量和数据类型总结练习题
练习题:
1) 如何用 printf() 输出 short、int、long 类型的整数,请举例说明。
2) 如何用 printf() 输出 float、double 类型的小数,请举例说明。
3) 如何用 printf() 输出八进制、十进制和十六进制的 int 类型,请举例说明。
4) int 类型的长度到底是多少?
5) 定义两个 float 类型的变量 f1 和 f2,如下所示:
float f1 = 3.3;
float f2 = 3.8;
它们转换为 int 类型后的值分别是多少?
6) 下面数学运算的结果是多少?
int a = 10 + 8 - 4 * 3 + 24 / 4 * 6 + 3;
7) 下面那几个是C语言的关键字?
int main function char =
8) 一年大概有 3.156×107秒,要求输入你的年龄,然后显示该年龄合多少秒。
9) 输入一个 ASCII 码值,输出它后面的字符。
10) 下面的代码有错吗?如果有,有几个,分别是什么错误?
#include <stdio.h>
main(){
float r, pi = 3.14;
scanf("%f\n", &r);
area = pi * r * r;
printf("area = %.2f\n", area);
}
练习题超级无敌标准答案:
#include <stdio.h> int main(){ //1) 如何用 printf() 输出 short、int、long 类型的整数,请举例说明。 short a=1; int b=1; long c=1; printf("a=%d;b=%d;c=%d\n",a,b,c); //2) 如何用 printf() 输出 float、double 类型的小数,请举例说明。 float d=1.1; double e=1.11; float f=221.19; printf("d=%2.1f;e=%3.2f;f=%.1f\n",d,e,f);//小数位数不够的会进行四舍五入 //3) 如何用 printf() 输出八进制、十进制和十六进制的 int 类型,请举例说明。 int g=0b101; int h=0171; int i=11; int k=0x1a; printf("g=%d;h=%#o;i=%d;k=%#x;\n",g,h,i,k); //4) int 类型的长度到底是多少? //int 一般占用 4 个字节(Byte)的内存,共计 32 位(Bit)。如果不考虑正负数,当所有的位都为 1 时它的值最大 ,为 232-1 = 4,294,967,295 ≈ 43亿 /* 5) 定义两个 float 类型的变量 f1 和 f2,如下所示: float f1 = 3.3; float f2 = 3.8; 它们转换为 int 类型后的值分别是多少? */ float f1=3.3; float f2=3.8; printf("f1=%d;f2=%d; \n",(int)f1,(int)f2);//会把小数部分抹掉 /* 6) 下面数学运算的结果是多少? int a = 10 + 8 - 4 * 3 + 24 / 4 * 6 + 3; */ int l = 10 + 8 - 4 * 3 + 24 / 4 * 6 + 3; printf("l=%d \n",l); /* 7) 下面那几个是C语言的关键字? int main function char = */ //int(关键字) main(关键字) function(关键字) char(关键字) =(不是) /* 8) 一年大概有 3.156×107秒,要求输入你的年龄,然后显示该年龄合多少秒。*/ int age=21; float ageSeconds=20*3.156*107; printf("您的年龄%d,合计%f秒 \n",age,ageSeconds); /*9) 输入一个 ASCII 码值,输出它后面的字符。*/ char m='a'; int n=98; printf("%c的ASCII值是%d,%d对应的字符是%c \n",m,m,n,n); /* 10) 下面的代码有错吗?如果有,有几个,分别是什么错误? #include <stdio.h> main(){ float r, pi = 3.14; scanf("%f\n", &r); area = pi * r * r; printf("area = %.2f\n", area); } */ /* 没有给area变量定义类型 test.c:5: error: ‘area’ undeclared (first use in this function) test.c:5: error: (Each undeclared identifier is reported only once test.c:5: error: for each function it appears in.) */ /* 修改后可用 #include <stdio.h> main(){ float r, pi = 3.14; scanf("%f\n", &r); float area = pi * r * r; printf("area = %.2f\n", area); } */ }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具