期中串讲
考试范围
指针之前的内容都在考试范围内,包括但不限于:转义字符、输⼊输出、数学计算、循环、分⽀、数据范围、位运算、⼀维数组、多维数组(主要是⼆维)、函数、递归、字符串等等
总体提纲
演示字符画
知识点讲解
典型例题
板⼦
如何debug
彩蛋
1 演示字符画
⾏转义,转义字符,百分号,多次替换
/* printing long strings */
#include <stdio.h>
int main(void)
{
printf("Here's one way to print a ");
printf("long string.\n");
printf("Here's another way to print a \
long string.\n");
printf("Here's the newest way to print a "
"long string.\n");      /* ANSI C */
return0;
}
热身赛- B佛像
C1-A北航欢迎你
E5-A有些奇怪的字符画
不要再错了
2 知识点讲解
2 知识点讲解
输⼊
格式化输⼊输出
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(void)
{
int a=1;
char b='A';
double pi=acos(-1);
long long c=0x7fffffff;
c++;
unsigned int d=2147483748;
unsigned long long big_num=(1u ll<<35);
/
/scanf("%lf",&pi);
printf("%d\n",a);
printf("%c\n",b);
printf("%f\n",pi);
printf("%lld\n",c);
printf("%u\n",d);
printf("%llu\n",big_num);
//整型格式化
putchar('\n');
printf("%5d\n",a);//输出占5位,不⾜位补空格,默认居右
printf("%-5d\n",a);//输出占5位,不⾜位补空格,居左
printf("%05d\n",a);//输出占5位,不⾜位补0
printf("%+d\n",a);//输出符号位
printf("%+d\n",-a);//输出符号位
//浮点型
//printf("%m.nf\n",pi);
printf("%10f\n",pi);
printf("%.3f\n",pi);
printf("%10.3f\n",pi);
printf("%.0f\n",pi);//四舍五⼊保留整数
//m的格式控制同整型
printf("%010.3f\n",pi);
printf("%+f\n",pi);
return0;
}
// floats.c -- some floating-point combinations
// 有兴趣⾃⼰运⾏
#include <stdio.h>
int main(void)
{
const double RENT=3852.99;  // const-style constant
printf("*%f*\n", RENT);
printf("*%e*\n", RENT);
printf("*%4.2f*\n", RENT);
printf("*%3.1f*\n", RENT);
printf("*%10.3f*\n", RENT);
printf("*%10.3E*\n", RENT);
printf("*%+4.2f*\n", RENT);
printf("*%010.2f*\n", RENT);
return0;
}
固定格式输⼊
(1+1i)+(3+2i)
(3+2i)+(3-2i)
while(scanf("(%lf%lfi)%c(%lf%lfi)",&a,&b,&sym,&c,&d)!=EOF)  {
char ctemp=getchar();
while(ctemp!='\n'&&ctemp!=EOF){
ctemp=getchar();
//code
}
I-⽇期指示器
混合格式输⼊
%c 读取⼀个字符,包括空⽩符
%d,%s 略过空⽩符,读取整数/字符串
#include <stdio.h>
int a,sum;
int main(void)
{
printf("input some numbers(q to qiut):\n");
while(scanf("%d",&a)!=0)
{
sum+=a;
}
printf("sum=%d\n",sum);
return0;
}
当整型和字符串混合输⼊时
82
Rupert Litteer
434.52
Otha Daughterty
double a;
char laji[5];
scanf("%lf", &a);
gets(laji);
// Use gets normally
多组数据输⼊
不定组数据输⼊,以EOF结尾E-⼆进制逆序
#include <stdio.h>
unsigned int n,a;
int main(void)
{
while(scanf("%u",&n)!=EOF)
{
//code
}
return0;
}
固定组输⼊F-ZJD学组合数
#include <stdio.h>
typedef unsigned long long ull;
ull arr[120][120];
int a,n,m;
int main(void)
{
scanf("%d",&a);
while(a--)
{
scanf("%d%d",&n,&m);
/
/code
}
//or
for(int i=0;i<a;i++)
{
scanf("%d%d",&n,&m);
//code
}
return0;
}
字符串的不定组输⼊G-PHP是最好的语⾔
#include <stdio.h>
#include <string.h>
char lang[25][25];
int main(void)
{
char s[25];
while(scanf("%s",s)!=EOF)
{
//code
}
c语言round函数怎么使用//or
while(gets(s)!=NULL)
{
//code
}
//注意区别
return0;
}
特殊形式H-⼩兔⼦乖乖拔萝⼘
#include <stdio.h>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。