填空题
一、 填空题
1、表达式3*7%2+7%2*5的值为 6 。
2、若定义了int x; 则将x强制转化成双精度类型应该写成 (double)x 。
3、设y是int型变量,请写出判断y为奇数的关系表达式 [(y%2)==1或y%2或(y%2)!=0]
5、在C语言中,实现循环的语句有:if-goto语句、 while语句、 do-while语句和 for 语句。
6、设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。
scanf(“%d” , k);
printf(“%d\n”, *k );
7、一个C语言程序总是从 主函数 开始执行。
8、若输入字符串:abcde<回车>,则以下while循环体将执行 1 次。
do {printf(“Hello!”);}
while((ch=getchar())= =‘y’) ;
9、已知:int *p, a; 则语句“p=&a;”中的运算符“&”的含义是 取变量地址 。
11、函数直接或者间接地自己调用自己,被称为函数的 递归调用 。
12、若已定义:int a[10], i;,以下fun函数的功能是:在循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10。请填空。
fun( int a[ ])
{ int i;
for(i=1; i<=10; i++) a[i-1]=i;
}
14、’x’在内存中占 1 个字节,”x”在内存中占 2 个字节。
15、数组在内存中占连续一片的存储区,用 数组名 代表其首地址。
16、C语言是一种结构化程序设计语言,而结构化程序设计的基本结构有3种,分别是顺序结构、 选择 结构和 循环 结构。
22、表达式8.0*(1/2)的值为 0.0 。
33、用指针变量作为实参、形参,实现两个数的值互换,请填空。
void swap(int *p1, int *p2)
{ int p;
p=*p1;
*p1=*p2;
*p2=p; }
main( )
{ int a=10, b=25;
swap(&a,&b);
printf(“\n a=%d, b=%d ”,a,b);}
38、C语言规定,标识符只能由数字、字母 、下划线3种字符组成,而且第一个字符必须是字母或下划线组成。
42. 已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是__5__。
43、假设a是字符型变量,写出从键盘上输入一个字符并且赋值给a的语句:
a=getchar( )或scanf(“%c”,&a);
48、C语言认为 零 为逻辑"假", 非零 为逻辑"真"。
51、 定义了数组int a[3],若想使指针p指向数组a,则定义语句为
__int *p=a;______。
52、 C语言的数据类型中,构造类型共有三种,其中__数组_____是同一类型的数据项占连续存储空间,_结构体_____是若干不同类型的数据项占连续存储空间。
53、 从编写好一个C程序到完全运行,一般要经历四步,分别为编辑、
__编译______、连接和执行。
57、 设有以下变量定义,并已赋确定的值
char w; int x; float y; double z;
则表达式:w*x+z-y所求得的数据类型为 double 。
64、一个C程序由若干个函数组成,其中必须有一个___main()___函数。
二、 程序填空:阅读程序。在划线处填写适当的表达式或语句,使程序完整并符合题目要求
1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( )
{ char ch;
c语言斐波那契数列 ch=getchar();
if( ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’ )
printf("It is an English character\n");
else if( ch>=’0’&&ch<=’9’ )
printf("It is a digit character\n");
else if( ch== ‘ ’ )
printf("It is a space character\n");
else
printf("It is other character\n"); }
2. 10个学生成绩按选择法排序
main()
{ float a[10], t;
int i, j,k;
printf("Please enter score:\n");
for (i=0; i<10; i++)
scanf(“%d”,&a[i]);
for (i=0; i<9; i++)
{ k=i;
for (j=i+1; j<10; j++)
if (a[j] > a[k])
k=j;
if(i!=k)
{ t=a[i];
a[i]=a[k];
a[k]=t;
}
}
printf("Sorted results:\n");
for (i=0; i<10 ; i++)
printf("%4.1f\n", a[i]);
}
3. 3自定义一函数求n!, 编写程序输入n,输出n!.
long jc(int n)
{ int i
long p=1;
while (i <= n)
{ p=p*i;
i++; }
return p; }
void main()
{ int n;
printf("Please enter n:");
scanf("%d", &n);
printf("%d! = %ld\n", n, jc(n) ); }
4.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。用输入0来结束输入,用i,j来放统计数,请填空完成程序。
void main()
{ int n,i=0,j=0;
printf(“input a integer,0 for end\n”);
scanf(“%d”,&n);
while ( n或n!=0 )
{ if(n>0) i= i+1 ;
else j=j+1;
}
printf(“i=%4d,j=%4d\n”,i,j);
}
5.下面程序的功能是在a数组中查与x值相同的元素所在位置,请填空。
#include <stdio.h>
void main()
{ int a[10],i,x;
printf(“input 10 integers:”);
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
printf(“input the number you want to find x:”);
scanf(“%d”, &x );
for(i=0;i<10;i++)
if( x==a[i] )
break;
if( i<10 )
printf(“the pos of x is:%d\n”,i);
else printf(“can not find x!\n”);
}
8.下面是判断一个数是否为素数的函数
/* 函数功能: 判断参数是否是素数
函数入口参数: 整型数,要求为正整数
函数返回值: 非0值表示是素数,否则不是素数*/
#include <math.h>
int IsPrime ( int number )
{ int i;
if (number <= 1) /* 负数、0和1都不是素数 */
return 0 ;
for (i=2; i<sqrt(number); i++)
if ( number%i== 0 ) /* 被整除,不是素数 */
return 0;
return 1;
}
9.编程计算1+3+5+……+101的值
#include <stdio.h>
void main()
{ int i, sum = 0;
for (i = 1; i<=101 ; i++ )
sum = sum + i;
printf("sum=%d\n", sum);
}
10.输入一个学生的成绩(在0~100分之间),进行五级评分并显示。
#include <stdio.h>
void main ( )
{ int score;
scanf ("%d",&score);
if (score>=0&& score<=100)
switch (___score/10___)
{
case 10:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论