《C语言程序设计》练习题

一、选择题
1、C语言规定,在一个源程序中,main()函数的位置(C )。
A) 必须在最开始 B)必须在最后
C) 可以任意 D) 必须在系统调用的库函数后面
2、若x和y都是int 型变量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y));则其输出结果是( A)。
A) 200 B) 100 C) 100 200 D) 输出不确定值
3、合法的C语法字符常量是(C )。
A) “A” B) 65 C) ‘\t’ D) A
4、表达式“3!=4”的值是(A )。
A) 1 B) 0 C) T D) F
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
6、以下程序的输出结果是(D)。
Int x=10,y=3,z;printf(“%d\n”,z=(x%y,x/y));
A)1 B) 0 C) 4 D) 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)
8、合法的数组定义是( D )。
A) int a[ ]=”string”; B) int a[5]={0,1,2,3,4,5};
C) char a=”string”; D) char a[ ]={“01234”};

那位大虾能帮我解决这些问题啊!
我将感激不尽啊!
这是我们的考试题目!
但是有些回改的1
我甚至根本不会什么!
希望大虾能告诉我怎么做!
为什么这里错了!
为什么这里对了1
我将继续追加积分!
后面还有些题目
也是的!
这里放不下
也是一起的!
9、设x和y均为int型变量,则语句“x+=y;y=x-y;x-=y;”的功能是(D)。
A) 把x和y按从小到大排列 B)把x和y按从大到小排列
C)无确定结果 D)交换x和y中的值

10、若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是(C)。
A) 1 B)2 C) 2.0 D) 1.0
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);
12、以下能正确定义二维数组的是 (C)
   A) int a[][3]; B) int a[][3]=2{2*3};
   C) int a[][3]={0}; D) int a[2][3]={{1},{2},{3,4}};
13、用C语言编写的代码程序 (B)
   A)可立即执行 B)是一个源程序
   C)经过编译即可执行 D)经过编译解释才能执行

一、选择题
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) 2.0 D) 1.0

逗号表达式,先让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{2*3};
   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)经过编译解释才能执行

死记
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-15
1.C
C程序总是从main函数开始执行的,与main函数的位置无关
2.A
printf(“%d”,(x,y));其中(x,y)间的那个","是逗号运算符,打印输出选择最后一个。
若两个数 x,y 取y
若n个数 a,b,c,d,.......,s 取s
3.C
“”属于字符串,‘’属于字符常,如‘1’、‘c'。
4.A
表达式“3!=4”是真值,真值为TRUE,即为1。
5.C
前两个if语句都不符全条件,不执行。所以X=3。
6.D
同2题,如果printf(“%d\n”,z=(x%y,x/y,x*y));则输出结果为30。
7.A
这个不用多说,就得满足&&关系
8.D
A) int a[ ]=“string”; int改为char是对的
B) int a[5]={0,1,2,3,4,5}; 越界
C) char a=”string”; 字符串,不是字符
D) char a[ ]={“01234”}; 正确,也可以char a[ ]=“01234”;
9.D
x+=y;y=x-y;x-=y//x=x+y;//y=x-y;即y=x;
x=x-y相当于x=(x+y)-x即为x=y;
10.C
double 型
11.D
上面三个都是a为真时输出x
12.C
a[][3]={0}相当于a[1][3]={0};
13.B
第2个回答  2019-03-27
这个程序是很简单的一个数组和函数调用的运用,我还是给你讲一下思路吧!
首先在主函数中给二维数组初始化,在调用fun函数来实现所要的要求,在fun函数中可以先利用循环来找出二维数组的周边元素,循环题就是定义的sum总和与周边元素的平方和的自加,最后在返回sum的值,其中有关系到函数返回值的类型问题,我们可以先定义它为浮点型,应为涉及到平方和,到此程序应该差不多了!希望能帮助你!
第3个回答  2008-04-15
你把你知道的都删了,不知道的再来问,别全问行不,别告诉我你一个都不知道
第4个回答  2008-04-15
我很想帮你,但还得靠你自己,你要相信你自己,上面这些小菜不要别人一样搞定。
相似回答