c语言程序填空题
- 格式:docx
- 大小:14.65 KB
- 文档页数:9
C语言填空测试题及答案1. 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2. 以下哪个选项是C语言中的合法常量?A. 0x1AB. 1.23e-10C. 1.2.3D. 0b101答案:A3. 以下哪个运算符用于将一个浮点数转换为整数?A. %B. /C. +D. (int)答案:D4. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcmp()C. strcpy()D. strlen()答案:C5. 若有以下代码段:```cint a = 10, b = 20;void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}```调用 `swap(&a, &b);` 后,变量 `a` 和 `b` 的值分别是 ______ 和 ______。
答案:20 和 106. 以下哪个选项是C语言中的合法字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "HelloD. "Hello"答案:A7. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. charC. voidD. int答案:C8. 以下哪个选项表示C语言中的逻辑与运算?A. &&B. ||C. !D. =答案:A9. 以下哪个函数用于计算一个字符串的长度?A. strcat()B. strcmp()C. strcpy()D. strlen()答案:D10. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A。
计算机程序设计基础(C语言)程序填空练习题程序填空:阅读程序。
在划线处填写适当的表达式或语句,使程序完整并符合题目要求1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( ) 参考答案:{ char ch;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");elseprintf("It is other character\n"); }2.10个学生成绩按交换法排序。
main(){ float score[10], temp1;int i, j;printf("Please enter score:\n");for (i=0; i<10; i++)scanf("%f",&score[i]);for (i=0; i<9; i++)for (j=i+1; j<10; j++)if (score[j] > score[i]){ temp1=score[j];score[j]=score[i];score[i]=temp1;}printf("Sorted results:\n");for (i=0; i<10; i++)printf("%4.0f\n", score[i]); }11.排序函数:用交换法按成绩由高到低对学生成绩重新排序void Sort(float score[ ],int n){ int i, j;float temp1;for (i=0; i<n-1; i++){ for (j=i+1; j<n; j++)if ( ) score[j] > score[i]{ temp1 = score[j];; score[j]=score[i];score[i] = temp1;}}}自定义一函数求n!, 编写程序输入n,输出n!.#include<stdio.h>long jc(int n){ int i=1;long p=1;while (i <= n){ p=p*i;i++; }} return p;main(){ int n;printf("Please enter n:");scanf("%d", &n);printf("%d! = %ld\n", n, ); jc(n)}4.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
二, 填空题( 10 道小题,共20 分)1、一个C 源程序中至少应包含一个[main] 函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。
[2]3、i nt m=5,y=2; 则表达式y+=y- =m*=y 的值为。
[-16]4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b ); 的输出结果分别是[2,1]5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型6、当运行以下程序时,从键盘键入right?<CR>(<CR> 代表回车),则下面程序的运行结果是。
#include<stdio.h>main( ){ char c;while((c=getchar())! ='?') putchar(++c)}[sjhiu?]7、C语言中的数组必须先[定义],然后使用。
8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return 】语句。
9、已知:float f1=3.2,f2,*pf仁&f1;f2=f1 ,则*f2 的值为。
[3.2]10 、以下程序void fun(char *a, char *b){ a=b; (*a)++; } main (){ char c1="A", c2="a", *p1, *p2;p1=&c1; p2=&c2; fun(p1,p2);printf( “ &cn&”c ,c1,c2);}运行后的输出结果是。
[&c&c]11、字符串常量“ 123 ”在内存中的字节数是。
[8 字节]12、已有定义:int x=3 ; 则表达式:x=x+1.78 的值是。
程序填空一、程序填空共129题(共计1290分)第1题(10.0分)题号:473/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:输出1到100之间每位数的乘积大于每位数的和的数。
例如:数字26,数位上数字的乘积12大于数字之和8。
-------------------------------------------------------*/ #include <stdio.h>main(){int n,k=1,s=0,m;for(n=1;n<=100;n++){k=1;s=0;/***********SPACE***********/【?】 ;/***********SPACE***********/while( 【?】 ){k*=m%10;s+=m%10;/***********SPACE***********/【?】;}if(k>s)printf("%d ",n);}}答案:=======(答案1)=======m=n=======(答案2)=======m>00<m=======(答案3)=======m=m/10=========或=========m/=10第2题(10.0分)题号:447/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。
编程打印此数,直到某项的值超过200为止。
习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/210.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。
c语言程序设计填空题15条
1、以下程序的功能是利用函数求100-200间素数(质数)的个数,请在下划线处填上正确的语句,使程序能正确运行。
2、C中的转义符“\r”表示:。
3、表达式 3 | 2 的值是。
4、第i天的桃等于(第i+1天的剩的桃+
5、*2,因此有:f(i)=(f(i+
6、∗2,完毕条件是f(n)=1。
7、定义一个构造变量,共三个成员分别是字符型、整形和浮点型,则该构造体变量所占内存长度为个字节。
8、71828的宏命令是。
9、C中按位与运算符是、按位异或运算符是、按位或运算符是。
10、若a=5,经a-=3;后a=。
11、小数局部按指定位数输出,编译器会进展四舍五入处理,假如和的结果是-0.04,输出会是-0.0,而假如肯定值结果是0.05及以上,四舍五入是0.1,有了上面的条件就可以保证结果不会消失-0.0的状况了。
12、函数形参和调用的实参是数组名时,参数按方式进展传递。
13、C语言规定标识符只能由字母、和3种字符组成,且第一个字符必需为字母或。
14、输出格式:在一行中根据(x, y)的格式输出和向量,坐标输出小数点后一位(留意不能输出−0.0)。
15、已知ch=”a”,则表达式【(ch>=”A ” && ch<=”Z”)? (ch+
16、以下程序的功能是输出杨辉三角形前10行,请在下划线处填上
正确的内容,使程序能正确运行。
17、表达式21 / 4 的值为。
程序填空题
1.下述程序是一个选择排序程序,请填完整空缺部分。
Void select _sort (int p [ ], int n )
{ int i, j, k, temp;
for ( i =0 ;i<n-1; i ++ )
{ k = i;
for ( j=i+1; j<n ; j++)
if ( p[j]<p[k]) k=j;
if (k!=i) { temp= p[k]; p[k]=p[i];p[i]=temp;}
}
}
main()
{ int i,a[20];
for (i =0; i<20; i++) scanf (“%d”,&a[i]);
select_sort(a,20);
for ( i = 0;i<20; i++)
printf (“%d\t”,a[i];printf (“\n”);
}
2.下面程序的功能是:计算1到10之间的奇数之和及偶数之和,请填空。
# include <stdio.h>
main()
{ int a, b, c , i;
a = c = 0 ;
for(i=0;i<=10;i+=2)
{ a + = i ;
b=i+1;
c += b ;
}
printf ( “偶数之和= %d \n “, a ) ;
printf ( “奇数之和= %d \n “, c –11 );
}
3.下面程序的功能是:输出100 以内能被3 整除且个位数为6 的所有整数,请填空:
main()
{ int i , j ;
for ( i = 0 ;i<10; i + + )
{ j = i * 10 + 6 ;
if ( j%3!=0 ) continue ;
printf ( “ %d” , j ) ;
}
}
4.程序读入20个整数,统计非负数的个数,并计算非负数之和。
#include “stdio.h”
main()
{ int I,a[20],s,count;
____s=count=0____;
for(I=0;I<20;I++)
scanf(“%d”,_&a[i]__);
for(I=0;I<20;I++)
{
if(a[I]<0)
continue;
s+=a[I];
count++
}
printf(“s=%d\t count=%d\n”,s,count);
}
5.下面的程序用以分别求出数组两条对角线上的各元素之和。
#include “stdio.h”
main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int sum1,sum2,k,j;
sum1=sum2=0;
for(k=0;k<3;k++)
sum1+=a[i][i];
for(k=0;k<3;k++)
for(j=2;j>=0;j--)
if(_(i+j)==2________)
sum2+=a[k][j];
printf(“sum1=%d\tsum2=%d\n”,sum1,sum2);
}
6.已知整型数组w中的元素已经由小到大排序,函数fun用以将整数x插入到数组w中,要求插入后的数组元素依然有序。
其中n所指的存储单元中存放着数组元素的个数。
void fun(int *w, int x, int *n)
{
int k,p=0;
w[*n]=x;
while(x>w[p])
__p++____;
for(k=*n;k>p;k--)
w[k]=__w[k-1]__;
___w[p]=x____________;
++*n;
}
7.函数strlen用于确定一个给定字符串str的长度(不包括‘\0’)。
strlen(char *str)
{
int num=0;
while(*str++!=’\0’)
++num;
return(_num___);
}
8.已知第一个学生的年龄为10岁,,第二个学生年比第一个学生的年龄大2岁,……以此类推,以下程序用于计算学生年龄,请补充完整。
#include “stdio.h”
age(int n)
{
int c;
if(n= =1) c=10;
else c=__age(n-1)+2____;
return( c ) ;
}
main()
{
int n=5;
printf(“age:%d\n”,age(n));
}
9.以下是一个求字符串长度的函数的递归算法,请补充完整(不包括‘\0’)
int strlen(char * str)
{
if(*str==’\0’)
return(0);
else
return(__1+strlen(str+1)___);
10. 以下程序将用户从键盘上随机输入的30个学生的学号、姓名、数学成绩、计算机成绩及总分写入数据文件score.txt中,假设30个学生的学号从1~30连续。
输入时不必按学号顺序进行,程序自动按学号顺序将输入的数据写入文件。
请在程序中的空白处填入一条语句或一个表达式。
# include <stdio.h>
FILE *fp;
Main( )
{
struct st
{ int number;
char name[20];
float math;
float computer;
float total;
} student;
int i,j;
if( (fp=fopen(“score.txt”,”w”))==null )
{
printf(“ error\n”);
exit(1);
}
for(i=0;i<30;i++)
{
scanf(“%d,%20s,%f,%f”,&student.number, ,&student.math,&puter);
student.total=student.math+puter;
j=student.number-1;
fseek(fp,j* sizeof(student),0);
if(fwrite(&student, sizeof(student), 1, fp)!=1)
printf(“write \n”);
}
fclose(fp);
}
11.下面的程序用来统计文件中字符的个数,请填空。
#include <stdio.h>
main()
{ FILE *fp;
long num=0;
if(( fp=fopen("fname.dat","r"))==NULL)
{ printf( "Can"t open file! \n"); exit(0);}
while(!feof(fp))
{ fgetc(fp); num++;}
printf("num=%d\n", num);
fclose(fp);
}
12. 【程序说明】将从键盘输入的三个整数,按从小到大的顺序输出。
【程序】
#include <stdio.h>
int main()
{
int a,b,c,*pa=&a,*pb=&b,*pc=&c,*p;
scanf("%d%d%d", pa,pb,pc);
if(*pa>*pb)
{p=pa; pa=pb; pb=p;}
if(*pa>*pc)
{p=pa; pa=pc; pc=p;}
if(*pb>*pc)
{p=pb; pb=pc; pc=p;}
printf("%d <= %d <= %d\n", *pa,*pb,*pc); return 0;
}。