Dotcpp  >  试卷列表  >  重庆医科大学C语言程序设计期末试卷

重庆医科大学C语言程序设计期末试卷


第1题

下面4个选项中,是C语言关键字的选项是(  )。

共 3 分 

第2题

设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是(  )。

共 3 分 

第3题

以下C程序的运行结果是。(注□表示空格)

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main()
{
    long y=-43456:printf("y=%-8d\n");
    printf("y=%-08d\n",y);
    printf("y=%-08d\n",y);
    printf("y=%+8d\n",y);
    return 0;
}
共 3 分 

第4题

已知ch是字符型变量,下面不正确的赋值语句是(  )。

共 3 分 

第5题

有下面程序段:

1
2
3
char a[3],b[]="China";
a=b;
printf("%s",A);

则(  )。

共 3 分 

第6题

以下叙述不正确的是( )。

共 3 分 

第7题

执行语句for(i=1;i++<4;  );变量i的值是(  )

共 3 分 

第8题

若用数组名作为函数调用的实参,则传递给形参的是(  )。        

共 3 分 

第9题

若有以下说明和语句:

1
2
3
char *language[]={"FORTRAN"."BASIC","PASCAL","JAVA","C"};
char **q;
q=language+2;

则语句printf("%o\n",*q);(  )。

共 3 分 

第10题

若有定义:int(*p)[4];则标识符p(  )。

共 3 分 

第11题

以下程序运行结果是(  )。

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
int fun(int a,int B)
{
    if(a>B return(a+B))
    else return(a-b);
    int main()
    {
        int x=3,y=8,z=6,r;
        r=fun(fun(x,y),2*z);
        printf("%d\n",r);
        return 0;
    }
}
共 3 分 

第12题

下面程序运行成果是(  )。

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
#include<string.h>
int main()
{
    char a[80]='AB',b[80]="LMNP";
    int i=0;
    stract (a,b);
    while(a[i++]!='\o')
    b[i]+a[i];
    puts(B);
    return 0;
     
}
共 3 分 

第13题

下面程序的功能是将字符串s中所有的字符c删除,请选择填空(  )。

1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
int main()
{
    char s[80];
    int i,j;
    gets(s);
    for(i=j=0;s[i!='\o';i++])
    if(s[i]!='c')[];
    s[j]='\o';
    puts(s);
    return 0;
}
共 3 分 

第14题

以下程序(  )。

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main()
{
    int a=5;b=0;c=0;
    if(a=b+C,printf("***\n"))
    else
    printf("$$$\n");
    return 0;
}
共 3 分 

第15题

设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是________。

共 3 分 

第16题

结构化程序是由________、________、________3中基本结构组成。

共 3 分 

第17题

在C语言源程序中,一个变量代表________。

共 3 分 

第18题

把一下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为________。

5x7+3x6-4x5+2x1+x3-6x2+x+10

共 3 分 

第19题

表达式

1
8/4*(int)2.5/(int)(1.25*(3.7+2.3))

值的数据类型为________。

共 3 分 

第20题

下面程序的运行结果________。

1
2
3
4
5
char*s1="AbcdEf",*s2=aB;
int t;
s1++;
t=(strcmp(s1,s2)>0);
printf("%d\n",t);
共 3 分 

第21题

下面程序段是找出整数的所有因子。请填空______.

1
2
3
4
5
6
7
8
scanf("%d",&x);
i=1;
for( ;______; )
{
    if(x%i==0)
    printf("%3d",i);
    i++;
}
共 3 分 

第22题

假设有如下代码:

1
2
float k;
scanf("%d",k);

缺不能使float类型变量k得到正确数值,应改为:____________。

共 3 分 

第23题

已有定义int a;float b,x;char c1,c2;a=3,b=6.5,x=12.6,c1=a,c2='A',正确的scanf函数调用语句是______,数据输入的形式应为_____。

共 3 分 

第24题

若有定义float[3][5],则a数组所含数组元素个数是_____,a数组所占的字节数_______。

共 3 分 

第25题

已知字母A的ASCII码值为65,以下程序输出结果是______________。

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main()
{
    char a,b;
    a='A'+'4'-'3';
    b='A'+'6'-'2';
    printf("a=%d,b=%c\n",a,b);
    return 0;
}
共 3 分 

第26题

以下printf语句中的负号的作用是___________,该程序的输出结果是_________。

1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
int main()
{
    int x=12;
    double a=3.1415926;
    printf("%6d##\n",x);
    printf("%-6d##\n",x);
    printf("%14.101df##\n",a);
    printf("%-14.101df##\n",a);
}
共 3 分 

第27题

以下程序功能是:输入3个数,按从大到小的顺序进行输入,请填空

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
int main()
{
    int x,y,z,c;
    scanf("%d%d%d",&x,&y,&z);
    if(__1___)
    {
        c=y;
        y=z;
        z=c;
    }
    if(__2___)
    {
        c=x;
        x=z;
        z=c;
    }
    if(__3___)
    {
        c=x;
        x=y;
        y=c;
    }
    printf("%d%d%",x,y,z);
    return 0;
}
共 3 分 

第28题

若以下程序时输入:-2<回车>,则程序的输出结果是__________。

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d",&a);
    b=(a>0)?a:-a;
    printf("b=%d",b);
    return 0;
}
共 3 分 

第29题

当运行以下程序时,从键盘输入“-10<回车>”,则下面程序的运行结果是_________。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
int main()
{
    int a,b,m=1,n=1;
    scanf("%d%d",&a,&b);
    do{
        if(a>0)
        {
            m=2*n;
            b++;
        }
        else(n=m+n;a+=2;b++)
    }
    while(a==b);
    printf("m=%d n=%d",m,n);
}
共 3 分 

第30题

以下程序的功能是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
int fac(int n)
{
    static int f=1;
    f=f*n;
    return(f);
}
int main()
{
    int i;
    for(i=1;i<=5;i++)
    printf("%d!=%d\n",i,fac(i));
    return(0);
}
共 3 分 

第31题

当键盘输入18时,下面程序运行结果是__________。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
int main()
{
    int x,y,i,a[8],j,u;
    scanf("%d",&x);
    y=x;
    i=0;
    do
    {
        u=y/2;
        a[i]=y%2;
        i++;
        y=u;
    }
    while(y>=1);
    for(j=i-1;j>=0;j--)
    printf("%d",a[i]);
    return 0;
}
共 3 分 

第32题

以下程序运行结果是__________。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
#define N6
void fun(int *a)
{
    int i,t;
    t=*(a+1);
    for(i=0;i<N-1;i++)
    *(a+i)=*a+i+1;
    *(a+i);
}
int main()
{
    int a[N]={11,66,33,77,55,99},i;
    printf("\n");
    fun(a);
    for(i=0;i<N;i++)
    printf("%d",a[i]);
    return(0);
}
共 3 分 

第33题

已有变量定义语句double=5.0,p;int n=5;和函数调用语句p=mypow(a,n);用以求a的n次方,请重新编写double mypow (double x,int y)函数。


参考答案:

1
2
3
4
5
6
7
8
9
double mypowe(double x,int y)
{
    int i;
    double p;
    p=1.0;
    for(i=1;i<=y;i++)
    p=p*x;
    return p;
}
共 0 分 

第34题

从键盘输入一个字符串a,并在a串中的最大元素后边插入字符串b(b[]='ab').试编码。


参考答案:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<stdio.h>
int main()
{
    char a[80],b[]='ab',max;
    int i=1,j;
    printf("Input a string\n");
    gets(a);
    puts(a);
    max=a[0];
    while(a[i!='\o'])
    {
        if(a[i]>max)
        {
            max=a[];j=i;
        }
        i++;
    }
    for(a=strlen(a)+2;i>j;i--)
    a[i]=a[i-2];
    a[i+1]='a';
    a[i+2]='b';
    puts(a);
    return 0;
}
共 0 分