一、转换字符
转换字符 | 输出 | 示例 |
---|---|---|
%d and %i | 有符号十进制整数 | printf("%d心%i意\n",3,2); |
%c | 单个字符 | printf("学习好(y/n)~%c\n",'y'); |
%s | 字符串 | printf("爱我的人%s,我爱的人%s\n","呵呵","老美了"); |
%f | 浮点数,默认精确到6位小数 | printf("圆周率:%.2f\n",3.1415926); |
%% | 打印一个百分号 | printf("占99%%"); |
二、scanf输入函数
基本用法:int num;
printf("请输入数量:");
scanf("%d",&num);
三、算术运算符与表达式
1.算术运算符
(1)一元运算符:++、--
(2)二元运算符:+、-、*、/、%
取模%(与第一个数的符号位一致):
printf("%d\n",5 % -3); 2
printf("%d\n",-5 % -3); -2
printf("%d\n",-5 % 3); -2
2.表达式
符号与操作数的组合
四、第二章作业
上机练习一
接受两个整数,分别保存在两个变量中,通过第三个变量将这两个变量的值互换。
#include <stdio.h>
int main()
{
//定义三个变量及前两个变量的值
int x,y,z;
printf("请输入第一个数:\n");
scanf("%d",&x);
printf("请输入第二个数:\n");
scanf("%d",&y);
//显示互换前的数
printf("输出互换前的数:\n");
printf("第一个数是:%d\n",x);
printf("第二个数是:%d\n",y);
//互换这两个数
z=x;
x=y;
y=z;
//展示互换后的数
printf("输出互换后的数:\n");
printf("第一个数是:%d\n",x);
printf("第二个数是:%d\n",y);
return 0;
}
上机练习二
某公司为员工提供了基本工资、物价津贴及房租津贴。其中物价津贴占基本工资的40%,房租津贴占基本工资的20%。编写一个程序计算实领工资,要求输入某员工的基本工资,计算应向该员工支付的实际工资。
#include <stdio.h>
int main()
{
//定义基本工资、物价津贴、房租津贴及实领工资
double jiben;
double wujia;
double fangzu;
double shiling;
//输入基本工资
printf("请输入您的基本工资:\n");
scanf("%lf",&jiben);
//公式计算物价津贴、房租津贴
wujia = jiben * 40/100;
fangzu = jiben * 20/100;
//输出基本工资、物价津贴、房租津贴
printf("基本工资:%.2lf\n物价津贴:%.2lf\n房租津贴:%.2lf\n",jiben,wujia,fangzu);
//计算并输出员工的实际工资
shiling = jiben + wujia + fangzu;
printf("%.2lf",shiling);
return 0;
}
上机练习三
编写一个程序,要求用户输入一个小写字母,然后显示相应的大写字母。
#include <stdio.h>
int main() {
//用户输入一个小写字母
char ch1;
printf("请输入一个小写字母:\n");
scanf("%c",&ch1);
//输出小写字母并转换为大写字母
printf("%c\n",ch1);
printf("%c\n",ch1-32);
return 0;
}
上机练习四
某城市的温度是以华氏度为单位记录的。编写一个程序,将温度转换为摄氏度,并以华氏度
和摄氏度为单位显示温度。
#include <stdio.h>
void main() {
//定义华氏和摄氏两个变量;
double huashi;
double sheshi;
//输入当前温度(华氏度);
printf("请输入当前温度:\n");
scanf("%lf",&huashi);
//套用公式转换
sheshi = 5 / 9.0 * (huashi - 32);
//输出华氏和摄氏温度
printf("华氏温度为:%.2lf\n",huashi);
printf("摄氏温度为:%.2lf\n",sheshi);
}
上机练习五
编写一个程序,要求用户输入一个小写字母,然后显示相应的大写字母。
#include <stdio.h>
void main() {
//定义三个变量长、宽、面积、周长
double a,b,S,C;
//输入长方形的长和宽
printf("请输入长方形的长:\n");
scanf("%lf\n",&a);
printf("请输入长方形的宽:\n");
scanf("%lf\n",&b);
//套用公式
S = a * b;
C = 2 *(a + b);
//输出面积和周长
printf("矩形的面积为:%.2lf\n",S);
printf("矩形的周长为:%.2lf\n",C);
}
上机练习六
猜明星发图片:将下面的数字按顺序转换成相应的 ASCII 码,打印出相应的 ASCII 码并进行组合,看看是哪位明星名字并贴出照片。数字如下:97、110、103、101、108、97、66、97、98、121
#include <stdio.h>
int main() {
//定义这些数为char型
char ch1 = 97;
char ch2 = 110;
char ch3 = 103;
char ch4 = 101;
char ch5 = 108;
char ch6 = 97;
char ch7 = 66;
char ch8 = 97;
char ch9 = 98;
char ch10 = 121;
//输出这些数对应的ASCII码
printf("%c,%c,%c,%c,%c,%c,%c,%c,%c,%c",ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8,ch9,ch10);
return 0;
}
上机练习七
编写一个 C 程序,接收用户输入的四位整数,将该数的每一位数字相加并显示结果。
要求:显示出自己的算法,怎么将每位数取出来再相加。
#include <stdio.h>
int main() {
//定义并输入该四位数
int num,a,b,c,d,x,sum;
printf("请输入一个四位整数:\n");
scanf("%d",&num);
//计算四位数每一位的值
a = num / 1000;//求千位值
x = num % 1000;//求余数
b = x / 100;//求百位值
x = x % 100;
c = x / 10;//求十位值
d = x % 10;//求个位值
//计算每位相加结果
sum = a + b + c + d;
//输出该四位数
printf("该四位数相加的结果为:%d\n",sum);
return 0;
}