c语言经典选择填空题1

2020-05-23 14:56

选择题(30分)(第一部分分10分,第二部分12分,第三部分8分) 第一部分:简单类题目(50个题目,从中选择10,每题1分)

1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为(C) A.4B.16 C.32D.522 2.以下程序的输出结果(B) 。 main( )

{ int x1=3, x2=0, x3=0; if (x1=x2+x3) printf(\else printf(\}

A.输出:* * * * B.输出:# # # # C.存在语法错误D.无输出结果

3.下面四个选项中,均是合法转义字符的选项是(A)。 A.'\\'' '\\\\' '\\n' B.'\\' '\\017' '\\\C.'\\018' '\\f' 'xab' D.'\\\\0' '\\101' 'xlf'

4.若有说明:int a=1,b=2,c=3,d=4;则表达式a

5.设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是 (D)。 A.i&&jB.i<=j

C.i||j+k&&j-kD.!((i

6.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(C) 。

A.num%2= =1 B. !(num%2= =0) C.!(num%2)D.num%2 7.有以下程序 main()

{ int m=3,n=4,x; x=-m++; x=x+8/++n; printf(“%d\\n”,x);

}

程序运行后的输出结果是 (D) 。 A.3 B.5 C.-1 D.-2

8.若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是 ( C ) 。 A.a=9+b+c=a+9B.a=9+b;c=a+9; C.a=(9+b,b++)D.a=9+b++=a+7

9.若有以下定义,若int m=7,n=12,则能得到值为3的表达式是 ( D ) 。A.n%=(m%=5) B.n%=(m-m%5) C.n%=m-m%5 D.(n%=m)-(m%=5)

10.以下能正确定义整型变量x、y和z并为其赋初值5的语句是 ( C ) 。A.int x=y=z=5;B.int x,y,z=5; C.int x=5,y=5,z=5; D.x=5,y=5,z=5;

11.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 ( C ) A.abs(x-y)<10 B.x-y>-10&&x-y<10

C.(x-y)<-10||!(y-x)>10 D.(x-y)*(x-y)<100

12.设 int a=12,则执行完语句 a+=a-=a*a后,a的值是( D )。 A 552 B264 C 144 D -264 13以下叙述不正确的是 ( D )

A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数

D)在C程序中,注释说明只能位于一条语句的后面 14下关于运算符优先顺序的描述中正确的是 ( C )。

A)关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符 B)逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符 C)赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符 D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 15下列程序的输出结果是 ( C )

main( )

{ int a=7,b=5;

printf(\

。 }

A 5 B 1 C 0 D不确定值

16printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式(B)

A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息

17.以下叙述正确的是 ( C )

A. 在C程序中,main函数必须位于程序的最前面 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句

D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 18.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( B )

A. 7 B. 8 C. 6 D. 2

19.下面不正确的字符串常量是( A ) ···················

A. 'abc' B. \ C. \ D. \20.已知各变量的类型说明如下:

int i=8,k,a,b;

unsigned long w=5; double x=1.42,y=5.2;

则以下符合C语言语法的表达式是( A ) A. a+=a-=(b= 4)*(a=3) B. a=a*3=2 C. x%(-3) D. y=f1oat(i)

21.若有说明语句:char c='\\72'则变量c描述正确的是 ( A )

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

C. 包含3个字符 D. 说明不合法,c的值不确定 22.已有定义int x; f1oat y;且执行scanf(\语句,若输入12345 78(回车),则x 的值为( B )

A. 12345 B. 123 C. 45 D. 345

23.能正确表示\当x 的取值在[1,10]和[200,210]范围内为真,否则为假\的表达式是( C )

A. (x>=1) && (x<=10) && (x>=200) && (x<=210) B. (x>=1) || (x<=10) || (x>=200) || (x<=210) c. (x>=1) && (x<=10) || (x>=200) && (x<=210) D. (x>=1) || (x<=10) && (x>=200) || (x<=210)

24.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是 (A) A. 0 B. 1 C. 2 D. 3

25.在if(x)语句中的x与下面条件表达式等价的是:(A)

A)x!=0 B) x==1 C) x!=1 D) x==0

26、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为(A)

A、D B、E C、一个不确定的值D、C

27. 已知x=3、y=2,则表达式 x*=y+8的值为 ( C )

A)3 B)2 C)30 D)10

28. 设x为int型变量,则执行以下语句后,x的值为 ( B )。

x=10;x+=x- =x-x;

A)10 B)20 C)40 D)30 29 若有以下类型说明语句:char a; int b;

float c; double d; 则表达式a*b+d-c的结果类型为 ( D ) A.float B.char C.int D.double

30若二维数组a有m列,则在a[i][j]前的元素个数为 ( B ) A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1

31对for(表达式1;;表达式3)可理解为 ( B )

A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3)

32 以下描述不正确的是 ( C )。

A.使用while和do-while循环时,循环变量初始化的操作应在循环体语句之前完成 B.while循环是先判断表达式,后执行循环语句

C.do-while 和for循环均是先执行循环语句,后判断表达式 D.for、while 和do-while循环中的循环体均可以由空语句构成 33.下列程序段的运行结果是 ( C )。

int n=0; while(n++<=3); printf(“%d”,n);

A 3 B 4 C 5 D 有语法错误 34.设int a=3,b=4,c=5;,下列表达式的值不为1的是 ( A )。

A)a+b>c&&b==c B)a||b+c&&b-c C)!(a>b)&&!c||1 D)!(a+b)+c-1&&b+c/2 35. 有以下程序:

#include void main ( ) {

int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a

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

A)0,0 B)0,1 C)1,0 D)1,1 36、以下能正确进行字符串赋值操作的是 ( D )

A、char s[5]={\

B、char s[5]={'A', 'B', 'C', 'D', 'E'}; C、char *s; *s=\

D、char *s=\

37下面程序的运行结果是 (B)

#include #include main() {

char *s1=\char *s2=\s1+=2;s2+=2; }

A)正数 B)负数 C)零 D)不确定的值

printf(\

38若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为(A)

A)*(a[i]+j) B)(a+i) C)*(a+j) D)a[i]+j

39 以下能对二维数组y进行初始化的语句是(B) A、static int y[2][ ]={{1,0,1}, {5,2,3}}; B、static int y[ ][3]={{1,2,3}, {4,5,6}}; C、static int y[2][4]={{1,2,3}, {4,5} , {6}}; D、static int y[ ][3]={{1,0,1,0}, { }, {1,1}}; 40 以下printf语句的输出结果是(B) printf(\A、7 B、6 C、存在语法错误 D、不定值

41 不能把字符串:Hello!赋给数组b的语句是( B)。 A. char b[10]={'H','e','l','l','o','!'}; B. char b[10]; b=\C. char b[10];strcpy(b,\D. char b[10]=\

42.设有定义:int a[10],*p=a+6,*q=a;,则下列运算哪种是错误的( C ) A p-q B p+3 C p+q D p>q 43. 下列描述中不正确的是(C)

A)字符型数组中可以存放字符串


c语言经典选择填空题1.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:消化内科实习自我鉴定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: