赞
踩
1.有下列代码,求最终s值
int s=0,k; for(k=7;k>=0;k--){ printf("for循环进入k值为%d\n",k); switch(k){ case 1:printf("k为%d,此时s为%d\n",k ,s); case 4:printf("k为%d,此时s为%d\n",k ,s ); case 7:s++;printf("k为%d,此时s为%d\n",k ,s );break; case 2:printf("k为%d,此时s为%d\n",k ,s ); case 3:printf("k为%d,此时s为%d\n",k ,s ); case 6:printf("k为%d,此时s为%d\n",k ,s );break; case 0:printf("k为%d,此时s为%d\n",k ,s ); case 5:s+=2;printf("k为%d,此时s为%d\n",k ,s ); break; } }
输出如下
2.输入一段英文,计算其中有多少单词,每个单词用空格隔开
char str[255]; char a; int num; gets(str); for (int i = 0; (a=str[i])!='\0' ; i++) { if(a==' '){ num++; } //计算有哪些单词 } num++; printf("word amount %d\n",num);
3.在内存中存储一个字符 ‘a’ 占用 1 个字节,而存储字符串"abcde"则占用 6 个字节
//char字节长度1,字符串字节长度要算上末尾的\0
4.格式控制
char a,b;
int c,d;
scanf("%c%d%d%c",&a,&c,&d,&b);
printf("%c,%d,%d,%c",a,c,d,b );
5.printf数值格式控制
int x=38;
double y=8.57;
printf("%1d\n",x);//38
printf("%2d\n",x);//38
printf("%3d\n",x);// 38
printf("%3.2f\n",y);//8.57
printf("%3.1f\n",y);//8.6
printf("%3.0f\n",y);// 9
printf("%2.2f\n",y);//8.57
printf("%3.3f\n",y);//8.570
printf("%4.2f\n",y);//8.57
printf("%-4.2f\n",y);//8.57
d格式:用来输出十进制整数。有以下几种用法: %d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 %ld:输出长整型数据。
f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法: %f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
其中,小数点也占一位
6.比较两数组大小
char aa[]={
'1','2','3'};
char bb[]={
"123"};
printf("%d\n",sizeof(aa) );//3
printf("%d\n",sizeof(bb) );//4
char aa[3]={
'1','2','3'};
char bb[3]={
"123"};
printf("%d\n",sizeof(aa) );//3
printf("%d\n",sizeof(bb) );//3
7.#define的带参计算
#include <stdio.h>
#define P 2
#define power(x) P*x*x
int main(){
int x=1,y=2;
printf("%d\n%d\n",power(x+y),power(y+x) );
//输出6,7
return 0;
}
8.去除字符串中的指定字符
#include <stdio.h> int main(){ char s[]="**abc*d****"; char a='a'; int x,y; //外层遍历字符串 for(x=y=0;s[x]!='\0';x++){ //内层重新赋值字符串 if(s[x]!=a){ s[y]=s[x]; y++; } } //添上结束标识符 s[y]='\0'; printf("%s\n", s); //输出**bc*d**** return 0; }
9.( * b)++与*b++
#include <stdio.h>
int main(){
int a=1,*b=&a;
printf("%d\n",*b );//1
printf("%d\n",b);//6422036
printf("%d\n",*b++ );//1
printf("%d\n",*b );//6422040
printf("%d\n",b);//6422040
return 0;
}
#include <stdio.h>
int main(){
int a=1,*b=&a;
printf("%d\n",*b
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。