C语言练习题参考答案
更新时间:2023-11-02 08:37:01 阅读量: 综合文库 文档下载
完成下列练习题: 练习一
单选题
(1) 下列 C语言表达式能正确表达数学计算式1÷2?× 2x y
。
A、 1/sqrt(2*3.14)*2*pow(x,y) B、1.0/sqrt(2?)*2*x**y
C、 1.0/sqrt(6.28)*2x^y D、 1/6.28^0.5*2*pow(x,y) (2) 执行以下程序段后, 输出结果为__(14)_.
main( )
{
long a;
a=(72*456-60)/2; printf(“%ld\\n”,a); }
A、 -16382 B、 16382 C、 16386 D、-16386 (3) 可以用signed和unsigned 修饰的类型标识符是 。
①int ②float ③double ④char
A.①④ B.②③ C.①② D.①②③④
(4) 以下常量中, (4) 是符合语法要求的。
①0258 ②’\\0xaa’ ③1E-9 ④3.5f ⑤(1/2)e-2 ⑥3L ⑦0xFF A. ①②③ B. ③⑤ C. ②③④⑦ D.③④⑥⑦
(5) 以下常量表示中错误的是 。
A.e2 B.-2L C.2.5f D. 0xabcd (6) 以下符号中不能用作标识符的是 。
A. _256 B. scanf C. void D. Struct
(7) 以下关于变量的叙述中错误的是 。 A. 所有变量在使用前都必须声明 B. 变量声明可放在函数体中任何位置
C. 全局变量和局部变量可以同名
D. 声明变量时必须给出变量的数据类型但可以缺省存储类型 (8) 若已声明: int a=7 ;char b=1;float x=2.0 , y=4.7 ;
则下列表达式的值不为2的是: 。
A. x+a%3*(int)(x+y)%2/4 B. sizeof ‘A’ C. b+1
D. sizeof b
(9) 以下关于main函数的叙述中,错误的是 。 A. main函数是自定义函数
B. main函数可以有形式参数也可以没有形式参数 C. main函数定义必须出现在一个源文件的开头 D. 在一个源程序中只能有一个main函数
(10) 已知有声明:
char c=‘1’ ; int x=300 ; float t=35000 ;
double d=3.1234567e10 ;
则以下表达式求值时除 外,其结果都可能是不准确的。 A、x=t/c B、t=d/x; C、t=d/1e5f D、t=x+c
(11) 设有定义 float y=3.45678; int x; 则以下表达式中能实现将y中数值保
留到小数点后2位,第3位四舍五入的表达式是 。
A、 y=(y*100+0.5)/100.0 B、 x=y*100+0.5, y=x/100.0 C、 y=y*100+0.5/100.0 D、 y=(y/100+0.5)*100.0
(12) 以下局部变量声明中,正确的是 。
A、 int 2x=1,2y=0;
B、 auto float x=2,y=sqrt(x); C、 char for=1; D、 double f’=1.0;
(13) 以下常量中, 是符合语法要求的。
① 0218 ② ’\\0x1a’ ③ E-9 ④ 3.5f
⑤ (1/2)e-2 ⑥ 3L ⑦ 0xFF
A、①②③ B、 ③⑤ C、 ②④⑦ D、④⑥⑦
(14) C语言中要求两个操作数都必须是整型数的运算符是 。 A、= = B、 + C、 / D、 %
(15) 在内存中需 个字节存储下列字符串:
“\\t\\”Name\\\\Address\\n”
A、 19 B、 15 C、16 D、 17
(16) 若已声明 unsigned a = 1024; ,则表达式 a = -a 的值为 64512 (17) 若有定义:
int b=17; float a=4.5, c=6.5;
则表达式 a+(int)(b/3*(int)(a+c)/2)%4的值为 7.500000 。 (18) 下列哪些是C语言中的错误表达式 _ 。
① ++a+++b ② “ABC” “abc” ③ -a++ ④ -++a
⑤ ++-a ⑥ int(x) ⑦ x>y=2 (19)下列叙述中正确的是 (21) 。 A. main函数必须出现在其他函数之前 B. main函数中至少必须有一条语句
C. 程序总是从main函数的第一条语句开始执行
D. 程序总是在执行完main函数的最后一条语句后结束
(20). 以下常量表示中正确的是 。 A. \\xff B. 5L
C. aEb D. 3.14u
(21) 在以下各组标识符中,均可以用作变量名的一组是 。 A. a01, Int B. table_1, a*.1 C. 0_a, W12 D. for, point
(22) 若有声明“long a,b;”且变量a和b都需要通过键盘输入获得初值,则下列语句中正确的是 。
A. scanf(\ B. scanf(\
C. scanf(\ D. scanf(\
(23) 若有程序段“char c=256; int a=c;”,则执行该程序段后a的值是 。 A. 256 B. 65536 C. 0 D. -1
(24) 已知在函数f中声明了局部变量x,如果希望f函数第一次被调用返回后变量x中存储的数据保持到下次f函数被调用时仍可以使用,则在声明x时必须指定其存储类型为 。 A. auto B. register C. static D. extern (25) 以下叙述中正确的是 。
A.在编译时可以发现注释中的拼写错误 B.C语言程序的每一行只能写一条语句 C.main( ){}必须位于程序的开始
D.C语言程序可以由一个或多个函数组成
(26) 以下选项中不能用作变量名的是 。
A._float B.switch C.sum D._123 (27) 已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!=3628800),变量f的
类型应声明为 。
A.long int B.int C.short int D.unsigned int (28) 数学式
a在C程序中正确的表示形式为 。 2bA.sqrt(a)/2*b B.sqrt(a)/2/b C.sqrt(a)/2b D.sqrt a/(2*b)
二、填空题
1.在C语言源程序中,不带任何修饰符的浮点数直接量(例如:3.14)都是按 double 类型数据存储的。
2.可以改变局部变量的生存期、但不能改变它的作用域的存储类别是 static 。 3.C语言有效的预处理命令总是以 # 开头。
4.若有声明“double x=10,y=5;”,则计算xy的库函数调用形式是 pow(x,y) 。 5. 设有声明“int a=3, b=4; float x=4.5, y=3.5;”,则表达式
“(float)(a+b)/2+(int)x%(int)y”的值是 4.500000 。
练习二
(1) C语言表示逻辑假的值是 。
A. 非零整数值 B. 0 C. 1 D. FALSE
(2) 已知有声明:int x=1,y=2,z=3;以下表达式中,表达式的值为0的是 。
① x/y ② !!x ③ x==2 ④ x=2 ⑤ y--,y-- ⑥ z>y>x A. ①③⑥ B. ②④⑤ C. ①③⑤ D. ②③⑥
(3) 以下表达式中,可以正确地用于if(e)/else语句中的条件表达式e是 。
A. ++(x+1)==x+2
B. t=!(y%4)&&y0||!(y@0) C. x+1=z D. x%2.0==0
(4) 已知有char c;scanf(“%c”,&c);以下表达式均用于判断c中存储的是否是字母
编码,除 外都是正确的。 A. c>=’A’&& c<=’z’
B. c>=’A’&& c<=’Z’|| c>=’a’&& c<=’z’ C. !(c<'A'||c>'Z'&&c<'a'||c>'z') D. c>=65 && c<=90 || c>=97 && c<=122
(5) 以下程序段执行后,将输出 no 。
unsigned char x,a,b; x=0;
a=x-1;b=x;
if(a
(6) 以下程序段执行后,变量t,x,y,z的值是 0 。
int t,x,y,z; x=y=z=0;
t=(x+1,x++)&&(y+=1)||z++;
(7)执行以下程序段后输出结果为 。
A. 1,1,1 B. 2,2,2 C. 2,1,1 D. 1,2,2 main() {
int x,y,z; x=y=z=1;
if(++x||++y&&++z)
printf(\}
(8) 以下程序中,输出值是 。
#define M 3 #define N M+1 #define NN N*N/2 main( ) {
printf(\n“ , NN ); }
A、5 B、6 C、7 D、8 (9) 以下程序片段输出结果是 ____。 int a=2,b=-1,c=2;
if(a
if(b<0) c=0; else c+=1;c--;
printf(“%d\\n”,c);
A、0 B、 2 C、3 (10)下列有语法错误的程序是_ ____
A. B. float PI =3.14 ; #define PI 3.1 main() { printf(“%f \\ n”,PI); } C. D. float PI =3.14 ; main() { float PI=3.14; printf(“%f \\ n”,PI); } (11) 以下程序执行时输出结果为 false #include
{
if(“A”==“A”)
printf(\ else
printf(\
}
(12)已有声明:
D、1 #define PI 3.1 float PI=3.14 ; main() { printf(“%f \\ n”,PI); } #define PI 3.1 main() { float define= PI ; printf(“%f \\ n”, define); } int x=0 , y=0 , z=0;
以下表达式中与 ++x && y++ || ++z (值为1)的值不一样的表达式是 A,B 。
A、x += ++x || x++ (值为2) B、 x = y = z 0 (值为0)
C、!x (值为1) D、 x >= y> z (值为1)
(13) 设有如下声明和语句: int a=2, b, c=5 ;
scanf( “%d” , &b) ;
b = c-- || scanf (“%d” , &c ) && a++;
该程序段执行时,若从键盘上输入的数据是 4?3 (?代表空格键) , 则变量c
的值为 4 。
(14) 下列程序执行后的输出结果是 0 。 main( )
{
unsigned short x=65536; int y;
printf(“%d\\n”, y=x); }
(15)执行语句 printf(“%d” , (a=2)&&(b=-2) ); 后的输出是 1 。 (16)若用n表示年龄,则在C语言中表示1到16岁, 或高于60岁的逻辑表达式是
n>=1&&n<=16||n>60 。
(17)若有声明“int x=2,y=1,z=0;”,则下列关系表达式中有语法错误的是 。 A. x>y=2 B. z>y>x C. x>y==1
D. x==(x=0,y=1,z=2)
(18) 若有声明 “ int a=5 , b=2 ; ” ,则表达式: b+=(float)(a+b)/2
运算后b的值为 15 。
正在阅读:
C语言练习题参考答案11-02
视觉传达艺术设计专业毕业实习报告范文06-22
机械设计课程设计二级减速器05-09
地下室施工技术方案05-11
广东省学位英语语法04-02
非劣效界值的确定04-12
人教版必修1 生物:4.1 物质跨膜运输的实例 教学设计1 - 图文01-20
教师个人年终总结08-20
12.4用公式法进行因式分解(2)03-03
- 清真菜谱
- 我国国民经济和社会发展十二五规划纲要(全文)
- 高三物理机械振动和机械波复习2
- 浙江省公路山岭隧道机械化装备应用指导手册 doc - 图文
- 2018届高三数学文科二轮复习:专题检测(九) 导数的简单应用
- 2015年上海市公务员录用考试《行政职业能力测验》试卷(B类)
- 七年级道德与法制下册
- 大班户外游戏教案
- 病虫害预警 - 图文
- 某养鱼场为了提高经营管理水平
- 汉中市勉县尧柏余热汽机规程 10
- 烹饪试卷
- 事业单位考试公共基础知识专项分类题库训练
- 语文:第2课 走一步,再走一步 课堂导学案(人教版 七上)
- 天汉使用手册
- 人教版小学三年级数学下册教学计划
- 房地产销售管理完全操作手册122页
- 2009年评审通过具有中学高级教师专业技术资格人员名单...
- 《15秋公共关系学》作业1
- 2017最新版监理公司三标一体管理手册
- 练习题
- 答案
- 语言
- 参考
- 外贸制单试卷
- 货车车轮主要故障分析及对策 - 图文
- Access上机操作题 - 报表操作
- 内科试题
- 2017-2018学年人教版初中英语七年级下册第二次月考试卷及答案
- 2018年浦东新区高二地理等级考模拟卷
- 新人教版小学二年级数学上册计算题专项练习(十套)
- 庙号与谥号:为什么有些皇帝不给他起庙号?
- 《假如给我三天光明》试题集锦(含答案)
- 阅读理解-2006年在职攻读硕士学位全国联考英语真题
- 第1章 mysql入门与初步
- 大学生参与公益活动情况调查报告
- 2009年06月c语言程序设计真题试卷及参考答案
- 也谈罗隆基与张澜
- 物料搬运概述
- 《国际商务谈判》复习资料(二)
- 《环境工程学》试题、习题集和答案解析
- 眼睛是心灵的窗户 - 图文
- 《算法与程序设计》模块练习题-Java语言-(带答案)
- 高一化学专题1同步练习完整练习及答案