第34卷 输入输出与库函数 《C语言程序设计》湖南省(对口招生)《计算机应用类考纲百套卷》

2026-07-31
| 2份
| 20页
| 36人阅读
| 0人下载

内容正文:

编写说明:2027版湖南省普通高等学校对口招生考试计算机应用类《考纲百套卷》,依据《2022年湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共96份试卷,其中知识训练卷62份、专题训练卷21份、课程综合卷13份。 本试卷是第34卷,为知识训练卷,按《C语言程序设计》中“输入输出与库函数”范围和要求编写。具体内容为:⑥常用C语言输入、输出函数。⑨常用C语言库函数。③常用库函数的使用。(技能部分)。 湖南省对口招生考试 计算机应用类《考纲百套卷》 第34卷 C语言程序设计——输入输出与库函数 (考试时间:45分钟 满分:100分) 一、单项选择题(共20题,每题2分,共40分) 1.C语言标准输入输出函数的声明通常需要包含(  ) A.stdlib.h头文件 B.string.h头文件 C.stdio.h头文件 D.math.h头文件 2.scanf读取整型变量时,通常需要传入(  ) A.变量存储地址 B.变量当前数值 C.变量名称文本 D.输入格式文本 3.printf中%d格式通常用于输出(  ) A.字符类型数据 B.实型类型数据 C.字符串类型数据 D.整数类型数据 4.scanf读取double变量时应使用(  ) A.使用%d格式 B.使用%lf格式 C.使用%f格式 D.使用%c格式 5.printf输出double变量时通常使用(  ) A.使用%d格式 B.使用%f格式 C.使用%c格式 D.使用%s格式 6.scanf函数的返回值通常表示(  ) A.输出字符总数量 B.输入字符总数量 C.格式字符串长度值 D.成功转换项目数 7.printf函数的返回值通常表示(  ) A.实际输出字符数 B.成功转换项目数 C.输入字符总数量 D.格式字符串长度值 8.getchar函数的主要作用是(  ) A.输出下一个字符 B.读取一行字符串 C.读取下一个字符 D.输出一行字符串 9.putchar函数的主要作用是(  ) A.读取一个字符 B.输出一个字符 C.读取一行字符 D.输出一行字符 10.puts函数输出字符串后通常会(  ) A.自动补充换行符 B.自动补充制表符 C.自动补充空字符 D.自动补充空格符 11.转义字符 通常表示(  ) A.表示制表符号 B.表示回车符号 C.表示反斜杠符号 D.表示换行符号 12.在printf调用中,%c格式主要表示(  ) A.整数类型数据 B.实型类型数据 C.字符类型数据 D.字符串类型数据 13.printf中%s格式要求实参通常是(  ) A.字符串首字符地址 B.字符变量地址 C.字符串首字符值 D.字符串结束位置值 14.sqrt、pow、fabs等函数的声明通常位于(  ) A.stdio.h头文件 B.stdlib.h头文件 C.math.h头文件 D.string.h头文件 15.sqrt(25.0)的结果通常是(  ) A.结果为10.0 B.结果为25.0 C.结果为50.0 D.结果为5.0 16.pow(2.0, 3.0)的结果通常是(  ) A.结果为4.0 B.结果为8.0 C.结果为6.0 D.结果为9.0 17.fabs(-3.5)的结果通常是(  ) A.结果为3.5 B.结果为-3.5 C.结果为0.0 D.结果为7.0 18.使用sqrt等数学库函数前通常需要(  ) A.包含stdio.h头文件 B.包含string.h头文件 C.包含ctype.h头文件 D.包含math.h头文件 19.printf("%.2f", 3.14159)的输出是(  ) A.输出3.15数值 B.输出3.14数值 C.输出3.141数值 D.输出3.142数值 20.scanf("%d%d", &a, &b)成功读入两个整数时返回(  ) A.返回成功值1 B.返回字符数2 C.返回项目数2 D.返回格式长6 二、程序填空题(共5题,每题4分,共20分) 1.下面程序读入两个整数,分别输出它们的和、差与乘积,请在横线处填入适当内容。 #include <stdio.h> int main() { int a, b, sum, diff, product; int count; count = __________; if (count == 2) { sum = a + b; diff = a - b; product = a * b; printf("%d %d %d ", sum, diff, product); } return 0; } 2.下面程序读取一个字符,输出其字符形式、编码值以及后继字符,请在横线处填入适当内容。 #include <stdio.h> int main() { int ch, code, next; ch = __________; code = ch; next = code + 1; printf("char=%c code=%d next=%c ", ch, code, __________); return 0; } 3.下面程序计算直角三角形两条直角边对应的斜边和面积,请在横线处填入适当内容。 #include <stdio.h> #include <math.h> int main() { double x = 3.0, y = 4.0; double square, hypotenuse, perimeter; square = __________; hypotenuse = sqrt(__________); perimeter = x + y + hypotenuse; printf("area=%.1f hyp=%.1f perimeter=%.1f ", square, hypotenuse, perimeter); return 0; } 4.下面程序计算一个实数的绝对值、平方和立方,请在横线处填入适当内容。 #include <stdio.h> #include <math.h> int main() { double x = -2.5, absolute, square, cube; absolute = __________; square = pow(x, __________); cube = x * x * x; printf("%.1f %.2f %.2f ", absolute, square, cube); return 0; } 5.下面程序格式化输出总价、折扣后价格和价格差,请在横线处填入适当内容。 #include <stdio.h> int main() { double price = 128.0, discount = 0.85; double final_price, saved; final_price = price * discount; saved = __________; printf("price=%.2f final=%.2f saved=%.2f ", __________, final_price, saved); return 0; } 三、程序改错题(共4题,每题4分,共16分) 1.下面程序读入两个double数并输出它们的平均值,其中有2处错误,请找出并改正。 #include <stdio.h> int main() { double a, b, average; scanf("%f%f", a, b); average = (a + b) / 2.0; printf("average=%d ", average); return 0; } 2.下面程序输出输入字符及其编码值,其中有2处错误,请找出并改正。 #include <stdio.h> int main() { int ch, code; ch = getchar(); code = ch; printf("char=%s code=%c ", ch, code); return 0; } 3.下面程序计算圆的面积和周长,其中有2处错误,请找出并改正。 #include <stdio.h> #include <math.h> int main() { double r = 2.0, area, length; area = 3.1415926 * pow(r, 2); length = 2 * 3.1415926 + r; printf("area=%d length=%.1f ", area, length); return 0; } 4.下面程序输出平方根和绝对值,其中有2处错误,请找出并改正。 #include <stdio.h> #include <math.h> int main() { double x = -9.0, root, absolute; root = sqrt(x); absolute = abs(x); printf("root=%.1f abs=%.1f ", root, absolute); return 0; } 四、写程序运行结果题(共4题,每题4分,共16分) 1.写出下面程序的运行结果。 #include <stdio.h> int main() { int a, b, count; a = 12; b = 5; count = printf("%d %d ", a, b); printf("count=%d sum=%d ", count, a + b); return 0; } 2.写出下面程序的运行结果。 #include <stdio.h> #include <math.h> int main() { double x = 3.0, y, z; y = sqrt(x * x + 4.0); z = pow(2.0, 3.0) + fabs(-1.5); printf("%.1f %.1f ", y, z); return 0; } 3.写出下面程序的运行结果。 #include <stdio.h> int main() { char c = 'A'; int first, second; first = putchar(c); putchar('!'); second = printf(" %d ", first); printf("second=%d ", second); return 0; } 4.写出下面程序的运行结果。 #include <stdio.h> #include <math.h> int main() { double value = -2.5, result; result = fabs(value) + pow(2.0, 2.0); printf("value=%.1f result=%.2f ", value, result); puts("done"); return 0; } 五、程序设计题(共1题,共8分) 1.编写程序:输入两个实数a、b和一个字符编号,输出a与b的和、差、乘积、平方和的平方根以及编号。要求使用scanf完成输入,使用sqrt、fabs等库函数,所有实数结果保留两位小数。     原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2027版湖南省普通高等学校对口招生考试计算机应用类《考纲百套卷》,依据《2022年湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共96份试卷,其中知识训练卷62份、专题训练卷21份、课程综合卷13份。 本试卷是第34卷,为知识训练卷,按《C语言程序设计》中“输入输出与库函数”范围和要求编写。具体内容为:⑥常用C语言输入、输出函数。⑨常用C语言库函数。③常用库函数的使用。(技能部分)。 湖南省对口招生考试 计算机应用类《考纲百套卷》 第34卷 C语言程序设计——输入输出与库函数 (考试时间:45分钟 满分:100分) 一、单项选择题(共20题,每题2分,共40分) 1.C语言标准输入输出函数的声明通常需要包含(  ) A.stdlib.h头文件 B.string.h头文件 C.stdio.h头文件 D.math.h头文件 【答案】C 【解析】printf、scanf、getchar、putchar等标准输入输出函数的声明位于stdio.h头文件中。 2.scanf读取整型变量时,通常需要传入(  ) A.变量存储地址 B.变量当前数值 C.变量名称文本 D.输入格式文本 【答案】A 【解析】scanf需要把读入的数据存入变量,因此应传入变量的地址,例如scanf("%d", &n)。 3.printf中%d格式通常用于输出(  ) A.字符类型数据 B.实型类型数据 C.字符串类型数据 D.整数类型数据 【答案】D 【解析】%d用于按十进制整数形式输出int等整型数据;字符、实型和字符串分别常用%c、%f和%s。 4.scanf读取double变量时应使用(  ) A.使用%d格式 B.使用%lf格式 C.使用%f格式 D.使用%c格式 【答案】B 【解析】scanf读取double变量时使用%lf,读取float变量时使用%f,格式控制符必须与变量类型匹配。 5.printf输出double变量时通常使用(  ) A.使用%d格式 B.使用%f格式 C.使用%c格式 D.使用%s格式 【答案】B 【解析】printf输出double变量时通常使用%f;%d用于整数,%c用于字符,%s用于字符串。 6.scanf函数的返回值通常表示(  ) A.输出字符总数量 B.输入字符总数量 C.格式字符串长度值 D.成功转换项目数 【答案】D 【解析】scanf返回成功完成赋值的输入项目数;如果遇到输入失败或文件结束,返回值可能小于要求的项目数。 7.printf函数的返回值通常表示(  ) A.实际输出字符数 B.成功转换项目数 C.输入字符总数量 D.格式字符串长度值 【答案】A 【解析】printf成功时返回实际输出的字符数,不包括字符串结尾的空字符。 8.getchar函数的主要作用是(  ) A.输出下一个字符 B.读取一行字符串 C.读取下一个字符 D.输出一行字符串 【答案】C 【解析】getchar从标准输入读取下一个字符,并以int类型返回,以便表示普通字符和EOF。 9.putchar函数的主要作用是(  ) A.读取一个字符 B.输出一个字符 C.读取一行字符 D.输出一行字符 【答案】B 【解析】putchar把给定字符输出到标准输出,适合输出单个字符;读取字符应使用getchar。 10.puts函数输出字符串后通常会(  ) A.自动补充换行符 B.自动补充制表符 C.自动补充空字符 D.自动补充空格符 【答案】A 【解析】puts输出字符串内容后会自动输出一个换行符;字符串本身仍以空字符作为结束标志。 11.转义字符 通常表示(  ) A.表示制表符号 B.表示回车符号 C.表示反斜杠符号 D.表示换行符号 【答案】D 【解析】 表示换行,\t表示水平制表,\r表示回车,\\表示反斜杠。 12.在printf调用中,%c格式主要表示(  ) A.整数类型数据 B.实型类型数据 C.字符类型数据 D.字符串类型数据 【答案】C 【解析】%c用于按字符形式输出一个字符;若按字符编码的整数值输出,可使用%d。 13.printf中%s格式要求实参通常是(  ) A.字符串首字符地址 B.字符变量地址 C.字符串首字符值 D.字符串结束位置值 【答案】A 【解析】%s需要从字符串首字符地址开始读取字符,直到遇到字符串结束标志\0。 14.sqrt、pow、fabs等函数的声明通常位于(  ) A.stdio.h头文件 B.stdlib.h头文件 C.math.h头文件 D.string.h头文件 【答案】C 【解析】sqrt、pow、fabs等数学库函数的声明通常位于math.h头文件中,使用时应包含该头文件。 15.sqrt(25.0)的结果通常是(  ) A.结果为10.0 B.结果为25.0 C.结果为50.0 D.结果为5.0 【答案】D 【解析】sqrt用于求非负实数的平方根,sqrt(25.0)的结果为5.0。 16.pow(2.0, 3.0)的结果通常是(  ) A.结果为4.0 B.结果为8.0 C.结果为6.0 D.结果为9.0 【答案】B 【解析】pow(x,y)计算x的y次幂,pow(2.0,3.0)等于8.0。 17.fabs(-3.5)的结果通常是(  ) A.结果为3.5 B.结果为-3.5 C.结果为0.0 D.结果为7.0 【答案】A 【解析】fabs用于求实数的绝对值,因此fabs(-3.5)的结果为3.5。 18.使用sqrt等数学库函数前通常需要(  ) A.包含stdio.h头文件 B.包含string.h头文件 C.包含ctype.h头文件 D.包含math.h头文件 【答案】D 【解析】程序使用sqrt、pow、fabs等数学库函数时,应包含math.h以获得函数声明。 19.printf("%.2f", 3.14159)的输出是(  ) A.输出3.15数值 B.输出3.14数值 C.输出3.141数值 D.输出3.142数值 【答案】B 【解析】%.2f要求按实型输出并保留两位小数,3.14159按四舍五入显示为3.14。 20.scanf("%d%d", &a, &b)成功读入两个整数时返回(  ) A.返回成功值1 B.返回字符数2 C.返回项目数2 D.返回格式长6 【答案】C 【解析】scanf的返回值是成功完成赋值的输入项目数,两个%d转换都成功时返回2。 二、程序填空题(共5题,每题4分,共20分) 1.下面程序读入两个整数,分别输出它们的和、差与乘积,请在横线处填入适当内容。 #include <stdio.h> int main() { int a, b, sum, diff, product; int count; count = __________; if (count == 2) { sum = a + b; diff = a - b; product = a * b; printf("%d %d %d ", sum, diff, product); } return 0; } 【答案】(1)scanf("%d%d", &a, &b)(4分)。 【解析】scanf把两个转换项目成功赋值给a和b时返回2;程序在确认输入完整后,再依次计算和、差、积并输出。 2.下面程序读取一个字符,输出其字符形式、编码值以及后继字符,请在横线处填入适当内容。 #include <stdio.h> int main() { int ch, code, next; ch = __________; code = ch; next = code + 1; printf("char=%c code=%d next=%c ", ch, code, __________); return 0; } 【答案】(1)getchar()(2分);(2)(char)next(2分)。 【解析】getchar以int类型返回读入字符,既可按%c输出,也可把其编码值保存到code;next加1后转换为char,按字符形式输出。 3.下面程序计算直角三角形两条直角边对应的斜边和面积,请在横线处填入适当内容。 #include <stdio.h> #include <math.h> int main() { double x = 3.0, y = 4.0; double square, hypotenuse, perimeter; square = __________; hypotenuse = sqrt(__________); perimeter = x + y + hypotenuse; printf("area=%.1f hyp=%.1f perimeter=%.1f ", square, hypotenuse, perimeter); return 0; } 【答案】(1)x * y / 2(2分);(2)x * x + y * y(2分)。 【解析】直角三角形面积为两直角边乘积的一半;斜边由勾股定理求得,先计算平方和,再交给sqrt求平方根。 4.下面程序计算一个实数的绝对值、平方和立方,请在横线处填入适当内容。 #include <stdio.h> #include <math.h> int main() { double x = -2.5, absolute, square, cube; absolute = __________; square = pow(x, __________); cube = x * x * x; printf("%.1f %.2f %.2f ", absolute, square, cube); return 0; } 【答案】(1)fabs(x)(2分);(2)2.0(2分)。 【解析】fabs用于求实数绝对值;pow(x,2.0)计算平方,指数使用double常量2.0,cube则用连续乘法计算。 5.下面程序格式化输出总价、折扣后价格和价格差,请在横线处填入适当内容。 #include <stdio.h> int main() { double price = 128.0, discount = 0.85; double final_price, saved; final_price = price * discount; saved = __________; printf("price=%.2f final=%.2f saved=%.2f ", __________, final_price, saved); return 0; } 【答案】(1)price - final_price(2分);(2)price(2分)。 【解析】折扣后价格已经由price乘discount得到,节省金额为原价减折后价;printf的第一个%.2f对应price。 三、程序改错题(共4题,每题4分,共16分) 1.下面程序读入两个double数并输出它们的平均值,其中有2处错误,请找出并改正。 #include <stdio.h> int main() { double a, b, average; scanf("%f%f", a, b); average = (a + b) / 2.0; printf("average=%d ", average); return 0; } 【答案】(1)scanf("%f%f", a, b);改为scanf("%lf%lf", &a, &b);(2分);(2)printf("average=%d ", average);改为printf("average=%.2f ", average);(2分)。 【解析】scanf读取double需要%lf并传入变量地址;average是double类型,printf应使用实型格式%.2f输出。 2.下面程序输出输入字符及其编码值,其中有2处错误,请找出并改正。 #include <stdio.h> int main() { int ch, code; ch = getchar(); code = ch; printf("char=%s code=%c ", ch, code); return 0; } 【答案】(1)printf("char=%s code=%c ", ch, code);中的%s改为%c(2分);(2)其中的%c改为%d(2分)。 【解析】ch是getchar返回的字符编码整数,按字符形式输出应使用%c,按编码数值输出应使用%d,不能把%c用于code的数值显示。 3.下面程序计算圆的面积和周长,其中有2处错误,请找出并改正。 #include <stdio.h> #include <math.h> int main() { double r = 2.0, area, length; area = 3.1415926 * pow(r, 2); length = 2 * 3.1415926 + r; printf("area=%d length=%.1f ", area, length); return 0; } 【答案】(1)length = 2 * 3.1415926 + r;改为length = 2 * 3.1415926 * r;(2分);(2)printf("area=%d length=%.1f ", area, length);中的%d改为%.1f(2分)。 【解析】圆周长应为2πr,不能把半径与2π相加;area和length都是double,输出area应使用实型格式%.1f。 4.下面程序输出平方根和绝对值,其中有2处错误,请找出并改正。 #include <stdio.h> #include <math.h> int main() { double x = -9.0, root, absolute; root = sqrt(x); absolute = abs(x); printf("root=%.1f abs=%.1f ", root, absolute); return 0; } 【答案】(1)root = sqrt(x);改为root = sqrt(-x);(2分);(2)absolute = abs(x);改为absolute = fabs(x);(2分)。 【解析】sqrt的实数定义域要求参数非负,x为负数时应先取-x;abs是整数绝对值函数,double应使用数学库函数fabs。 四、写程序运行结果题(共4题,每题4分,共16分) 1.写出下面程序的运行结果。 #include <stdio.h> int main() { int a, b, count; a = 12; b = 5; count = printf("%d %d ", a, b); printf("count=%d sum=%d ", count, a + b); return 0; } 【答案】12 5 count=5 sum=17 【解析】第一条printf输出12、空格、5和换行,共5个字符,因此count为5;第二条输出count=5和sum=17。 2.写出下面程序的运行结果。 #include <stdio.h> #include <math.h> int main() { double x = 3.0, y, z; y = sqrt(x * x + 4.0); z = pow(2.0, 3.0) + fabs(-1.5); printf("%.1f %.1f ", y, z); return 0; } 【答案】3.6 9.5 【解析】y为sqrt(9+4)=sqrt(13),按一位小数输出3.6;z为8.0+1.5=9.5。 3.写出下面程序的运行结果。 #include <stdio.h> int main() { char c = 'A'; int first, second; first = putchar(c); putchar('!'); second = printf(" %d ", first); printf("second=%d ", second); return 0; } 【答案】A! 65 second=4 【解析】putchar输出A后返回其字符编码65,再输出!;printf中的前导空格、65和换行共4个字符,因此second为4。 4.写出下面程序的运行结果。 #include <stdio.h> #include <math.h> int main() { double value = -2.5, result; result = fabs(value) + pow(2.0, 2.0); printf("value=%.1f result=%.2f ", value, result); puts("done"); return 0; } 【答案】value=-2.5 result=6.25 done 【解析】fabs(-2.5)为2.5,pow(2.0,2.0)为4.0,result为6.25;puts输出done后自动换行。 五、程序设计题(共1题,共8分) 1.编写程序:输入两个实数a、b和一个字符编号,输出a与b的和、差、乘积、平方和的平方根以及编号。要求使用scanf完成输入,使用sqrt、fabs等库函数,所有实数结果保留两位小数。 【答案】参考程序如下。评分点:正确包含头文件并声明、读入数据2分;正确计算和、差、积2分;正确计算平方和并调用sqrt求平方根2分;按两位小数输出并输出编号2分。 #include <stdio.h> #include <math.h> int main() { double a, b, sum, diff, product, root; char code; scanf("%lf%lf %c", &a, &b, &code); sum = a + b; diff = fabs(a - b); product = a * b; root = sqrt(a * a + b * b); printf("sum=%.2f diff=%.2f product=%.2f root=%.2f code=%c ", sum, diff, product, root, code); return 0; } 【解析】程序使用scanf按double、char类型匹配格式读入数据;差值使用fabs保证结果非负,平方和使用a*a+b*b计算,再调用sqrt求平方根,最后用%.2f统一格式化实数结果。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第34卷 输入输出与库函数 《C语言程序设计》湖南省(对口招生)《计算机应用类考纲百套卷》
1
第34卷 输入输出与库函数 《C语言程序设计》湖南省(对口招生)《计算机应用类考纲百套卷》
2
第34卷 输入输出与库函数 《C语言程序设计》湖南省(对口招生)《计算机应用类考纲百套卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。