19级c语言错题

1.要定义一个f函数,其功能为求100以内,能同时被2和3整除的数的和,则该函数的首部应定义为 int f()

2.以下叙述正确的是( B )。
A.在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示
/有正确表达范围
B.C程序中语句 int a=3.5;是合法的
C.在C程序中要调用的函数必须在main函数中定义//也可以在程序开头定义
D.设有语句char ch[10];则可以使用scanf(“%s”,&ch);语句一次为数组输入一个字符串 直接写成scanf("%s",kch)

3.若变量a,b,t已经正确定义,要将a,b的值进行交换,则下列选项不正确的是( C )。
A.a=a+b,b=a-b,a=a-b; B.t=a;a=b;b=t;
C.a=t;t=b;b=t; D.t=b;b=a;a=t;
4.有以下程序:

#include<stdio.h>
void main()
{
   int a=2,b=-1,c=2;
if(a<b) 
if(b<0) c=0;     相当于if(a<b&&b<0)
else c+=1;       与if(b<0)配对
printf(“%d”,c);
}

程序的输出结果为( C )。
A.0 B.1 C.2 D.3
8.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( D )。
A.if(x++); B.if(x>y&&y!=0);
C.if(x>0) x–;else y++; D.if(y<0){y–;} else x++;
14.若有如下程序

#include<stdio.h>
void f(int n)
{ int i;  double s;
s=1.0;
for(i=1;i<=n;i++) s+=1.0/i;
return s;
}
void main()
{ int i,m=3; double a=0.0;
for(i=0;i<m;i++) a+=f(i);
printf(“%f”,a);
}

则上面程序输出( A )。
A. 5.500000 B.3.500000 C. 4.000000 D. 3.000000

判断
( F )3. 为了避免嵌套if-else语句的二义性,C语言规定else总是与其前面最近的if语句组成配对关系。
//在多重嵌套中,else总是和在它之前出现的、尚未匹配的且离它最近的if相匹配

if(a>b)
{
if(b>0)
printf("a>b>0");
}
else       //与if(a>b)相配对
printf("a<=b");

( F )4. 函数的声明包括函数首部和函数体两部分。

( F )5. C语言中,可以对数组整体引用。
C 语言规定,只能逐个引用数组元素,而不能一次引用整个数组。
数组元素的表示形式为:数组名[下标]。
下标可以是整型常量或整型表达式,比如:
a[0] = a[5] + a[7] - a[2 * 3]
定义数组时用到的“数组名[常量表达式]”和引用数组元素时用到的“数组名[下标]”是有区别的。定义数组时的常量表达式表示的是数组的长度,而引用数组元素时的下标表示的是元素的编号。

( F )6. 任意两个函数中都不可以定义同名的变量。

3.以下程序的功能是求1!+2!+3!+4!+…+n!,请填空

#include "stdio.h"
long f(int n)
{
int i;
long s;
s=1;
for(i=1;i<n;i++)
s=s*n;
return s;
}
void main()
{
long s;
int k,n;
scanf("%d",&n);
s=0;
for(k=1;k<n;k++)
s=s+f(k);
printf("%ld",s);
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值