首页技术c语言运算符op,!c语言

c语言运算符op,!c语言

编程之家2026-05-25616次浏览

大家好,今天小编来为大家解答以下的问题,关于c语言运算符op,!c语言这个很多人还不知道,现在让我们一起来看看吧!

c语言运算符op,!c语言

关于C语言的基础题。

e<iostream>

#include<stdlib.h>

#include<ctime>

#include<conio.h>

using std::cin;

using std::cout;

c语言运算符op,!c语言

using std::endl;

//计算式数量

int const Num= 100;

//计算式中最大数

int const MaxNum= 100;

//每题分数

c语言运算符op,!c语言

int const PerMark= 1;

//计算结果最大值

int const MaxResult= 100;

//计算结果最小值

int const MinResult= 0;

enum enOp;

//将枚举类型转换为字符类型,以便输出。

char enum2char(enOp op)

{

switch(op)

{

case Add:

return'+';

case Subtract:

return'-';

case Multiply:

return'x';

case Divide:

return'/';

}

return'';

}

//计算生成表达式的正确结果。

int myResult(int left,int right,enOp op)

{

switch(op)

{

case Add:

return left+right;

case Subtract:

return left-right;

case Multiply:

return left*right;

case Divide:

return left/ right;

}

return 0;

}

//检查生成计算式的正确与否。其中减法结果不能为负数,除法结果不能为小数。

bool checkFormula(int left,int right,enOp op)

{

switch(op)

{

case Add:

{

return true;

}

case Subtract:

{

if(left< right)

return false;

return true;

}

case Multiply:

{

return true;

}

case Divide:

{

if(right== 0)

return false;

if(double(left/right)!= double(double(left)/double(right)))

return false;

return true;

}

}

return false;

}

//依据给定操作符,生成符合条件的表达式。

void getFormula(int* left,int*right,enOp op)

{

//srand(time(NULL));

for(;;)

{

*left= 1+ rand()% MaxNum;

*right= 1+ rand()% MaxNum;

if(checkFormula(*left,*right,op)&& myResult(*left,*right,op)<= MaxResult&& myResult(*left,*right,op)>= MinResult)

break;

}

}

int main()

{

//操作符左值

int left[Num];

//操作符右值

int right[Num];

//用户输入计算结果

int result[Num];

//操作符+-*/

enOp oper[Num];

//正确答案个数

int answerRight= 0;

cout<<"正在生成,请稍等。"<<endl;

//随机种子

srand(time(NULL));

//开始生成计算表达式。

for(int i= 0;i<Num;i++)

{

//srand((unsigned)time(NULL));

//操作符

oper[i]= enOp(rand()%4);

getFormula(&left[i],&right[i],oper[i]);

}

cout<<"生成计算式完成,开始答题!"<<endl;

//输出表达式,让用户答题

for(int i= 0;i<Num;i++)

{

//输出表达式

cout<<"第"<<i+1<<"题:\n";

cout<<left[i]<<''<<enum2char(oper[i])<<''<<right[i]<<"=";

//获取用户答案

cin>>result[i];

//比对用户答案是否正确,正确输出 right,answerRigth加一,否则输出not correct。

if(result[i]== myResult(left[i],right[i],oper[i]))

{

cout<<"Right!\n";

answerRight++;

}

else

{

cout<<"Not correct!\n";

}

}

//全部答题完毕,输出正确答案个数及得分。

cout<<"终止答题,共"<<Num<<"题,每题"<<PerMark<<"分,答对"<<answerRight<<"题,得分:"

<<answerRight*PerMark<<"分。";

//屏幕停止。

getch();

return 0;

}

c语言编程题,如何编写运算符优先级

第3题:1,0,3(本题和运算符优先级有关,可看插图)

第4题:第一空:scanf("%c",&c);(因为前有变量char类型变量c,而第一个printf语句为提示让我们输入数据的语句,不难看出咱们少了一个输入语句,所以是用scanf,注意scanf里面的书写)

第二空:c>='0'&&c<='9'

第三空:c>='A'&&c<='Z'

(第五题在下面)

优先级图1

优先级图2

第5题:第一空:op(这里可以去复习一下switch语句格式)

第二空:'-'

第三空:break

解答完毕,你也可以在自己的软件里也运行一下,感受一下。

C语言单目和双目运算符的区别

单目运算符和双目运算符的区别只有一个,那就是操作数(变量或常量)数量的不同。

单目运算符只对一个操作数进行逻辑运算。

比如: num++(自增), num--(自减),!num(取非值),~num(按位取反)。

双目运算符只对两个操作数进行逻辑运算。

比如: num1+ num2, num1- num2, num1> num2

扩展资料:

除了单目和双目运算符,还有一个三目运算符。

三目运算符就是对三个操作数进行逻辑运算。目前三目运算符只有一个:num1= num1> 3? 1: 2

这段程序的意思是:如果变量num1的值,大于3,那么变量num1的值就变为1,否则num1的值就

变为2

关于本次c语言运算符op和!c语言的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

探险者协会声望,魔兽世界热砂保护协会声望html网站制作素材(网站制作)