c:
d的值为4.T
8、for循环的三个表达式都可以省略.T
9、continue语句对于while和do-while循环来说,意味着转去计算While表达式.T
10、for语句的循环体至少执行一次.F
11、语句charch[12]={"CProgram"};与语句charch[]="CProgram";具有不同的赋初值功能.T
12、定义chars[9];gets(s);若输入的字符串是Turboc↙(↙代表按回车键操作)则输入给数组s中的字符个数是7.T
13、对静态数组的初始化是在编译阶段完成的.T
14、C语言中,通过函数调用只能获得一个返回值.F
15、字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.F
16、函数的返回值可以通过函数中的return语句获得。
T
17、被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.F
18、char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
F
19、对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。
T
20、用fopen("file","r+");打开的文件"file"可以进行修改。
T
填空
1、设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_____.0
2、以下程序的输出结果为_____,#include"stdio.h"main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}9,10
3、设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!
(a+b)+c-1&&b+c/2后,t的值是_____.1
4、若输入字符串:
abcde<回车>,则以下while循环体将执行_____次.0while((ch=getchar())=='e')printf("*");
5、若有以下数组a,数组元素:
a[0]~a[9],其值为941282107513该数组的元素中,数值最小的元素的下标值是_____.8
6、函数不可以进行嵌套定义,但可以进行嵌套_____.调用
7、在c程序中,只能给指针变量赋NULL值和_____值.地址
8、设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是_____。
unionstud{charnum[6];floats[4];doubleave;}a,*p;16
程序设计
1、
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
将字符串中的小写字母转换为对应的大写字母,
其它字符不变。
------------------------------------------------*/
#include"string.h"
#include"stdio.h"
voidchange(charstr[])
{
/*********Begin**********/
inti;
for(i=0;str[i]!
='\0';i++)
if(str[i]>='a'&&str[i]<='z')
str[i]=str[i]-32;
/**********End**********/
}
main()
{
voidchange();
charstr[40];
voidTestFunc();
gets(str);
change(str);
puts(str);
TestFunc();
}
voidTestFunc()
{
FILE*IN,*OUT;
chari[200];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
fscanf(IN,"%s",i);
change(i);
fprintf(OUT,"%s\n",i);
fclose(IN);
fclose(OUT);
}
2、
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
从低位开始取出长整型变量s中偶数位上的数,依次
构成一个新数放在t中。
例如:
当s中的数为:
7654321时,t中的数为:
642。
------------------------------------------------*/
#include"stdio.h"
longfun(longs,longt)
{
/*********Begin**********/
longsl=10;
s/=10;
t=s%10;
while(s>0)
{s=s/100;
t=s%10*sl+t;
sl=sl*10;
}
/**********End**********/
returnt;
}
main()
{
longs,t,m;
voidTestFunc();
printf("\nPleaseenters:
");scanf("%ld",&s);
m=fun(s,t);
printf("Theresultis:
%ld\n",m);
TestFunc();
}
voidTestFunc()
{
FILE*IN,*OUT;
intn;
longi,t,m;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(n=0;n<5;n++)
{
fscanf(IN,"%ld",&i);
m=fun(i,t);
fprintf(OUT,"%ld\n",m);
}
fclose(IN);
fclose(OUT);
}
程序改错
1、
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,
还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉
一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一
半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
------------------------------------------------------*/
#include"stdio.h"
main()
{
intday,x1,x2;
day=9;
/**********ERROR**********/
x2==1;//x2=1;
while(day>0)
{
/**********ERROR**********/
x1=(x2+1)/2;//x1=(x2+1)*2;
x2=x1;
/**********ERROR**********/
day++;//day--;day-=1;day=day-1;
}
printf("thetotalis%d\n",x1);
}
2、
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
将s所指字符串的反序和正序进行连接形成一个新串放在
t所指的数组中。
例如:
当s所指的字符串的内容为"ABCD"时,t所指数组中
的内容为"DCBAABCD"。
------------------------------------------------------*/
#include"conio.h"
#include"stdio.h"
#include"string.h"
/**********ERROR**********/
voidfun(chars,chart)//voidfun(chars[],chart[])voidfun(char*s,char*t)
//voidfun(char*s,chart[])voidfun(chars[],char*t)
{
inti,d;
/**********ERROR**********/
d=len(s);//d=strlen(s);
/**********ERROR**********/
for(i=1;ii;i++)
//for(i=0;i<=d-1;i++)for(i=0;d-1>=i;i++)
t[i]=s[d-1-i];
for(i=0;it[d+i]=s[i];
/**********ERROR**********/
t[2*d]='/0';//t[2*d]='\0';t[2*d]=NULL;t[2*d]=0;
//t[i+d]='\0';t[i+d]=NULL;t[i+d]=0;
}
main()
{
chars[100],t[100];
printf("\nPleaseenterstringS:
");
scanf("%s",s);
fun(s,t);
printf("\nTheresultis:
%s\n",t);
}
程序填空
1、
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
从键盘上输入10个整数,输入负数不算。
-------------------------------------------------------*/
#include"stdio.h"
main()
{
inti=0,a;
do
{
scanf("%d",&a);
/***********FILL***********/
if(_____)i++;//a>=0
printf("\na=%d,i=%d",a,i);
}
/***********FILL***********/
while(_____);//i<10i<=9
}
2、
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
通过函数的递归调用计算阶乘。
-------------------------------------------------------*/
#include"stdio.h"
longpower(intn)
{
longf;
if(n>1)
/***********FILL***********/
f=_____;//power(n-1)*npower(n-1)*nn*power(n-1)
else
f=1;
return(f);
}
main()
{
intn;
longy;
printf("inputainteagernumber:
\n");
/***********FILL***********/
scanf("%d",_____);//&n
y=power(n);
/***********FILL***********/
printf("%d!
=%ld\n",n,_____);//ypower(n)
}