美文网首页
19年3月二级C--C程序设计初步知识

19年3月二级C--C程序设计初步知识

作者: 筱__ | 来源:发表于2019-02-08 20:00 被阅读0次

    1.逗号表达式: (a,b)  值为b

    2.C语言中的指数形式,字母e之前必须有数字,且e后面指数必须为整数。

    3.使用定义变量一定得先初始化。

    4.C语言中长整型数为数值后加一个L或1字符。

    5.C语言的标识符的定义为以字母或下划线开头的,由字母,数字,字符,下划线组成的字符串。而且标识符不能与关键字相同。

    6.整型(int)常量即整常数,c整常数可以用以下三种形式表示:

    ①十进制整数。如123,-456,0。

    ②八进制整数,以0开头的数是八进制数。如0123表示八进制数123,即(123)8

    ③十六进制整数,以0x开头的数是十六进制数。如0x123代表十六进制数123,即(123)16

      一个int型的值范围是-2的15次方~2的15次方,即-32768~32767

    7.C语言中归纳起来,基本类型数据有以下几种:

      [Signed] char;

      Unsigned char;

      [Signed] short [int];

      Unsigned short [int];

      [Signed] long [int];

      Unsigned long [int];

      float;

      double;

      long double;

    8.可以把define定义为用户标示符,不能把if定义为用户标示符。

      注意: 不要把define误认为是宏定义命名,正确的宏定义命名为 #define

          if属于系统定义的32个关键字之一。

    9.函数pow(x,y)的功能是计算x的y次方的值,在c语言中没有^ 这个符号

      函数exp(x)表示函数参数x为幂的指数[ e的x次方 ]

    10.数值常量分为不同的类型: 整型常量,实型常量,字符常量。

    ①在c语言中使用的整常数有八进制,十六进制和十进制三种。

      十进制常数: 十进制整常数没有前缀,其数码取值为0~9。

      八进制整常数: 八进制整常数必须以0开头,即以0做为八进制的前缀,数码取值为0~7,八进制常数通常是无符号数。

      十六进制整常数: 其前缀是0X或0x,其数码取值为0~9,A~F或a~f。

    ②实型常量也称为实数或者浮点数。C语言中,实数只采用十进制。它有两种形式: 十进制小数形式,指数形式。

      十进制小数形式,由数码0~9和小数点组成。

      指数形式,由十进制数加阶码标志"e"或"E"以及阶码(阶码只能为整数,可以带符号)组成。

    11.C语言标准只规定了char型占用内存大小为1,而long,int,short等类型数据占用内存大小由编译系统决定。

    12.C程序由函数构成的。(C程序的基本组成单位是函数。)

    13.C语言中的注释部分只是用于阅读,对程序的运行不起作用,注释间的任何内容都被编译程序忽略,但是不可以夹在变量名或者关键字的中间。

    14.不同类型的数据在进行运算时,要先转换成同一类型,然后进行运算。

      转换的规则是char,short→int→unsigned→long→double。

    15.所谓常量,是指在程序运行过程中,其值不能被改变的量。

    16.《❺有以下程序

    mainO

    { unsigned int a,

    int b=-1;a=b

    prinf("%u", a);

    程序运行后的输出结果是( )

    本题考的是不同类型数据间的混合运算。

    当运算对象为不同类型时,数据的转换方向为int ->unsi gned ->long ->double,本题程序中的变量b为int型,先要转换为unsi gned型,int型变量的数值范围为-32768 32767,最高位为符号位,而unsi gned所表示的数的范围为0--65535,它的最高位为数值位。由于内存中是以补码形式存储数据的,所以整型的”-1”在内存中的表示为16个1, 最高位的”1'表示符号负,将它转换为unsi gned类型,即将原符号位表示符号的1“看成数值,所以就得到16个数值位1,即65535。

    17.  i++;  ++i;  …  不是赋值语句

    等价于 i=i+1;

    18.以下程序的输出结果是___。

    #include <stdio. h》mainO

    int a=2, c=5;

    printf( a=%%d, b=%%d\n" ,a,c);

    ①a=%2, b=%5  ②a=2, b=5

    ③a=%%d, b=%%d  ④ a=%d, b=%d

    ——答案解析——

    本题的考查点是格式控制字符的应用。

    printf( )函数:当“格式控制”字符串中连续使用两个“%”符号时,表示要输出字符%”,所以,a, c两个变量的值并不带入输出字符串,最后的打印结果应当是a=%d, b=%d

    故本题答案为D。

    19.以下非法的赋值语句是__。

    O①n=(i=2, ++i):  ②j++,

    ③++(i+1);  ④ x=j>0;

    参考答案:

    本题的考查点是赋值语句。

    选项①是将一个逗号表达式的值赋给一一个变量;

    选项②是自增运算;

    选项③中(i+1)是一个常量,常量不能进行自增运算;

    选项④是将一个整数赋给一 个变量。故本题答案为③。

    20.有以下程序

    mainO

    { int a=666, b=888;

    printf( %d\n' ,a,b);}

    程序运行后的输出结果是

    ①错误信息  ②666

    ③888  ④666, 888

    参考答案:

    本题考查的是输出格式。

    printf (函数中,当格式转换说明符个数少于输出项个数时,多余的输出项不予输出。所以本题答案为②。

    21.双精度变量(double型),在输入时必须以f(lf)或e(le)的形式。

    22.scanf和printf是c语言提供的输入和输出函数。

      由printf输出的数据都隐含右对齐。

      由printf输出的数据的实际精度是由格式控制中的小数的域宽来完全决定的。

    23.int型,float型,double型对应的输入数据格式分别是%d,%f,%lf

    24.设有定义:

    int n = 1234;

    doub1e x = 3. 1415;

    则语句

    printf("%3d,%1.3f\n”, n, x);的输出结果是

    ①1234, 3. 142  ②123, 3. 142

    ③1234, 3. 141  ④123,3. 141

    本题考查的是格式控制。

    本题中已定义好了n、x的值,%nd, 若n的值小于该数值的长度,则按该数值输出,若n的值大于该数值的长度则在数值的右边补0; %1. 3f中3代表小数位的位数,要遵守四舍五入的规则。

    故本题答案为①。

    25.&&进行"短路"运算: 当运算符"&&"左边表达式的值为零时,则右边表达式就不再进行运算。

    26.sizeof返回对象或者类型所占的内存字节数。char,int,float类型占用的字节数均为4。

    27.在c语言程序中,可以用一个符号名来代表一个常量,称为符号常量。(符号常量是指在程序中通过宏定义用一个符号名来代表的一个常量。)

    28.

    C语言运算符的优先级

      一、从上往下  运算符优先级依次降低

    1、括号以及  .(结构体变量运用成员运算符)  ->(结构体指针引用成员运算符)

    2、单目运算符: !  ~  ++  --  &(取地址符)  *(取内容)  sizeof()

    3、算数运算符: *  /  %+  -

    4、位运算符: <<  >>

    5、关系运算符: >=  >  <  <=  ==      !=

    6、位运算符:&  ^  |

    7、逻辑运算符: &&  ||

    8、条件运算符: ?:;

    9、(复合)赋值运算符: =  +=  -=  ....

    10、逗号运算符: ,

      二、左结合(从右向左运算):(复合)赋值运算符、逻辑非、取反(~ )、前置自增减运算符右结合(从左向右运算)

    注意逗号运算符的用法:

    带有括号的表达式, 不带有括号的表达式.

    int a,b;

    int c = (a = 10,b = 30, a= a+b,b = a+b);  //  c = 70

    int c = a = 10,b = 30, a= a+b;  //  c = 10

    29.若有以下程序

    #include <stdio. h>mainO

    { int a=0, b=0, c=0;

    c= (a -= ++a), (a+=b, b+=4);

    printf("%d, %d, %d\n",a,b,c);}

    则程序的输出结果是

    ① 0,4,0  ② 0,4, 4 

    ③1,4,1  ④1,4,4

    本题考查的是算术运算符。

    (a-=++a)

    即a=a- (++a) =1-1=0;

    c=(a-=++a)=0;

    a+=b=0+0=0;

    b+=4=0+4=4。故本题答案为①。

    30.所谓变量是指在程序运行过程中其值可以改变的量。

      程序中用到的所有变量都必须有一个名字作为标识,变量的名字由用户定义,它必须符合标示的命名规则。

      一个变量实质上代表了内存中的某个存储单元。

      C语言规定,程序中所有的变量都必须先定义后使用。

    31.C语言的标识符有: 关键字,预定义标识符,用户标识符三类。

    32.基本运算符:    sizeof: 求字节运算符  (): 函数调用  &&: 逻辑与

    33.整型常量和实型常量又称数值型常量。

    34.整型变量可以分为int型,short型,long型,unsigned型四种。

      在C程序中的八进制和十六进制是整型。

      八进制数的开头必须是以数字"0"。

      二进制可以用0和1作为开头字母。

    35.按位与(&): 只有当两个数(二进制形式)的同一位数都为1时才为1

      a&b        inputs1: 11111100

                  inputs2: 00111111

                  result:  00111100

      按位或(|): 两个数的同一位数都不为0(即任意一个为1或都为1)时,所得结果对应位置设为1。

      a|b        inputs1: 01111100

                  inputs2: 00111111

                  result:  01111111

      按位异或(^): 当两个数的同一位数不相同时就设为1,如果相同就设为0。

      a^b        inputs1: 01111100

                  inputs2: 00111111

                    result:  01000011

      按位取反(~): 对一个操作数的每一位都取反。

        a            inputs: 00001111

        ~a          result: 11110000

      按位左移(<<):

              1111<<3  (从右往左,每一位数都左移3个位置)

        result: 1000  (空位用0填充,左端3个原数据被丢弃)

      按位右移(>>):

                1011>>2(从左往右,每位数右移)

      result: 0010

    36.C语言提供了三大类数据类型即基本类型,复合类型和地址类型。

      ①基本类型只代表单个数据。

      ②复合类型由基本类型组合而成,可代表一批数据。

      ③地址类型可直接表示内存中的地址。

    C语言支持的五种基本数据类型:

      ①字符型: 表示单个字符。

      ②整型: 表示整数,包括基本整型,短整型,长整型和无符号整型。

      ③浮点型: 表示实数,精度为6~7位为有效数字。

    37.逻辑运算符两侧的运算对象,不但可以是0和1,也可以是任意基本类型和指针类型的数据,还可以是任意合法表达式。

    38.if后面的表达式,可以是关系表达式或逻辑表达式,也可以是其它类型的数据,如整型,实型,字符型等。

    39.逻辑值"真"可用1表示,逻辑值"假"可用0表示。若只处理真和假两种逻辑值,逻辑值0和1使用整型值即可。

    40.  0<x<5  此写法是数字中的写法,并不是c语言中表达式的正确写法,它的值与x无关,并且行恒为真。

    41.在switch语句中,紧跟在switch后一对圆括号中的表达式可以是整型表达式及字符型表达式等,case后的常量表达式的类型必须与switch后圆括号中的表达式类型相同。

    42.scanf函数不识别空格,回车符,制表符。(即遇到这些符号时就停止输入)

      getchar( )会读取输入的空格。

    43.赋值表达式的形式为: 变量名=表达式。

    44.字母e或E之前必须得有数字,之后的数字必须为整型。

    45.在c语言函数内部,可以调用嵌套函数,但是不可以定义局部嵌套函数。

    46.在函数内部和复合语句内部定义的变量,称为局部变量。局部变量既可以说明成自动类,也可说明为静态类。

      在c语言中,由用户命名的标识符都有一个有效的作用。所谓的标识符的作用域就是指程序中的某一部分,在这一部分中,该标识符是有定义的,可以被c编译和连接程序所识别。

    47.每一个可执行的c程序都必须有且只有一个main函数,但是,并不是每个c程序文件都应该包含一个main函数,main函数可以放在任意位置。

    48.若有定义: double x ; 则表达式x=0,x+10,x++的值为0.0

      X被定义为double类型,赋值过程中会出现强制类型转换。逗号表达式中,最后一个表达式的值就是此逗号表达式的值,所以整个表达式的值为x++的值,x=0,x++的表达式为0.0,x的值为1.0

    49.C语言中的基本运算符为: +,-,*,/,%  (加,减,乘,除,求余)

    50.用户标识符与关键字相同,则在对程序进行编译时,系统将给出出错信息。

    如果用户标识符与预定义标识符相同,系统并不报错,只是该预定标识符将失去原定含义,代之以用户确认的含义,这样有可能会引发一些运行时错误。

    60整型常量可以用十进制,八进制和十六进制等形式表示。

    只有十进制的数可以是负数,而八进制和十六进制只能是正数。

    61.判断逻辑表达式: a++&&b++,若左侧的值为假,右侧就不要执行。

      判断逻辑表达式: a++||b++,若左侧的值为真,右侧就不需要执行。(称逻辑表达式的"短路"现象)

      关系运算符的结果: 非0和0。

      else 不是一条独立的语句,它只是if语句的一部分。

    62.只能在循环体内和switch语句体内使用break语句。

    相关文章

      网友评论

          本文标题:19年3月二级C--C程序设计初步知识

          本文链接:https://www.haomeiwen.com/subject/upyosqtx.html