无忧首页企业系统我的无忧
无忧服务:
兼职活动培训
娱乐交友:
交友社区资讯
全职实习:
实习暑假寒假
微信号:school51
扫一下,立即关注
加关注
在线支付,立省10元
下载新版APP
===大学生成长生活平台===

2011年计算机等级二级C语言课后练习题及答案解析(1)

2012-12-26来源/作者:卫凯点击次数:396

  一、单项选择题
  1.C语言程序的执行,总是起始于【 】。
  A) 程序中的第一条可执行语句
  B) 程序中的第一个函数
  C) main函数
  D) 包含文件中的第一个函数
  分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。
  本题正确答案为C。
  2.下列说法中正确的是【 】。
  A) C程序书写时,不区分大小写字母
  B) C程序书写时,一行只能写一个语句
  C) C程序书写时,一个语句可分成几行书写
  D) C程序书写时每行必须有行号
  分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。
  本题正确答案为C。
  3.下面对C语言特点,不正确描述的是【 】。
  A) C语言兼有高级语言和低级语言的双重特点,执行效率高
  B) C语言既可以用来编写应用程序,又可以用来编写系统软件
  C) C语言的可移植性较差
  D) C语言是一种结构式模块化程序设计语言
  分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。
  本题正确答案为C。
  4.C语言源程序的最小单位是【 】。
  A) 程序行B) 语句C) 函数D) 字符
  分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。
  本题正确答案为D。
  5.以下四项中属于C语言关键字的是【 】。
  A) CHAR B) define C) unsigned D) return
  分析:C语言有32个关键字(或称保留字),它们都有特定的含意,并且由小写字母组成,所以选项A是错的,选项B不是保留字,选项D是return的错误拼写。
  本题正确答案为C。
  6.十进制数2403转换成十六进制数为【 】。
  A) 963 B) 369 C) 953 D) 359
  分析:十进制数化成十六进制数的方法是:不断除以16,商0为止,倒取余数。
  本题正确答案为A。
  7.二进制数00110101转换成八进制数是【 】。
  A) 055 B) 065 C) 056 D) 152
  分析:二进制数化成八进制数的方法是:从右向左划分,将每3位二进制数书写成1位八进制数。
  本题正确答案为B。
  8.将二进制数1011011.011转换成十进制数是【 】。
  A) 91.75 B) 91.375 C) 91.125 D) 91.25
  分析:二进制数化成十进制数的方法是:各数字乘以权重再相加,题中整数部分为:(1011011)2=1×26+1×24+1×23+1×21+1×20=64+16+8+2+1=91,小数部分为:(0.011)2=0×2-1+1×2-2+1×2-3=0.25+0.125=0.375,再将两者合在一起得91.375。
  本题正确答案为B。
  9.计算机内部运算使用的数是【 】。
  A) 十进制数 B) 十六进制数 C) 二进制数 D) 八进制数
  分析:在实际生活中找不到具有十个稳定状态的物理元件,而具有两种稳定状态的元件到处可见,如一个开关具有通电和断电两个稳定状态,计算机内部的元件正是以"1"代表通电,以"0"代表断电的,所以计算机内部运算使用的数是二进制数,至于八进制数和十六进制数是对二进制数的人为缩写。
  本题正确答案为C。
  10.一个字长的二进制位数是【 】。
  A) 2个BYTE,即16个bit B) 3个BYTE,即24个bit C) 4个BYTE,即32个bit D) 随计算机系统不同而不同
  分析:一个二进制位也称做1bit,八个二进制位称做1个BYTE,即所说的一个字节,BYTE和bit有固定的换算关系,但是计算机中的字长WORD和字节BYTE没有固定的换算关系,字长WORD是随CPU型号而异的。
  本题正确答案为D。
  11.在C语言系统中,假设int类型数据占2个字节,则double、long、unsigned int、char类型数据所占字节数分别多少【 】。
  A) 8,2,4,1 B) 2,8,4,1 C) 4,2,8,1 D) 8,4,2,1
  分析:由上题知CPU字长决定了分配给各种类型变量多少个字节,当int类型占2个字节时,double、long、unsigned int、char型所占的字节分别为8、4、2、1个字节。
  本题正确答案为D。
  12.下面程序段执行结果是【 】。
  int i=5,k;
  k=(++i)+(++i)+(i++);
  printf("%d,%d",k,i);
  A) 24,8 B) 21,8 C) 21,7 D) 24,7
  分析:k=(++i)+(++i)+(i++)表达式中,"++"号在i前面的有两个,所以在计算k之前,i要先增两次,即i变为7,然后再将3个7相加,使k得21,表达式中"++"号在i后面的有1个,所以得出k的值以后i又增1次变为8。
  本题正确答案为B。
  13.下面程序段执行结果是【 】。
  int i=5;
  printf("%d,%d,%d", i,(++i)+(++i)+(i++),i);
  A) 8,20,5 B) 8,21,5 C) 5,20,8 D) 5,21,8
  分析:此题不能看作将12题中的k=(++i)+(++i)+(i++)代入printf函数,因为函数处理参数的顺序是从右向左,所以(++i)+(++i)+(i++)表达式的值不再是求7+7+7,而是为8+7+5=20。
  本题正确答案为A。
  14.下面程序段的输出结果是【 】。
  int i=32769;
  printf("%d\\n",i);
  A) 32769 B) 32767 C) -32767 D) 输出不是确定的数
  分析:int型变量表示数据的范围是-32768~+32767,赋值时比-32768小或比+32767大,都会发生溢出,溢出后存放的数值是:正向溢出时,为该数减去模65536,负向溢出时,为该数加上模65536,所以本题输出为32769-65536=-32767。
  本题正确答案为C。
  15.下面的程序运行后输出为【 】。
  main( )
  { int a=-32769;
  ptintf("%8U\\n",a);
  }
  A) 32769 B) %8U C) 32767 D) -32767
  分析:格式字符必须小写,题中的"%8U"不会当作格式控制符,而是原样输出,变量a将没有对应的格式说明,也不会送出。
  本题正确答案为B。
  二、填空题
  1.若以下程序的输出结果是13,请填空。
  main( )
  { int x=016;
  printf("%d\\n",【1】); }
  分析:在C语言中以0开头的数字是八进制数,016相当于十进制数14,执行printf语句时,输出项应为x的值减1。
  本题正确答案为 【1】 --x或x-=1。
  2.下面程序段的输出结果是【2】。
  int k=10;
  float a=3.5,b=6.7,c;
  c=a+k%3*(int)(a+b)%2/4;
  分析:本题考查运算符的优先级概念,式中要先算(a+b)的值,再算强制类型变换,*、/、%是同级的要从左到右计算,最后算加法和赋值。
  本题正确答案为【2】 3.500000
  3.若执行下面程序段后的输出为:3,4,5,请填空。
  int a,b=3,c=5;
  a=b  printf("%d,%d,%d",a,b,c);
  分析:本题考查条件运算符和增量运算符的概念,题中b  本题正确答案为 【3】 b++。
  4.C语言中的运算符,优先级最低的是【4】。
  分析:与其它高级语言相比,在C语言中赋值号并不是优先级最低的,C语言中优先级最低的运算符是逗号运算符。
  本题正确答案为 【4】 逗号运算符。
  5.若下面程序的输出结果是4,请填空。
  main( )
  { int i,j,k;
  k=0 ; i=j=-2 ;
  k+=-i--【5】;
  printf("%d\\n",k);
  }
  分析在C语言中当3个加号或3个减号连在一起时,中间的符号归属左边的变量,即-i---j相当于-(i--)-j。
  本题正确答案为 【5】-j 。

  编辑特别推荐:

  全国计算机等级考试二级笔试样卷C语言程序设计

  计算机等级考试二级C语言考前密卷汇总

  全国计算机等级考试二级C语言程序设计实战





相关阅读



关于我们 | 联系我们 | 用户指南 | 网站地图 | 意见建议 | 会员注册 | 用户协议 | 隐私政策