第一章 基础知识
1、c语言支持三种数制,下列哪个数制不支持?
A)十进制
B)八进制
C)二进制
D)十六进制
【答案】:选择C。计算机可以识别的是二进制数,八进制和十六进制的提出是为了“压缩”二进制,所以本质上八进制和十六进制一样,故而两者要么都选,要么都不选。熟悉c语言的人都知道,十进制数可以在c程序中直接使用而二进制则不可以。二进制是机器可以识别的码,在c语言中不可以直接被识别。
第二章 c语言的组成结构及数据
1、下列标识符在c语言中属于合法的用户自定义的标识符?
A)a_12  B)a12  C)3m  D)do  E)aa.txt  F)c#bh
【答案】c语言中允许的合法的用户标识符只有数字、字母、下划线,且必须以字母或者下划线开始,不能使用系统预定于的关键字作为标识符。因此,C、D、E、F均不正确。
2、在c语言中下列常量的写法正确的是?
A)①、-32767 ②、023f ③、0x123dfh
分析:①:正确。是一个十进制整型常量的正确表示法。
      ②:错误。以“0”开头的是八进制数,在其表示的数中只能出现0~7这七种符号。正确的写法为:023.
      ③:错误。以0x开头的是十六进制数,在其表示的数中只能出现0~9和A~F这十六种符号,正确的写法为:0x123df。
B)①、123.46 ②、123. ③、.456 ④、0.456
分析:以上均是c语言中实型数据的一种正确表示—小数形式。
      小数形式定义:由数字和小数点组成。
C)①:123.4E4 ②、5.4E0.5 ③、4E ④、1.23e-5 ⑤:3E2
分析:②、③不正确,其余全部正确。考查实型数据的指数表示形式。
指数形式应注意:
一、字母E或e之前之后必须有数字,且后必须是整数。
二、字母E或e的前后及各数字之间不能有空格。
逗号表达式的运算顺序
C)①、”abbchkdl” ②、”a” ③、”” ④、’’ ⑤、’\n’ ⑥、’\’
分析:④、⑥不正确,其余全部正确。考查字符型常量和字符串常量的表示方法。
字符型常量应注意:
一、有一对单引号括一个字符。
二、转移字符常量,必须以一个反斜杠”\”开头。
字符串常量应注意:
一、用一对双引号括起来若干个字符。
3、若int a,b;,则表达式a=3,b=1,b=a+b;的值为  4  ,此时a=  3  ,b=  4 
分析:逗号表达式的形式为:表达式1,表达式2,………,表达式n。
      功能:逗号表达式的值就是表达式n的值,求值顺序是从左至右依次求解。
令注:可以编写如下程序对题目结果进行验证。
#include<stdio.h>
void main()
{
int a,b;
printf("%d \n",(a=3,b=1,b=a+b));
printf("a=%d  ,  b=%d\n",a,b);
}//程序2-1.cpp
运行结果,如下图所示:
4、若float x=123.456,y=0.6;求解下列表达式的值。
  1)、(int) x=  123  ,(int) (x)=  123 
  2)、(int) x+y= 123.600000  ,(int)(x+y)=  124 
分析:此题考查了强制类型转换以及不同类型的数据在做算术运算时最终结果如何得到。
      (int)x:表示对浮点型x进行强制类型转化为整型。
      (int)x+y:表示将x强制类型转换成整型后,再与浮点型数据y进行相加运算。由于浮点型数据高于整型,故而整个表达式的结果为浮点型数据且与y保留一样位数的小数。
令注,可以编写如下程序对题目进行验证。
#include<stdio.h>
void main()
{
    float x=123.456,y=0.6;
    printf("%d\n",(int)x);
    printf("%d\n",(int)(x));
    printf("%f\n",(int)x+y);
    printf("%d\n",(int)(x+y));
   
}//程序2-2.cpp

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。