c语言程序设计能力教程答案

c语言程序设计能力教程答案,第1张

一、选择题

1、C语言规定,在一个源程序中,main()函数的位置(C )。

A) 必须在最开始 B)必须在最后

C) 可以任意 D) 必须在系统调用的库函数后面

这题你死记就行,你看看这个

任何一个C++程序都必须定义一个main函数,它的返回类型总是int类型。这个函数由 *** 作系统来调用,在main函

数执行完以后,程序也就终止了。 main也可以使用return向 *** 作系统返回一个值,使用 *** 作系统的命令可以检测

main的返回值。一般约定在main返回0时,表示程序运行过程中没有出现错误,其它非零值表示程序出现异常情况。

若没有为main指定返回值,这样返回值是任意的。

2、若x和y都是int 型变量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y));则其输出结果是( A)。

A) 200 B) 100 C) 100 200 D) 输出不确定值

(x,y)这是个逗号表达式,表达式的值为最后一个逗号后面表达式的值,因为前面有一个%d,所以输出 的是y的

3、合法的C语法字符常量是(C )。

A) “A” B) 65 C) ‘\t’ D) A

字符都是由两个单引号括起来的,死记, a)为字符串

4、表达式“3!=4”的值是(A )。

A) 1 B) 0 C) T D) F

!=是c语言的逻辑运算符,3!=4为真,多以得1, 3=4为假,值为0

5、 int a=1,b=2,c=3,d=4,执行下列程序后x的值为( C)。

if(a>b) x=1;else if (c>d) x=2;else x=3;

A) 1 B) 2 C) 3 D) 4

如果a>b,1>2为假,不执行x=1,执行else if(c>d),判断:3>4为假,不执行x=2,执行=3,完

6、以下程序的输出结果是(D)。

Int x=10,y=3,z;printf(“%d\n”,z=(x%y,x/y));

A)1 B) 0 C) 4 D) 3

逗号表达式,x%y,10%3,商3余1,模取余数1,x/y,10/3,商3余1,除法取商3,逗号表达式,表达式的值为最后一

个逗号后面表达式的值

7、为表示x≥y≥z,应使用C语言表达式(A )。

A) (x>=y)&&(y>=z) B) (x>=y) AND (y>=z)

C) (x>=y>=z) D) (x>=y) & (y>=z)

关系运算符,x>=y与y>=z必须是同时成立的,因此要用逻辑运算符&&,&&与的意思

8、合法的数组定义是( a )。

A) int a[ ]=”string”; B) int a[5]={0,1,2,3,4,5};

C) char a=”string”; D) char a[ ]={“01234”};

a不指定数组长度定义,正确

b数组长度为5,就是里面有5个数组元素,多了一个数组元素

c定义a不是数组而是一个变量,素组应该是a[]

d是错的,字符串是这样定义的:char a[ ]={'0','1','2','3','4','\0'};

[4]中数字是数组长度,说明里面有几个元素

9、设x和y均为int型变量,则语句“x+=y;y=x-y;x-=y;”的功能是(D)。

A) 把x和y按从小到大排列 B)把x和y按从大到小排列

C)无确定结果 D)交换x和y中的值

x+=y等同于x=x+y,把x加y的值赋给x,x现在存的是x与y的和

y=x-y把x减y的值赋给y,x现在存的是x与y的和 (x+y)-y=x,把x的值给y,y存x的值

x-=y等同于x=x-y,把x减y的值赋给x,(x+y)-y=x,现在的后面的y存的是x的值,做完后x里存的值是y,完成交换

10、若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是(C)。

A) 1 B)2 C) 20 D) 10

逗号表达式,先让x=1在算y=x+3/2,得2,因为是double类型,所以有小数点

11、下列条件语句中,功能与其他语句不同的是 (D)

A) if(a) printf("%d\n",x); else printf("%d\n",y);

B) if(a==0) printf("%d\n",y); else printf("%d\n",x);

C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);

D) if(a==0) printf("%d\n",x); else printf("%d\n",y);

a 如果a为真输出x,如果a为假输出y

b 如果a==0,也就是为假,输出y,a为真输出x,同a

c 如果a!=0为真,输出x,a为假输出y同上

d 如果a为假输出x,如果a为真输出y,与以上的都不同

12、以下能正确定义二维数组的是 (C)

A) int a[][3]; B) int a[][3]=2{23};

C) int a[][3]={0}; D) int a[2][3]={{1},{2},{3,4}};

a 没有给数组赋初值

b {}里不能有

c 正确,记住第一个[]中可以为空,第二个[]不能为空,死记

d a[2][3] 的意思是有两个一维数组,每个一维数组里有3个元素,{{1},{2},{3,4}}; 她的意思是三个数组,{}中的每一个{}代表一个数组,里边的数为数组元素

13、用C语言编写的代码程序 (B)

A)可立即执行 B)是一个源程序

C)经过编译即可执行 D)经过编译解释才能执行

死记

下列语句中,正确的语句是( )。

A int x=y=z=0;

B int z=(x+y)++;

C x=+3==2;

D x%=25;

正确的是 D

A是定义语句 这里未说明y z 是否定义 因而这样不可以

B中同理 不知道x y是否定义

C中没有=+只有+=

9 以下程序段的输出结果是( )。 int a=1234; printf(“%2dn”, a);

A 12

B 34

C 1234

D 提示出错,无结果

这里不知道是不是\n

如果是\n的话答案就是C 因为它的原有长度超过了2 所以会按照实际长度输出

否则就是1234n

10 若要求a, b, c, d的值分别为10, 20, A和B,正确的数据输入方式是( )。int a, b; char c, d; scanf(“%d%c%d%c”, &a,&c,&b,&d); (注:□为空格,为回车)

A 10A□20B

B 10□A□20□B

C 10□A20□B

D 10A20□B

A对 C d是字符变量 前面不可以有空格 否则会把空格认为是要输入的字符

11 若有以下定义,则能使值为3的表达式是( )。int k=7, x=12;

A x%=(k%=5)

B x%=(k– k%5)

C x%=k – k%5

D (x%=k) – (k%=5)

A的值为0

B的值为2

C的值为2

D的值为3

选D

12 下列运算符中优先级最低的是( )。

A :

B &&

C +

D !=

D 判断符的优先级比任何运算符都要低 当然包括三目运算符A

13 以下能对一维数组a进行正确初始化的语句是( )。

A int a[10]=(0,0,0,0,0);

B int a[10]={ }

C int a[ ]={0,0,0};

D int a[10]={101};

C可以正确初始化

A的初始化用的括号不对头

B D完全没道理

14 在一个C程序中( )

A main函数必须出现在所有函数之前

B main函数必须出现在所有函数之后

C main函数可以出现在任何位置

D main函数必须在固定位置

C这没什么好多解释的 记住就可以了

15 设a为整型变量, 下列表达式中,错误的是 ( )。

A a += a

B a ++

C ++ a + 1

D a + 1 ++

D是错误的 1是常量 不可以++ --

16 以下程序的输出结果是( )。 Main( ) { int a=3; Printf(“%dn”,(a+=a-=aa)); }

A -6

B 12

C 0

D -12

从右向左看 aa = 9

然后a=a-9 = 3 - 9 =-6

然后a = a+a

所以答案D

17 C语言中用于结构化程序设计的3种基本结构是( )。

A 顺序结构,选择结构,循环结构

B if,switch,break

C for,while,do-while

D if,for,continue

A记住即可 任何语言都有这三种结构

18若有代数式 ,则不正确的C语言表达式是( )

A a/c/db2

B 2ab/c/d

C 2ab/cd

D ab/c/d2

说实话这个题目我没看出四个选项有什么不妥之处

若用排除法的话只有C了

因为ABD都是两个/

19 若有定义: int a=8, b=5, c; 执行语句c=a/b+04; 后, c的值为 ( )。

A 14

B 1

C 20

D 2

C = a/b +04 = 1 +04 = 14

选A

因为8和5都是整型变量 作除法时自动抛去小数

20 以下4个选项中,不能看作一条语句的是( )。

A {;}

B a=0,b=0,c=0;

C if(a>0)

D if(b==0) m=1; n=2;

D 这里显然有一条IF语句和n=2一条独立语句

21 有以下程序 main() { int i=10, j=1; printf(“%d,%dn”,i--,++j); } 执行后输出结果是( )。

A 9,2

B 10,2

C 9,1

D 10,1

i--在后 按照i值输出 10

++j ++在前 按照j=j+1输出2

所以是B

22 设a和b均为double型变量,且a=55 b=25 则表达式(int)a+b/b的值是( )。

A 6500000

B 6

C 5500000

D 6000000

b/b是10

a+10 = 65

所以答案是B

23 设以下变量均为int类型,则值不等于7的表达式是( )。

A (x=y=6, x+y, x+1)

B (x=y=6, x+y, y+1)

C (x=6, x+1, y=6, x+y)

D (y=6, y+1, x=y, x+1)

逗号表达式取最后一个表达式的值

A为7

B为7

C为12 选C

D为7

24 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘10’是( )。

A 字符A

B 字符a

C 字符e

D 非法常量

选D

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

A a==1

B ++i;

C a=a++=5;

D a=int(i);

B 合法

A缺少分号

C中++=没有这种表达方式

D应该是(int)i

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

A %

B /

C =

D <=

选A 记住即可

27 正确的定义变量是( )。

A int a=10,b,c=2;

B const int a;

C int a=b=c=10;

D int a;b;c

A正确 其他都有问题

28 字符串“”在内存中占( )个字节单元。

A 0

B 1

C 2

D 3

前一个占用一个 后一个占用一个

所以选C

29 下列变量说明语句中,正确的是( )

A char a=b=c=0

B char a;b;c

C int x,char

D int x,y,z=0

D正确

30 下面四个选项中,均是合法的用户标识符的选项是( )

A A P_0 do

B float la0 _A

C b-a goto int

D _123 temp INT

A中do是关键字 B中float是关键字

C中goto 和int是关键字

D正确

以上就是关于c语言程序设计能力教程答案全部的内容,包括:c语言程序设计能力教程答案、C语言程序设计题、《C语言程序设计》练习题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9333583.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存