2021-09-05学习日记

统计学生平均成绩及及格人数,输入一个正整数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);
	
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值