C语言复习1.docx
- 文档编号:10407710
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:8
- 大小:15.97KB
C语言复习1.docx
《C语言复习1.docx》由会员分享,可在线阅读,更多相关《C语言复习1.docx(8页珍藏版)》请在冰豆网上搜索。
C语言复习1
1.下面关于C语言的叙述中,正确的是()。
(A)每行只能写一条语句
(B)程序中必须包含有输入语句
(C)main函数必须位于文件的开头
(D)每条语句最后必须有一个分号
2.下列不属于C语言关键字的是()。
(A)continue(B)integer(C)static(D)signed
3.下面关于C语言变量的叙述中,错误的是()。
(A)可以用auto关键字定义变量
(B)在C程序中,SUM和sum是不同的变量
(C)变量名必须由字母或下划线开头
(D)变量的类型确定了变量的取值范围
4.以下程序的运行结果是()。
voidmain()
{intn='e';
switch(n--)
{default:
printf("error");
case'a':
case'b':
printf("good");break;
case'c':
printf("pass");
case'd':
printf("warn");
}
}
(A)error(B)good(C)errorgood(D)warn
5.以下程序的运行结果是()。
voidmain()
{intn=5;
if(n++>=6)
printf("%d\n",n);
else
printf("%d\n",++n);
}
(A)4(B)5(C)6(D)7
6.若有定义inta[][3]={1,2,3,4,5,6,7,8,9};则表达式sizeof(a)/sizeof(a[0])
的值为()。
(A)3(B)4(C)5(D)9
7.设有以下变量定义:
charstr1[]="string",str2[8],*str3,*str4="string";
()是正确的。
(A)strcpy(str1,"China");
(B)str2="China";
(C)strcpy(*str3,"China");
(D)strcpy(str4[0],"China");
8.下面语句错误的是()。
(A)int*p;*p=20;
(B)char*s="abcdef";printf("%s\n",s);
(C)char*str="abcdef";str++;
(D)char*str;str="abcdef";
9.若有以下程序段,则叙述正确的是()。
chars[]="computer";
char*p;
p=s;
(A)s和p完全相同
(B)数组s的长度和p所指向的字符串长度相等
(C)*p与s[0]相等
(D)数组s中的内容和指针变量p中的内容相等
10.若已定义inta=3,b=2,c=1;则语句++a||++b&&++c;运行后b的值为()。
(注意这里是不完全运算)
(A)0(B)3(C)1(D)2
1.修改下面程序,其功能是求解百马百担问题.:
有100匹马,驮100担货,大马驮3担,中马驼2担,两匹小马驮1担,问大、中、小马数可分别多少?
有多少种解决方案?
#include
#include
/**/voidfun()/**/
{
intlarge,middle,small,n=0;
clrscr();
for(large=0;large<=33;large++)
for(middle=0;middle<=50;middle++)
{
small=2*(100-3*large-2*middle);
/**/if(large+middle+small=100)/**/
{
n++;
printf("%d-->large:
%d,middle:
%d,small:
%d\n",n,large,middle,small);
}
}
returnn;
}
voidmain()
{
intnum;
num=fun();
printf("\nThereare%dsolutions.\n",num);
getch();
}
2.修改下列程序,其功能是交换两个变量的值。
/**/voidswap(intp1,intp2)/**/
{
inttemp;
temp=*p1;
/**/p1=p2;/**/
*p2=temp;
}
voidmain()
{
inta,b;
/**/scanf("%d%d",a,b);/**/
swap(&a,&b);
printf("\nResult:
a=%db=%d\n",a,b);
}
3.修改下列程序,实现计算1至100之间的奇数之和、偶数之和。
voidmain()
{
intb,i;
/**/inta=c=0;/**/
/**/for(i=0,i<=100,i+=2)/**/
{
a+=i;
b=i+1;
c+=b;
}
printf("totalofevennumbers:
%d\n",a);
printf("totalofoddnumbers:
%d\n",c-101);
}
4.修改程序,使其实现从键盘依次输入M个整数,输出其中所有的偶数。
如输入:
2362384526
输出:
623836
#include
#include
/**/#includeM5/**/
main()
{
inta[M],i;
printf("Pleaseinput5numbers:
\n");
for(i=0;i /**/scanf("%d",a[i]);/**/ printf("Evennumbers: \n"); for(i=0;i /**/if(a[i]/2==0)/**/ printf("%d",a[i]); printf("\n"); getch(); } 5.修改程序,使其将输入字符串中’0’~’8’的数字字符变为比它大1的数字字符,将’9’变为’0’。 如输入: ab12cD56EF89GH4 输出: ab23cD67EF90GH5 #include #include main() { charstr1[128],str2[128]; inti,len; gets(str1); len=strlen(str1); /**/for(i=0;i>len;i++)/**/ { /**/if(str1[i]>='0'||str1[i]<='8')/**/ str2[i]=str1[i]+1; elseif(str1[i]=='9') str2[i]='0'; else str2[i]=str1[i]; } /**/str2[i]='\n';/**/ puts(str2); getch(); } 6.修改程序,使其实现从键盘输入一串字符,统计其英文字母、数字及其它字符的个数。 #include #include voidmain() { charc; intletter,number,other; /**/letter==number==other==0;/**/ printf("Pleaseinputstring: "); while((c=getchar())! ='\n') { /**/if(c>='a'&&c<='z')/**/ letter++; /**/elseif(c>=0&&c<=9)/**/ number++; else other++; } printf("letter=%d,number=%d,other=%d\n",letter number,other);getch(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习
![提示](https://static.bdocx.com/images/bang_tan.gif)