统计学生平均成绩及及格人数,输入一个正整数n,在输入n个成绩,求平均数及几个学生人数。
#include<stdio.h>
int main()
{
int i,n,count,grade;
double average;
double sum=0;
count=0;
printf("Enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++){
printf("Grade %d:",i);
scanf("%d",&grade);
sum=sum+grade;
if(grade>60)
count=count+1;}
average=sum/n;
printf("The average is%.2f",average);
printf("The number of people who pass it is %d",count);
return 0;
}
#include<stdio.h>
int main()
{
double value1,value2;
char op;
printf("Type in an expression:");
scanf("%lf%c%lf",&value1,&op,&value2);
if(op=='+')
printf("=%.2f\n",value1+value2);
else if(op=='-')
printf("=%.2f",value1-value2);
else if(op=='*')
printf("=%.2f",value1*value2);
else if(op=='/')
printf("=%.2f",value1/value2);
else
printf("Unknown operator\n");
return 0;
}
操作数与运算符之间必须连续输入,两者之间不能有空格,因为空格本身也是一个字符,因此空格会被视为输入字符。本次输入数据中除了以前一直采用的数值型以外,运算符不是数值型,他是一个字符,C语言称之为字符型。
字符型数据:1字符型常量:指单个字符,用一对单引号及其所括起来的字符来表示。9是整型数字,而'9'是字符。
字符型变量:字符型变量在定义时用类型名char例如
char op
op='+'是将字符型常量'+'付给字符型变量op
ASCII字符集列出来所有可以使用的字符,共256个,具有以下特性。每个字符都有唯一次序值,即ASCII码。数字字符'0'....的ASCII码按照升序连续排列。大写字母'A'....按升序连续排列小写字母'a'..按升序连续排列。
字符型数据的输入与输出:字符型数据的输入和输出可以调用函数scanf() printf() getchar() putchar()
调用函数scanf()和printf()
在函数调用格式控制字符串中相应的格式控制说明为%c。scanf("%c",&op)
字符输入函数getchar()
其一般调用格式为
ch=getchar
函数getchar只能读入一个字符,如果要输入多个字符,需要多次调用,一般采用循环调用方式例如一下代码段
char ch;
for(i=1;i<=n;i++);
ch=getchar();
字符输出函数
输出字符型变量或常数,例如下面程序段
#include<stdio.h>
int main()
{
char ch;
printf("Enter a charater:");
ch=getchar();
putchar(ch);//输出存放在ch中的字符//
putchar('@');//输出字符常量'@'//
}
逻辑运算
目数 | 单目 | 双目 | |
运算符 | ! | && | || |
名称 | 逻辑非 | 逻辑与 | 逻辑或 |
!a逻辑非,如果a为真,结果为假,a为假结果为真。
a&&b,a,b都为真即为真,否则为假。
a||b当ab都为假为假否则为真。
逻辑运算符&&,||优先级低于关系运算符,(ch>'a')&&(ch<='z')等价于ch>'a'&&ch<='z'.
输入十个字符,统计其英文字母,数字字符,和其他字符的次数。
#include<stdio.h>
int main()
{
char ch;
int i,english,number,other;
english=number=other=0;
for(i=1;i<=10;i++){
ch=getchar();
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
english=english+1;
else if(ch>='0'&&ch<='9')
number=number+1;
else
other=other+1;}
printf("english is %d,number is %d other is %d ",english,number,other);
}