1、指出下列常量的类型和意义(如果有的话):
a)'b' 字符常量
b)1066 整形常量
c)99.44 浮点数常量
d)0XAA 十六进制的整形常量
e)2.0e30 指数幂常量 2.0e30 = 2.0 * 10^30;
2、编写一个程序,实现如下功能:用户输入一个ASCII码值(如66),程序输出相成的字符。
//输入1、数字转字符,输入2、字符转数字
#include<stdio.h>
int main(){
printf("请选择:1、数字转字符,2、字符转数字\n");
int x;
scanf("\n%d",&x);
if(x==1){
int b;
scanf("%d",&b);
putchar(b);
}
else if(getchar()=='\n'){
char a;
a = getchar();
printf("%d",a);
}
return 0;
}
3、Mr.Bing写了下面这个程序,请指出以为不妥的地方:
include "stdio.h”
main{ }
(
float g; h;
float tax, rate;
g=e21;
tax = rate * g;
printf(“%f\n”, tax);
)

4、一个水分子的质量大约为3.0*10-23g,1夸脱水大约有950g。编写一个程序,要求输入水的夸脱数,然后显示这么多水中包含多少个水分子。
#include <stdio.h>
int main()
{
float x = 3.0e-23;
float y = 950.0;
float num;
int a;
printf("请输入水的夸脱数\n");
scanf("%d", &a);
int q = a * y;
num = q / (3.0e-23);
printf("%.2e\n", num);
return 0;
}
5、假设c为char类型变量。使用转义序列、十进制值、八进制字符常量以及十六进制字符常量等方法将其赋值为回车符(使用ASCI码)。
#include <stdio.h>
int main(void){
char ch;
ch = '\r';//转义序列
printf("%c",ch);
ch = 13;//十进制
printf("%c",ch);
ch = 015;//八进制
printf("%c",ch);
ch = 0xD;//十六进制
printf("%c",ch);
printf("%d\n",'\r');
return 0;
}
6、说说'A'与"A"有什么区别?
答:
1、“字符“”用单引号作为定界符,“字符串”用双引号作为定界符;
2、“字符”在屏幕上打印一个字符的时候,需要在printf函数中,使用“%c”这个占位符。“字符串”需要用使用的是“%s”这个占位符;
3、 “字符”和“字符串”还有一个区别,“字符”占据一个字节,但是“字符串”是占据多个字节。
4、在“字符串”的结尾处,自动被编译器加上了’\0’这个字符,在ASCII码中,’\0’表示的是一个空字符。
7.设c语言中,一个short型数据占用2个字节存储,若有定义short x=-12,则变量x的值-12在内存中存的二进制代码是如何表示的?
1000 0000 0000 1100 原码
1111 1111 1111 0011 反码
1111 1111 1111 0100 补码
-12在内存中存的二进制代码是 1111 1111 1111 0100(补码)
8.设c语言中,一个short型数据占用2个字节存储,若有定义short x=32768,则用输出语句printfC"%d\n”,x);输出x值为多少?为什么?
答:输出x值为-32768;
因为一个short型数据在存中占用2个字节存储,所能表示的数值围为 -32768-32767,当 x=32768 时,超出了其能表示的范围,发生了溢出,
9.一年大约有3.1536*10^7s。编写一个程序,要求输入你的年龄,然后显示该年龄等于多少秒。
#include <stdio.h>
int main(void){
int age;
printf("请输入你的年龄:\n");
scanf("%d",&age);
printf("%f秒\n ",age*3.1536*1e7);
}