C语言程序设计题目解答-10
一、判断题?(20分)
1. 在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。2分
2. 对C语言中用到的任何一个变量都要规定其类型。2分
3. 字符型数据和整数之间是不可以通用的。2分
4. 对整型常量可进行自加或自减运算,而对变量或表达式不可以。2分
5. 表达式1/4+2.75的值是3。2分
6. 复合语句是由多条语句组成的,因此它不是一条语句。2分
7. 程序进行编译时,不为形式参数分配存储空间.2分
8. return后面括号里的表达式的值即是此函数的值。2分
9. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是52分
10. int n=10; int a[n];则数组a有10个元素。2分
二、选择题?(20分)
1.下列可用于C语言用户标识符的一组是( ).???[B] 2分
A. void, define, WORD?????B. a3_b3, _123,Car?????C. For, -abc, IF Case?????D. 2a, DO, sizeof
2.有以下程序:
#include
int main( )
{
int i=1,j=1,k=2;
if((j++ || k++) &&i++ )
printf("%d,%d,%d",i,j,k);
return 0;
}
执行后输出结果是:???[C] 2分
A. 1,1,2?????B. 2,2,1?????C. 2,2,2?????D. 2,2,3
3.已知int a;float b;所用的scanf调用语句格式为:
scanf("a//%d,b=%f",&a,&b);
为了将数据3和25.08分别赋给x和y,正确的输入应当是( )。???[B] 2分
A. 3,25.08?????B. a//3,b=25.08?????C. a=3,b=25.08?????D. a//3b=25.08
4.若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()。[B]
A. (exp==0)?????B. (exp!=0)?????C. (exp==1)?????D. (exp!=1)
5.C语言规定,在一个源程序中,main函数的位置( )。???[C] 2分
A. 必须在最开始?????B. 必须在系统调用的库函数的后面?????C. 可以任意?????D. 必须在最后
6.现在有以下定义,int a;double b;float c;char k;则下面的表达式a/b+c-k值的类型为:( )。???[B] 2分
A. int?????B. double?????C. float?????D. char
7.设有语句int a=3; 则执行了语句a+=a-=a*a;后,变量a的值是______。???[D] 2分
A. 3?????B. 0?????C. 9?????D. -12
8.以下非法的赋值语句是______。???[C] 2分
A. n=(i=2,++i);?????B. j++;?????C. ++(i+1);?????D. x=j>0;
9.若有数组定义语句“int a[4][5];”,则对a中数组元素的正确引用是( )。[D] 2分
A. a[4][1]?????B. a[2,1]?????C. a[4][5]?????D. a[4–1][5–5]
10.有数组定义语句“char a[20];”,则正确的输入语句为( )。???[D] 2分
A. scanf("%s",&a);?????B. scanf("%s",a[]);?????C. gets(a[20]);?????D. gets(a);
三、程序填空题?(20分)
1. 功能:输出1到100之间每位数的乘积大于每位数的和的数。例如:数字26,数位上数字的乘积12大于数字之和8。 4分
#include
void main()
{
int n,k=1,s=0,m;
for(n=1;n<=100;n++)
{
k=1;
s=0;
m=n;
while(0
{
__(1)__;
__(2)__;
m/=10;
}
if(k>s)
printf("%d "