c语言历年考题真题解析
c语言历年考题真题解析定稿版

c语言历年考题真题解析精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】(2010年春选择题第21题)A.必须在最开始B.必须在最后C.必须在预处理命令的后面D.可以在其他函数之前或之后【解析】main函数也叫主函数,是C语言编译系统提供的特殊函数,可以放在程序中的任何位置,但不能定义在其他函数体内。
C程序总是从main函数的第一条语句开始执行。
【答案】D2.以下叙述中正确的是________ 。
(2009年秋选择题第21题)A.C语言系统以函数为单位编译源程序B.main函数必须放在程序开始C.用户定义的函数可以被一个或多个函数调用任意多次D.在一个函数体内可以定义另外一个函数【解析】C语言系统以程序为单位编译源程序,程序由函数组成。
main函数可以放在其他函数之前或之后。
除了main函数外,函数可以被其他函数多次调用。
函数不能定义在其他函数体内,即不能嵌套定义。
【答案】C3.以下叙述中正确的是_________ 。
(2008年秋选择题第21题)A.在编译时可以发现注释中的拼写错误B.C语言程序的每一行只能写一条语句C.main(){}必须位于程序的开始D.C语言程序可以由一个或多个函数组成【解析】C程序的注释不产生编译代码,编译时跳过去,发现不了其中错误。
C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。
main函数可以放在程序中的任何位置。
C程序可以由一个或多个函数组成,函数可以为空函数,包括main 函数。
【答案】D4.以下关于C语言源程序的叙述中错误的是________。
(2007年春选择题第21题)A.一个C源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义B.函数定义由函数头部和函数体两部分组成C.在一个函数定义的函数体中允许定义另一个函数D.在一个函数定义的函数体中允许调用另一个函数或调用函数自身【解析】一个C语言源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义,函数定义由函数头部和函数体两部分组成。
历年c语言考研试题及答案

历年c语言考研试题及答案试题:一、单项选择题(每题2分,共10分)1. 下列哪个选项是C语言中的合法标识符?A. 2classB. class#2C. _class2D. class@22. C语言中,一个整型变量的值超过了整型变量的存储范围,该变量的值将如何变化?A. 变成一个随机值B. 变成一个负数C. 变成一个正数D. 变成一个不确定的值3. 在C语言中,以下哪个函数用于将浮点数转换为整数?A. int()B. float()C. double()D. long()4. 下列关于C语言数组的描述中,哪个是错误的?A. 数组的元素在内存中是连续存储的B. 数组的大小在运行时可以改变C. 数组的下标从0开始D. 数组一旦定义,其类型、大小和长度都不能改变5. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. type二、简答题(每题5分,共10分)1. 请简述C语言中指针和数组的区别。
2. 请解释C语言中函数原型的作用。
三、编程题(每题15分,共30分)1. 编写一个C语言函数,实现两个整数的交换。
2. 编写一个C语言程序,输出前100个素数。
答案:一、单项选择题1. C. _class22. D. 变成一个不确定的值3. A. int()4. B. 数组的大小在运行时可以改变5. A. struct二、简答题1. 指针和数组在C语言中都可以用来访问内存中的元素,但它们之间存在一些区别:- 数组名是一个常量指针,它指向数组的第一个元素,而指针是一个变量,可以在程序执行过程中改变其指向的地址。
- 数组的大小是固定的,一旦定义,不能改变;指针则没有这个限制。
- 通过数组名访问数组元素时,使用的是下标索引;而通过指针访问元素时,使用的是指针运算。
2. 函数原型在C语言中的作用包括:- 它提供了函数的名称和参数类型,帮助编译器检查函数调用时的类型匹配。
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语言题库(带详细讲解答案解析).pdf

30. 若有以下说明语句: struct student { int num; char name[ ]; float score; }stu; 则下面的叙述不正确的是 : ( D ) A. struct 是结构体类型的关键字 B. struct student 是用户定义的结构体类型 C. num, score 都是结构体成员名 D. stu 是用户定义的结构体类型名
第一个 [ 下标 ] 表示行逻辑地址下标,第二个 [ 下标 ] 表示列逻辑地址下标。
本题图示详见 P149 图 6.7
因此 a 的行逻辑地址范围 0~2;a 的列逻辑地址范围 0~3;
选项 A,列逻辑地址下标超过范围
选项 B,D,的引用形式不正确。
0 开始计数
25.C 语言中函数返回值的类型是由
A
决定的 .
表示组中第 10 个元素 .
选项 A,超过了数组 a 的逻辑地址下标范围;
选项 B,逻辑地址下标只能为整数
选项 C,逻辑地址下标只能放在 [ ] 中
21. 若有以下数组说明,则 i=10;a[a[i]] 元素数值是( C )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10
B.9
C.6
D.5
先算 a[a[i]] 内层的 a[i] ,由于 i=10, 因此 a[i] 即 a[10].
a[10] 对应下面数组中的元素为 9. 因此 a[a[i]] 即为 a[9]
a[9] 对应下面数组中的元素为 6. 因此 a[9] 即为 6
22. 若有说明: int a[][3]={{1,2,3},{4,5},{6,7}};
c 考试试卷和答案解析

c 考试试卷和答案解析**C 考试试卷和答案解析**一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中正确的整型常量?A. 0x12B. 0.5C. 1e2D. 1.23**答案解析:** 正确答案是A。
0x12是一个十六进制的整型常量,B选项是浮点数,C选项是科学记数法表示的浮点数,D选项也是浮点数。
2. C语言中,以下哪个关键字用于声明一个函数?A. intB. voidD. break**答案解析:** 正确答案是B。
void是用于声明函数的返回类型,表示该函数不返回任何值。
A选项int是整型关键字,C选项return是返回语句,D选项break是循环控制语句。
3. 在C语言中,以下哪个运算符用于执行逻辑“与”操作?A. &&B. ||C. !D. &**答案解析:** 正确答案是A。
&&是逻辑“与”运算符,B选项||是逻辑“或”运算符,C选项!是逻辑“非”运算符,D选项&是位“与”运算符。
4. C语言中,以下哪个语句用于循环直到满足某个条件?A. ifC. forD. switch**答案解析:** 正确答案是B。
while循环会一直执行,直到条件不再满足。
A选项if是条件语句,C选项for是循环语句,D 选项switch是多分支选择语句。
5. C语言中,以下哪个函数用于计算两个整数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()**答案解析:** 正确答案是A。
abs()函数用于计算整数的绝对值。
B选项fabs()是计算浮点数绝对值的函数,C选项sqrt()是计算平方根的函数,D选项pow()是计算幂的函数。
6. 在C语言中,以下哪个关键字用于声明一个全局变量?B. externC. autoD. register**答案解析:** 正确答案是B。
extern关键字用于声明一个全局变量,表示该变量在其他文件中定义。
大一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语言试题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0123C. 0x123.456D. 0123456答案:A解析:在C语言中,十六进制常量以0x或0X开头,后跟十六进制数字。
选项A表示十六进制数,是合法的整型常量。
选项B表示八进制数,选项C表示浮点数,选项D是无效的表示。
2. 下列哪个选项是C语言中的关键字?A. switchB. caseC. defaultD. all of the above答案:D解析:在C语言中,switch、case和default都是关键字。
switch用于条件分支,case用于指定分支条件,default用于指定默认分支。
3. 在C语言中,以下哪个选项是合法的字符常量?A. 'A'B. "A"C. '\t'D. 'AB'答案:C解析:在C语言中,字符常量用单引号括起来,可以是单个字符或转义字符。
选项A是合法的字符常量,但选项B是字符串常量。
选项C 是合法的转义字符,表示水平制表符。
选项D是两个字符,不是合法的字符常量。
4. 在C语言中,以下哪个选项是合法的数组声明?A. int a[];B. int b[10];C. int c[10] = {0};D. all of the above答案:D解析:在C语言中,A选项声明了一个未指定大小的整型数组,B选项声明了一个大小为10的整型数组,C选项声明了一个大小为10的整型数组并初始化所有元素为0。
所有选项都是合法的数组声明。
5. 在C语言中,以下哪个选项是合法的函数声明?A. int func(int x);B. int func(int);C. int func();D. int func(int, int);答案:D解析:在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语言中,字符常量用________表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(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);}【解析】本题的考点是复合赋值运算符,程序功能是不用临时变量,实现两个变量的值的交换。
计算过程如下:a=a+b=1+2=3,b=a-b=3-2=1,a=a-b=3-1=2。