文档库 最新最全的文档下载
当前位置:文档库 › 青大c程序填空题库

青大c程序填空题库

青大c程序填空题库
青大c程序填空题库

试卷编号:10579

所属语言:C语言

试卷方案:TC_150522153552

试卷总分:490分

共有题型:1种

一、程序填空共49题(共计490分)

第1题(10.0分)题号:428 难度:易第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的

年龄(实足年龄)。

-------------------------------------------------------*/

#include

main()

{int age,y0,y1,m0,m1,d0,d1;

printf("输入生日日期(年,月,日)");

/***********SPACE***********/

【?】("%d,%d,%d",&y0,&m0,&d0);

printf("输入当前日期(年,月,日)");

scanf("%d,%d,%d",&y1,&m1,&d1);

age=y1-y0;

/***********SPACE***********/

if(m0【?】m1)age--;

/***********SPACE***********/

if((m0【?】m1)&&(d0>d1))age--;

printf("age=%3d",age);

}

答案:

=======(答案1)=======

scanf

=======(答案2)=======

>

=======(答案3)=======

==

第2题(10.0分)题号:484 难度:易第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:识别输入的字符串,每个单词输出一行

-------------------------------------------------------*/

#include

#include

void main()

{

int c;

int inspace;

/***********SPACE***********/

【?】;

while((c = getchar()) != '\n')

{

if(c == ' ' || c == '\t' || c == '\n')

{

/***********SPACE***********/

if(【?】)

{

inspace = 1;

putchar('\n');

}

}

else

{

inspace = 0;

/***********SPACE***********/

【?】;

}

}

}

答案:

=======(答案1)=======

inspace = 0

=======(答案2)=======

inspace == 0

=======(答案3)=======

putchar(c)

第3题(10.0分)题号:611 难度:易第20章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序是实现输出 x,y,z 三个数中的最大者。

-------------------------------------------------------*/

#include

main()

{

int x = 4, y = 6,z = 7;

/***********SPACE***********/

int u ,【?】;

if(x>y)

/***********SPACE***********/

【?】;

else u = y;

if(u>z)

v = u;

else

v=z;

printf("the max is %d",v );

}

答案:

=======(答案1)=======

v

=======(答案2)=======

u=x

第4题(10.0分)题号:476 难度:难第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:不用第三个变量,实现两个数的对调操作。

-------------------------------------------------------*/

#include

main()

{

int a,b;

scanf("%d %d",&a,&b);

printf("a=%d,b=%d\n",a,b);

/***********SPACE***********/

a= 【?】 ;

/***********SPACE***********/

b= 【?】 ;

/***********SPACE***********/

a= 【?】 ;

printf("a=%d,b=%d\n",a,b);

}

答案:

=======(答案1)=======

a+b

=======(答案2)=======

a-b

=======(答案3)=======

a-b

第5题(10.0分)题号:627 难度:中第20章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:调用函数fun计算m=1-2+3-4+……+9-10,并输出结果。

-------------------------------------------------------*/

#include

int fun( int n)

{

int m=0,f=1,i;

/***********SPACE***********/

for(i=1;【?】;i++)

{

m+=i*f;

/***********SPACE***********/

【?】;

}

/***********SPACE***********/

return 【?】;

}

main()

{

printf("m=%d\n", fun(10));

}

答案:

=======(答案1)=======

i<=n

=======(答案2)=======

f= -f

=======(答案3)=======

m

第6题(10.0分)题号:417 难度:中第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:利用全局变量计算长方体的体积及三个面的面积。

-------------------------------------------------------*/

#include

int s1,s2,s3;

int vs(int a,int b,int c)

{

int v;

/***********SPACE***********/

v=【?】;

s1=a*b;

/***********SPACE***********/

s2=【?】;

s3=a*c;

return v;

}

main()

{

int v,l,w,h;

printf("\ninput length,width and height: ");

/***********SPACE***********/

scanf("%d%d%d",【?】,&w,&h);

/***********SPACE***********/

v=【?】;

printf("v=%d s1=%d s2=%d s3=%d\n",v,s1,s2,s3);

}

答案:

=======(答案1)=======

a*b*c

=======(答案2)=======

b*c

=======(答案3)=======

&l

=======(答案4)=======

vs(l,w,h)

第7题(10.0分)题号:27 难度:中第1章/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:统计一个字符串中的字母、数字、空格和其它字符的个数。

-------------------------------------------------------*/

#include

void fun(char s[],int b[])

{

int i;

for (i=0;s[i]!='\0';i++)

if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z')

b[0]++;

/***********SPACE***********/

else if (【?】)

b[1]++;

/***********SPACE***********/

else if (【?】 )

b[2]++;

else

b[3]++;

}

main ()

{

char s1[80];int a[4]={0};

int k;

/***********SPACE***********/

【?】;

gets(s1);

/***********SPACE***********/

【?】;

puts(s1);

for(k=0;k<4;k++)

printf("%4d",a[k]);

}

答案:

=======(答案1)=======

'0'<=s[i] && s[i]<='9'

=======(答案2)=======

s[i] == ' '

=======(答案3)=======

void fun(char s[],int b[])

=======(答案4)=======

fun(s1,a)

第8题(10.0分)题号:425 难度:易第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:当输入“2,5”的时候输出为“2 5 5”

-------------------------------------------------------*/

#include

#define max 100

main()

{

int f[max],i,j,k,m;

scanf("%d,%d",&k,&m);

/***********SPACE***********/

for(i=0;i<=【?】;i++)

f[i]=0;

/***********SPACE***********/

f[【?】]=1;

for(i=k;i<=m;i++)

/***********SPACE***********/

for(j=i-k;j<=i-1;j++)

f[i]【?】f[j];

printf("%d%10d%10d\n",k,m,f[m]);

}答案:

=======(答案1)=======

m

=======(答案2)=======

k-1

=======(答案3)=======

+=

第9题(10.0分)题号:162 难度:中第1章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:下列程序的功能为:输出100以内能被4整除且个位数为8的所有整数;

请填写适当的符号或语句,使程序实现其功能。

-------------------------------------------------------*/

#include

main()

{ int i,j;

/***********SPACE***********/

for(i=0;【?】; i++)

{ j=i*10+8;

/***********SPACE***********/

if ( 【?】)

/***********SPACE***********/

【?】;

printf("%d",j);

}

}

答案:

=======(答案1)=======

i<10

=======(答案2)=======

j%4!=0

=======(答案3)=======

continue

第10题(10.0分)题号:23 难度:中第1章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:求一个二维数组中每行的最大值和每行的和。

-------------------------------------------------------*/

#include

main()

{

int a[5][5],b[5],c[5],i,j,k,s=0;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

a[i][j]=random(40)+20;

for(i=0;i<5;i++)

{

/***********SPACE***********/

k=a[i][0]; 【?】 ;

for(j=0;j<5;j++)

{

/***********SPACE***********/

if(k

s=s+a[i][j];

}

b[i]=k;

/***********SPACE***********/

【?】 ;

}

for(i=0;i<5;i++)

{

for(j=0;j<5;j++)

/***********SPACE***********/

printf("%5d", 【?】 );

printf("%5d%5d",b[i],c[i]);

printf("\n");

}

=======(答案1)=======

s=0

=======(答案2)=======

k=a[i][j]

=======(答案3)=======

c[i]=s

=======(答案4)=======

a[i][j]

第11题(10.0分)题号:20 难度:中第1章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:求两个非负整数的最大公约数和最小公倍数。

-------------------------------------------------------*/

#include

main()

{

int m,n,r,p,gcd,lcm;

scanf("%d%d",&m,&n);

if(m

p=m*n;

r=m%n;

/***********SPACE***********/

while(【?】 )

{

/***********SPACE***********/

m=n;n=r; 【?】;

}

/***********SPACE***********/

gcd=【?】;

lcm=p/gcd;

/***********SPACE***********/

printf("gcd=%d,lcm=%d\n", 【?】);

}答案:

=======(答案1)=======

r

=======(答案2)=======

=======(答案3)=======

n

=======(答案4)=======

gcd,lcm

第12题(10.0分)题号:443 难度:中第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于

10万元的部分按10%提成,高于10万元的部分,可可提成7.5% ;20万到40万之间时,高于20万元的部分,可提成5%;40万

到60万之间时高于40万元的部分,可提成3%;60万到100万

之间时,高于60万元的部分,可提成1.5%,高于100万元时,

超过100万元的部分按1%提成,从键盘输入当月利润i,求

应发放奖金总数?

-------------------------------------------------------*/

#include

main()

{

long int i;

double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

scanf("%ld",&i);

bonus1=100000*0.1;bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5;

bonus6=bonus4+200000*0.3;

bonus10=bonus6+400000*0.15;

if(i<=100000)

bonus=i*0.1;

/***********SPACE***********/

else if(【?】)

bonus=bonus1+(i-100000)*0.075;

/***********SPACE***********/

else if(【?】)

bonus=bonus2+(i-200000)*0.05;

/***********SPACE***********/

else if(【?】)

bonus=bonus4+(i-400000)*0.03;

else if(i<=1000000)

bonus=bonus6+(i-600000)*0.015;

else

bonus=bonus10+(i-1000000)*0.01;

/***********SPACE***********/

【?】("bonus=%d",bonus);

}答案:

=======(答案1)=======

i<=200000

=======(答案2)=======

i<=600000

=======(答案3)=======

i<=1000000

=======(答案4)=======

printf

第13题(10.0分)题号:613 难度:较易第20章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:有以下程序段,且变量已正确定义和赋值

for(s=1.0,k=1;k<=n;k++)

s=s+1.0/(k*(k+1));

printf("s=%f\n\n",s);

请填空,使下面用//////....//////标识的程序段的功能与

之完全相同。

-------------------------------------------------------*/

#include

main()

{

double s;

int k,n=10;

/***********SPACE***********/

【?】;

k=1;

/***********SPACE***********/

while(【?】)

{

s=s+1.0/(k*(k+1));

/***********SPACE***********/

【?】;

}

printf("s=%f\n\n",s);

}

答案:

=======(答案1)=======

s=1

=======(答案2)=======

k<=n

=======(答案3)=======

k++

第14题(10.0分)题号:134 难度:中第1章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:用冒泡法对数组a 进行由小到大的排序。

-------------------------------------------------------*/

#include

void fun(int a[],int n){

int i,j,t;

/***********SPACE***********/

for (j=0; 【?】;j++)

/***********SPACE***********/

for (i=0; 【?】;i++)

/***********SPACE***********/

if(【?】) {

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

main(){

int i,a[10]={3,7,5,1,2,8,6,4,10,9};

/***********SPACE***********/

【?】;

for(i=0;i<10;i++)

printf("%3d",a[i]);

}

答案:

=======(答案1)=======

j

=======(答案2)=======

i

=======(答案3)=======

a[i]>a[ i + 1 ]

=======(答案4)=======

fun(a,10)

第15题(10.0分)题号:432 难度:易第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:计算平均成绩并统计90分以上人数。

-------------------------------------------------------*/

#include

main()

{

int n,m;

float grade,average;

average=0.0;

/***********SPACE***********/

n=m=【?】;

while(1)

{

/***********SPACE***********/

【?】("%f",&grade);

if(grade<0) break;

n++;

average+=grade;

/***********SPACE***********/

if(grade<90)【?】;

m++;

}

if(n) printf("%.2f%d\n",average/n,m);

}答案:

=======(答案1)=======

=======(答案2)=======

scanf

=======(答案3)=======

continue

第16题(10.0分)题号:159 难度:中第95章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

说明:下面程序的功能是输出数组s中最大值元素的下标,请填写程序所缺内容。

-------------------------------------------------------*/

#include"stdio.h"

void main( )

{

int k, p;

int s[ ]={1,9,7,2,10,3};

/***********SPACE***********/

for(p=0,k=p; p<6; 【?】)

/***********SPACE***********/

if(s[p]>s[k]) 【?】;

printf("%d\n" ,k);

}

答案:

=======(答案1)=======

p++

=======(答案2)=======

k=p

第17题(10.0分)题号:402 难度:易第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:输入三个整数x,y,z,请把这三个数由小到大输出。

-------------------------------------------------------*/

#include

main()

{

int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

/***********SPACE***********/

if (x>y){【?】}

/***********SPACE***********/

if(x>z){【?】}

/***********SPACE***********/

if(y>z){【?】}

printf("small to big: %d %d %d\n",x,y,z);

}答案:

=======(答案1)=======

t=x;x=y;y=t;

=======(答案2)=======

t=z;z=x;x=t;

=======(答案3)=======

t=y;y=z;z=t;

第18题(10.0分)题号:6 难度:中第1章/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:以下程序是用选择法对10个整数按升序排序。

-------------------------------------------------------*/

#include

/***********SPACE***********/

【?】

main()

{

int i,j,k,t,a[N];

for(i=0;i<=N-1;i++)

scanf("%d",&a[i]);

for(i=0;i

{

/***********SPACE***********/

【?】;

/***********SPACE***********/

for(j=i+1; 【?】;j++)

if(a[j]

/***********SPACE***********/

if(【?】)

{

t=a[i];

a[i]=a[k];

a[k]=t;

}

}

printf("output the sorted array:\n");

for(i=0;i<=N-1;i++)

printf("%5d",a[i]);

printf("\n");

}

答案:

=======(答案1)=======

#define N 10

=======(答案2)=======

k=i

=======(答案3)=======

j

=======(答案4)=======

k != i

第19题(10.0分)题号:145 难度:中第92章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:从键盘输入一个大写字母赋给c1,要求改用小写字母输出。

-------------------------------------------------------*/

#include

void main()

{

char c1,c2;

/***********SPACE***********/

c1= 【?】;

/***********SPACE***********/

c2= 【?】;

printf("%c,%c",c1,c2);

}

答案:

=======(答案1)=======

getchar()

=======(答案2)=======

c1+32

第20题(10.0分)题号:431 难度:易第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:计算圆周率的近似值。

-------------------------------------------------------*/

#include

#include

main()

{

int s,n;

/***********SPACE***********/

double 【?】,t;

t=1;pi=0;n=1;s=1;

/***********SPACE***********/

while(【?】>=2e-6)

{

pi+=t;n+=2;s=-s;t=s/n;

}

/***********SPACE***********/

pi*=【?】;

printf("pi=%.6f\n",pi);

}答案:

=======(答案1)=======

pi

=======(答案2)=======

fabs(t)

=======(答案3)=======

4

第21题(10.0分)题号:454 难度:中第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:三角形的面积为:area=sqrt(s*(s-a)*(s-b)*(s-c)).其中,s=(a+b+c)/2,a、b、c为三角形三条边的长。定义两个带

参数的宏,一个用来求s,另一个用来求area。编写程序,

在程序中用带参数的宏求面积area。

-------------------------------------------------------*/

#include

#include "math.h"

/***********SPACE***********/

#【?】 S(x,y,z)(x+y+z)/2

#define AREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z))

main()

{

double area;

float a,b,c,s;

printf("a,b,c=");

/***********SPACE***********/

scanf("%f,%f,%f",&a,【?】,&c);

if(a+b>c&&b+c>a&&c+a>b)

{

/***********SPACE***********/

s=【?】;

/***********SPACE***********/

area=【?】;

printf("area=%f\n",area);

}

}答案:

=======(答案1)=======

define

=======(答案2)=======

&b

=======(答案3)=======

S(a,b,c)

=======(答案4)=======

AREA(s,a,b,c)

第22题(10.0分)题号:154 难度:中第94章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

说明:fun函数的功能是计算s=1+1/2!+1/3!+……+1/n!,请填写程序所缺内容。

-------------------------------------------------------*/

#include "stdio.h"

double fun(int n)

{

double s=0.0,fac=1.0;

int i;

for(i=1; i<=n; i++)

{

/***********SPACE***********/

fac=fac * 【?】;

/***********SPACE***********/

s=【?】;

}

return s;

}

void main()

{

double fun(int n);

double s;

int t;

scanf("%d",&t);

s=fun(t);

printf("s=%f\n",s);

}

答案:

=======(答案1)=======

1/i

=======(答案2)=======

s + fac

第23题(10.0分)题号:429 难度:易第2章/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于

零的整数个数,用变量j统计小于零的整数个数。

-------------------------------------------------------*/

#include

main()

{

int n,i,j;

printf("Enter iNT number,with 0 to end\n");

i=j=0;

scanf("%d",&n);

while(n!=0)

{

/***********SPACE***********/

if(n>0)i=【?】;

/***********SPACE***********/

if(n<0)j=【?】;

/***********SPACE***********/

scanf("%d",【?】);

}

printf("i=%4d\n",i,j);

}

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案 一、选择题 1.下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的。 A.原码 B.BCD码 C.反码 D.ASCII码 3.以下选项中不合法的用户标识符是()。 A.abc.c B.file C.Main D.PRONTF 4.以下选项中不合法的用户标识符是()。 A.123 B.printf C.Anbsp; D.Dim 5.可以在C语言程序中用做用户标识符的一组标识符是()。 A.void B.as-b3 C.for D.2c define -123 -abc Do WORD If cas SIG 6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。 (1)A.001 B.table_1 C.0_t D.k% Int t*.1 W10 point (2)A.Fast_ B.void C.pbl D. Fast+Big abs fabs beep (3)A.xy_ B.longdouble C.*p D.CHAR 变量1 signed history Float 7.()是构成C语言的基本单位。 A.函数 B.过程 C.子程序 D.子例程 8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明不合法 (2).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 (3).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 9.若x为int型变量,则执行以下语句后,x的值为 x=6; x+=x-=x*x A.36 B.-60 C.60 D.-24 10.在C语言中,char 型数据在内存中是以()形式存储的。 A.原码 B.补码 C.ASCII码 D.反码 11.以下运算符中优先级最低的算符为(),优先级最高的为()。 A.&& B.& C.|= D.|| E.?: F.!= 12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为 A.*= << > % sizeof B.<< *= > % sizeof C.*= > << sizeof % D.*= > << % sizeof 13.若有以下类型说明语句 char w; int x; float y; double z; 则表达式w*x+z-y 的结果是()类型。 A.float B.char C.int D.double 14.若w,x,y,z 均为int 型变量,则执行下面的语句后, w=(1), x=(2), y=(3), z=(4)。 w=5; x=4; y=w++*w++*w++; z=--x*=--x*--x;

C语言程序设计试题1

C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535

c语言程序填空题

导出题库试题(1~100) 共计104道试题 一、程序填空答案(104题) 【程序填空】 1功能:求两个非负整数的最大公约数和最小公倍数。 【1】r != 0 或r 【2】r=m%n 或r=m-m/n*n 【3】n 【4】gcd,lcm 或n,lcm 2功能:下面的程序是求1!+3!+5!+……+n!的和。 【1】s=0 【2】i+=2 或i=i+2 或i++,i++ 【3】j<=i 或i>=j 或jj 【4】f= f * j 3功能:将一个字符串中下标为m的字符开始的全部字符复制成为另 一个字符串。 【1】p1= str1 + m 【2】*p2++=*p1++ 或*(p2++)=*(p1++) 或*p2=*p1,p2++,p1++ 或*p2=*p1++,p2++ 或*p2++=*p1,p1++ 【3】*p2='\0' 或*p2=0 或*p2=NULL【4】strcopy(str1,str2,m) 4功能:以下程序是用选择法对10个整数按升序排序。 【1】#define N 10 【2】k=I 【3】jj 或j<=N-1 或N-1>=j【4】k != i 5功能:删除一个字符串中的所有数字字符。 【1】s[i]!= 或*(s+i)!= 或*(i+s)!= 【2】|| 【3】s[j]=s[i] 或*(s+j)=*(s+i) 或s[j]=*(s+i) 或*(s+j)=s[i] 【4】delnum(item) 6功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出 其和。 【1】n=0 【2】i<=300 或i<300 或300>=i 或300>i 【3】i%7 == 0 || i%17 == 0 或!(i%7)||!(i%17) 或!(i%17)||!(i%7) 或!(i%7&&i%17) 【4】n%5 == 0 或!(n%5) 或n/5*5==n 7功能:求100-999之间的水仙花数 说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。 例如:153=1^3+5^3+3^3)。 【1】k=0 【2】j=m%10 或j=m-m/10*10 或j=m-10*(m/10) 【3】return(1) 【4】fun(i) 8功能:输出9*9口诀。 【1】i<10 或10>i 【2】j++ 或++j 或j=j+1 【3】result 9功能:输出100到1000之间的各位数字之和能被15整除的所有数, 输出时每10个一行。 【1】k=0 【2】n%10 或n-n/10*10 或n-10*(n/10) 【3】while(n>0) 或while(0

C语言题库(填空题部分)

二、填空题 1、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。 答案: 1:fopen#fopen()#fopen() 知识点:知识点/基本理论/C11文件/C11_2文件函数 2、C语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用__________函数来实现。 答案: 1:fclose#fclose()#fclose() 知识点:知识点/基本理论/C11文件/C11_2文件函数 3、字符串函数________用于从指定的磁盘文件中读出一个字符串。 答案: 1:fgets#fgets() 知识点:知识点/基本理论/C11文件/C11_2文件函数 4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。 答案: 1:fputs#fputs() 知识点:知识点/基本理论/C11文件/C11_2文件函数 5、字符读写函数____________是用于从磁盘文件中读出一个字符。 答案: 1:fgetc#fgetc()#getc#getc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 6、字符读写函数____________是用于把一个字符写入磁盘文件。 答案: 1:fputc#fputc()#putc#putc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 7、共用体类型变量的定义关键字是________。 答案: 1:union 知识点:知识点/基本理论/C10共用体与枚举类型 8、定义枚举类型时采用的关键字是__________。 答案: 1:enum 知识点:知识点/基本理论/C10共用体与枚举类型 9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。 答案: 1:有参 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 10、在C语言中,函数的返回值是由___________语句传递的。 答案: 1:return#return() 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 11、在C语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数 __________。 答案: 1:参数 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 12、在C语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。 答案: 1:直接 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 13、在C语言中,若确实不要求返回函数值,则应将函数定义为___________类型。 答案: 1:void 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 14、在C语言中,假使X为基本整型变量,如果我们采用printf("格式控制",X)格式输出X,那么"格式控制"具体表示为"__"。

最新二级C语言考试题库及答案程序改错专项练习 精华版

1 / 4 程序改错题(共15题) 1、在考生文件夹下,给定程序MODI.C 的功能是: 求一维数组a 中所有元素的平均值,结果保留两位小数。 例如,当一维数组a 中的元素为:10,4,2,7,3,12,5,34,5,9 程序的输出应为:The aver is: 9.10 。 #include #include void main() { int a[10]={10,4,2,7,3,12,5,34,5,9},i; int aver,s; s = 0; for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf("The aver is: %.2f\n", aver); } 2、在考生文件夹下,给定程序MODI.C 的功能是: 求二维数组a 中的最大值和最小值。 例如,当二维数组a 中的元素为: 4 4 34 37 3 12 5 6 5 程序的输出应为:The max is: 37 The min is: 3 。 #include #include void main() { int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min; max = min = a[0][0]; for ( i=0; i<3; i++) for ( j=1; j<3; j++) { if ( max < a[i][j] ) max = a[i][j]; /************found************/ if (min < a[i][j]) min = a[i][j]; } printf("The max is: %d\n", max); printf("The min is: %d\n", min); } 3、在考生文件夹下,给定程序MODI.C 的功能是: 求一维数组a 中的最大元素及其下标。 例如,当一维数组a 中的元素为:1,4,2,7,3,12,5,34,5,9, 程序的输出应为:The max is: 34,pos is: 7 。 #include #include void main() { int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos; max = a[0]; pos = 0; for ( i=1; i<10; i++) /************found************/ if (max > a[i]) { max = a[i]; /************found************/ i = pos; } printf("The max is: %d ,pos is: %d\n", max , pos); } 4、在考生文件夹下,给定程序MODI.C 的功能是: 求二维数组a 中的最小值。 例如,当二维数组a 中的元素为: 4 2 34 7 3 12 5 6 5 程序的输出应为:The min is: 2 。 #include #include void main() { int a[3][3]={4,2,34,7,3,12,5,6,5},i,j,min; min = a[0][0]; for ( i=1; i<3; i++) for ( j=0; j<3; j++) if (min > a[i][j]) { /************found************/ min == a[i][j]; } printf("The min is: %d\n", min); }

c语言程序填空题1

三、程序填空题 导读:在程斥填空题中,已经给出了程序的主干,读者首先要理解程序的思路, 再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步堂握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上己经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而白己编写程序乂不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 ttinclude main() { int a, b; scanf (”%d%d", &a, &b): printf ("a=%d, b二%d\n", a, b); printf ("a=%d, b=%d\n/F, a, b): } a=b=a=①②③ 【3.2】下面程序的功能是根据近似公式:十/6~ 1/12+1/22+1/32+……+l/n2, 求兀值。廿include〈math? h> double pi(long n) { double s=0. 0; long i; for(i=l; i<=n; i++) s=s+ ①; return (②); } [3.3]下面的程序的功能是求一维数组中的最小元素。 findmin(int *s, int t,int *k) { int p; for(p=0, *k=p: p

for(i=0; i<10; i++) scanf &a[i]); findmin(a, 10, k); printf ("%d, %d\n", *k, a L*kJ); } 【3.4】下面程序的功能是计算1-3+5-7+……-99+101的值。 main() { int i, s=0: for(i=l; i<=101: i+=2) {①; s二s+t: ②; } printf ("%d\n", s); } [3.5]有以下程序段: s=l. 0; for(k=1: k<=n: k++) s=s+l. 0/(k*(k+1)); printf ("%f\n", s); 填空完成下述程斥,使之与上述程序的功能完全相同。 s=0. 0: ①; k=0; do { s二s+d; ②; d=1.0/(k*(k+l)); }while(③); printf ("%f\n", s); [3.6]下而程用的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main () ;、float x, amax, amin; scanf &x); amax=x: amin=x;

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

C语言填空题

1、在考生目录下,给定程序FILL1、C的功能就是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该就是:20。 若输入:202,则输出应该就是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2、在考生目录下,给定程序FILL1、C的功能就是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字 符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为: n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio、h" main() { char s[10]; int i; long int n=0; clrscr(); /**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n);

2012计算机国二C语言等级考试题库(内部资料)程序改错

1.给定程序MODI1.C中函数fun的功能是:根据以下公式求π值,并作为函数值返回。例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。(1)“t=0;”改为“t=1;”。(2)改成“return(2*s);” 2.给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为:7654321时,t中的数为:7531。(1)“void fun (long s, long *t)”(2)“sl = sl*10;” 3.给定程序MODI1.C中函数fun的功能是:用下面的公式求π的近似值,知道最后一项的近似值小于指定数(参数num)为止:例如程序0.0001,则程序输出 3.1414。(1) “while(t>=num)”改为 “while(fabs(t)>=num) ”。(2)“t=s%n;”改为 “t=s/n;”。 4.给定程序MODI1.C中函 数fun的功能是:把主函 数中输入的三个数,最大 的放在a中,最小的放在 c中,中间的放在b中。 例如a=55.0 b=34.0 c=12.0。(1)“float k;”。 (2)“if(*a<*c)”。 5. 给定程序MODI1.C中 函数fun的功能是:为一 个偶数寻找两个素数,这 两个素数之和等于该偶 数,并将这两个素数通过 形参指针传回主函数。(1) “y=1;”。(2)“d=a-i;”。 6. 给定程序MODI1.C中 函数fun的功能是:由形 参给定n个实数,输出平 均值以上(含平均值)的 实数个数。所的平均值为: 195.838745,在平均值以 上的实数个数应为:5。(1) “int j, c=0; double xa=0.0;”。(2)“if (x[j]>=xa)”。 7.例如:当s中的数为: 7654321时,t中的数为: 7531。(1)“*t=0;”(2) “if(d%2!=0)” 8.函数功能是:求出 以下分数序列的前n项 和。 2/1,3/2,5/3,8/5/13/ 8,21/13,…...。和值 通过函数值返回到 main函数。例如,n=5, 则应输出:8.391667。 (1)“fun(int n)”改为 “double fun(int n)”。 (2)“b+=c;”改为“b=c;”。 9.函数fun的功能是: 判断一个整数是否是 素数,若是返回1,否 则返回0。(1)“k++” 改为“k++;”(2) “if(m=k)”改为 “if(m==k)” 10.给定程序MODI1.C 中函数fun的功能是: 从整数1到55之间,选 出能被3整除、且有一 位上的数是5的那些 事,并且把这些数放 在b所指的数组中,这 些数作为函数值返回。 规定,函数中a1放个 位数,a2放十位数。 (1)“a2=k/10;”。(2) “return i;”。 11.给定程序MODI1.C 中函数fun的功能是: 计算小于形参k的最大 的10个能被13或17整 除的自然数之和。K的 值由主函数传入,若K 的值为500.则主函数 为4622。(1) “if((k%13==0)||(k%17 ==0))”。(2)“______” 填“}”。 12.已知一个数列从第 0项开始的前三项分别 是0、0、1以后的各项 都是它相邻的前三项 之和。给定程序 MODI1.C中函数fun的 功能是:计算并输出该 数列前n项的平方根之 和。n的值通过形参传 入。(1)“double fun(int n)”。(2)“return sum;”。 13.函数fun的功能是: 根据整形形参m的值: 计算如下公式的 值……例如:若m中的 值为5,则应输出: 0.536389。(1) “for(i=2; i<=m; i++)”(2) “y-=1.0/(i*i);”。 14.函数的功能是:将 字符串中的字符按逆 序输出,但不改变字符 串中的内容。例如字符 串abcd,则应输出dcba。 (1)“void fun(char *a)”。(2)“printf("%c", *a);”。 15.函数fun的功能是:求 三个数的最小公倍数。 X1=15 x2=11 x3=2(1) 改成“int fun(int x, int y, int z )”。(2)return j 16.函数fun的功能是:根 据整型形参m计算如下 公式的值。若主函数中输 入5,则应输出-0.283333。 (1)“t=t-1.0/i;”。 (2)填空“return t;” 17. 例如,若输入:edcba, 则应输出:abcde。(1) “for( i=strlen( t )-1; i; i- - )” (2)“if(t[j]>t[j+1])” 18.函数fun的功能是: 根据形参m的值 (2<=m<=9),在m行m 列的二维数组中存放 如下所示规律的数据, 由main函数输出。(1) “void fun(int a[][M], int m)”。(2) “a[j][k]=(k+1)*(j+1);”。 19.函数fun的功能是: 先从键盘上输入一个3 行3列矩阵的各个元素

C语言程序设计试题第1套(山东建筑大学)

C语言程序设计试题(第1套) 一.单项选择题(30分,每题2分) 1.用C语言编写的代码程序______。 A、可立即执行 B、是一个源程序 C、经过编译即可执行 D、经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是______。 A、顺序结构、选择结构、循环结构 B、if、switch、break C、for、while、do-while D、if、for、continue 3. 以下选项中合法的实型常数是______。 A、B、E-3 C、.2E0 D、 4. 假定x和y为double型,则表达式x=2,y=x+3/2的值是______。 A、B、3 C、D、 5. ch是字符型变量,下面不正确的赋值语句是______。 A、ch = 65; B、ch="a"; C、ch ='\ n'; D、ch= 9+ '0'; 6. 下列有关C语言程序书写格式的说法哪个是错误的 A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。 B、C语句必须要有分号。 C、C语言程序的标识符必须使用小写字母。 D、用{ } 括起来的部分,通常表示了程序的某一层次结构,称为块。 7.下面程序段所表示的数学函数关系是______。 x= -1; if (a!=0) if (a>0) x=1; else x=0; -1 (a<0) 1 (a<0) A、x= 0 (a=0) B、x= -1 (a=0) 1 (a>0) 0 (a>0) 0 (a<0) -1 (a<0) C、x= -1 (a=0) D、x= 1 (a=0) 1 (a>0) 0 (a>0) 8. 以下关于do-while循环的不正确描述是______。 A) do-while的循环体至少执行一次 B) do-while的循环体可以是复合语句 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作 D) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 9. 以下程序执行后sum的值是______。 A) 15 B) 14 C) 不确定 D) 0 main() { int i , sum=0; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } 10.若有说明语句:int a[][3]={1,2,3,4,5,6}; 则a数组第一维的大小是。 A. 1 B. 2 C.3 D. 无确定值 11. C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。 A、float型 B、long型 C、int型 D、double型 12.下面正确的函数定义形式为 A、double fun(int x;int y) B、double fun(int x,int y); C、double fun(int x,y) D、double fun(int x,int y) 13.以下程序运行后,输出结果是______。 #define ADD(x) x+x

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言填空题以及答案

1. 一条简单语句是以________字符作为结束符的,一条复合语句是分别以 ________字符和________字符作为开始符和结束符的。 2. 任何一个C++程序至少且只能包含一个________函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由________和________两部分组成。 3. C++头文件和源程序文件的扩展名分别为________和________。 4. cout与操作符_______配合使用才能显示输出,cin与操作符_____配合使用才能实现输入。 5. 数据类型int,char,bool,float,double, int * 等的类型长度分别为________、________、________、________、________和________。 6. 数值常量46、0173和0x62对应的十进制值分别为________、________和________。 7. 字符串”It\’s\40a\40C++programe!”中包含有__________个字符。 8. 若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为________和 ________。 9. 若x=25,则计算y=x--表达式后,x和y的值分别为________和________。 10. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为________和________。 11. 假定x=64,y=88,则x<<2和y>>2的值分别为________和________。 12. 假定x是一个逻辑量,则x&&true的值与________的值相同,x||false的值也与________的值相同。 13. 假定x是一个逻辑量,则x&&!x和x||!x的值分别为________和________。 14. 假定x=10,则表达式x<=10?20:30的值为________。 15. 表达式sqrt(81)和pow(6,3)的值分别为______________和 ______________。 16. 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为________和 ________。 17. 逻辑表达式:a>=x||b>2*y+10的相反式为:________。 18. 在嵌套的if语句中,每个else关键字与它前面最接近的________关键字相配套。 19. 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算________次,<表达式2>共被计算________次,<表达式3>共被计算________次。20. 执行for和while循环时,每次是先进行________的判断,然后再执行 ________,执行do循环时则相反。

C语言程序改错基本题库电子版本

C语言程序改错基本 题库

北京石油化工学院 12级复习题 程序改错 一、下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。 1.求1234n main() { long int sum; int n,i=1; scanf("%d",n); printf(“\n”); while(ia[j]) { max=a[j]; m=j; } printf(“下标:%d\n最大值:%d”, j, max) } *3. 求 3+4 int a=3,b=4;

main() { int a,c; c=a+b; printf(“c=%d”); } 4.用一个函数求两个数之和。 sum(x,y) { float z; z=x+y; return; } main() { float a,b; int c; scanf("%f,%f",&a,&b); c=sum(a,b); printf("\nSum is %f",sum); } 5.用指针作函数参数,对输入的两个整数按大小顺序输出。 swap(int *p1,*p2) { int *p; *p=*p1;*p1=*p2;*p2=*p; } main() { int a,b; int *q1,*q2; scanf("%d,%d",&a,&b); &q1=a,&q2=b; if(a

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

c语言程序填空题完整

三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); }

【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

相关文档