1,牢记在C语言输入输出时,double对应的是lf,float对应的是f。
2,牢记很多函数比如pow之类的形参都是double,如果定义实参为整型,运算结果会出错。
3,对于三目运算符a?b:c;输出时不能写cout<<a?b:c<<endl;也不能写cout<<a?b<<endl:c<<endl.(具体常用函数见收藏)。
4:对于成绩转换题目:输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
应记住if和else if编译过程是先审查if,if条件过了,则else if的条件就默认带了if的对立事件条件,所以if条件的语法顺序很重要。
5,注意在scanf中,scanf(“%d”,&a【i】(或a+i)),不能直接写scanf(“%d”,a【i】)
6,给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
对于这种题,要考虑输入的两个数是否是第二个大于第一个,要学会swap两个数。
7,当遇到输入0结束的题目时,注意:
scanf()函数返回的值为:正确按指定格式输入变量的个数;
也即能正确接收到值的变量个数。
while(scanf("%d",&n)!=0) 输入0后还能继续输入
while(scanf("%d",&n),n)输入0后不能继续输入
scanf函数返回的是输入值的个数,
(1)中输入0后返回的是1(因为1个值)肯定不和0相等了,
因此可以继续向下执行,
(2)中时逗号表达式,不管你scanf语句是什么结果,
最后while判读的是后面的n值,
你输入0,结果当然是while语句不成立了!
8.注意在C++中,定义char a【100】;cin>>a ;n=strlen(a);如果输入中带着空格,比如“
ff ai_2”,则n = 2;
要想把两个空格记录到字符数组中,需要用gets函数。
即如果char a【100】;gets(a); n=strlen(a);
则n = 8.
9.注意有用的算法:
isalpha
一种函数:判断字符ch是否为英文字母,
若为英文字母,返回非0(小写字母为2,大写字母为1)。
若不是字母,返回0。
在标准c中相当于使用“ isupper( ch ) || islower( ch ) ”做测试,
isalnum
判断字符变量c是否为字母或数字,若是则返回非零,否则返回零。
10.3
12ajf
fi8x_a
ff ai_2
no
yes
no
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<cmath>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
int n,i;
char r[100];
scanf("%d", &n);
getchar();//如果没有这个getchar,后面的gets会把回车读进去,产生错误,getchar先把回车读了,就不会产生错误。
while(n--)
{
int num;
gets(r);
num = strlen(r);
if (r[0] >= '0' && r[0] <= '9')
{
cout<<"no"<<endl;
continue;
}
for (i = 0; i < num; i++)
{
if (((r[i] >= 'A' && r[i] <= 'Z')||(r[i] >= 'a' && r[i] <= 'z')||(r[i] >= '0' && r[i] <= '9'))||r[i] == '_')
continue;
else
break;
}
if (i == num)
cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
return 0;
}
注意getchar的用法!!!!
gets函数调用时,如果之前有输入变量的值,要注意用一个getchar()来消去回车。
否则 像代码#include<iostream>
#include<cstring>
#include<cctype>
#include<stdio.h>
using namespace std;
int main()
{
char r[100];
int a,b[100];
scanf("%d",&a);
while (a--)
{
gets(r);
puts(r);
}
return 0;
}
就会多读入一个回车。
多输出一个回车。
10.
strupr ()
原型:extern char *strupr(char *s);
用法:#include <string.h>
功能:将字符串s转换为大写形式
说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。
strlwr ()
原型:extern char *strlwr(char *s);
用法:#include <string.h>
功能:将字符串s转换为小写形式
说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。
注意事项:在Linux的编译器中,有可能会编译不通过。
本文介绍了C语言编程中常见的几个要点,包括输入输出格式控制、函数参数类型匹配、条件语句的正确使用、成绩等级转换、数组操作注意事项、特定输入处理方式、字符数组处理技巧以及合法标识符验证等。

被折叠的 条评论
为什么被折叠?



