C语言的几个问题
1:字母只读一个,而数字可以很多个一起读。 (我汗,以前都没注意着,C的题目越出越细了)
2.空格也是字母的一种如果是10 20 AB,那么10 20 读的没错,但c1=‘_’,c2='A'。先读空格(补充下1的回答)
3:那个逗号有,你输数据的时候也要相应的有逗号,D里z是double型,应该用%lf;
4:长度是3没错 ,逗号同上 至于那个45678,45后面是不是有空格的啊。空格说的是数字取到这里结束咯。浮点数打印的时候小数点后6~7位都打出来的,没有实际价值。
5:输入流 %3.2指的是一共有3位,包含小数点。
6:scanf里没有逗号,所以输入的时候也不能有逗号 ,此题y=',' 这个数据时不确定的
7:同5;4.2f 一共4位,包含小数点,小数点后取两位
8:选A的话ABC之间没有空格,看了我上面的,第8题应该没问题了
9:字符型变量ch,能够赋值给他的只有单个字符和小于255的数字,至于为什么小于255,等你看了书后面的内容就懂了
10:B选项指的是16进制的ff,就是‘\255’,asc码里是有这个字符的
10:
第一个问题出在变量s没有初始化,让s=1就行了
第二个把后面的else语句删除,你是想输出质数的吧~
#include
#include
main()
{
int i,j,k;
for(i=100;i<=200;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0)
break;
if(j>k)
printf("%d",i);
}
}
第三个问题也可以用对应的ascll码,另外最终输出时printf("%d %d %d %d",a,b,c,d);中的c应为f~代码如下:
#include
main()
{
char c='';
int a=0,b=0,f=0,d=0;
while((c=getchar())!='
')
{
if((c>='a'&&c='A'&&c<='Z'))
a++;
else if(c==32)
b++;
else if(c>='1'&&c<='9')
f++;
else
d++;
}
printf("%d %d %d %d",a,b,f,d);
}
t=x&&x>10中“>”的优先级最高先执x>10,但是x在“x=10”,已经被初始为10,不于10,所以返回为逻辑假即 0。而“&&”的优先级高于“=”所以先判断“x&&0”为逻辑假即为0。所以t被赋值为0。
2.在C语言中,逻辑“真”等价于不等于0的数。什么意思啊?
除零外的任何数1,2,3,4.。。。。都表示真,只有0才表示假。
3.执行下列程序段,其输出结果是(0,0,5)
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d\n",a,b,c);
a-=a-5等同于a-=(a-5),即a=0-(-5),所以a=5。c=(a-=a-5),所以c=5,
a=b,所以a又被重新赋值为0,b为初始值。所以输出为0,0,5
1 因为 x>0是假的 所以x&&x>10也是0 把这个值赋给了t 所以t就是0了
2 只要一个数不是0 就认为这个数是真的
3 c=(a-=a-5),(a=b,b+3);
先计算a-=a-5 此时a=5
然后是c=(a-=a-5) c=5
然后计算逗号右边 a=b 此时a=0
b+3 这句话没意义
因此最后结果是 0 0 5
t=x&&x>10,=的优先级最低,所以执行顺序实际上是t=(x && (x>10));
x>10为假,所以最后t为0
就是整数0可以表示逻辑"假",其他数表示逻辑"真"
,的优先级最低,所以先执行c=(a-=a-5),a-5为-5,a-=-5就是把a的值加上5,所以a变成5,再赋给c,c也变成5.
再执行(a=b,b+3),b的值为0,所以a=b后,a变成0,b+3的结果没有赋给哪个值,b仍是0.
【悬赏】几个C语言初学的问题,求解,求解!谢谢
1、必须定义file *fp 或file fp。2、dat文件可以存放文本文件。3、extern之后就变成全局。可以一开始就extern,没有出现过也没有关系。这个extern是最大的全局。不局限在两个文件之间。所有的文件都可以使用。一般的所谓全局变量作用域只是在自己的文件中。5、&+普通变量表示地址,数组名就是地址,如果...
go语言的出现非常奇怪,有几个问题请高手答案一下~~~??
1:go与c语言相比,go有垃圾回收,不会造成内存泄露问题,go的语法简洁优美,同样的c++100行代码go大概50行可以做到,go的目标是能做C++能做的事,虽然目前可能不太实际 2:go的并行机制并不是一般的线程,通过channel和goroutine来实现,比线程还要轻量级很多,所以go适合高并发的服务器端 3:go是系统...
问几个C语言scanf函数和printf函数问题?
第一个问题:因为读取数字时,遇到非数字字符就结束读取了,非数字字符就可以在下一次读取。所以,数字和字母之间可以不用空格隔开。读取字符的后面,如果要读取数字,空格不是必须要加的,只是看起来更清楚一点罢了(不加空格也是可以的)。第二个问题:在使用scanf()输入字母时,字母和字母之间不能有...
关于c语言的几个题目,求助
include <stdio.h>int main(void){ char input[100];\/\/输入字符串 int flag[256]={0};\/\/标记每个字符的出现次数(只处理ASCII码) char *ptr;\/\/要求用指针处理 char *temp; printf("please input a string:"); scanf("%s",input);\/\/接受输入 for(ptr=input;*ptr...
C语言程序设计中几个很基础的问题,求大神帮忙解答,感激不尽~~_百度...
AF 1%2为1除2的余数为1 int m=10\/11.0=0 10\/11.0应该为小数 然后转换成了int型为小数的整数部分及0 m==8 此时10==8为假则为0 2\/3为0 两int型相除 结果用int存储 ~m&m为0 因为自身与自身的反做交的话肯定是0 F ~(m|m)=~m=-11 此中的为二进制计算 G !m 为0 ...
我有几个关于学习C语言路线的问题,高手帮下忙
如果比较一下的话,VB算是先甜后苦,C语言算是先苦后甜吧。1.《C Primer Plus》上面的指针相关学完可以了,不用一下子深入太多。指针的问题,可以在以后编窗口程序时碰到了再慢慢研究。当然,既然你学了C,指针这样的特色功能自然要好好研究一下,但不用一下子全学透。2.C不显式支持面向对象,...
关于pascal语言for语句的几个小问题(急急急)
第一个:var c,sum:integer;begin sum:=0;for c:=1 to 50 do sum:=sum+2*c-1;writeln(sum);end.第二个:var c,sum:integer;begin sum:=0;for c:=1 to 34 do sum:=sum+c*3-2;writeln(sum);end.第三个:var a:array[1..10] of integer;c,d,e:integer;k:real;begin for...
言语交际的最大困难是什么?为什么?
在人际交往过程中,有大部分时间是靠语言完成的,所以一个人的言语、谈吐是十分重要的。由于我们是在安庆,我在这里就重点分析安庆人的语言问题。 粗话、脏话在安庆人中是很常见的。记得有一天,我到学校停车场去放自行车时,就听见几个初一学生的对话: “ 他妈的!!!老子叫你传球听没听见?!!” “老子的球是一百三...
关于汉语言文字学的几个疑问
看来你对北大中文系比较倾心,那我就找来北大中文系汉语言文字学的几个方向一起看看:01.现代汉语02.汉语方言03.汉语史04.古文字学05.中文信息处理06.对外汉语教学 其实汉语言文字也无非就是这几个方向,本人就读于南开,就把南开汉语言文字的几个方向拿来对照一下:01汉语语法学 02汉语语音学和方言...
java语言hashcode和真实物理地址的关系以及相关几个问题
第一,输出的是:getClass().getName() + "@" + Integer.toHexString(hashCode()),这是jdk对toString方法的实现。第二,“==”比较的就是一个对象的引用地址是否相同,即是不是一个对象。即不是左右两边非一个对象的话,该运算就返回false。hashcode和物理地址没关系,只是一种约定,并非强制性的...
强柿双藤: SPSR = 0; n 因为 SPSR = 0; 是一个完整的语句,后面的 n 是另外一个语句,也就是一个变量,在这个语句后也要加 ; 才正确.SREG|=0X80 中的 “|”是 C 语言中的按位或操作符,也就是把 SREG 中的每一位与 0x80的每一位进行或操作,注意操作中不进位.SREg=0x80 是赋值语句,将 0x80 的值传送到 SREg 中.return(acxx) 和 return acxx 没有区别.关于调用一个数组,d 数组被调用时,如果是传值调用,d 中元素的值不变,如果按指针调用,调用 d 的函数可以改变 d 中元素的值.
雷州市13586232144: C语言中的几个问题 - ?
强柿双藤: 前者是预处理命令中的条件编译,不过第一句#if(a>0)应该是错的,预处理器应该无法判断(a>0) 的值 后者是一个表达式,TMRSET &= B0000_1111 ,TMRSET=TMRSET&B0000_1111,这2个值或者是定义的变量,或者是宏定义的常量和表达式
雷州市13586232144: C语言中几个问题?
强柿双藤: 1,x=y++的含义是x=y;y++;如果x=++y,结果才是x=11 2,这个问题你是不是打错了?如果前者也是p*=i的话,那么他们的功能是不同的,因为第一每循环一次p都被重新赋值为1,最后为p=5;而第二个只在第一次循环的时候赋值p=1,其余p值为上次循环得到的值,结果为p=5! 3,'\'是转义字符,他后面接数字的话代表一个字符的ASCII码,'\72'代表了'H' 建议你自己动手写点代码运行以下,设断点追踪一下就可以得到这些答案 初学者要多动手,这很有帮助
雷州市13586232144: C语言的一些问题?
强柿双藤: 第一题:数组a的长度为变量n,这种定义数组的方式是错误的.定义数组时,数组长度可以用符号常量表示.例如#define N 40float s[N] 第二题:应改成 scanf("%s",str); 用%s格式输出一个字符串时,在输出表列中只需给出字符串的首地址,一 维数组直接用数组名,而二维数组可以看成是由多个一维数组构成的. 第三题:%d表示按整形的实际长度输出;%f表示按小数格式输出,整数部分按实际位数输出,6位小数. 所以要改成:a已定义为整型,b定义为实型 a=3;b=4.5; printf("%d%f\n",a,b);
雷州市13586232144: 几个C语言问题1.数学中一元二次方程的求根公式的C语言表达式为?2.梯形面积公式的C语言表达式? - ?
强柿双藤:[答案] (1)ax^2 + bx + c = 0 double x1=(-b+sqrt(a*a-4ac))/2a; double x2=(-b-sqrt(a*a-4ac))/2a; (2)double S=(top+bot)*h/2;
雷州市13586232144: c语言里几个简单的问题? - ?
强柿双藤: 第一个问题,说的是汇编里的表示方法吧,正和负的确是不一样的,第二题是值是多少,要看用什么数据类型存储或者输出类型决定,如果超出对应数据类型的范围值,就会造成溢出,结婚肯定不对了第三题,和第二题一样,如果i为0时,再减1会出现溢出,造成程序出错
雷州市13586232144: C语言中的某些问题?
强柿双藤: 1、无符号类型是一个不带正负号的一个数值,有符号类型就是带上正负号的数值. 2、用户自定义函数,顾名思义,就是你自己构造的一个函数,是一个自己写的函数,里面的算法,是你自己想出来的独一无二的,它与系统函数相对,系统函...
雷州市13586232144: c语言几个问题?
强柿双藤: 1.systme("cls") 清屏 2.你的price是在循环里面获得的.不是在循环外面获得的,所以还会在循环有相等的时候,恭喜打印出来,接下去不循环了! 3.getch() 获取下一个字符
雷州市13586232144: c语句的问题 - ?
强柿双藤: 1、C程序就是C语言写出来的程序.就像中文歌曲是汉语写出来的一样. 2、C语句是C程序的组成部分,写了它它就能照着你的意思做一些事情,比如你让它几个数字按大小排序之类的. 3、这个问题有点问题.程序...
雷州市13586232144: 关于C语言的一些问题 - ?
强柿双藤: 1,无区别2,char本质是int型,是用ascii码来表示的,所以会有负值.3,s为字符型时,s++表示当前字符的ASCII+1,为结构体,共用体,文件类型时,不能++运算,为数组和字符串时,s表示指针,s++表示指向下一个数据或字符.4不可以嵌套定义函数