首页 > 软件 > C++题目求解!

C++题目求解!

软件 2024-07-23

c语言编程题目求解

题目1: 使用if多分支结构: c #include int main() { int score; printf("请输入学生的成绩:\n"); scanf("%d", &score); if(score>=90 && score<=99){ printf("学生的成绩等级为A\n"); }else if(score>=80 && score<=89){ printf("学生的成绩等级为B\n"); }else if(score>=70 && score<=79){ printf("学生的成绩等级为C\n"); }else if(score>=60 && score<=69

C语言题目求解

第一个问题:两单引号间夹一个字符意味着把中间的字符转换成ASCII码,对于char类型,其实要用ASCII码赋值,换句话说其实ch = 'a';等价于ch = 97;,所以'a'事实上已经把a转化为ASCII码的数字编号,可以用于数字加减。

第二个问题:用了Dev C++和VisualStudio测试过都是非法的,原因大概是因为\0和空还是有本质上的区别。

'\0'是字符串的结束标志,虽然它的意义上是空,我们也可以当做空来理解,然而对于计算机而言,它并不是空,而是一个确确实实存在的标识符,它告诉编译器字符串在这里结束了。

而'',则是实实在在的空,它里面什么都没有,是真的没有(无论对于你而言还是计算机而言),所以编译器无法读取中间的数据,于是就报错了(我反而觉得如果存在不报错的编译器,是该编译器的一种优化,它就应该报错才对)

另外测试过char ch='\0';是正确的,用转义字符可以成功地录入“空字符”。

c语言题目求解

这是考查学生对按位与“&”运算符和逻辑判断的理解。在C语言中,按位与“&”运算符的运算规则如下(二进制数):
0&0=0;
0&1=0;
1&1=1;
1&0=0;
逻辑判断“!=”的结果有两种,即真或假;真时值为1;假时值为0。
在代码中的语句:
y=(x&4)!=0;
执行时,先进行 x&4 的计算,所得的结果再与0比较,比较的结果值再给y。

4的二进制数是0100(实际该写00000000000000000000000000000100,这里写4个位就可以了);
7的二进制数是 0111;
8的二进制数是 1000;
所以
输入 7时,7&4=0111&0100=0100=4,
4!=0这是真,所以y=1;
输入 8时,8&4=1000&0100=0000=0,
0!=0这是假,所以y=0。

这样将y输出,也就知道了数x第2位的值了(注意,说位时,一般是从第0位开始的)。
下在在手机上用易历知食软件里的微C程序设计来验证一下结果,手机上的代码如下:

手机上的运行结果如下:

C语言题目求解

第一题:输出ef。 解释:printf("%s",p+5)语句输出从地址p+5起至第一个空字符址的字符串。 第二题:三个空依次填:str+strlen(str)-1,strlen(str)/2;,t != 1。 第三题: #include #define max 100 void main() { char a[max], b[max], *p, *q; int num1, num2; printf("Please input the first string:\n"); scanf("%s", a); printf("Please input the second stri

C语言题目求解

31、设i为int型变量,且初值是3,则表达式“i++-3”的值是_____0________。 32、设 int a=3,b=5,c=7;,则表达式a>c||c>b!=0&&c==b+a 的值为_0__。 优先级问题 先算a>c 为0 然后 c>b为1 之后c==b+a为0 后c>b!=0即1!=0为1 之后c>b!=0&&c==b+a 即1&&0为0,之后(a>c)||(c>b!=0&&c==b+a)为0 33、将十进制数35转换成二进制数是___100011___________。 34、变量定义如下:float x; int y;则输入语句应写作___scanf("%f",&x)___

标签:C(编程语言) 编程 CC++ 信息技术 编程语言

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18