




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 复习 下列内容不考 位段 枚举 联合 非缓冲文件 二进制文件 链表 函数指针 笔试题型单选题概念语法填空题概念语法 写出表达式程序阅读题重点语法 编程算法程序填空题重点语法 编程算法 注 1 做填空题时 要对表达式与语句区分2 题目要看清楚 要用题目定义的变量 2 计算下列分段函数的赋值语句是 1x 0y 0 x 0 1x 0 答案 y x 0 1 x 0 0 1 c为字符串 其长度可以用函数求得y strlen c 也可用for 求得 答案 y 0 c y 0 y 3 下列程序调用swap函数交换a和b的值 并输出交换后的a和b的值 程序的输出结果是 Afterswap5 3 voidswap 1 intt 2 3 4 voidmain inta b a 3 b 5 swap 5 printf Afterswap d d a b 答案 int a int bt a a b b t a b 1 基本数据类型的常数表示和变量的定义 整型 不带小数点的数十进制同平时习惯八进制以0开始十六进制以0 x开始 各进制的互换 包括二进制 定义变量int long unsignedint unsignedlong 各类型所占的字节int2 4字节long4字节各类型的取值范围long类型常数后缀l或Lunsigned类型常数后缀u或U 5 1 整型常数正确表示 以下选项中不正确的整型常量是 A 12LB 10C 1 900D 123U 2 各进制的互换 如果inti 16 j 23 执行printf x o i j 后输出为A 10 23B 10 27C 16 23D 16 27 答案 C 1610 1016 2310 278 答案 B 十进制 n进制 除n取余 n进制 十进制 6 实型 带小数点的数基本型 同习惯指数型 科学记数法10 E 定义变量float double 各类型所占的字节float4字节double8字节 各类型的取值范围 各类型的有效位6 7位15 16位 实型常数正确表示 以下选项中不正确的实型常量是 A 0 23E01B 2 3e 1C 1E3 2D 2 3e0 答案 C 7 字符型 单个字符 或转义符 单个字符或数字 定义变量char占1字节 字符与字符串的区别字符数据与整数数据互换运算 大小写字母转换大 小c1 a A 小 大c1 a A 字符数字与数值数字转换字符 数值字符 0 反之数值 0 以下选项中不正确的字符常量是 A n B 1 C a D 101 答案 C 循环将小写字母逆序输出 即从z到a 其语句为for i 0 I 26 i putchar z i 或printf c z i 1 实型常数正确表示 2 字符ASCII码表示 8 变量定义 标识符 字母 数字符和底划线组成 第一个字符必须是字母或底划线 字母大小有区别 不允许用保留字 合法的用户自定义标识符是 A b bB floatC D isw 变量初值和赋初值 不能将一个数值连续同时赋初值于多个变量变量未赋初值是随机值 使用了static时数值变量为0 字符变量为NULL 把x y定义成float变量 并赋值同一初值3 14是 A floatx y 3 14 B floatx y 2 3 14 C floatx 3 14 y 3 14 D floatx y 3 14 答案 D 答案 C 9 2 各种运算符的运算意义和运算优先级特别注意 复合赋值 自增自减运算符优先级 左右结合 若变量已定义并赋值 表达式 不符合语法 A A b cB 3 14 2C 2 bD a b c 答案 B 下列运算符中 优先级最高是 A B C D 答案 A 10 3 各种表达式的运算算术表达式 赋值表达式 关系表达式 逻辑表达式 逗号表达式表达式混合运算的类型转换低 高数据类型的强行转换 类型名 数据 1 整 整 执行下列程序段inti j i 3 2 7 2 5 j 45 11 7 8 14 21 14 后变量i j的值为 A i 0j 1B i 1j 1C i 0j 2D i 1j 2 答案 A 2 关系表达式 0或1 表达式1 0 5的值是1 表达式 1 3 5的值是1 11 3 两个关系符之间要用逻辑符连接 表示 x y z 的C表达式是 答案 x y y z 对于charc 判别c不是大写字母的表达式为 答案 c Z c A 1 0 4 逻辑表达式的等价 于inti j 表达式 i j等价于 A i j B i j C i j D i j ij i jA i j B i j C i j D i j 0011110011110110010001110100 答案 B 12 4 各种数据的输入和输出putchar getchar printf 输出格式控制 输出表列 scanf 输入格式控制 地址表列 输入 输出格式控制 注 1 格式控制中的普通符printf 照原样输出 而scanf 作为输入数据的分割符 2 c将空格分割符作为符号输入 s将空格作为分割符处理 3 一般格式说明与输出表列的个数 类型必须一一对应若格式符的个数 输出对象的个数 多余格式符按零值输出若格式符的个数 输出对象的个数 多余输出对象无用 13 设变量定义为 inta b 执行下列语句时 输入 则a和b的值都是10 scanf a d b d a b A 1010B 10 10C a 10b 10D a 10 b 10 答案 D 答案 D 若a是基本整型变量 c是单精度实型变量 输入语句 是错误的 A scanf d f 1 输入数据的分割符 2 输入对象是地址 14 对于inti charc s 20 输入123ab45efg时 执行语句scanf d c c s i c s A 123 b 45efg B 123 a b45efg C 12 3 ab45efg D 123 a 45efg 执行语句printf 2 将得到出错信息 A dB oC xD f 答案 A 答案 D 4 输出对象与格式控制符类型匹配 3 输出对象与格式控制符位置对应 15 5 条件语句if 表达式 语句1else语句2表达式是任意表达式 但0 x y是无意义if else的匹配原则 按近者匹配 条件表达式表达式1 表达式2 表达式3与条件语句互换 16 当inta 1 b 2 c 4 d 3时 执行下面一段程序后 x为 if a b if c d x 1 elseif a c if b d x 2 elsex 3 elsex 6 elsex 7 A 1B 2C 3D 6 if a b if c d x 1 elseif a c if b d x 2 elsex 3 elsex 6 elsex 7 答案 B 1 if else的匹配 17 将下段程序用赋值语句等价表示 if x 0 y 1 elseif x 0 y 0 elsey 1 2 条件表达式与if语句互换 答案y x 0 1 x 0 0 1 18 6 switch语句switch 表达式 表达式是可以整型表达式 字符表达式 枚举数据case后是常数 选择某分支执行 只要不遇到break一直到结束与条件语句的互换 对于以下程序段 运行后i值为 inti 0 a 1 switch a case1 i 1 case2 i 2 default i 3 A 1B 3C 6D 上述程序有错 答案 C 19 7 循环语句while do while for的各自意义 区别 互换break continue出现在循环体的意义循环嵌套 for循环的格式为for 表达式1 表达式2 表达式3 语句 请用while循环等价表示 答案 表达式1 while 表达式2 语句 表达式3 1 循环语法 inti 0 s 0 a 10 while i 10 s a i 等价于inti s a 10 for 答案 i 0 s 0 i 10 s a i 20 下列程序段执行后s值为 inti 1 s 0 do if i 2 continue s i while i 10 A 0B 45C 25D 以上均不是 i i 2 continues s i i i 1 1010s 0 1i 2 10 121 i 3 10 130s 1 3i 4 10 141 i 5 10 1 则s 1 3 5 7 9 25 答案C 2 循环次数 21 用for循环打印012012012 for i 1 i 9 i printf 2d 3 循环打印 i输出102132405162 i 1 3 22 4 循环控制 inti s a 10 for i 0 s 0 i 10 s a i if a i 0 break 等价于inti 0 s 0 a 10 while s a i 答案i 0 23 8 数组一 二维数组的定义数组元素的下标0 n 1数组元素在内存的排序 按行排序数组赋初值 类型说明符数组名 常量表达式 常量表达式序列 类型说明符数组名 常量表达式1 常量表达式2 常量表1 常量表2 常量表n 1 数组长度 数组定义为inta 11 11 则数组a有 个数组元素 A 12B 144C 100D 121 答案D 24 下列程序段的输出结果是 inta 3 2 1 2 3 4 5 6 printf d a 1 2 答案5 2 数组元素内存的排序 25 若输入3123 则以下程序的输出结果是 include stdio h voidmain inti j n a 10 scanf d 答案 1 2 3 2 3 1 3 1 2 a 0 1 a 1 2 a 2 3 i 0j 012 0 j 3012a 123i 1j 012 1 j 3123a 231i 2j 012 2 j 3201a 312 3 数组元素下标为表达式 26 9 字符数组字符串的结束符字符数组长度字符串的长度strlen 与sizeof 测试长度字符串赋初值charc 10 china 自动加 0 charc 10 c h i n a 自动加 0 charc china 自动加 0 charc 5 c h i n a 不加 0 charc c h i n a 不加 0 字符串函数 puts gets strcat strcpy strncpy strcmp gets 读入一个字符串 包括空格 不正确的赋值或赋初值的方式是 A charstr string B charstr 7 s t r i n g C charstr 10 str string D charstr 7 s t r i n g 0 1 字符串赋初值 答案C 27 表达式sizeof nsum d n 的值是 A 8B 9C 10D 11 答案B 2 字符串长度 设有如下定义 则正确的叙述为 charx abcdefg chary a b c d e f g A 数组x和数组y等价B 数组x和数组y长度相同C 数组x的长度大于数组y的长度D 数组x的长度小于数组y的长度 答案C 28 表达式strcmp box boss 的值是一个 A 正数B 负数C 0D 不确定的数 答案A 3 使用字符串函数 29 10 函数函数的定义 类型名 函数名 形式参数表 形式参数说明 说明部分语句部分 函数的类型缺省为整型 类型名 函数名 类型名形式参数 说明部分语句部分 函数返回值return 表达式 函数调用虚实结合形参与实参的个数 位置 类型一致数据传递变量值传递数组 指针地址传递递归函数的阅读递归函数与循环的互换 30 在C语言程序中 若对函数类型未加显式说明 则函数类型为 A voidB doubleC charD int 要调用数学函数时 在 include命令行中应包含 A stdio h B string h C math h D ctype h 函数定义为intcalc intn inta 5 并有变量定义int p q 5 a 5 n a 3 4 p D 以上均不行 1 函数类型 2 库函数引用 3 虚实结合 答案A 答案D 答案C 31 下列程序的输出结果是 includevoidp int x inty x y voidmain intx 0 y 3 p 答案1 3 32 对于以下递归函数f 调用f 3 的返回值是 f intn return n 0 n f n 1 f n 2 f 3 f 2 f 1 f 1 f 0 f 0 f 1 1 0 1 1 1 0 2 答案 2 4 函数递归 33 输入一个字符串 要求递归逆向输出该字符串 includeVoidf char p main chars 80 c intI 0 while c getchar n s c f Voidf char p if return f putchar 答案 i s p 0 p 1 p f 12345 f 12345 f 12345 f 12345 f 12345 f 0 5 4 3 2 1 34 函数xtoi的功能是将放在字符串中的十六进制数 可以出现 0 9 a f 转换成十进制整数 例如 调用xtoi 1f 将返回31 xtoi intk d 0 for k 0 s k s k t k while s k 0 答案 chars d d 16 s k 0 d d 16 s k a 10 5 填写函数的形参和实参 35 11 变量 函数的作用域 变量作用域局部变量函数内部定义的变量 在本函数范围内有效全局变量函数外部定义的变量 其有效域为从定义变量的位置起到本源程序文件结束 当外部变量与内部变量同名时 在局部变量的有效域内外部变量不起作用 函数作用域函数从定义点起到源程序结束 若使用超出函数作用域须声明 extern 类型名函数名 被调用的函数类型是int类型可以缺省声明 存储类别auto static register extern带static与不带static变量赋值的区别 36 C语言中 形参的缺省的存储类说明是 A autoB staticC registerD extern 答案A 设程序中不再定义新的变量 写出在函数main中可以使用的所有的变量 intz intp intx staticinty returnx y vioidmain inta b printf d n p a A a bB a b zC a b y zD a b x y z 答案B 1 变量的存储类 2 变量的作用域 37 以下程序的输出结果是 includeintz voidp int x inty x y z x y z printf d d d x y z voidmain intx 1 y 5 z 9 p p 2 4 6 printf d d d x y z 2 5 9 注 z全局变量初值为0 全局 局部 38 执行完下列语句段后 其输出为 inti k intf staticintk 10 return k main k 1 i f i f printf d d n i k inti k 全局变量 而staticintk局部变量 k 1 k全局 f k 10return k 11此时k 11 局部 i 11f k 11return k 12此时k 12 局部 i 12 答案 12 1 3 static变量 39 12 指针各种指针的定义指针变量类型名 变量名 指向一维数组的指针变量类型名 指针变量 常量表达式 指针数组类型名 变量名 常量表达式 返回指针值的函数类型名 函数名 形参表 指向指针的指针类型名 变量名 指针与变量的关系inta p p p为a的内存地址 p为a的值 指针与一维数组的关系inta 100 p p a 元素地址 a i p i元素值a i p i 40 指针与二维数组的关系设inta m n p a 数组数组的指针指向元素指针行元素a i a i a i 元素地址 a i j a i j a i jp i n j元素值a i j a i j a i j p i n j 指向字符指针 1 指向数值数组的指针变量的操作规定均适合于指向字符串的指针变量操作 2 继承了对字符串的整体操作 赋数值 输入 输出 3 增加了在语句中可以直接对指针变量字符串的赋值 41 对于如下说明 则有意义的正确表达式是 intp 3 a 3 A p aB p 0 aC p 0 aD a 0 2 p a数组的指针不能赋值p 0 ap 0 是数组元素 a是指针 不能赋值p 0 a a是a 0 指针指向的变量值 可以赋值a 0 2a 0 a 0 2地址值 2无意义 答案C 1 指针数组概念 下列程序在运行时可能会出错 原因是 includevoidmain char s gets s puts s 答案s无指向 42 下列程序的输出结果是 Intk 1 j 2 p k 1 j 2 p p k q q p p p j 答案21 2 指针与变量 43 下列程序的输出结果是 includechar f char str returnstr fun voidmain char str one printf s c n f str 1 f str 1 fun f str fun f str 1 f str f f 1 g 答案ung 2 函数返回指针 44 下列程序段的输出是 char a 2 one two p a printf s p 1 printf c n p 1 a p p 1 a p ne a p p 1 a p p t t 1 s 答案nes 3 指针数组与字符串 45 函数voidf chars chart intk 0 while sk k t k k 答案 s t 下列程序运行后 将输出 inta 3 4 1 2 3 4 5 6 7 8 9 10 11 12 main ints i for s 0 i 0 i 3 i s a i 3 i printf d s for s 0 i 0 i 4 i s a 1 i printf d s i 0i 1i 2a 0 3 a 1 2 a 2 1 4 7 10 21i 0i 1i 2i 3 a 1 a 1 1 a 1 2 a 1 3 a 1 0 a 1 1 a 1 2 a 1 3 5 6 7 8 26 等价于void char s char t while 答案2126 4 指针与数组 46 13命令行传递参数格式命令名参数1 参数2 参数n main intargc char argv 其中argc存放命令行的字符串个数 包括命令名n 1argv 0 存放命令名 包括路径argv 1 存放参数1argv 2 存放参数2 argv n 存放参数n 指针作为函数参数 返回数据 47 将程序prog c编译后运行 prog nlahelloworld则 argv 2 是 A p B C h D w 答案C 下列程序编译后生成t exe 运行tinputoutputzoooil的输出结果是 voidmain intargc char argv intk char p argv 1 for k 2 k0 p argv k printf s n p input p p与outputzoooil比较取大值存于p大值为zoo 48 14 宏定义宏展开是字符串替换 带参的再替换参数 下列程序段的输出是 definef a b x a x bprintf d d n f 3 2 1 f 6 5 f 3 2 1 答案 f 3 2 1 3 1 2 5f 6 5 f 3 2 1 6 3 1 2 5 25 下列语句先定义一个宏MAX2用于求两个数的最大值 然后应用该宏将a b c三个数的最大值输出 inta b c defineMAX2 x y printf d n 答案 x y x y MAX2 MAX2 a b c 49 15 结构体 结构体类型的定义struct结构体类型名 成员表列 结构体变量的定义struct结构体类型名变量1 变量2 结构体变量使用结构变量名 成员名 指向结构体指针使用struct结构体类型 结构体指针变量名 指针名 成员名或指针名 成员名 50 对于以下的变量定义 表达式 不符合C语言语法 structnode intlen char pk x 2 right p A p pkB p pkC p pkD x pk 答案B 运算级优先于 p pk p pk p是指针 因此错误 51 输入10个点的坐标 设坐标为整数值 输出距原点最远的点 设唯一 的坐标及该点距原点的距离 includevoidmain struct intx y floatlength point 10 intk sub 0 for k 0 k 10 k scanf d d 1 sqrt point k x point k x point k y point k y 2 point k length point sub length 3 sub k 答案 52 16 typedef定义类型 typedef原类型名新类型名表 用typedef定义一个10个元素的整型数组类型ARR 再用ARR定义一个10个元素的整型数组a 特殊typedefintNUM 100 NUM是整数数组类型NUMn n为数组变量n 100 typedefchar STRING STRING是字符指针类型STRINGp s 10 p为指针变量 s为指针数组typedefint POINTER POINTER是指针函数类型POINTERp1 p2 p1 p2为指针函数变量 答案typedefintARR 10 ARRa 用typedef定义一个文件指针FP 答案typedefFILE FP 53 17 位运算记住各种位运算符 按位取反 字位右移 按位与 按位或 按位加 若有以下说明与语句 则以下的输出结果为 chara 010 b 10 printf d n a b 2 b 210 128 101021010 2 102a 0108 100021000 10 10102 10 答案 10 若a是整型变量 表达式 a a 等价于 A aB 1C 0D 2 答案 C a a 全1 54 18 文件文件指针定义FILE 文件指针名打开文件FILEopen 路径与文件名 文件类型 成功返回文件柄 失败返回NULL 即0 if fp fopen file1 dat r NULL printf Cannotopenthisfile n exit 0 读写文件函数 intfgetc FILE 文件指针 intfputc intch FILE 文件指针 fprintf 文件指针 格式字符串 输出表列 fscanf 文件指针 格式字符串 输入表列 55 文件结束标记EOF 1文件结束判断intfeof FILE stream 结束 函数返回值非0 否则返回0 文件关闭close FILE stream 文件数据的读写必须使用函数 不能用文件指针直接操作 while feof fp c fgetc fp ch fgetc fp while ch EOF ch fgetc fp 56 下面的程序把文本文件test txt中的 过滤后输出 includemain intc FILE fp if printf Cannotopenfile n exit 0 while if c putchar c fclose fp 答案 fp fopen test txt r NULL c fgetc fp EOF 57 19 自增自减对操作的变量在运算前或后使其值加 自增 或减 自减 1 1 变量与自增自减 下列程序段的输出结果 inta 0 b 0 if a 0 if a 01 01 0 1a 1 1 2 答案a 2 b 1 若变量已正确定义并赋值 表达式 k 等价于 A k B k C k 1 D k 答案A 58 2 逗号表达式与自增自减 下列程序段的输出结果 inta 0 b 0 inti j 0 i j j printf i d j d n i j 答案i 1 j 2注 第一个j 先做第二
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《任务二 纸板凳的设计》说课稿浙教版劳动技术七年级上册
- 湖北省2025湖北武汉市口区人民医院(武汉同济汉江湾医院)行政人员招聘9人笔试历年参考题库附带答案详解
- 淄博市2025年山东淄博沂源县事业单位公开招聘综合类岗位工作人员(55人)笔试历年参考题库附带答案详解
- 杭州市2025浙江中医药大学及部分附属医院招聘26人-统考笔试历年参考题库附带答案详解
- 富顺县2025年上半年四川自贡富顺县事业单位考试聘用工作人员(145人)笔试历年参考题库附带答案详解
- 宜宾市2025四川宜宾市林业和竹业局招聘编外聘用人员1人笔试历年参考题库附带答案详解
- 宁德市2025福建宁德市蕉城区交通运输局招聘紧缺急需及高层次人才笔试历年参考题库附带答案详解
- 天津市2025年天津市老干部活动中心(天津市老年活动中心)招聘工作人员3人笔试历年参考题库附带答案详解
- 企业签订劳动合同的员工绩效考核与薪酬福利调整
- 知识产权保护与侵权处理合作协议规范版
- 湖南安全员c3考试试题及答案
- 产品品质及售后无忧服务承诺书3篇
- 2025年第11个全国近视防控宣传教育月活动课件
- 二年级防溺水教案
- 2025年养老产业市场营销策略调整分析报告
- 部编版二年级道德与法治上册第4课《欢欢喜喜庆国庆》精美课件
- 潍坊市2026届高三开学调研监测考试生物试题及答案
- 后厨设备安全操作培训课件
- 三维波动方程双变网格有限差分并行模拟方法:理论、实践与优化
- 好风起二部合唱简谱致远音乐
- 异姓兄妹结拜协议书范本
评论
0/150
提交评论