第一篇:大一C语言重点(大一学生复习必备)
大一C语言重点。。复习必备。。
总体上必须清楚的:
1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。3)计算机的数据在电脑中保存是以 二进制的形式.数据存放的位置就是 他的地址.4)bit是位 是指为0 或者1。byte 是指字节, 一个字节 = 八个位.5)一定要记住 二进制 如何划成 十进制。概念常考到的:
1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。5、break可用于循环结构和switch语句。6、逗号运算符的级别最低。第一章
1)合法的用户标识符考查:
合法的要求是由字母,数字,下划线组成。有其它元素就错了。并且第一个必须为字母或则是下划线。第一个为数字就错了。
关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。2)实型数据的合法形式:
2.333e-1 就是合法的,且数据是2.333×10-1。考试口诀:e前e后必有数,e后必为整数。.3)字符数据的合法形式::
'1' 是字符占一个字节,“1”是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:
考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。5)转义字符的考查:
在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。在程序中 int a = 06d, 是一个八进制的形式。
在转义字符中,‟x6d‟ 才是合法的,0不能写,并且x是小写。„141‟ 是合法的,0是不能写的。„108‟是非法的,因为不可以出现8。6)算术运算符号的优先级别:
同级别的有的是从左到右,有的是从右到左。7)强制类型转换:
一定是(int)a 不是 int(a),注意类型上一定有括号的。
注意(int)(a+b)和(int)a+b 的区别。前是把a+b转型,后是把a转型再加b。8)表达式的考查:
是表达式就一定有数值。赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。自加、自减表达式:假设a=5,++a(是为6),a++(为5);
运行的机理:++a 是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这
个++a表达式的数值为6,而a++是先用该表达式的数值为5,然后再把a的数值加上1为6,再放到变量a中。进行了++a和a++后在下面的程序中再用到a的话都是变量a中的6了。
考试口诀:++在前先加后用,++在后先用后加。
逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。(2,3,4)的表达式的数值就是4。9)位运算的考查:
会有一到二题考试题目。总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。
例1: char a = 6, b;
b = a<<2;这种题目的计算是先要把a的十进制6化成二进制,再做位运算。例2: 一定要记住,例3: 在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以2。10)018的数值是非法的,八进制是没有8的,逢8进1。11)%符号两边要求是整数。不是整数就错了。12)三种取整丢小数的情况:
1、int a =1.6; 2、(int)a;
3、第二章
1)printf函数的格式考查:
%d对应整型;%c对应字符;%f对应单精度等等。宽度的,左对齐等修饰。%ld对应 long int;%lf 对应double。2)scanf函数的格式考察:
注意该函数的第二个部分是&a 这样的地址,不是a;
Scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入的第三个数据。3)putchar ,getchar 函数的考查:
char a = getchar()是没有参数的,从键盘得到你输入的一个字符给变量a。putchar(„y‟)把字符y输出到屏幕中。
4)如何实现两个变量x,y中数值的互换(要求背下来)不可以把 x=y ,y=x;要用中间变量 t=x;x=y;y=t。
5)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)这个有推广的意义,注意 x =(int)x 这样是把小数部分去掉。
第三章
特别要注意:c语言中是用非0表示逻辑真的,用0表示逻辑假的。1)关系表达式: 表达式的数值只能为1(表示为真),或0(表示假)
当关系的表达是为真的时候得到1。如 9>8这个是真的,所以表达式的数值就是1; 2)逻辑表达式:
只能为1(表示为真),或0(表示假)a)共有&& ||!三种逻辑运算符号。b)!>&&>|| 优先的级别。
c)注意短路现象。考试比较喜欢考到。
d)要表示 x 是比0大,比10小的方法。0 else 是与最接近的if且没有else的相组合的。4)条件表达式: 表达式1 ?表达式2 :表达式3 注意是当非0时候是表达式2的数值,当为0是就是表达式2的数值。考试口诀:真前假后。5)switch语句: a)一定要注意 有break 和没有break的差别,书上(34页)的两个例子,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了swiche语句。 b)switch只可以和break一起用,不可以和continue用。 第四章 1)三种循环结构: a)for(); while();do-while()三种。 b)for循环当中必须是两个分号,千万不要忘记。 c)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。d)do-while()循环的最后一个while();的分号一定不能够丢。(当心上机改错)2)break 和 continue的差别 记忆方法: break:是打破的意思,(破了整个循环)所以看见break就退出真个一层循环。 continue:是继续的意思,(继续循环运算),但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。3)嵌套循环 就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。 4)while((c=getchar())!=‟n‟)和 while(c=getchar()!=‟n‟)的差别 先看a = 3!= 2 和(a=3)!=2 的区别: (!=号的级别高于=号 所以第一个先计算 3!=2)第一个a的数值是得到的1;第二个a的数值是3。 考试注意点: 括号在这里的重要性。 第五章 函数:是具有一定功能的一个程序块; 1)函数的参数,返回数值(示意图): main(){ int a = 5,b=6,c;c = add(a,b);printf(“%d”,c);} 调用函数 a,b是实参 整个函数得到一个数值就是 Add函数的返回数值。int add(int x, int y){ int z;z=x+y;return z;} 被调用函数 x,y是形式参数 函数返回数值是整型 z就是这个add函数计算后得到的结果,就是函数返回给主程序的返回数值。 程序是在从上往下顺序执行,当碰到了函数add后,把a,b的数值穿给调用函数,程序暂时中断等待返回数值。当得到了返回数值后,再顺序的往下执行 2)一定要注意参数之间的传递 实参和形参之间 传数值,和传地址的差别。(考试的重点)传数值的话,形参的变化不会改变实参的变化。 传地址的话,形参的变化就会有可能改变实参的变化。3)函数声明的考查: 一定要有:函数名,函数的返回类型,函数的参数类型。不一定要有:形参的名称。 第六章 指针变量的本质是用来放地址,而一般的变量是放数值的。int *p 中 *p和p的差别: *p可以当做变量来用;*的作用是取后面地址p里面的数值 p是当作地址来使用。 *p++ 和(*p)++的之间的差别:改错题目中很重要 *p++是 地址会变化。 (*p)++ 是数值会要变化。三名主义:(考试的重点) 数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次)函数名:表示该函数的入口地址。 字符串常量名:表示第一个字符的地址。 第七章 1一维数组的重要概念: 对a[10]这个数组的讨论。 1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。 2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。 对a[3][3]的讨论。 1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。 2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。3、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。 4、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,同时它们都是列指针,a[0]+1,a[1]+1,a[2]+1都是跳一列。 5、注意a和a[0]、a[1]、a[2]是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。 二维数组做题目的技巧: 如果有a[3][3]={1,2,3,4,5,6,7,8,9}这样的题目。 步骤一:把他们写成: 第一列 第二列 第三列 a[0]à ->第一行 a[1]à 4 —>第二行 a[2]à 7 ->第三行 步骤二:这样作题目间很简单: *(a[0]+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a[0][1]元素,所以是1。 *(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是a[1][2]元素,所以是6。一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写 int a[]={1,2} 合法。int a[][4]={2,3,4}合法。但int a[4][]={2,3,4}非法。二维数组中的行指针 int a[1][2]; 其中a现在就是一个行指针,a+1跳一行数组元素。搭配(*)p[2]指针 a[0],a[1]现在就是一个列指针。a[0]+1 跳一个数组元素。搭配*p[2]指针数组使用 还有记住脱衣服法则: a[2] 变成 *(a+2)a[2][3]变成 *(a+2)[3]再可以变成 *(*(a+2)+3)这个思想很重要! C语言学习心得 通过半个学期的学习,我由以前的对C语言的懵懂与好奇逐渐转变为熟悉与理性,也逐渐发现了其中的博大精深。还是在上个学期的时候,我就渴望着学习C语言,而当我真正学习他的时候,却发现它并非我想象中的那么好学。我还记得刚上第一节课的时候,我是满怀信心的去听的,到最后却听的一头雾水。随着课程的深入,我发现自己越来越跟不上老师的进度,这让我感到很心慌。我觉得自己应该静下心来好好学学,然后我就从第一章开始慢慢的看,通过反复的看,我慢慢的对C语言的总体结构有了一个了解,也知道了#include 以上是我对C语言的总体认识,下面我想说一下我的编程体会。我现在发现,对于书上的代码,我能够看懂他们的意识,但当自己去编写的时候,却相当的不顺利,我觉得主要有以下几点困难:一是对于在编程的时候没有一个总体的思路,我不知道应该如何来进行一个总体的布局,还有我不知道应该如何来运用各种语句,比如对于“顺序结构程序设计”,我对scanf函数就感到很难,还有一些比如“字符输入输出函数”,也是感觉到很麻烦的。而对于“分支结构程序设计”,我对于if语句与switch语句感觉区别不是很大,我也不能够熟练的运用。对于”循环结构程序设计“我觉得这是特别重要的一章,对于C语言程序设计来说,这应该是承上启下的一章。而对于第五章,我感觉学起来很费劲。因此,我还要花更多的时间去学习它。 最后,我想说一下我以后将如何学习它,俗话说孰能生巧,我觉得在学习C语言时,我们离不开大量的练习。我觉得凡事都一样,只要功夫深,就一定能学好,其次呢,我要多学习一些经典的案例,前不久我们学院举行了一次讲座,有一位成功的学长跟我们分享他的成功纪念,他就讲到,要多看一些人编的好的程序,这对我们这些初学者有很大的帮助,还有,就是要注重实战的训练,当我们没事的时候,就用电脑多编编程,这样,对于自己的编程能力一定会有一个大的高。 通过这半个学期的学习,我对与C语言也有了一定的了解,我相信我一定能把他学好的。 大一语文复习重点 1、诗经六义的理解 (一)《诗经》是我国第一部诗歌总集,收入西周初期至春秋中叶间的诗歌三百零五篇。所谓《诗经》中的“六义”,即是指“风、雅、颂”三种诗歌形式与“赋、比、兴”三种表现手法。 (二)风、雅、颂、赋、比、兴。其中风、雅、颂是按不同的音乐分的。郑樵云:“风土之音曰风,朝廷之音曰雅,宗庙之音曰颂。”(具见《通志序》)《风》包括15部分,大部分是黄河流域的民间乐歌,称作“十五国风”共160篇。《雅》分为《小雅》(74篇)和《大雅》(31篇),是宫廷乐歌,共105篇。《颂》包括《周颂》(31篇),《鲁颂》(4篇),和《商颂》(5篇),是宗庙用于祭祀的乐歌和舞歌,共40篇。 2、竹林七贤:魏正始年间(240-249),嵇康、阮籍、山涛、向秀、刘伶、王戎及阮咸七人,常在当时的山阳县(今河南辉县、修武一带)竹林之下,喝酒、纵歌,肆意酣畅,世谓竹林七贤。竹林七贤的作品基本上继承了建安文学的精神,但由于当时的血腥统治,作家不能直抒胸臆,所以不得不采用比兴、象征、神话等手法,隐晦曲折地表达自己的思想感情。 3、鲁迅(1881~1936),中国文学家、思想家、革命家和教育家。原名周树人,字豫才,浙江绍兴人,1881年9月25日诞生。出身于破落封建家庭。青年时代受进化论、尼采超人哲学和托尔斯泰博爱思想的影响。1902年去日本留学,原在仙台医学院学医,后从事文艺工作,希望用以改变国民精神。1905—1907年,参加革命党人的活动,发表了《摩罗诗力说》、《文化偏至论》等论文。期间曾回国奉母命结婚,夫人朱安。1909年,与其弟周作人一起合译《域外小说集》,介绍外国文学。同年回国,先后在杭州、绍兴任教。1918年5月,首次用“鲁迅”的笔名,发表中国现代文学史上第一篇白话小说《狂人日记》,奠定了新文学运动的基石。五四运动前后,参加《新青年》杂志工作,成为“五四”新文化运动的主将。1918年到1926年间,陆续创作出版了小说集《呐喊》、《彷徨》、论文集《坟》、散文诗集《野草》、散文集《朝花夕拾》、杂文集《热风》、《华盖集》、《华盖集续编》等专集。其中,1921年12月发表的中篇小说《阿Q正传》,是中国现代文学史上的不朽杰作。从1927年到1936年,创作了历史小说集《故事新编》中的大部分作品和大量的杂文,收辑在《而已集》、《三闲集》、《二心集》、《南腔北调集》、《伪自由书》、《准风月谈》、《花边文学》、《且介亭杂文》、《且介亭杂文二编》、《且介亭杂文末编》、《集外集》和《集外集拾遗》等专集中。鲁迅的一生,对中国文化事业作出了巨大的贡献:他领导、支持了“未名社”、“朝花社”等文学团体;主编了《国民新报副刊》(乙种)、《莽原》、《语丝》、《奔流》、《萌芽》、《译文》等文艺期刊;热忱关怀、积极培养青年作者;大力翻译外国进步文学作品和介绍国内外著名的绘画、木刻;搜集、研究、整理大量的古典文学,编著《中国小说史略》、《汉文学史纲要》,整理《嵇康集》,辑录《会稽郡故书杂录》、《古小说钩沈》、《唐宋传奇录》、《小说旧闻钞》等等。1938年出版《鲁迅全集》(二十卷))。中华人民共和国成立后,鲁迅著译已分别编为《鲁迅全集》(十卷),《鲁迅译文集》(十卷),《鲁迅日记》(二卷),《鲁迅书信集》,并重印鲁迅编校的古籍多种。1981年出版了《鲁迅全集》(十六卷)。北京、上海、绍兴、广州、厦门等地先后建立了鲁迅博物馆、纪念馆等。鲁迅的小说、散文、诗歌、杂文共数十篇(首)被选入中、小学语文课本。小说《祝福》、《阿Q正传》、《药》等先后被改编成电影。 4、张爱玲,中国现代作家。本名张煐。是一位著名女作家,后因入学需要,母亲黄逸梵(又名黄素琼)以英文名Eileen译音,1920年9月30日出生在上海公共租界西区的麦根路313号的一幢建于清末的仿西式豪宅中。张爱玲的家世显赫,祖父张佩纶是清末名臣,祖母李菊耦是朝廷重臣李鸿章的长女。张爱玲一生创作大量文学作品,类型包括小说、散文、电影剧本以及文学论著,她的书信也被人们作为著作的一部分加以研究。1944年张爱玲结识作家胡兰成与之交往。1973年,张爱玲定居洛杉矶,1995年9月8日,张爱玲的房东发现她逝世于加州韦斯特伍德市罗彻斯特大道的公寓,终年75岁,死因为动脉硬化心血管病。 她笔下的女性是实实在在的:自私、城府,经得起时间考验。就是这些符合人情的角色的永恒性加重了她文字里苍凉的味道,反复地提醒着世人所有的文明终会消逝,只有人性的弱点得以长存于人间。至于她本人亦是斤斤计较的小女人:认为摸得到、捉得住的物质远较抽象的理想重要。《第一炉香》和《第二炉香》却成为她的成名作,替张爱玲向上海文坛宣布了一颗夺目的新星的来临。张爱玲的这两篇文章是发表在由周瘦鹃先生主持的《紫罗兰》杂志上的。继之而来的《红玫瑰与白玫瑰》《倾城之恋》《金锁记》等等更奠下她在中国现代文学重要的地位。张爱玲最有名的一本集子取名叫《传奇》其实用传奇来形容张爱玲的一生是最恰当不过了。张爱玲既写纯文艺作品,也写言情小说,《金锁记》《秧歌》等令行家击掌称赏,《十八春》则能让读者大众如醉如痴,这样身跨两界,亦雅亦俗的作家,一时无两;她受的是西洋学堂的教育,但她却钟情于中国小说艺术,在创作中自觉师承《红楼梦》《金瓶梅》的传统,新文学作家中,走这条路子的人少而又少。五十年代初她辗转经香港至美国,在此期间曾经创作小说《秧歌》与《赤地之恋》,因其中涉及对大陆当时社会状态的描写而被视为是反动作品。 5、汪曾祺出生江苏高邮城镇旧式地主家庭,从小就受到良好的传统教育和艺术的熏陶,中学时代就读于高邮县中学和江阴南菁中学,表现出强烈的爱好文学的倾向。江苏高邮人,当代作家、散文家、戏剧家。早年毕业于西南联大,历任中学教师、北京市文联干部、《北京文艺》编辑、北京京剧院编辑。在短篇小说创作上颇有成就。著有小说集《邂逅集》,小说《受戒》《大淖记事》,散文集《蒲桥集》,大部分作品,收录在《汪曾祺全集》中。被誉为“抒情的人道主义者,中国最后一个纯粹的文人,中国最后一个士大夫。”汪曾祺作品汪曾祺的散文没有结构的苦心经营,也不追求题旨的玄奥深奇,平淡质朴,娓娓道来,如话家常。汪曾祺的散文写风俗,谈文化,忆旧闻,述掌故,寄乡情,花鸟鱼虫,瓜果食物,无所不涉。汪曾祺散文的平淡质朴,不事雕琢,缘于他心境的淡泊和对人情世故的达观与超脱,即使身处逆境,也心境释然。他的作品间或也流露出道家主张的随缘自适、自足自保的悠然任化的意趣,但断然有别于魏晋文人的清谈和颓废,在本质上他对人生的理解和描绘是乐观向上的,相信“人类是有希望的,中国是会好起来的”。 6、苏轼:苏轼生于宋仁宗景祐三年,[4]是宋代著名文学家,唐宋八大家之一,和其父苏洵,其弟苏辙并称“三苏”。]苏轼生性放达,好交友,[6]好美食,[7]创造许多饮食精品,[8]好品茗,[9]亦雅好游山林,[10]黄庭坚称他“真神仙中人”。苏轼一生创作了大量诗篇,流传于后世的有2700多首。他的诗有一个最突出的主题:同情人民、关心生产。苏轼的写景诗和理趣诗也有很高的艺术价值,并脍炙人口。他不但善于观察和捕捉各地景物的特点,还能写出农村环境的清新朴厚。如:他在岭南写的农村景物诗就充分体现出惠州百姓和黎族人民融洽的关系。苏轼善于从日常的生活和普通自然的小景中领悟新意妙理,从而写成引人深思的理趣诗。苏轼散文中的议论文汪洋恣肆,记叙文结构谨严,苏轼擅长写行书、楷书,与黄庭坚、米芾、蔡襄并称为“宋四家”。苏轼擅长画墨竹,且绘画重视神似,主张画外有情,画要有寄托,反对形似,反对程序的束缚,提倡“诗画本一律,天工与清新”,而且明确地提出了“士人画”的概念,对以后“文人画”的发展奠定了一定的理论基础。其作品有《古木怪石图卷》、《潇湘竹石图卷》等。 7、屈原;屈原(约公元前340-前278),中国古代伟大的爱国诗人。汉族,出生于楚国丹阳,名平,字原通常称为屈原,又自云名正则,号灵均,楚武王熊通之子屈瑕的后代。屈原虽忠事楚怀王,却屡遭排挤,怀王死后又因顷襄王听信谗言而被流放,最终投汨罗江而死。屈原是中国最伟大的浪漫主义诗人之一,也是我国已知最早的著名诗人,世界文化名人。他创立了“楚辞”这种文体,也开创了“香草美人”的传统。战国时期楚国贵族出身,任三闾大夫、左徒,兼管内政外交大事。他主张对内举贤能,修明法度,对外力主联齐抗秦。后因遭贵族排挤,被流放沅、湘流域。公元前278年秦将白起一举攻破楚国首都郢都.8、婉约派为中国宋词流派。婉约,即婉转含蓄。其特点主要是内容侧重儿女风情,结构深细缜密,音律婉转和谐,语言圆润清丽,有一种柔婉之美。婉约派的代表人物有李煜、柳永、晏殊、欧阳修、秦观、周邦彦、李清照(宋代最著名的女词人)等。婉约词风长期支配词坛,直到南宋,姜夔、吴文英、张炎等大批词家,以及后世诗词之风,皆受其影响。 9、豪放派,中国宋词风格流派之一。北宋诗文革新派作家如欧阳修、王安石、苏轼、苏辙都曾用“豪放”一词衡文评诗。第一个用“豪放”评词的是苏轼。据南宋俞文豹《吹剑续录》载:“东坡在玉堂,有幕士善讴,因问:‘我词比柳词何如?’对曰:‘柳郎中词,只合十七八女孩儿执红牙拍板,唱杨柳岸晓风残月。学士词,须关西大汉,执铁板,唱大江东去。’公为之绝倒。”这则故事,表明两种不同词风的对比。南宋人已明确地把苏轼、辛弃疾作为豪放派的代表,以后遂相沿用。 10、鸳鸯蝴蝶派[1],是由清末民初言情小说发展而来,20世纪初叶在上海“十里洋场”形成的一个文学流派。由于许多作品内容,动辄以“一双蝴蝶,卅六鸳鸯”来比拟书中的才子佳人,因此被称为鸳鸯蝴蝶派。1914年鸳鸯蝴蝶派早期最有影响的杂志《礼拜六》出版后,也被称为“礼拜六派”。又称才子佳人小说。我国旧体小说的一种。指将文艺当作消闲品、专写才子佳人的种种哀情、艳情、惨情、苦情的小说,属言情小说范畴。鸳鸯蝴蝶派小说是当时广受欢迎的以才子佳人情节为主的市民小说,包括言情、社会、黑幕、娼门、家庭、武侠、神怪、军事、侦探、滑稽、历史、宫闱、民间、公案等各种类型。代表人物:包天笑、徐枕亚、张恨水、吴双热、吴若梅、程小青、孙玉声、李涵秋、许啸天、秦瘦鸥、冯玉奇、周瘦鹃等。 11、国学热:即为中国传统文化学习的热潮。近几年来,许多研究中国传统文学的学者,都呼吁、提倡,学习中国传统文化,不要忘本。于是这些学者就进而以不同方式进行了不同影响的宣传,激起了中国人民对重学中国传统文化的激情。文言文是国学的精华,在中考高考中所占比重越来越大,作为炎黄子孙,我们有义务学好国学。 C语言程序设计实验报告 姓名: 班级: 学号: 实验内容: 编写一个程序,从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每一个数字(每个数字之间用三个空格分开)。例如用户输入了42339,屏幕输出结果为: 【提示】巧妙使用 / 和 % 两种运算符。源代码: #include long int num,a,b,c,d,e; scanf(“%ld”,&num);a=num/10000;b=num%10000/1000;c=num%1000/100;d=num%100/10;e=num%10;printf(“%ld %ld %ld %ld %ldn”,a,b,c,d,e);} 运行结果: 实验内容: 已知三角形三边a,b,c,计算三角形的面积。 注:三角形面积公式为area=[s(s-a)(s-b)(s-c)]的1/2次幂 S=1/2*(a+b+c)源代码: #include } scanf(“%lf%lf%lf”,&a,&b,&c);s=(a+b+c)/2;if(a>0 && b>0 && c>0){ area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area=%lfn”,area);} else printf(“输入错误,三角形边长不能为负数或0n”);运行结果: 实验内容: 输入圆的半径,计算出圆的周长和面积 源代码: #include double r,z,area,pi=3.14159;scanf(“%lf”,&r);if(r>0) { z=2*pi*r;area=pow(r,2)*pi;printf(“圆面积为%lf周长为%lfn”,area,z);return 0; } } else printf(“输如错误,圆的半径不能为负数或0n”);运行结果: 实验内容: • 体型判断。按“体指数”对肥胖程度进行划分: 体指数t = 体重w /(身高h)2 (w 单位为公斤,h单位为米) – 当t < 18时,为低体重; – 当t介于18和25之间时,为正常体重; – 当t介于25和27之间时,为超重体重; – 当t >= 27时,为肥胖。 • 编程从键盘输入你的身高h和体重w,根据给定公式计算体指数t,然后判断你的体重属于何种类型。• 用3种方法编程: – 算法1:用不带else子句的if语句编程 – 算法2:用在if子句中嵌入if 语句的形式编程 – 算法3:用在else子句中嵌入if 语句的形式编程 算法1:源代码: #include float w,h;double t;scanf(“%f%f”,&h,&w);if(w<=0 || h<=0){ printf(“输入错误,身高体重不能为负数或0n”);} { t=w/pow(h,2); if(t<18){ printf(“低体重n”); goto loop; goto loop; } if(t>=18 && t<25) { } if(t>=25 && t<27){ printf(“超重体重n”); goto loop;} if(t>=27){ printf(“正常体重n”);goto loop; printf(“肥胖n”); } } loop:return 0;} 运行结果: 算法2:源代码: #include #include float w,h;double t;scanf(“%f%f”,&h,&w);if(w<=0 || h<=0){ printf(“输入错误,身高体重不能为负数或0n”);} { t=w/pow(h,2);if(t<25){ if(t>=18){ } printf(“正常体重n”);goto loop;goto loop; printf(“低体重n”);} if(t>=25){ if(t<27){ } printf(“超重体重n”);goto loop; printf(“肥胖n”);} } loop:return 0;} 运行结果: 算法3:源代码: #include float w,h;double t;scanf(“%f%f”,&h,&w);if(w<=0 || h<=0)printf(“输入错误,身高体重不能为负数或0n”);else { } t=w/pow(h,2);if(t<18)printf(“低体重n”);else { } if(t>=18 && t<25)printf(“正常体重n”);else { } if(t>=25 && t<27) printf(“超重体重n”);else printf(“肥胖n”);return 0;} 运行结果: 实验内容: 编写一个程序,计算-32768~+32767之间任意整数(由键盘输入)中各位奇数的平方和。源代码: #include } int a,b=0,c=0,i;scanf(“%d”,&a);for(i=0;i<5;i++){ if(a%2!=0){ } a/=10;} printf(“%dn”,b);return 0;c=a%10;b=b+c*c; 运行结果: 实验内容: 设有一四位数abcd=(ab+cd)2,编写一个程序,求a、b、c、d。源代码: #include for(num=1000;num<=9999;num++){ a=num/1000; } 运行结果: } return 0;b=num%1000/100;c=num%100/10;d=num%10;if(num==pow((10*a+b+10*c+d),2))printf(“a=%db=%dc=%dd=%dn”,a,b,c,d); 实验内容: 鸡兔问题:鸡兔共30只,脚共有90个。编写一个程序,求鸡、兔各多少只。源代码: #include } 运行结果: int x,y;for(x=0;x<=45;x++){ } return 0;for(y=0;y<=22;y++)if(x+y==30 && 2*x+4*y==90)printf(“鸡有%d只,兔有%d只n”,x,y); 实验内容: 编写一个程序,求S值(n由键盘输入): (程序检验参考: x=6.66,n=8时,s=40.955;x=6.66,n=15时,s=-1.511 源代码: #include #include double jiecheng(int); double s=0,x=6.66; } double jiecheng(int x){ } double f;if(x==0||x==1)f=1;int n,i;scanf(“%d”,&n);for(i=1;i<=n;i++){ } printf(“%.3fn”,s);return 0;s=s+pow(-1,i)*pow(x,i)/jiecheng(i);else f=jiecheng(x-1)*x;return f; 运行结果: 实验内容: 编写一个程序,求前 n 项之和S值,其中 n≥1,x ≠ 0。(n由键盘输入): 2x 5x 13x S = ── ── + ──-── +...2x 5x 13x(程序检验参考:x=6.66,n=8时,s=-16.492;x=6.66,n=15时,s=-28.469)源代码: #include int a=1,b=2,n,i,t=0; double s=0,x; scanf(“%lf%d”,&x,&n); if(n>=1) { for(i=1;i<=n;i++) { if(i%2) { s+=pow(-1,i+1)*a/(b*x); t=a; a=b; b=t+b; } else { s+=pow(-1,i+1)*a*x/b; t=a; a=b; b=t+b; } } printf(“%fn”,s); } return 0;} 运行结果: x3x5x7x9x,3!5!7!9! 实验内容: 利用泰勒级数sin(x)≈ 计算sin(x)的值。要求最后一项的绝对值小于10-5,并统计出此时累加了多少项。 (程序检验参考:x=6时,sin(x)=-0.279415,count=13)源代码: #include double s=0,x; int i,count=0;scanf(“%lf”,&x);for(i=1;;i+=2){ } s+=pow(-1,count)*pow(x,i)/jiecheng(i);count+=1;if(fabs((pow(x,i)/jiecheng(i))) } printf(“sin(x)=%f count=%dn”,s,count);return 0;double jiecheng(int i){ } 运行结果: double f;if(i==0||i==1)f=1;else f=jiecheng(i-1)*i;return f; 实验内容: 三色球问题。若一个口袋中放有12个球,其中有3个红色的,3个白色的,6个黑色的,从中任取8个球,问共有多少种不同的颜色搭配? 源代码: #include int i,j,k,way=0; for(i=0;i<=3;i++) { for(j=0;j<=3;j++) { for(k=0;k<=6;k++) { if(i+j+k==8) way=way+1; } } } printf(“way=%dn”,way); return 0;} 运行结果: 实验内容:编程打印以下图案 ****** ****** ****** ****** 源代码: #include int i,j;for(j=1;j<=4;j++){ for(i=1;i<=4-j;i++) } { printf(“ ”);} printf(“******n”); return 0;} 运行结果: * *** ***** ******* 源代码: #include int i,j;for(j=1;j<=4;j++) { for(i=1;i<=2*j-1;i++) } printf(“*”);printf(“n”);return 0;} 运行结果: * * * * * * * * * * * * * * * * * * * * * * * * * 源代码: #include int i,j,m,n;for(j=1;j<=7;j++){ if(i<5) { } else { m=j-4;n=(15-2*j);m=4-j;n=2*j-1; } for(i=1;i<=m;i++) printf(“ ”); for(i=1;i<=n;i++)printf(“*”); printf(“n”);} return 0;} 运行结果: 实验内容: 输出下三角形乘法九九表--------1 2 3 4 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 源代码: #include 9n”); for(j=1;j<=i;j++) { printf(“ %d ”,k=i*j); } printf(“n”);} return 0;} 运行结果: 《C语言程序设计》实验报告 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验一 熟悉VC++环境 专业: 班级: 学号:学生姓名 实验日期:成绩: 二、实验目的 1.熟悉C程序编辑环境,掌握主要菜单项的作用。 2.熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。3.熟悉C程序的基本输入输出语句 三、实验内容 1.书本第一章的例一程序。 2.由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include { int a,b,sum;scanf(“%d%d”,&a,&b);sum=a+b; printf(“sum is %dn”,sum);return 0;} 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结) 《C语言程序设计》实验报告 实验日期: 2015.03.19 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验二 顺序结构程序设计 二、实验目的 (1)掌握C语言数据类型以及变量的声明。 (2)掌握C语言的赋值运算符、赋值表达式、赋值语句。(3)掌握C语言的整型和字符型的混合运算。(4)掌握C语言的输入、输出函数的使用格式。 三、实验内容 1.2.3.有人用温度计测量出华氏温度,现输入华氏温度f,请编写程序把它转换为摄氏温度c。已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数)将字符串“China”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.2.硬件环境:当前所有电脑硬件环境均支持。软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include 2.源程序代码: #include 3.源程序代码: #include 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结) 《C语言程序设计》实验报告 实验日期: 2016-4-2 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验三 分支结构程序设计 二、实验目的 (1)了解选择结构及逻辑量的用法。 (2)掌握关系运算符和逻辑运算符的使用。(3)掌握if语句和switch语句的使用。(4)掌握多重条件下的if语句嵌套使用。(5)学会调试程序。 三、实验内容 教材P77实验内容2、3、4共三个程序。 四、实验环境 1.2.硬件环境:当前所有电脑硬件环境均支持。软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.输入三角形的三条边a、b、c,判断它们能否构成三角形。若能构成三角形,求出三角形面积,若不能,输出信息。(三角形面积area=sqrt(s(s−a)(s−b)(s−c)),其中s=(a+b+c)/2)源程序代码: #include float a,b,c,s,area; printf(“输入三边的长度:n”); scanf(“%f%f%f”,&a,&b,&c); s=(a+b+c)/2; if(a+b>c&&a+c>b&&b+c>a) { printf(“%f”,s); } else printf(“不能构成三角形”);} 运行结果为: 2.输入一个字符,请判断是字母、数字还是特殊字符。源程序代码: #include 3.编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,−,*,/(用switch语句实现)。源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结) 《C语言程序设计》实验报告 实验日期: 2016-04-23 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验四 循环结构程序设计 (一)二、实验目的 (1)熟练掌握用while语句do…while语句和for语句实现循环的方法。 (2)掌握循环的嵌套。(3)进一步学习调试程序。 三、实验内容 1. 2. 3. 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。输出小写字母的ascii码对照表。计算:s=1+12+123+1234+12345 四、实验环境 1.2.硬件环境:当前所有电脑硬件环境均支持。软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include char ch; int char_num=0,kongge_num=0,int_num=0,other_num=0; while((ch=getchar())!='n') { if(ch>='a'&&ch<='z'||ch<='z'&&ch>='a') { char_num++; } else if(ch==' ') { kongge_num++; } else if(ch>='0'&&ch<='9') { int_num++; } else { other_num++; } } printf(“字母= %d,空格= %d,= %dn”,char_num,kongge_num,int_num,other_num); return 0;} 运行结果为: 数字= %d,其它 2.源程序代码: #include 3.源程序代码: #include int main(void){ using namespace std;int sum = 0;int max = 12345;while(max!= 0){ sum += max;max /= 10;} cout << sum << endl;return 0;}运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结) 《C语言程序设计》实验报告 实验日期: 2016.04.30 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验四 循环结构程序设计 (二)二、实验目的 (1)熟练掌握用while语句do…while语句和for语句实现循环的方法。 (2)掌握循环的嵌套。(3)进一步学习调试程序。 三、实验内容 1. 输出100 以内具有10个以上因子的整数,并输出他的因子。2. 输出图形 A ABC ABCDE ABCDEFG 3. 求s=1+(1+2)+(1+2+3)+… +(1+2+3+…+n),要求n从键盘输入。 四、实验环境 1.2.硬件环境:当前所有电脑硬件环境均支持。软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include “stdio.h” int main(void){ int a[50],n,i,j,k; for(i=30;i<101;i++){ for(n=0,k=i>>1,j=2;j<=k;j++) if(i%j==0) a[n++]=j; if(n>9){ printf(“%d: %3d”,i,1); for(j=0;j printf(“n”); } } return 0;} 运行结果为: 2.源程序代码: #include main(){ printf(“ A n”);printf(“ ABC n”);printf(“ ABCDE n”);printf(“ ABCDEFG n”);} 运行结果为: 3.源程序代码: #include “stdio.h” #include “conio.h” main(){ int n,s=0,z=0,i,j; printf(“please input a num to n:n”); scanf(“%d”,&n); for(i=1;i<=n;i++) { for(j=1;j<=i;j++) { z=z+j; } s=s+z; } printf(“s=%dn”,s); getch();} 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结) 《C语言程序设计》实验报告 实验日期: 2016.05.07 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验五 数组 二、实验目的 (1)掌握一维数组和二维数组的定义和使用方法。 (2)掌握字符数组和字符串函数的用法。 三、实验内容 1. 2. 3. 使用数组编写程序,计算Fibonacci数列的前50项并输出。 使用数组编写程序,采用冒泡排序法对10个数按由小到大的顺序排序并输出。使用数组编写程序,分别统计并输出一行字符的英文字母、数字、空格和其他字符的个数。 四、实验环境 1.2.硬件环境:当前所有电脑硬件环境均支持。软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include 2.源程序代码: #include printf(“s[%d]=”,k); scanf(“%d”,&s[k]);} for(int i=0;i flag=0; for(int j=1;j if(s[j-1]>s[j]){ temp=s[j]; s[j]=s[j-1]; s[j-1]=temp; flag=1; } if(!flag)break;} printf(“n排序后数组为:n”);for(int j=0;j printf(“s[%d]=%dn”,j,s[j]);} 运行结果为: 3.源程序代码: #include char a[100];cin>>a; int j;int m=0;int n=0;int l=0;int k=0; for(j=0;a[j]!=' '&&j if(a[j]<'9'&&a[j]>'0') { m++; } else if(a[j]==' ') { n++; } else if(a[j]<='z'&&a[j]>='a'||a[j]<='Z'&&a[j]>='A') { l++; } else { k++; } } cout<<“the sum of number ”< return 0;} 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)第二篇:大一学生C语言学习心得
第三篇:大一语文复习重点
第四篇:大一C语言上机实验报告
第五篇:大一c语言程序报告