C语言期末复习题_第1页
C语言期末复习题_第2页
C语言期末复习题_第3页
C语言期末复习题_第4页
C语言期末复习题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、 答 1、 指 有哪些 型?指 的 型,跟他所指向的数据 构有关 , 基本 型的指 指向基本 型的数据 构。2、函数式宏定 和函数 有什么不同?( 1)函数式宏定 的参数没有 型, 理器只 做形式上的替 ,而不做参数 型 ,所以 参 要格外小心。( 2) 用真正函数的代 和 用函数式宏定 的代 生成的指令不同。( 3)函数式宏定 要注意格式,尤其是括号。( 4)若函数参数 表达式, 普通函数的 用与函数式宏定 的替 程是不一 的。( 5)函数式宏定 往往会 致 低的代 行效率。3、 指 程有哪些 点?(1) 提高 速度,又 省大量内存。(2) 可以用来做数据 型 ,比 常用于通 冲区的填充

2、。(3) 可以用在大量分支 理的 例当中。(4) 在数据 构中, 表、 、 等大量的 用都离不开指 。4、 c 言中, 量 什么要先定 后使用?(1) 于 器 理更方便。(2) 不容易出 。(3) 程序更清晰。5、二 数 的初始化定 的正确形式有哪些? 例 明(1) 分行 初 例如: inta23=1,3,4,2,3,1,7,9,0;(2) 按 序初始化例如: inta23=1,3,4,2,3,1,7,9,0;(3) 省略一 度的 例如: inta3=1,3,4,2,3,1,7,9,0;(4) 数 的前几行元素初始化,其他元素自 初始化 0例如: inta23=1,2,3;6、 while与

3、dowhile相同点与不同点是什么?(1)while 句是先 条件再 行 句, 条件不符后 止;do while 句是先 行 句再 条件 , 条件不符后 止 , 所以 do while 循 至少 行一次7、 写出一个 c 程序的构成( 1) c 程序是由若干个函数构成的( 2)每个函数(包括主函数)的定 分 两个部分:函数 明部分和函数体。( 3)c 程序中的 句最后 要有一个“分号(;)”,作 每个 句的 束。( 4)可以用“”括住任意字符,称 “注 ”。( 5)c 程序的 写格式很灵活, 在一行上可以 写多个 句,一个 句也可以写在多行上。( 6)c程序的 行 是从主函数开始, 并在主函数

4、中 束。( 7)主函数可以 用任何非主函数;任何非主函数都可以相互 用,但是不能 用主函数;.8、 c 言的 句有哪几种?(1)表达式 句(2) 函数 用 句(3) 控制 句(4)复合 句(5) 空 句9、运行 c 程序的步 编辑 ( 理 ) 接运行10、算法的特征(1) 有 性 (2) 确切性 (3) 入 (4) 出 (5) 可行性11、 c 言 量的 存 分 哪四种?(1)auto(自 )(2)extern(外部 )(3)static(静 )(4)register(寄存器 )12、函数的嵌套 用和 用有什么区 ? 用 是自己 用自己,函数嵌套可以是 用其他函数。13、 描述一个算法,求1+

5、4+7+ +100 的和#includevoid main()inti;intsum =0;for(i=1;i=100;i+=3)sum+=i;printf(%dn,sum);return;14、循 构中break 句和 continue 句的作用是什么?二者有何区 (1) 作用 :break 句通常用在循 句和开关 句中。continue 句的作用是跳 循 体中剩余的 句而 行 行下一次循 。(2) 区 :continue 句只 束本次循 ,而不是 止整个循 的 行。 break 句 是 束整个循 程,不再判断 行循 的条件是否成立。15、指 与地址有什么 系 ?在使用指 的 程中 注意哪些

6、 ?(1) 系 : 指 和地址最大的区 就是指 是有 型的,地址是没有 型的。指 是由地址和 型两部分构成的。(2) 注意 : 指 量和普通 量概念使用方式相混淆指 量的 (初始化, 地址)方式有 指 量的 型与所指元素的 型不一致指 移 不恰当指 在使用 程中 生了不必要的 致 的改 多重的指 指向指 , 致形成 以理清的 关系.16、 c 言中参数 有什么特点?我 当注意些什么?(1) 数 :被 用函数中 形参的操作不影响主 用函数中的 参 。(2) 地址 :可以通 被 用函数中 形参的操作来修改主 用函数中的 参 。注意事 :用 malloc 或 new 申 内存之后, 立即 指 是否

7、null。防止使用指 null 的内存。;.17、c 言中 行函数声明的作用是什么?(1) 把函数的名字,函数 型以及形参的 型、个数和 序通知 系 ,以便在 用 函数 行 照 ,它不包括函数体。18、字符常量与字符串常量有什么区 ?(1) 形式上:字符常量是 引号引起的一个字符;字符串常量是双引号引起的若干个字符;(2) 含 上 : 字符常量相当于一个整型 ,可以参加表达式的运算;字符串常量代表一个地址 ( 字符串在内存中存放的位置);(3) 占内存大小:字符常量只占一个字 ;字符串常量占若干个字 , ( 至少一个字符 束 志)19、c 言中如何表示“真”与“假”(1) 定 假 0,真 1。

8、 (2) 建立自己的枚 型20、字符数 与字符串是否相同?若不相同,有何区 ?不相同。 (1) 字符指 中存的是字符串第一个字符的首地址。而字符数 中存的整个字符串(2) 字符数 只能在定 是 行初始化;chara=abc;不可以 chara10;a10=abc而字符指 可以。21、关 字与一般 符有什么不同?(1) 关 字是 符的一种。 符是指 : 可以当作 量名 , 函数名等的。(2) 符是非常多的 ( 但 c 言支持最 的 符是 32个 ) 而关 字只有 32 个。22、使用 swicth的注意事 。(1)switch 句后面的小括号只能写整数 型的表达式,否 会 。(2)switch小

9、括号后面不要加分号,可以加分号加在大括号后面。23、 用两种方式写出如何判断某一年 年的c 句。(1)#includemain() intn;printf (“ 入年份: n ); scanf (“ %d, &n); if(n%100=0)if(n%400=0)printf(“是 年 );elseprintf(“不是 年 );elseif(n%4=8)printf(“是 年 );elseprintf(“不是 年 )(2)#includeintmain()inta;scanf(%d,&a);.if(a%400=0|a%4=0&a%100)printf(yes);elseprintf(no);re

10、turn0;24、 if 句中条件表达式可以是任意合法的表达式 ?switch 句中 break 的作用是什么?(1)if 句中的表达式不限于 表达式,可以是任意的数 型。(2) 当 break 用于开关 句 switch 中 ,可使程序跳出switch而 行 switch以后的 句;如果没有break 句, 会从 足条件的地方开始 行,直到 switch 构 束。25、c 言循 构主要有哪几种 ?每种循 构的一般形式分 是什么 的?(1)do while:先循 , 在判断( 2)while: 先判断后循 (3)for:一般可以代替上面两个26、 理命令主要有哪几种?每种 理命令的一般形式是什

11、么 的?(1) 宏定 命令: #define 、 #undef ,用来定 和解除宏。(2) 文件包含命令: #include 文件名 或者#include。(3)条件 : #ifdef、 #else 、 #endif 、 #elif等。27、 写出c 言 符的命名 (1 )必 用字母或下划 开 。(2 )只能是字母、下划 、数字的 合,不能出 其他符号。例如¥ _st ,就是个 的 符, 它出 了 “¥”符号。(3) 大小写的含 是不同的, 例如 符 tea 和 tea 是不同的。(4) 符的名称不能是 c 言中的关 字,关 字是具有特定含 的 符,用 只能根据系 的 定使用它 。28、 述w

12、hile型循 和until型循 的区 while型和 until 型 句本 上是等价的,当型循 有 称 前 型循 ,直到型循 有 称 后 型循 .29、 c 言中的 句有哪几 ?(1) 表达式 句 (2) 函数 用 (3) 控制 句 (4) 复合 句(5) 空 句30、局部 量和全局 量有何区 ?全局 量就是整个源程序都有效的 量;而局部 量会在其所属 .二、 程 1、以下 4 种水果, 1 苹果 2 梨 3 桔子 4 芒果, 价分 是 2.0 元 / 公斤, 2.5 元 / 公斤,3.0 元 / 公斤,4.5 元 / 公斤, 入水果 号,重量, 算 付款。解答 :#include#inclu

13、deintmain() doubleweight,pay,price;intnum;.;.printf(请输入水果编号、重量:);求最大值,并在主函数中调用该函数)。scanf(%d%lf,&num,&weight);#includeswitch(num)intmax(intx,inty)case1:price=2;break;return(x y)? x : y;case2:price=2.5;break;case3:price=3;break;intmain()case4:price=4.5;break;inta,b;default:printf(你输入的编号有误! n);exit(0);

14、printf(输入两个整数 ( 空格隔开 ):);scanf(%d%d,&a,&b);pay=weight*price;printf(最大数 :%dn,max(a,b);printf(应付款: %.2lfn,pay);return0;return0;5、已知函数 y=f(x),编程实现输入一个x 值,输出 y 值。2、输入某学生成绩(成绩分为100 分制,可以为89.5 ,如果输入的成绩不在0-100 之间,请给出错误提示)经处理后给出学生的等级,等级分类如下:90 分以下(包括90 分): a#include80 至 90 分(包括 80分): bvoid main()70 至 80 分(包

15、括 70分): c float x;60 至 70 分(包括 60分): dscanf( “ %f” ,x);60 分以下: eif(x=0&key=60&key=69)#includeprintf(分数等级: dn);#includeelseif(key=70&key=80&key=90&key=100)for(int i=100; i=200 ; i+)printf(分数等级: an);elseif(i 3! =0&i 7! =0)printf(输入有误请重新输入:);scanf(%if,&key);n+;printf(a d= dt,n,i);3、编程实现求 1-10之间的所有数的乘积并

16、输出。#includevoidmain( ) inti ;7、小明妈妈给他买了若干块巧克力,小明第一天吃了一半,longsum=1;还不过瘾,又多吃了一块,第二天又将剩下的巧克力吃掉一for(i=1;i=10;i=i+1)半,又多吃一块, 以后每天都吃了前一天剩下的一半零一块。sum=sum*i;到第 10天再想吃时,只剩下一块了。编程计算小明妈妈总printf(“thesumof oddis :%ld ”,sum);共给小明买了多少块巧克力?#include4、从键盘输入两个数,求出其最大值(要求使用函数完成intcho(int);.voidmain()printf(%dn,cho(1);i

17、ntcho(inty)/*返回第 y 天吃之前的数量*/if(10=y)return1;return(cho(y+1)+1)*2;8、写程序,其中自定 一函数,用来判断一个整数是否 素数。主函数 入一个数, 出是否 素数?#includevoidsushu(intn);intmain()intn;scanf(%d,&n);sushu(n);voidsushu(intn)inti,m=1;for(i=2;in/2;i+)if(n%i=0)m=0;break;if(m=1)printf(sushu);elseprintf(fsushu);9、一个百万富翁遇到一个陌生人,陌生人找他 一个 的 划,

18、划如下:我每天 你十万元,而你第一天只需 我一分 ,第二天我仍 你十万元,你 我二分 ,第三天我仍 你十万元,你 我四分 , , 你每天 我的 是前一天的两倍,直到 一月( 30 天),百万富翁很高 ,欣然接受了 个契 。 写一个程序 算 一个月中陌生人 了百万富翁多少 ?百万富翁 陌生人多少 ?#includeintmain()unsignedlongsum1,sum2;intb=2;for(inti=0;i30;i+)sum1+=b;b*=2;sum1=100;sum2=100000*30;printf(富翁共收到 %ld。 n 富翁共 出 %ld。n,sum2,sum1);return0;10、从 入两个正整数x,y ,求它 的最大公 数。;.#includeintgcd(intx,inty);voidmain()intx,y,z;scanf(%d%d,&x,&y);z=gcd(x,y);printf(%dn,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论