全都是一些c++基础问题,可是困扰了我很久了,明天考试,帮个忙好吗吧~

关于C++的一些基础问题。但我还是不知道。。。。。_百度知道
关于C++的一些基础问题。但我还是不知道。。。。。
常量:描述在程序运行中值不发生变化的数据。请挑出下列常量中合法的描述。
'a', '\n',
'\x1f' , '\101', '&#珐肠粹段诔灯达犬惮华92;018', '\ab',
0x123, 0239,
1e2.2求解答。。。。
谢谢!!!
提问者采纳
首先你要把常量的意思弄明白!!!常量分好多种:'a'——字符型常量'\n'——特殊字符型常量'\x1f'——合法字符型常量(十六进制数)'\101'——不合法'\018'——不合法(八进制出现8了)'\ab'——不合法&a&——不合法(用双引号表示是字符变量)0x123——合法十六进制整型常量0239——不合法八进制整型常量(最大只能出现7)&0&——合法整型常量123——合法整型常量e9——不合法的浮点型常量1e2.2——不合法浮点型常量推荐你一本书《C程序设计第三版》 作者:谭浩强。里面关于这些有很详细的解珐肠粹段诔灯达犬惮华释,比较适合有一点基础的初学者
提问者评价
非常非常Thanks!
其他类似问题
其他4条回答
珐肠粹段诔灯达犬惮华'\101', '\018','a',0x123,,1e2.2
这种题目只会在作业和考试中出现,实际应用中基本不会碰到‘a’,字符a的数值,好像是970x123,16进制下的1230239,8进制下的239123,10进制下的1231e2.2,浮点数的一种表示方法以上均为常量
有这么几个原则:单引号内是字符常量,一般是一个byte双引号内是字符串常量,编译器会自动添加\0在末尾作为结束符\转义序列里,\ddd为三位八进制 ,\xhh为二位十六进制。整形常量,0开头的是八进制表示,0x开头为16进制表示,0b开头为2进制表示。科学计数法,必须是以数字开头,指数为整数。所以 '\018' 、0239(八进制最大数字为7)、 '\ab'(应该写作\0xab)、e9、1e2.2有误。另外,多嘴一句,教科书上可以这么设问,编程的时候不要混用三位八进制与两位十六进制,以及十六进制整数与八进制整数常量。最好统一转换成16、10或者8进制,可在注释中说明。便于理解,避免维护中出错。
字符常量表示形式:1.
'a'2.
'\x1f'3.
\n \t
\x表示后面的字符是十六进制,\0表示后面的字符是八进制,任意字符都可以以这种形式表示\为转义字符,表示一些特殊字符,换行等所以'a', '\n',
'\x1f' , '\101' 都是正确的而'\018'
0开头表示是八进制表示法,所以8超标了,错误整型常量:0x123
0x是16进制表示法,正确0239
9超标了,错误&a&,
表示字符串,虽然只有一个字符,但系统会自动再加个\0e9,
1e2.2这两个记数法的很少用,不懂
等待您来回答
为您推荐:
下载知道APP
随时随地咨询
出门在外也不愁c++编程的一些基础问题_百度知道
c++编程的一些基础问题
d=i;i& return 0;=a;c; cin&&&gt,i;#include&
cout&lt,答案写的不是0的啊;&b&gt,d;
s1=s1+d*d;c,s2=0; for(i=1;iomanip&gt,s1=0;=b;&lt,sum=0; using namespace std?盼指出;=c;i++) {
d=i; int main() { setprecision(2)& } sum=s+s1+s2,c; } for(i=1,b#include& cout&&a&&gt,s=0;i&}为什么我输出的两位小数每次都是0呢;
s2=s2+1/
s=s+d;iostream&i++) {
d=i; } for(i=1
提问者采纳
应该是s2=s2+1/ds2=s2+1/c
提问者评价
其他类似问题
其他2条回答
变量类型是双精度浮点数double。。。所以是两位小数
我运行没问题啊!!
等待您来回答
为您推荐:
下载知道APP
随时随地咨询
出门在外也不愁问题已关闭
代为完成的个人任务
提问需要满足:其他人可能遇到相似问题,或问题的解决方法对其他人有所助益。如果通过其他方式解决遇到困难,欢迎提问并说明你的求知过程。
C++编程弱成渣,求大神们看看这个基础中的基础问题如何解决?
两年没摸才语言了,今年又报了计算机二级考试,打开VC++6.0编了个hello world,死活运行不了,简直要哭瞎了。我把我每一步的操作贴上,求大神们指导。&br&先是新建文本文件。&br&&img src=&/bdd0cafed15fa8871f82cfc83a83be0d_b.jpg& data-rawwidth=&641& data-rawheight=&527& class=&origin_image zh-lightbox-thumb& width=&641& data-original=&/bdd0cafed15fa8871f82cfc83a83be0d_r.jpg&&然后点击compile&img src=&/4bb4c54e043a3f0da18a_b.jpg& data-rawwidth=&42& data-rawheight=&71& class=&content_image& width=&42&&&br&出现&img src=&/0fee825a72dbb77d0625ca3_b.jpg& data-rawwidth=&470& data-rawheight=&195& class=&origin_image zh-lightbox-thumb& width=&470& data-original=&/0fee825a72dbb77d0625ca3_r.jpg&&选择是。&br&出现&img src=&/8a179dca18628afdda3f903c926c5038_b.jpg& data-rawwidth=&454& data-rawheight=&320& class=&origin_image zh-lightbox-thumb& width=&454& data-original=&/8a179dca18628afdda3f903c926c5038_r.jpg&&,在桌面上新建了文件夹,打开,保存,结果出现了这个。&br&&img src=&/ec26462ecba2dbae2a7b05b94ed8f7df_b.jpg& data-rawwidth=&482& data-rawheight=&190& class=&origin_image zh-lightbox-thumb& width=&482& data-original=&/ec26462ecba2dbae2a7b05b94ed8f7df_r.jpg&&,后面就不对了。&br&&img src=&/187cea8b769f5a271fd8d4_b.jpg& data-rawwidth=&389& data-rawheight=&211& class=&content_image& width=&389&&&br&&img src=&/f8c4b7b90b79ec6af821ca630cbcff55_b.jpg& data-rawwidth=&200& data-rawheight=&185& class=&content_image& width=&200&&==========================================================&br&查了百度,,把桌面上的新建文件夹改成&img src=&/eb56b372ec93ed0b3b369e29_b.jpg& data-rawwidth=&110& data-rawheight=&110& class=&content_image& width=&110&&,还是不行,完全没变化。。&br&我连hello world都弄不成了,还要啥自行车。。大神们请帮我看一下这个怎么整,请一步步的截图明示,否则我怕我智商跟不上。&br&谢谢了!!
两年没摸才语言了,今年又报了计算机二级考试,打开VC++6.0编了个hello world,死活运行不了,简直要哭瞎了。我把我每一步的操作贴上,求大神们指导。先是新建文本文件。…
按投票排序
楼上各位,题主固然对于C/C++编程的理解是0,但是他有个很可贵的闪光点 -- 对于问题的描述非常精确,没有掺杂自己的主观臆想。如果我的客户和测试都这么向我描述问题,我要笑不动了,我小孩的学习成绩应该也能有所提高。所以请大家轻喷!!------
补充 -------------题主的问题这么有诚意,我的回答也须要一点时间来思考的:)先声明,考级和写程序完全是两码事。就像郎朗,王羽佳都没有考过级一样,以写程序谋生的人,一般没考过级,我也不例外 ^_^我会试着从'考级'和'C/C++编程'两个角度来解答本问。先是'考级'角度的回答:@nonesuccess 说的是对的,VC不能编译单个源文件,必须要编译一个"工程"。@止境 的回答也很具体,可操作性非常强,只是注意工程类型,不是"win32 application",而是"win32 console app (控制台应用)"。如果选错了工程类型,机器也不会坏掉,最多就是,WinMain找不到,printf打印的东西你看不到,而已,你扔了重建就是。然后就是反复地 编辑修改,"Build", "Run", "Debug" ... 直到你对程序的行为满意为止 :)需要注意的是"Compile"这个按钮,一般来说不是你想要的,原因见下面。'C/C++编程'角度的回答:题主的基本概念严重缺乏。C/C++是一种'编译型'高级语言对吧,那么就要搞清楚是'编译(compile)'。一般来说,'编译(compile)',是把一个或多个human-readable的高级语言源文件-- 比如 hello_world.c --,变成一坨OS和机器能懂的 binary code+data -- 比如 any.exe.概括一下,编译器的输入是源文件,输出是可执行模块。那么题主题目中的第一个困惑就是,你不能把还未保存的'Text1*'去送给编译器,因为你还没有保存,你那些代码,只停留在IDE的内存空间里,磁盘上(严格地说是文件系统上)连源文件都没有,你让编译器干什么去?然后,现实中C/C++代码的编译过程是要比'一般来说'复杂的,即便我们为了说事方便简化一下,也有两个步骤。第一步,所有.c or .cpp文件,编译成.obj文件(.obj你可以理解为汽车上的各种零件,都是实打实的东西,但是还不能直接当车开) 第二步,把第一步得到的.obj文件,和一堆.lib文件放在一起,(.lib就是你从外界打包采购来的'零件')组装成一个汽车,也就是any.exe。这个步骤,我们叫'链接(link)'。可以看到,'编译compile'这个术语,有二义性,有时候仅指上述步骤一,有时候则涵盖步骤一和步骤二。(在VC的IDE里,'compile'就是狭义的步骤一,而'build'是步骤一+步骤二)有点复杂了是吧,可这还是极度简化的模型。狭义编译步骤中,还需要告诉编译器,去哪里找.h文件?是否要#define一些宏?要不要debug symbol?什么程度的debug symbol?做什么优化?做什么特化? ...少说有几十种'开关',跨平台的编译器比如gcc,有几百种。链接步骤也不简单,连哪些.lib?到哪里去找那些.lib?做一个'窗口'应用,还是printf应用,还是动态库?如果是exe,那么入口点是main还是WinMain还是一个我自己定的地方?...一个项目里几十几百个.c源代码,我要是改了其中一个.c文件, 就把其他.c文件也都(狭义)编译一下,是不是很二?我要是改了一个.h文件呢,到底那些.c文件需要再(狭义)编译,哪些则不需要?复杂了是吧,这还是大大简化的模型!源文件不见得都是我们写的,可能是从其他语言源文件机器翻译出来的.c文件,比如 oracle的嵌入式sql,或者著名的lex/yacc组合;.lib也不见得都是现成的,可能是我们之前写的另一个项目,也可能是要从互联网动态下载一个git仓库当场编译出来的;参与最后'连接'的,除了.obj,.lib,还可能有.res,那个.res是要根据.rc来编译的,你做一个win32 app的时候,可以'画form',那些个'form'就放在.rc里...这么多环节,常人哪里搞得清楚, 即便是靠写程序吃饭的人中,80%搞不清楚!那么以对初学者亲切友好面目示人的我大MS,就发明了VC的'工程(project)'这种概念,把上述庞大的环节,变成一个UI上'设定'的过程,相应地也有一些限定,比如,VC的IDE,只能编译'工程',不能直接编译再连接一个single .c source。这就是你被告知"requires an active project workspace"的原因。说了这么多,我完全没有提过c/c++语法对不对?因为基本概念比语法更重要,而语法本不应该是需要特别化力气去学的东西,就像没有哪个文学家专门学过语法。所谓考级,大部分纠结与'语法'这种靠解读编译错误提示也能自学个八成的东西上,与真正的编程实在是不在一个次元上啊 :)
不是我说你们唉,20多个人,都是写代码的大牛,一个hello world写不出来告诉他不就行了,楼主也是初学者,有必要去挖苦人家嘛。唉,其实我挺同情楼主的,因为在我上大学的时候也是这样,啥都不会,英语差,也不知道学,后面知道学了,才发现,没人教我。后悔的是自己。所以,如果你以后要凭这个吃饭,还是要多下下功夫了。=======================回归正题,由于我不是搞C++的,回答你的问题基本上都是凭借曾经学校时期的记忆来回答吧。首先,打开vc,点文件→新建→工程→win32 application然后,再右侧有个工程名称,输入test.c;目录指定一个就可以了;下面的平台,勾选win32,点确定。再然后,就是hello world的代码,如下:#include &stdio.h&
#include &conio.h&
int main(void) { //你的代码中在这里有问题
printf("hello world!");
getch();//可要可不要
最后,直接运行『工具栏中红色的叹号按钮』就可以看到一个win32窗口弹出,显示的hello world!了。到此结束。========================另外,计算机二级C语言考试上机部分,就用的是这个IDE,所以,必须得会用,如果我没记错的话3月底就该考试了,祝你顺利通过。
语法错误我先不说你了你好歹把文件存成.c吧
第一步就不对:先是新建文本文件。应该先新建工程。
题主好可爱
没看错的话是vc++6.0?这个ide很老了,没啥人用,如果想学c++做工程师的话建议换,初学可以下个devcpp,或者visual studio最新版本。一定要坚持用这个版本的话,已经六七年没用vc了,按照记忆说一说。细节不对的,你要有自主修正的能力。不能新建文本文件,要先新建工程。点击文件-》新建,应该会出一个对话框,左右两栏还是什么样的记不清了,会找到一个选项,大意是c++控制台项目。选好,点各种下一步,按照提示操作,应该是需要输入一个工程名。建好工程后,主界面左侧会出现新建的工程的目录树,印象中会帮你建一个cpp文件。建了的话就用,没建的话,自己建一个。新建工程的目录树中应该有个叫source之类的文件夹,是用来放cpp的,自己建的cpp文件要放在这个文件夹中。然后打开这个cpp文件,把你的源代码输进去。前面几步做的没问题的话,会有语法着色。然后执行编译、运行,快捷键印象中是F5和ctrl+F5,就可以看见结果了。各位回只言片语的,忘了自己当年是怎么被ide坑的么?能多说几句就多说几句吧
打开界面,文件——新建然后选择如图的那个选项之后在输入之后在输入再之后再之后再再之后 按F7,看到如下窗口再再之后 按F7,看到如下窗口再按Ctrl+F5再按Ctrl+F5结束。PS:也可以像上面所说的首先新建工程。题主要是还不会。。。那也别问我了。
不试试Qt和Qt Creator?
你的老师有点问题啊,我们老师当初至少是带我们上机的,虽然机房都是大爷机。(另外就像楼上说了你新建的是文本文档,我仔细回忆了一下VC6.0的界面,印象中是新建一个空的c/c++ console,在下面新建一个c/c++源文件,编译好了无错误点击build),回答这种问题不敢让人看见,可耻的匿了
你有问题的不是C++,而是英语。
请找一本C的教材来照上面写的步骤办,不要自己猜着玩。(如果你要用visual c++,请注意所选的书也是vc++的。)
1.save as a .cpp
file . 2. where is main function's ' ( ) ' 3.void main() to int main()
4. main function end with ' return 0 ; '
before ' } '
看一下书吧
保存的时候后缀要改成cpp,不能是txt啊void main后面是要加() 的
就是void main()
为何不用 Visual Studio 2013 for Desktop (或许我该在后面加一个 Express)?
建立文本档出问题了。
首先应当新建C++工程 你新建的好像是文本而已,所以没法编译.txt文档 并且void main()
我记得好像输出用cout&&如果没有变色 也就是函数什么的没有提示,那你得检查是不是建的类型对不对了C++基础问题,困扰我几天了,求指教。_百度知道
C++基础问题,困扰我几天了,求指教。
&/&#47,char s)/
cout&&quot:&&&lt.display( ); }应该怎么改;;/sex#include&&lt.display( );zhang d=fun&wang li&&&
Student stu2(2;
private.&name&&/int main(){ Student stu1(1,&string&gt:
Student student (&
stu1;未定义标示符“num”
name=);&num&
stu2;&endl,'sex&&&定义构造函数
num=n;);/
sex=s;iostream&gt,&);&&&&/应输入声明 #include&
}}~Student ()/}:&;m'&声明Student类{ 析构函数声明无效
cout&&&lt,'pause&
return 0;constructor called&quot:/ &f'未定义标示符“num”
cout&&lt:&
void display()
cout&/class Student /&#47,&quot
提问者采纳
&&&#47.display( ),这个程序的情况就是主程序结束时;/);&
stu2:错误一;class Student /}已经注明了;system(&quot,请用此方法;&lt:
Student(int n,zhang d=fun&&&置于return 0; iostream&gt:&):&&lt,便无法显示析构信息;);错误四;;&lt,'sex&name&/cstdlib&)要包含这个头文件(此程序不推荐)using namespace std,构造函数是不设返回类型的
num=n;}'&/&/wang li&quot,请按ctrl+F5运行;
Student stu2(2;&lt:&quot#include&
void display()
cout&&lt,见最后评论
return 0;&lt:/'&声明Student类{ public:看注的部分;/pause&pause&num&&lt,对照你的源码 析构函数的调用是在对象生命周期节束时;string&gt,&quot,导致你的虚构函数无定义
~Student ()&#47,&&
private:错误三;sex,阻碍了析构函数语句的显示.&quot,提示,char s)/num.display( ); char sex,'&析构函数声明无效
cout&f'/注;&lt,请楼主注意一下小细节:错误二;&&
cout&lt,使用了system(&};#include&int main(){
Student stu1(1; 注,你将system(&&lt,如果加上证明类定义结束;/&pause&
cout&lt,这个括号是多余的,在程序结束前硬性暂停,析构还没执行;/应输入声明 &constructor called&
sex=s;未定义标示符“num”
/定义构造函数 注;);#include &/m'/未定义标示符“num”
name=/之前;
提问者评价
其他类似问题
其他2条回答
Student student (定义构造函数
num=n;&&lt:&
/&析构函数声明无效
cout&&num&
}}/未定义标示符“num”
cout&lt,所以下面的部分都不属于这个类;/&&未定义标示符“num”
cout&name&&&&#47,char s)//sex&
cout&&&&&#47:&quotclass Student /&&&&lt.&quot,你再检查一下括号~Student ()&#47:&
void display()
cout&&&/Student 类到这个地方已经结束了;constructor called&quot:/声明Student类{ &应输入声明
&/&quot,/& &
Student student (int n,string nam,char s)这里函数名要跟类名一样啊。还要有::应该改为Student::Student(int n,string nam,char s)还有就是}~Student ()这里的多了个}system(&pause&);这个我不知道要来干什么。我去掉后,就可以出现析构函数的那句话。
等待您来回答
为您推荐:
下载知道APP
随时随地咨询
出门在外也不愁关于C++的基础问题,高手帮忙。_百度知道
关于C++的基础问题,高手帮忙。
1:例如这样一段for(vector&int&::size_type ix=0;ix !=ivec.size();++ix),我所不理解的是,这一段vector&int&::size_type ix=0,vector&int&::size_type 这样一段是什么意思?2:vector&int&::size_typ畅订扳寡殖干帮吮爆经e ix=0,后面的变量ix是一个什么类型的变量,是容器的变量?还是什么其他的变量?3:ix这个变量被前面vector&int&::size_type这个定义成了一种在怎样的类型?与int ix有什么区别?为什么不直接用int ix,vector&int&::size_type ix这样做是否是必需的?这样做的好处是什么?本人初学者,有什么地方问的不对还望多多指点,高手帮忙。本人一个星期之后采纳答案,没法子在上班啊。
首先非常感谢各位的回答,以下是我的问题补充:1:简单说是否就是说vector&int&::size_type ix,是否就是相当于定义ix为无符号整型?2:还有一个弱智的问题,例如:vector&int&::size_type ix畅订扳寡殖干帮吮爆经这样一段,能否可以用string::size_type ix来代替,反正都是定义ix为无符号整型?3:size_type能否可以直接使用?
提问者采纳
1,首先vector是C++中的标准模板类(STL)。使用的时候必须要加上相应的数据类型,比如像这里的vector&int&。然后size_type是这个类的数据成员所以前面必须要加上作用域符号(::)。而size_type在MSDN中是这样定义的:vector::size_typetypedef A::size_type size_The unsigned integer type describes an object that can represent the length of any controlled sequence.其实就是一个无符号整数的数据类型。这样第二个问题也解决了。3,可以直接用int ix啊,不过由于迭代器下标一般是无符号整数,所以最好用unsigned int(因为如果是int类型在迭代器自减时可能出现负数)。这样做的好处就是体现了类的封装性。好多类都是用有意义的符号定义需要的数据类型。我理解的就这么多。建议你多看看MSDN和C++基础语法,很多问题都好理解了。还有什么问题再交流。 回答你的补充问题:1,vector&int&::size_type ix,就是相当于定义ix为无符号整型!2,可以用string::size_type ix来代替(我亲自试了下)因为string类中同样定义了size_type。而且还是无符号整数MSDN上是这么介绍的:basic_string::size_typetypedef A::size_type size_The unsigned integer type describes an object that can represent the length of any controlled sequence.3,size_type肯定不可以直接使用啊。它是在特定的类里面定义的,所以要加上类名和作用域符号(::)如果你非要直接使用也可以在前面加上这个定义畅订扳寡殖干帮吮爆经啊:typedef unsigned int size_
提问者评价
非常感谢诸位,很难选择,一楼回答的非常好,但介于5楼的兄弟回答较为详尽,艰难抉择之下,只能这样了。
其他类似问题
其他4条回答
1:size_type 这个是说在vector中定义的类型,也就是描述ix的类型,其实不用管,当做int的就行。size_type 从字面上就能看出是描述“size”的类型畅订扳寡殖干帮吮爆经。2:同一3:vector&int&是指这个vector中元素是int类型的,是int类型的vector,int类型的数组懂的吧。这个是书上的代码吧,一般将标准库的书上的代码都是很规范的,跟微软vs的说明文档有的一拼。 我是做嵌入式软件的,现在一般都用c,在学校的时候学的是c++,有什么不懂的可以问我。
我来总结一下,楼主的核心问题是在:size_type与int上纠结
这个问题在C++primer上有详细的解释,肯定能帮到楼主,书中以string中的size_type为例说明,下面我贴一段出来。
以下为引用段:
string::size_type类型
从逻辑上来讲,size() 成员函数似乎应该返回整形数值,或如 2.2 节“建
议”中所述的无符号整数。但事实上,size 操作返回的
是 string::size_type 类型的值。我们需要对这种类型做一些解释。
string 类类型和许多其他库类型都定义了一些配套类型(companion type)。
通过这些配套类型,库类型的使用就能与机器无关(machine-independent)。
size_type 就是这些配套类型中的一种。它定义为与 unsigned 型(unsigned
int 或 unsigned long)具有相同的含义...
同意一楼,也学习一下~~~适不适合移植我不太清楚,不过这样程序应该更清晰因为ivec.size()的返回类型应该是size_type的,不会产生隐式类型转换的问题
size_type为vector的内置类型,主要用来记录数据个数。相当于unsigned int.定义成这样主要是防止遍历时数组下标下溢。另外定义成这样,还能够达到程序移植的目的。可以直接用int,不过这样习惯不太好
高手帮忙的相关知识
等待您来回答
为您推荐:
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 帮个忙好吗 的文章

 

随机推荐