C语言历年考题真题解析
c语言笔试选择题和答案解析

c语言笔试选择题和答案解析c语言笔试题及答案(1)算法的时间复杂度是指_______。
A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数答案:C评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
(2)下列叙述中正确的是________。
A)线性表是线性结构B)栈与队列是非线性结构C)线性链表是非线性结构D)二叉树是线性结构答案:A评析:一般将数据结构分为两大类型:线性结构与非线性结构。
线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。
(3)下面关于完全二叉树的叙述中,错误的是_________。
A)除了最后一层外,每一层上的结点数均达到最大值B)可能缺少若干个左右叶子结点C)完全二叉树一般不是满二叉树D)具有结点的完全二叉树的深度为[log2n]+1答案:B评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。
完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。
(4)结构化程序设计主要强调的是_________。
A)程序的规模B)程序的易读性C)程序的执行效率D)程序的可移植性答案:B评析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。
(5)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是________。
A)概要设计B)详细设计C)可行性分析D)需求分析答案:D评析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。
编写软件规格说明书及初步的用户手册,提交评审。
(3)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是_________。
A)控制流B)加工C)数据存储D)源和潭评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。
C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
c语言期末考试题库及详解答案选择题

c语言期末考试题库及详解答案选择题在C语言期末考试中,选择题是常见的题型之一,它考查学生对C语言基础知识点的掌握程度。
以下是一些典型的C语言选择题及其详解答案,供同学们参考:1. 下列哪个是合法的C语言常量?A. 0.123E-2B. .123C. 0x12AB34D. 0L答案:C。
解析:C语言中的常量可以是整型常量、浮点型常量、字符常量等。
选项A中缺少整数部分,选项B中没有整数部分或指数部分,选项D中的'L'是长整型后缀,但前面没有数字,因此选项C是合法的十六进制常量。
2. 以下哪个语句不能通过编译?A. int a = 5;B. int b = 0x12;C. int c = 0755;D. int d = 1.23e0;答案:C。
解析:选项C中的0755是一个八进制常量,但是八进制常量不能以数字5开始,因此选项C是错误的。
3. 以下哪个是正确的C语言数组声明?A. int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};B. int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};C. int arr[5] = {0, 1, 2, 3, 4, 5};D. int arr[10];答案:B。
解析:选项A中数组的大小是10,但初始化列表中只有9个元素,这是不正确的。
选项C中初始化列表有6个元素,但数组的大小是5,这会导致编译错误。
选项D没有初始化列表,但数组的大小是10,这是合法的。
选项B是正确的,因为它允许数组的大小由初始化列表中的元素数量决定。
4. 下列哪个是正确的C语言函数声明?A. void myFunction();B. int myFunction(int a, int b);C. double myFunction(double);D. void myFunction(int);答案:B。
解析:选项A中没有参数,但函数名后没有括号,这是不正确的。
C语言题库(带详解答案)

一单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
大一c语言考试题及答案解析

大一c语言考试题及答案解析1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable$name答案:B解析:在C语言中,变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。
选项A以数字开头,选项C和D包含非法字符(-和$),因此选项B是唯一合法的变量名。
2. C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D解析:在C语言中,定义函数的关键字是`void`,通常与`return`关键字一起使用来指定函数的返回类型。
例如,`void functionName()`定义了一个没有返回值的函数。
选项A和B不是C语言中的关键字,选项C是Python中的关键字。
3. 以下哪个选项是C语言中正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. <!-- This is a single line comment -->D. Both A and B答案:D解析:在C语言中,单行注释可以使用`//`,而多行注释则使用`/*`开始和`*/`结束。
因此,选项A和B都是正确的注释方式,选项C是HTML中的注释方式,不适用于C语言。
4. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,`*`运算符用于计算两个数的乘积。
选项A是加法运算符,选项B是减法运算符,选项D是除法运算符。
5. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello, World!";B. char str = "Hello, World!";C. char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};D. Both A and C答案:D解析:在C语言中,字符串可以通过字符数组来定义,可以是直接赋值的字符串字面量(选项A),也可以是字符的列表(选项C),列表的末尾需要添加空字符`\0`来标识字符串的结束。
C语言考试试题及解答 一

C语言试题(A卷)班级:姓名:学号一、填空(每空1分,共10分)1、设x为整型变量,值为1,则表达式(x&&1)= =(x%2)的值为2、与二进制数101等值的十进制数为3、若已知a=10,b=20,则表达式!a<b的值为4、结构化程序设计所规定的三种基本控制结构是结构结构和结构。
5、定义int i=1;执行语句while(i++<5);后,i的值为_______6、定义3行4列的整型二维数组a的语句是___________7、int *p,a;则语句p=&a;中的运算符&是________符号。
8、设y是int型变量,请写出判断y为奇数的关系表达式二、选择(每小题2分,共30分)1、下列优先级最低的算符是( )A&& B & C || D =2、已知int j,i=1;执行语句“j=i++;”后,变量i的值是( )A 1B 2C –1D -23、已知int i,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是( )A 6B 12C 30D 364、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )A a< >0B !aC a=0D a5、以下错误的if语句是( )A if (x>y);B if(x= =y) x+=y;C if (x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);D if (x<y) {x++;y++;}6、为了判断两个字符串s1和s2是否相等,应当使用( )A if (s1= =s2)B if (s1=s2)C if (strcpy(s1,s2))D if (strcmp(s1,s2)= =0)7、若有说明int x,y;不能实现以下函数关系的程序段是( )y=-1 (x<0)y=0 (x=0)y=1 (x>0)A if (x<0) y= -1 ;B y= -1;else if(x= =0) y=0;if (x!=0)else y=1;if (x>0) y=1;else y=0;C y=0;D if (x>=0)if (x>=0) if (x>0) y=1;{if (x>0) y=1;} else y=0;else y= -1;else y= -1;8、以下错误的描述是( )A break语句不能用于循环语句和switch语句外的任何其他语句B 在switch 语句中使用break语句或continue语句的作用相同C 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环D 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环9、若int i=10;执行下列程序后,变量i的正确结果是( )switch ( i ){case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}A10 B 11 C 12 D 1310、下列程序是求1到100的累加和,其中有1个不能够完成规定的功能,是( )A s=0;i=0;B s=0;i=1;while (i<=100) while (i++<100)s+= i++;s+=i;C s=0;i=0;D s=0;i=0;while (i<100) while (++i<=100)s+= ++i;s += i ;11、选择程序输出结果( )f(int b[ ],int m,int n){ int i,s=0;for(i=m;i<n;i++)s+=b[i];return s;}main(){int x,a[ ]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf("%d\n",x);}A 30B 15C 18D 2212、C语言中函数返回值的类型由( )决定的。
大一c语言期末考试题及答案解析
大一c语言期末考试题及答案解析一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. all of the above答案:D2. C语言中,用于定义单精度浮点数的关键字是?A. intB. floatC. doubleD. char答案:B3. 下列哪个函数用于将浮点数转换为字符串?A. sprintfB. printfC. scanfD. strcat答案:A4. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A5. 下列哪个选项不是C语言中的控制结构?A. ifB. forC. whileD. switch答案:D6. C语言中,用于定义字符数组的关键字是?A. charB. stringC. arrayD. vector答案:A7. 下列哪个函数用于输出格式化的字符串?A. printfB. scanfC. fprintfD. sprintf答案:A8. C语言中,用于定义整型变量的关键字是?A. intB. floatC. doubleD. char答案:A9. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ||D. ==答案:D10. 在C语言中,用于定义布尔变量的关键字是?A. boolB. intC. charD. float答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:___________。
答案:int variable_name;2. C语言中,用于输入一个整数的函数是:___________。
答案:scanf3. 如果要定义一个字符串常量,应该使用___________符号。
答案:"4. 在C语言中,使用___________关键字可以定义一个函数。
答案:void 或者其他返回类型5. C语言中,用于定义一个数组的语法是:___________。
c语言历年真题及答案
c语言历年真题及答案【篇一:c语言试题及答案】t>1. 单项选择题(1) c 语言是在 b 语言的基础上产生的。
a. ab. bc. dd. e(2) 在 c 语言中,每个语句必须以 d 结束。
a. 回车符b. 冒号c. 逗号d. 分号(3) 标识符和关键字间,要用c 隔开。
a. 回车符b. 冒号c. 空格d. 分号(4) 用 c 语言编写的源文件经过编译,若没有产生编译错误,则系统将( b )。
a. 生成可执行目标文件b. 生成目标文件c. 输出运行结果d.自动保存源文件(5) 下列说法中正确的是( b )。
a. 由于 c 源程序是高级语言程序,因此一定要在 tc 软件中输入b. 由 c 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入c. 由于c 程序是高级语言程序,因此输入后即可执行d. 由于 c 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( a )。
a. c 语言程序由主函数和 0 个或多个函数组成b. c 语言程序由主程序和子程序组成c. c 语言程序由子程序组成d. c 语言程序由过程组成(7) 下列说法中错误的是( d )。
a. 主函数可以分为两个部分:主函数说明部分和主函数体b. 主函数可以调用任何非主函数的其他函数c. 任何非主函数可以调用其他任何非主函数d. 程序可以从任何非主函数开始执行2. 填空题(1) c 语言只有 32个关键字和 9 种控制语句。
(2) c 语言是一种“ 中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行c 语言程序。
(4) 在 c 语言程序中允许出现的字符集是 ascii码字符集。
(5) c 语言的程序中有特殊含义的英语单词称为保留字。
(6) c 语言标识符的长度是前8位有效。
(7) c 语言中,标识符的定义规则是以字母或下划线为开头。
大一c语言考试题及答案详解
大一c语言考试题及答案详解大一C语言考试题及答案详解一、选择题(每题2分,共20分)1. C语言中,以下哪个是正确的数据类型?A. IntegerB. intC. floatD. all of the above答案:D2. 下列哪个运算符不能用于整数和浮点数的运算?A. 加(+)B. 减(-)C. 乘(*)D. 模(%)答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. ifB. forC. functionD. void答案:D4. C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. abs()D. log()答案:A5. 在C语言中,以下哪个是正确的数组声明语句?A. int numbers[];B. int [10] numbers;C. Both A and BD. None of the above答案:C6. 以下哪个语句可以正确地交换两个变量的值?A. a = a + b;B. a = a - b;C. a = a / b;D. a = a + b; b = a - b; a = a - b;答案:D7. C语言中,哪个预处理指令用于包含头文件?A. #includeB. #importC. #include_onceD. #header答案:A8. 在C语言中,哪个关键字用于声明一个指针变量?A. varB. pointerC. ptrD. * (asterisk)答案:D9. 下列哪个不是C语言中的控制结构?A. if-elseB. switch-caseC. whileD. goto答案:D10. C语言中,以下哪个函数用于将整数转换为字符串?A. intToString()B. itoa()C. toStr()D. None of the above答案:B二、填空题(每空2分,共20分)1. 在C语言中,字符常量用________表示。
c语言试卷集(10套)-试题及答案
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言历年考题真题解析 This model paper was revised by the Standardization Office on December 10, 2020语言规定,在一个源程序中main函数的位置 ______ 。
(2010年春选择题第21题)A.必须在最开始B.必须在最后C.必须在预处理命令的后面D.可以在其他函数之前或之后【解析】main函数也叫主函数,是C语言编译系统提供的特殊函数,可以放在程序中的任何位置,但不能定义在其他函数体内。
C程序总是从main函数的第一条语句开始执行。
【答案】D2.以下叙述中正确的是________ 。
(2009年秋选择题第21题)语言系统以函数为单位编译源程序函数必须放在程序开始C.用户定义的函数可以被一个或多个函数调用任意多次D.在一个函数体内可以定义另外一个函数【解析】C语言系统以程序为单位编译源程序,程序由函数组成。
main函数可以放在其他函数之前或之后。
除了main函数外,函数可以被其他函数多次调用。
函数不能定义在其他函数体内,即不能嵌套定义。
【答案】C3.以下叙述中正确的是_________ 。
(2008年秋选择题第21题)A.在编译时可以发现注释中的拼写错误语言程序的每一行只能写一条语句(){}必须位于程序的开始语言程序可以由一个或多个函数组成【解析】C程序的注释不产生编译代码,编译时跳过去,发现不了其中错误。
C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。
main函数可以放在程序中的任何位置。
C程序可以由一个或多个函数组成,函数可以为空函数,包括main函数。
【答案】D4.以下关于C语言源程序的叙述中错误的是________。
(2007年春选择题第21题)A.一个C源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义B.函数定义由函数头部和函数体两部分组成C.在一个函数定义的函数体中允许定义另一个函数D.在一个函数定义的函数体中允许调用另一个函数或调用函数自身【解析】一个C语言源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义,函数定义由函数头部和函数体两部分组成。
函数可以嵌套调用也可以递归调用,但不能嵌套定义。
C的意思是嵌套定义,错误,D的意思是嵌套调用和递归调用,正确。
【答案】C基本数据类型1.以下选项中,___________ 是C语言关键字。
(2010年春选择题第22题)【解析】default是关键字,用在switch语句中。
printf和include属于预定义标识符,其中printf是输出函数名,include用在预编译处理命令中。
fun是用户自定义标识符。
【答案】D2.在以下各组标识符中,均可以用作变量名的一组是_____。
(2007年秋选择题第22题),Int ,a*.1 ,W12 ,point【解析】选项A中两个都符合标识符的命令规则,Int与关键字int是不同的标识符,选项B的第2个标识符中有*号,不符合标识符命名规则,选项C数字开头,不允许,选项D中的for是关键字,不能做变量名。
【答案】A3.以下定义和声明中,语法均有错误的是___________。
(2009年春选择题第21题)①int _f(int x){} ②int f(int f){} ③int 2x=1; ④struct for{int x;};A.②③B.③④C.①④D.①②③④【解析】本题考的是标识符的命名规则。
③定义的整型变量名数字开头,不符合命名规则。
④中定义的结构体类型名for属于关键字,不能作为结构体类型名。
②中使用的函数名和形式参数名相同,在语法上可以,但在实际编程时不提倡使用。
【答案】B4.在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占________个字节。
(2010年春填空题第3题)【解析】表示范围为整数-32768~32767的属于int型或short型的变量,它们在内存占2个字节。
【答案】25.若有声明“int x;”且sizeof(x)的值为2,则当x值为___________时“x+1>x”为假。
(2009年春填空题第2题)【解析】x为int型,其表示范围为-32768~+32767,当x为32767时,再加1就变成了-32768了,此时,就是x+1>x”为假的情况。
这是由int型数据在内存中的存储情况决定的。
int型数据在内存中占2个字节,以补码的形式为-32768的补码,这种情况为溢出,数处于边界时会溢出。
sizeof(x)是求字节数运算符。
【答案】327676.已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!=3628800),变量f的类型应声明为___________ 。
(2008年秋选择题第23题)A. long intB. intC. short int int【解析】10!=3628800,超过了int的范围-32768~+32767,而长整型在内存占4个字节,表示范围大到,应该要用长整型才可以存放3628800。
【答案】A7.以下常量表示中正确的是__________ 。
(2008年春选择题第22题)【解析】选项A若想表示成十六进制常量,正确的表示应该是0xff,如果表示成转义字符,应该放在单引号内:'\0xff'。
选项B表示的是长整型常量,选项C是一个标识符,不能表示常量,选项D表示的是无符号整数,但无符号整数不应该有小数。
【答案】B8.以下表示中不能用作C语言常量表示的是____。
(2007年春选择题第22题)B.(long)123 D.'\x2a'【解析】0UL意为将0以无符号长整型存放,B为强制类型转换,是表达式,表示长整型常量应该在123后加字母l或L。
C是实常量,指数表示法,意为1乘以10的0次方,e前面必须有数字,后面的数字必须是整数。
D是转义字符,表示十六进制数2a。
【答案】B9.在C语言源程序中,不带任何修饰的浮点数直接量(例如:)都是按_________类型数据存储的。
(2008年春填空题第1题)【解析】实型常量的类型默认为double类型, 在内存中占8个字节。
带f修饰即或,则认为它是float 型,在内存中占4个字节。
【答案】double10.已知有声明“char ch='g';”,则表达式ch=ch-'a'+'A'的值为字符__________的编码。
(2010年春填空题第2题)【解析】本题的功能是将小写字母转换成大写字母。
-'a'+'A'实际上就是减去32,对于一个小写字母来说,减去32就变成对应的大写字母。
【答案】G11.若有程序段“char c=256;int a=c;”,则执行该程序段后a的值是______。
(2007年秋选择题第24题)【解析】将256转换成二进制,为10000 0000,占9位,而char在内存只占一个字节,即8位,截取低8位赋给字符变量c,得c=0,将c的值赋给a,结果为0。
【答案】C运算符和表达式1.已知有声明“int a=3,b=4,c;”,则执行语句“c=1/2*(a+b);”后,c的值为_______ 。
(2010年春选择题第23题)【解析】本题考查的是两整数相除,结果为整数,截取的是整数部分,不是四舍五入。
1/2等于0,0乘于任何一个整数结果还是0,最后结果为0。
【答案】A2.已知有声明“long x,y;”且x中整数的十进制表示有n位数字(4<n<10),若要求去掉整数x十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中,则以下表达式中能正确实现这一功能的是________ 。
(2009年秋选择题第25题)=x/(10*(n-1)) =x%(10*(n-1))=x%(long)pow(10,n-1) =x%(10(n-1))【解析】本类型的题目,拿一个具体的数,放到四个选项中去计算,就能得到正确答案。
假设x为1234,代入A中,为1234/(10*3),肯定不是234,代入B中,为1234%(10*3)也不对,代入C中为1234%(long)103,结果为234,正确,选C。
而D中的“”在C语言中是指位运算中的“异或”运算,不是求指数。
【答案】C3.若有声明“float y=;int x;”,则计算表达式“x=y*100+,y=x/”后y的值是___________ 。
(2009年春填空题第3题)【解析】x=y*100+=*100+=315,因为x为int,截取整数部分赋给x。
然后计算y=x/=315/100=,y是浮点数。
【答案】4.若有声明“int a=32767,b;”,则在Turbo C 系统中执行语句“printf("%d",b=++a);”后输出结果是_________ 。
(2006年秋填空题第3题)【解析】本题有4个知识点:一是printf语句,输出%d格式,二是赋值运算及赋值表达式的值,三是++运算,四是int型数据的表示范围及整数在内存的存储情况。
b=++a是将a的值加1后赋给b,a、b是int型,处于-32768~32767范围内,32767+1=后为若是long型,满足32767+1等于32768。
【答案】-327685.已知有声明“int a=3,b=4;”,下列表达式中合法的是______ 。
(2010年春选择题第25题)+b=7 =|b| =b=0 D.(a++)++【解析】本题考查的是赋值运算符和“++”运算符的左值要求。
左值必须是变量,不能是常量和表达式。
选项A左边是表达式,不允许,选项D括号中的a++也是表达式,不能进行++运算。
选项B是一个代数式,必须转换成C语言合法的表达式,表示成a=abs(b)。
选项C正确,将0赋给b,再赋给a,a和b的值不再是初始化的值,而变成0了。
【答案】C6.已知有声明“int n;float x,y;”,则执行语句“y=n=x=;”后,y的值为________ 。
(2010年春选择题第28题)【解析】本题考查的是不同类型间的赋值。
赋值运算符右结合。
先将赋给x,表达式的值也为,再将赋给n,n是int,自动截取整数部分,将3赋给n。
最后将3赋给y,y是float,将整数3转换成实数后赋给y,y值为。
【答案】B7.以下程序运行时输出到屏幕的结果是___________。
(2010年春阅读程序第7题)#include <>void main(){ int a=1,b=2;a+=b;b=a-b;a-=b;printf("%d,%d\n",a,b);}【解析】本题的考点是复合赋值运算符,程序功能是不用临时变量,实现两个变量的值的交换。