2019高考C语言题
2019c语言期末考试题及答案

2019c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的关键字?A. intB. IntegerC. StringD. float答案:A2. C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 在C语言中,以下哪个语句用于定义一个整型变量?A. int var;B. float var;C. double var;D. char var;答案:A4. 下列哪个是C语言中的控制语句?A. ifB. whileC. do-whileD. All of the above答案:D5. 在C语言中,数组的索引从哪个数字开始?A. 0B. 1C. -1D. 随机数答案:A6. C语言中,哪个函数用于输入?A. printf()B. scanf()C. getchar()D. puts()答案:B7. 下列哪个是C语言的输入输出库?A. <iostream>B. <stdio.h>C. <iostream.h>D. <cstdio>答案:B8. 在C语言中,哪个关键字用于定义函数?A. functionB. defC. voidD. int答案:D9. 下列哪个是C语言中的字符串类型?A. stringB. charC. strD. text答案:B10. C语言中,哪个关键字用于定义常量?A. constB. finalC. staticD. variable答案:A二、填空题(每空2分,共20分)1. C语言中,定义一个字符变量可以使用关键字________。
答案:char2. 一个完整的C程序至少包含一个________函数。
答案:main3. 在C语言中,使用________函数可以输出格式化的字符串。
答案:printf4. 一个C语言程序的执行从________函数开始。
答案:main5. C语言中,数组的元素可以通过________访问。
2019年上海市高等学校计算机等级考试试卷二级C语言程序设计10页word

2019年上海市高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。
答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。
答案: CA. 2B. 1C. 1.5D. 05. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。
答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10)case 6: printf("@");break;case 5: printf("#");default: printf("$");答案: DA. @#$B. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
2019计算机二级C语言选择题题库

二级C语言选择题完整版题库第一节:C语言概述1. C语言程序的模块化是通过以下哪个选项实现的答案:A)函数2. 有以下程序#include <stdio.h>main(){int x=010, y=10;printf("%d,%d ", ++x, y--)}程序运行后的输出结果是答案:C)9,103.以下选项中叙述正确的是答案:B)C语言的标识符可分为关键字、预定义标识符和用户标识符三类4. 以下选项中叙述正确的是答案:B)函数体必须由{ 开始5. 以下选项中叙述正确的是答案:A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构6. 以下选项中叙述正确的是答案:A)使用三种基本结构就可以实现任何复杂算法7. 以下选项中叙述正确的是答案:D)C程序中的语句要经过编译才能转换成二进制机器指令8. 以下选项中叙述正确的是答案:D)复杂任务可以分解成简单子任务9. 以下叙述中错误的是答案:B)书写风格良好的程序执行效率高10. 以下选项中不能正确表示数值10000 的实型常量是答案:D)1.0E4.011. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是答案:A)三种基本结构不可以嵌套使用12. 以下叙述正确的是答案:A)计算机只接收由0和1代码组成的二进制指令或数据13. 简单程序设计步骤中不包括答案:D)安装编译程序14. 以下叙述正确的是答案:CC)C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件15. 算法应当具有的特性不包括答案:D)美观性16. 以下叙述正确的是答案:D)循环结构、选择结构、顺序结构都是结构化程序的基本结构17. 以下叙述正确的是答案:D)只使用三种基本结构即可解决任何复杂问题18. 下面叙述正确的是答案:D)C语言程序的语句经过编译和链接转换成二进制机器指令后才能执行19. 下面叙述正确的是答案:A)任何复杂任务都可以分解成简单子任务20. 若变量已经定义且正确赋值,则针对程序段:temp=a; a=b; b=temp;以下叙述中正确的是答案:D)此段程序是从左至右依次执行21. 以下叙述中错误的是答案:C).OBJ文件和.EXE文件都是可直接执行的二进制文件22. 以下关于注释的叙述中错误的是答案:C)注释的边界符号“/*”和“*/”必须成对出现且可以嵌套23. 以下说法正确的是答案:A)C语言被称为“高级语言”是因为它用接近人们习惯的自然语言和数学语言作为表达形式,使人们学习和操作起来感到十分方便24. 以下说法错误的是答案:A)C语言提供了定义函数和子程序的功能25. 以下是正确C语言标识符的是答案:A)_8_26. 以下叙述中正确的是答案:A)一个程序要被称为结构化程序,则只能包含循环结构、选择结构、顺序结构27. 下面说法正确的是答案:B)使用只包含三种基本结构的算法可以求解复杂的问题29. 以下选项中,合法的C语言实数是答案:D).2e130. 以下叙述正确的是答案:A)对于只包含表达式语句的程序段,执行顺序与书写顺序一致31. 以下叙述正确的是答案:C)使用符号可以将一条#include 命令写在多行里第二节:数据类型、运算符与表达式1. 以下选项中可用作C语言合法用户标识符的是答案:C)_1232. 以下选项中合法的C语言赋值语句是答案:D)++i;3. 有以下程序段,其中的变量已定义为int类型sum = pad = 5; pAd = sum++, pAd++, ++pAd;printf( "%d ", pad );程序段的输出结果是答案:D)54. sizeof( double ) 是答案:B)一个整型表达式5. 有以下程序(字母A的ASCII代码为65)#include <stdio.h>main(){char c1 = 'A', c2 = 'Y';printf("%d, %d ", c1, c2 );}程序运行后的输出结果是答案:C)65, 896. 若有说明语句:char c = ':' ; 则变量c中存放的是答案:D)1个字符7. 有以下程序#include <stdio.h>main(){int a, b, c=241;a = c/100 % 9;b = ( -1 )&&( -1 );printf("%d, %d ", a, b );}程序运行后的输出结果是答案:B)2,18. 有以下程序#include <stdio.h>main(){printf("%d ", NULL );}程序运行后的输出结果是答案:A)09. 若有定义语句:int a=12;,则执行语句:a+= a-= a*a;后,a的值是答案:D)-26411. 已知a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c<d)后n的值为答案:C)212. 以下选项中,合法的C语言常量是答案:A)1.23413. 以下选项中,合法的C语言实数是答案:A).2e014. 设a,b,c是整型变量且均已赋值,则以下选项中错误的是答案:B)a = (b = 3) = 1;15. 有如下程序#include <stdio.h>main(){int x = 072;printf("%d ", x+1);}程序运行后的输出结果是答案:D)5916. 以下选项中,合法的数值型常量是答案:C)3.141517. 以下选项中,合法的实数是答案:A)4.5E218. 若有定义int a, b, c; 以下选项中的赋值语句正确的是答案:D)a = (b = c) + 1;19. 有如下程序#include <stdio.h>main(){int x = 0x13;printf("%d ", x+1);}程序运行后的输出结果是答案:B)2020. 设有定义:int a=0,b=1,c=1;以下选项中,表达式值与其它三个不同的是答案:B)b=a==c21. 设有两行定义语句:int scanf;float case;则以下叙述正确的是答案:C)第2行语句不合法22. 设有定义:double x=2.12;,以下不能完整输出变量x值的语句是答案:A23. 设有定义:int a,b; float x; ,则以下选项中对语句所作的注释叙述错误的是答案:A)scanf("%d%d%f",&a,&b); /* 多余的格式符%f完全不起作用*/24. 以下不能输出小写字母a的选项是答案:A)printf("%c ","a");25. 有以下程序段char c1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);若要给c1、c2、c3分别输入字母A、B、C,则以下对输入形式的描述正确的是答案:C)字母A、B、C之间不能有分隔符26. 以下不属于C语言位运算符的是答案:B)!27. 以下能正确表述算式sin(2πr+30°)的C 语言表达式是答案:D)sin(2*3.14*r+3.14*30/180.0)28. 设有定义:int x=11,y=12,z=0;,以下表达式值不等于12的是答案:D)z=(x==y) 29. 以下可以将任意一个两位整数n的个位数与十位数对换的表达式为答案:D)(n-n/10*10)*10+n/1030. 设有以下程序段int y;y=rand() % 30+1;则变量y的取值范围是答案:C)0<y≤3031. 设有定义:int a=64,b=8;,则表达式(a&b)||(a&&b)和(a|b)&&(a||b)的值分别为答案:C)1和132. 关于C语言标识符,以下叙述错误的是答案:A)标识符可全部由数字组成33. 若有C语言表达式2+3*4+7/3,则以下选项中关于执行顺序的叙述,正确的是答案:D)先执行3*4得12,再执行2+12得14,再执行7/3得2,最后执行14+2得1634. 若想给已定义为int型的变量a,b,c,d赋值为1,以下选项中错误的语句是答案:D)a=b, b=c, c=d, d=1;35. 若有定义:char c; int d; 程序运行时输入:c=1,d=2<回车>,能把字符1输入给变量c、整数2输入给变量d的输入语句是答案:C)scanf("c=%c,d=%d", &c,&d);36. 若有定义:int a=0,b=0,c=0,d=0; ,对于表达式(a++ && b++) ? c++ : d++,以下关于其执行顺序的叙述正确是答案:C)先计算表达式a++,其值为0,由此即可确定(a++ && b++)值为0,因此计算d++37. 以下不属于合法C语言转义字符的是答案:C)'c'38. 有以下程序#include <stdio.h>main( ){ char c;for(; (c=getchar()) != '#'; ) putchar(++c);}执行时如输入为:abcdefg##<回车> , 则输出结果是答案:C)bcdefgh39. 有以下程序#include <stdio.h>main( ){ int c, d;c = 10^3;d = 10+3;printf("%d,%d ", c, d);}程序运行后的输出结果是答案:C)9,1340. 以下不属于C语言整数的是答案:C)12f41. 有C语言表达式2*3+4+15%3 ,关于其执行顺序,以下叙述正确的是答案:A)先执行2*3得6,再执行6+4得10,再执行15%3得0,最后执行10+0得1042. 若想给已定义为int型的变量a、b、c、d赋整数1,以下选项中错误的语句是答案:D)d=c, c=b, b=a, a=1;43. 若有定义:int a; float b; double c; ,程序运行时输入:1,2,3<回车>,能把1输入给变量a、2输入给变量b、3输入给变量c的输入语句是答案:A)scanf("%d,%f,%lf", &a,&b,&c);44. 有以下程序#include <stdio.h>void fun(int a[ ], int n){int i;for (i=0; i<n; i++){if (i % 3 == 0)a[i] -= n;elsea[i] += n;}}main( ){ int c[5] = {6,7,8,9,10},i;fun(c, 5);for (i=0;i<5; i++) printf("%d,", c[i]);printf(" ");}程序运行后的输出结果是答案:A)1,12,13,4,15,45. 有以下程序#include <stdio.h>main( ){ int c,d;c = (13>>1)|1;d = (13>1)||1;printf("%d,%d ", c, d);}程序运行后的输出结果是答案:C)7,146. 以下选项中,合法的C语言常量是答案:C)21.8447. 以下选项中,合法的C语言实数是答案:B).1e048. 设a,b,c是整型变量,且已正确赋初值,以下选项中错误的赋值语句是答案:C)a = 2 = (b = 9) = 1;49. 有如下程序#include <stdio.h>main( ){int x = 072;printf("X=%d ", x+1);}程序运行后的输出结果是答案:A)X=59 50. 对于if(表达式) 语句,以下叙述正确的是答案:B)“表达式”的值可以是任意合法的数值51. 有如下程序#include <stdio.h>main( ){int a = 0, b = 1;if (a++ && b++)printf("TRUE");elseprintf("FALSE");printf("_OUT:a=%d,b=%d ", a, b);}程序运行后的输出结果是答案:A)FALSE_OUT:a=1,b=152. 以下叙述正确的是答案:D)char c1, *c2, **c3, c4[2]; 是C语言的合法语句53. 设有如下程序段int a[1] = {0};int b[] = {9};char c[3] = {"A", "B"};char d = "12";以下叙述正确的是答案:A)a, b的定义合法,c, d的定义不合法54. 以下选项中,合法的数值型常量是答案:B)3.255. 以下选项中,合法的实数是答案:D)1.5E256. 若已有定义语句:int a, b, c;,且变量已正确赋初值,则以下选项中正确的赋值语句是答案:B)a = (b = c) + 8;57. 有以下程序#include <stdio.h>main( ){int x = 0x13; printf("INT:%d ", x+1);}程序运行后的输出结果是答案:C)INT:2058. 有以下程序#include <stdio.h>main( ){int i, array[6] = {1, 5, 0, 4};for (i=0; i<5; i++)printf("%d,", array[i] & 4);printf(" ");}程序运行后的输出结果是答案:B)0,4,0,4,0,59. 设变量a,b和ch已正确定义并赋初值,则以下叙述中错误的是答案:C)语句ch=(unsigned int) a+b;是对a与b之和进行强制类型转换,结果赋值给变量ch60. 以下可以正确且安全的用作用户标识符的一组选项是答案:D)_32int, long6461. 以下关于运算符"/"的叙述正确的是答案:B)只有其两边运算对象的类型都是整型时,所做运算为整数整除运算62. 若有定义:char ch; int a; double d;,当输入为12345 678910.36时,以下选项中能给各个变量正确输入数据的是答案:D)scanf("%d%c%lf",&a,&ch,&d);63. 如图所示一平面圆,圆心是(2,1),半径为1:以下选项中,判断平面点(x,y)位于圆内时为真的表达式是答案:A)(x-2)*(x-2)+(y-1)*(y-1)<164. 以下叙述中正确的是答案:C)'A'和'A'都是转义字符常量65. C语言常量的类型从字面形式上可区分,以下判断中正确的是答案:D)2.0E3 --- 实型66. 以下选项中,算术表达式的值与其他三个不同的是答案:C)3/567. 设有定义:int k=3,i=2; 以下选项中,变量k的值与其他三个不同的是答案:C)k=i--;68. 设有如下语句:int k=0;k=printf("OK ");则以下叙述中正确的是答案:A)变量k得到的是输出字符的总个数369. 以下叙述中错误的是答案:A)C语言逻辑运算的结果是0和任意非0值为逻辑运算的对象70. C语言的逻辑表达式在特定情况下会产生“短路”现象。
2019c语言期末考试题及答案

2019c语言期末考试题及答案一、选择题(本题共10小题,每小题2分,共20分)1. C语言中,用于定义变量的关键字是:A. varB. defineC. intD. let答案:C2. 下列哪个选项是正确的C语言标识符?A. 2variableB. variable2C. -variableD. variable$答案:B3. 在C语言中,用于定义一个整型变量并赋值为10的语句是:A. int a = 10;B. int a = '10';C. int a = "10";D. int a = (10);答案:A4. C语言中,表示逻辑“与”操作的符号是:A. &&B. ||C. !D. &答案:A5. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 函数结构答案:D6. 在C语言中,用于计算两个整数相加的表达式是:A. a + bB. a - bC. a * bD. a / b答案:A7. C语言中,用于表示字符常量的是:A. 'A'B. "A"C. AD. a答案:A8. 在C语言中,哪个函数用于计算一个数的平方?A. pow()B. sqrt()C. log()D. sin()答案:A9. 下列哪个选项是C语言中的预处理指令?A. #includeB. defineC. returnD. typedef答案:A10. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. defineD. void答案:D二、填空题(本题共5小题,每小题4分,共20分)1. C语言中,用于输出字符串的函数是________。
答案:printf2. 若int a = 10; 则表达式 a++ 的结果是________。
答案:113. C语言中,用于定义一个二维数组的语法是 int arr[3][4]; 其中数组arr的第一维大小为________,第二维大小为________。
2019年3月计算机二级c语言试题及详细解答答案9页word文档

2019 年3 月全国计算机等级考试二级C 语言真题(考试时间90 分钟,满分100 分)一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25 个节点,其中5 个时子节点,那么度为1 的节点数为A、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词6、有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A、自然连接B、并C、差D、交7、软件生命周期中的活动不包括A、软件维护B、市场调研C、软件测试D、需求分析8、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求B、确定软件系统的系统的系能需求B、制定软件集成测试计划D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图10、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD 图D、数据流图(DFD 图)211、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C 语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A、一个C 程序可以包含多个不同名的函数B、一个C 程序只能有一个主函数C、C 程序在书写时,有严格的缩进要求,否则不能编译通过D、C 程序的主函数必须用main 作为函数名15、设有以下语句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2).若要为变量ch1 和ch2 分别输入字符A 和B,正确的输入形式应该是A、A 和B 之间用逗号间隔B、A 和B 之间不能有任何间隔符C、A 和B 之间可以用回车间隔D、A 和B 之间用空格间隔16、以下选项中非法的字符常量是A、’\102’B、’\65’C、’\xff’D、’\019’17、有以下程序#include <sthio.h>Main()Int A=0,B=0,C=0.C=(A=A5).(A=B,B+=4).Printf(“%d, %d, %d\n”,A,B,C)程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++. printf((“%d\n”,x).B、n=++x. printf((“%d\n”,n).C、++x. printf((“%d\n”,x).D、n=x++. printf((“%d\n”,n).19、以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.020、有以下程序#include <sthio.h>3Main(){ int a;Scanf(“%d”,&a).If(a++<9) printf((“%d\n”,a).Else printf((“%d\n”,a)程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11 C 9 D 821、有以下程序#include <sthio.h>Main(){int s=0,n.For (n=0.n<3.n<++){switch(s){ case 0.Case 1.s+=1.Case 2.s+=2.break.Case 3.s+3.Case 4.s+=4.printf((“%d\n”,s).程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022、若k 是int 类型变量,且有以下for 语句For(k=1;k<0.k++)printf(****\n”).下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.h>Main(){char A,B,C.B=’1’.C=’A’For(A=0.A<6.A++){if(A%2) putchar(B+A).Else putchar(C+A);程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句Int m[ ]={2,4,6,8},*k=m.4以下选项中,表达式的值为 6 的是A *(k+2)B k+2C *k+2D *k+=225、fun 函数的功能是:通过键盘输入给x 所指的整型数组所有元素赋值。
计算机二级c语言2019笔试题及答案

计算机二级c语言2019笔试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable_2D. variable$2答案:C3. 在C语言中,下列哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strncpyD. strncat答案:A4. 下列哪个选项是C语言中正确的注释方式?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment */5. C语言中,while循环的语法结构是:A. while(expression) statementB. do statement while(expression);C. for(expression; statement; expression)D. if(expression) statement答案:A6. 在C语言中,下列哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. 以上都是答案:D7. 下列哪个选项是C语言中用于定义一个整型数组的语法?A. int array[10];B. int array[];C. int array[10]={0};D. 以上都是答案:D8. 在C语言中,下列哪个函数用于将浮点数转换为字符串?A. sprintfB. sscanfC. atoiD. atof答案:A9. 在C语言中,下列哪个关键字用于定义一个指针?B. floatC. charD. *答案:D10. 下列哪个选项是C语言中正确的函数定义?A. int function(int x, int y) { return x + y; }B. int function(int x, int y) { return x - y; }C. int function(int x, int y) { return x * y; }D. 以上都是答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个宏。
2019计算机二级c语言考试答案

2019计算机二级c语言考试答案一、选择题1. 在C语言中,下列哪个选项是正确的整型常量?A. 0x12B. 0.5C. 0b101D. 0L答案:A2. 下列哪个选项是合法的C语言标识符?A. 2variableB. _variableC. variable2D. variable$2答案:C3. 在C语言中,哪个关键字用于声明一个函数?A. intB. voidC. functionD. def答案:B4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. andD. or答案:A5. 在C语言中,哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A二、填空题1. C语言中,用于定义单精度浮点型变量的关键字是______。
答案:float2. 在C语言中,使用____关键字可以定义一个无限循环。
答案:while3. C语言中,用于声明一个字符数组的语法是chararray_name[____]。
答案:size4. 若有定义int a=5;,则表达式a++的值为______。
答案:65. 在C语言中,用于输入一个字符的函数是______。
答案:getchar()三、编程题1. 编写一个C语言程序,计算并输出1到100之间所有奇数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i += 2) { sum += i;}printf("%d", sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
```c#include <stdio.h>#include <string.h>void reverse(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello World";reverse(str);printf("%s", str);return 0;}```。
2019年山东省春季高考信息技术类专业技能考试试题

2019年山东省普通高等学校招生考试(春季)
信息技术类专业技能考试(样题)
考试说明
1.考试时间为60分钟;
2.考试内容包括C语言程序设计和网页制作两部分;
3.试题满分230分,其中C语言程序设计100分,网页制作130分;
4.请考生将E盘根目录下名为“考生号”的文件夹重命名为自己的考号(如“E:\考生号”改为“E:\201900000000”)。
技术平台
1.硬件平台
2.软件平台
项目一C语言程序设计
注意事项:
1.注意考试文件的命名及存储路径,未按要求保存文件,后果自负;
2.试题程序中不得增行或删行,严禁更改程序结构;
3.请注意随时保存文件,避免造成损失。
考试要求:
1.程序改错题
本题的程序源文件gaicuo.c在E盘以考生号命名的考试文件夹内(E:\考生号\C\),根据程序功能要求,源代码中有多行错误,请修改并保存。
注意不得增行或删行,严禁更改程序结构。
程序功能:此样题不提供程序功能描述。
gaicuo.c源代码如下:
此样题不提供范例源程序,考生可自行练习。
源程序的错误类型主要包括:
(1)头文件引用错误;
(2)变量的定义错误;
(3)赋值语句使用错误;
(4)常用函数使用错误;
(5)运算符和表达式使用错误;
(6)if语句使用错误;
(7)程序语法错误;
(8)程序逻辑错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试卷编号:8258所属语言:计算机基础试卷方案:111试卷总分:400分共有题型:3种一、程序填空共5题(共计100分)第1题(分)题号:650 难度:中第1章/*------------------------------------------------------- 【程序填空】---------------------------------------------------------函数int change(char s[])将s中的数字字符串转换成整数,并返回该数。
例如s[]中为"123",转换后为123。
函数int multi(char s[],char t[])将s字符串转换的整数乘以t字符串转换的整数,并返回乘积。
--------------------------------------------------------- 注意:请勿改动程序中的其他内容。
-------------------------------------------------------*/#include<>int change(char s[]){int i,sum;sum=0;for(i=0;s[i];i++)/**************************SPACE*************************/ sum=sum*10+【?】-'0';return sum;}int multi(char s[],char t[]){int mul;/**************************SPACE*************************/ mul=【?】;return mul;}int main(){char s1[]="123",s2[]="56";int mst;mst=multi(s1,s2);printf("%d\n",mst);return 0;}答案:=======(答案1)=======s[i]=========或=========*(s+i)=======(答案2)=======change(s)*change(t)=========或=========change(t)*change(s)第2题(分)题号:651 难度:中第1章/*------------------------------------------------------- 【程序填空】---------------------------------------------------------函数void check(long n, int c[])检测长整型正整数n是几位数,同时找出最小的数字。
将位数和最小的数字存放在数组c中。
例如n=1256044时,n是7位数,最小的数字是0。
--------------------------------------------------------- 注意:请勿改动程序中的其他内容。
-------------------------------------------------------*/#include <>/**************************SPACE*************************/ void check(long n, int 【?】){int min,p,k;min=9;p=0;do{k=n%10;min=(min>k)? k: min;n/=10;p++;c[0]=p;c[1]=min;}int main(){long n;int c[2];printf("输入长整型正整数:");scanf("%ld",&n);check(n, c);/**************************SPACE*************************/ printf("%ld是%d位数,最小数字是%d\n",【?】);return 0;}答案:=======(答案1)=======c[]=========或=========c[2]=======(答案2)=======n,c[0],c[1]第3题(分)题号:652 难度:中第1章/*------------------------------------------------------- 【程序填空】---------------------------------------------------------函数int convert(int a,int nsys)将nsys(nsys<10)进制数a,转换成十进制数并返回。
---------------------------------------------------------注意:请勿改动程序中的其他内容。
---------------------------------------------------------*/#include<>#define N 5int convert(int a,int nsys){int t,p;return a;t=0;p=1;while(a!=0){t=t+a%10*p;/**************************SPACE*************************/ 【?】;p*=nsys;}return t;}int main(){int i,d;int num[N][2]={{704,8},{10011,2},{266,7},{3,5},{22110,3}}; for(i=0;i<N;i++){d=convert(num[i][0],num[i][1]);/**************************SPACE*************************/printf("%d进制数的%d\t = 十进制数的%d\n",【?】);}return 0;}答案:=======(答案1)=======a/=10=========或=========a=a/10=======(答案2)=======num[i][1],num[i][0],d第4题(分)题号:653 难度:中第1章/*-------------------------------------------------------【程序填空】---------------------------------------------------------函数void rearr(int a[], int n)将已经升序排列的一维数组a中的n个元素重新排列,重新排列的规则是:将a数组中的最小元素放到a[0],最大元素放到a[1],将次小元素放到a[2],次大元素放到a[3],...,以此类推。
例如:原a数组各元素为:-11 -7 0 3 8 15 16 20 38重新排列后a数组各元素为:-11 38 -7 20 0 16 3 15 8--------------------------------------------------------- 注意:请勿改动程序中的其他内容。
-------------------------------------------------------*/#include<>#define N 9void rearr(int a[], int n){int left,right,i;int b[N];left=0;right=N-1;for(i=0; left<right; i+=2){b[i]=a[left++];/**************************SPACE*************************/ b[i+1]=a[【?】];}if(left==right)b[i]=a[left];for(i=0;i<N;i++)/**************************SPACE*************************/ a[i]=【?】;}int main(){int i,a[N]={-11,-7,0,3,8,15,16,20,38};rearr(a,N);for(i=0;i<N;i++)printf("%3d",a[i]);printf("\n");return 0;}答案:=======(答案1)=======right--=======(答案2)=======b[i]第5题(分)题号:654 难度:中第1章/*-------------------------------------------------------【程序填空】---------------------------------------------------------函数void change(char s[],char t[])将s字符串中字母和数字字符按以下规则转换,并将其保存在t中。
其他字符则不作转换。
大写字母转换规则:'A'->'z','B'->'y',...,'Z'->'a'小写字母转换规则:'z'->'A','y'->'B',...,'a'->'Z'数字字符转换规则:'0'->'9','1'->'8',...,'9'->'0'---------------------------------------------------------注意:请勿改动程序中的其他内容。
-------------------------------------------------------*/#include<>#include<>void change(char s[],char t[]){int i;for(i=0;s[i];++i){if(isalpha(s[i]))t[i]=(isupper(s[i]) ? 'Z'-s[i]+'a' : 'z'-s[i]+'A'); else if(isdigit(s[i]))t[i]='9'-s[i]+'0';else/**************************SPACE*************************/【?】;}t[i]=0;}int main(){char t[100]="7984 RH hSVVK BVZI,dRHS BLF TLLW OFXP!"; char s[100];/**************************SPACE*************************/ 【?】;printf("%s\n",s);return 0;}答案:=======(答案1)=======t[i]=s[i]=======(答案2)=======change(t,s)二、程序改错共5题(共计150分)第1题(分)题号:575 难度:中第1章/*------------------------------------------------------- 【程序改错】---------------------------------------------------------题目:int sort(int a[],int n)函数将n个元素的数组a中互不相同的元素按升序排列,重新存入数组a中,函数返回按升序排列后互不相同元素的个数。