您的位置: 网站首页 > 程序开发 > C语言程序设计案例教程 > 第二章 简单的C语言程序入门 > 【2.4 思考与练习】

2.4 思考与练习

 

思考与练习

1.选择题

(1)在C语言中,如果以下变量都是int型,则输出结果是      。

sum=pad=5; pAd=sum++,pAd++,++pAd;

printf("%d\n",pad);

A.7                    B.6                     C.5                     D.4

(2)以下程序的输出结果是      。

#include <stdio.h>

main()

{ 

    int i=010,j=10;

    printf("%d,%d\n",++i,j--); 

}

A.11,10                     B.9,10                C.010,9                     D.10,9

(3)已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是      。

#include <stdio.h>

main()

{

    char c1='A',c2='Y';

    printf("%d,%d\n",c1,c2);

}

A.因输出格式不合法,输出错误信息

B.65,90                     C.A,Y                D.65,89

(4)设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是      。

A.3                    B.0                     C.9                     D.-12

(5)设有语句char a='\72';,则变量a      。

A.包含1个字符                             B.包含2个字符

C.包含3个字符                              D.说明不合法

(6)以下选项中,可用做C语言用户标识符的一组标识符是      。

A.void                B.a3_b3              C.For                 D.2a

define                 _123                   -abc                   DO

WORD               IF                       Case                   sizeof

(7)设有语句int a=12,则执行完语句a+=a-=a*a后,a的值是      。

A.552                 B.264                 C.144                 D.-264

(8)字符(char)型数据在计算机内存中的存储形式是      。

A.反码               B.补码               C.EBCDIC码     D.ASCII码

(9)执行以下程序片段后,B的值为      。

int x=35;

char z='A';

int b;

B=((x&15)&&(z<'a'));

A.0                    B.1                     C.2                     D.3

(10)以下程序片段的输出结果是      。

int i=65536;  printf("%d\n",i);

A.65536                                        B.0      

C.有语法错误,无输出结果          D.-1

(11)设ch是char型变量,其值为A,且有以下表达式:

ch=(ch>='A'&&ch<='Z')?(ch+32):ch

上面表达式的值是      。

A.A                  B.a                     C.Z                    D.z

(12)在C语言中,要求运算数必须是整型的运算符是      。

A.%                 B./                            C.<                    D.!

(13)以下程序的输出结果是      。

#include <stdio.h>

main()

{

    int x=10,y=3;

    printf("%d\n",y=x/y);

}

A.0                   B.1                     C.3                     D.不确定的值

(14)C语言中最简单的数据类型包括      。

A.整型、实型、逻辑型                 B.整型、实型、字符型

C.整型、字符型、逻辑型              D.整型、实型、逻辑型、字符型

(15)以下程序的输出结果是      。

#include <stdio.h>

main()

{  

    int x=10,y=10;

    printf("%d %d\n",x--,--y);    

}

A.10 10            B.9 9                  C.9 10                D.10 9

(16)在C语言中合法的数据类型关键字是      。

A.Double          B.short               C.integer             D.Char

(17)在C语言中,合法的长整型常数是      。

A.0L                 B.4962710          C.0.054838743    D.2.1869e10

(18)在C语言中,合法的字符型常数是      。

A.'\t'                 B."A"                 C.65                   D.A

(19)若有以下程序片段:

int a=5;

a++;

则表达式a++的值是      。

A.7                   B.6                     C.5                     D.4

(20)用十进制数表示表达式的值,则表达式120/012的运算结果是      。

A.1                   B.10                   C.12                   D.14

(21)在C语言中,合法的关键字是      。

A.swicth           B.cher                C.Case                D.default

(22)在C语言中,合法的字符常量是      。

A.'\084'             B.'\x43'               C.'ab'                  D."\0"

(23)若有以下变量定义语句:

char a;int b;

float c;double d;

则表达式a*b+d-c值的类型为      。

A.float              B.int                   C.char                D.double

(24)设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为

      。

A.4                   B.16                   C.32                   D.52

(25)设有以下变量定义语句:

int i=8,k,a,b;

unsigned long w=5;

double x=1,42,y=5.2;

则符合C语言语法的表达式是      。

A.a+=a-=(b=4)*(a=3)                    B.x%(-3);

C.a=a*3=2                                    D.y=float(i)

(26)设有以下变量定义语句:

int k=7,x=12;

则能使x的值为3的表达式是      。

A.x%=(k%=5)                               B.x%=(k-k%5)

C.x%=k-k%5                                D.(x%=k)-(k%=5)

(27)以下程序的输出结果是      。

#include <stdio.h>

main()

{  

    int a=12,b=12;

    printf("%d %d\n",--a,++b);

}

A.10 10            B.12 12                     C.11 10                     D.11 13

(28)以下选项中,属于C语言的数据类型是      。

A.复数型          B.逻辑型            C.双精度型        D.集合型

(29)在C语言中,不正确的int型常数是      。

A.32768            B.0                     C.037                 D.0xAF

(30)设有定义语句int x=11;,则表达式(x++* 1/3)的值是      。

A.3                   B.4                     C.11                   D.12

(31)以下变量定义语句中,合法的是      。

A.short_a=1-.le-1;                         B.double  b=1+5e2.5;

C.long  do=0xfdaL;                      D.float  2_and=1-e-3;

(32)以下程序的输出结果是      。

#include <stdio.h>

main()

{

    int x='f';

    printf("%c \n",'A'+(x-'a'+1));

}

A.G                  B.H                    C.I                            D.J

(33)设有以下变量定义语句,并已赋确定的值      。

char  w;  int  x;  float  y;  double  z;

则表达式w*x+z-y的值的数据类型为      。

A.char                     B.int                   C.float                D.double

(34)若变量已正确定义并赋值,以下符合C语言语法的表达式是      。

A.a:=b+1          B.a=b=c+2          C.int 18.5%3              D.a=a+7=c+b

(35)在C语言中,运算对象必须是整型的运算符是      。

A.%=               B./                            C.=                    D.<=

(36)若已定义x和y为double型变量,则表达式x=1,y=x+3/2的值是      。

A.1                   B.2                     C.2.0                  D.2.5

(37)若变量a、i已被正确定义,且i已正确赋值,下列语句中,合法的是      。

A.a==1             B.++i;                C.a=a++=5;         D.a=int(i);

(38)设有说明语句char a='\72';,则变量a      。

A.包含1个字符                            B.包含2个字符

C.包含3个字符                            D.说明不合法

(39)以下C语言常量中,错误的是      。

A.0xFF             B.1.2e0.5            C.2L                   D.'\72'

(40)以下选项中,合法的C语言关键字是      。

A.VAR             B.cher                C.integer             D.default

(41)若a为int型变量,且其值为3,则执行完表达式a+=a-=a*a后,a的值是      。

A.-3                 B.9                     C.-12                 D.6

(42)在C语言中,以下合法的长整型常数是      。

A.OL                B.4962710          C.324562&         D.216D

(43)以下用户标识符中,合法的一组是      。

A.For               B.4d                   C.f2_G3             D.WORD

(44)以下选项中,合法的字符常量是      。

A."B"               B.'\010'               C.68                   D.D

(45)设x和y为double型,则表达式x=2,y=x+3/2的值是      。

A.3.500000              B.3                     C.2.000000         D.3.000000

(46)以下合法的赋值语句是      。

A.x=y=100        B.d--;                C.x+y;                D.c=int(a+b);

(47)设正x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是      。

printf("%d,%d\n",x--,--y);

A.10,3                     B.9.3                  C.9.2                  D.10.2

(48)以下选项中,非法的字符常量是      。

A.'\t'                 B.'\17'                 C."n"                  D.'\xaa'

(49)若有定义int a=8,b=5,C;,执行语句C=a/b+0.4;后,C的值为      。

A.1.4                B.1                     C.2.0                  D.2

(50)若变量a是int型变量,并执行了语句a='A'+1.6;,则正确的叙述是      。

A.a的值是字符C

B.a的值是浮点型

C.不允许字符型和浮点型相加

D.a的值是字符'A'的ASCII值加1

(51)以下选项中,不属于C语言的数据类型的是      。

A.signed  short  imt                     B.unsigned  longint

C.unsigned  int                             D.long  short

2.上机操作题

(1)设m是一个三位数,写出将m的个位、十位、百位数字反序形成的三位数的C语言表达式。

(2)设已经定义了变量x、y,写出将x和y的值互相交换的表达式。

(3)写出以下程序的输出结果。

#include <stdio.h>

main( )

{

    int i,j,m,n;

    i=9;

    j=10;

    m=--i;

    n=j--;

    printf("%d,%d,%d,%d\n",i,j,m,n);

}