C语言知识点(适合新手)

若只求完成作业而不求甚解,则对学习无益,纯属浪费时间

1 . 用%s输出字符串 要使str[i] = '\0';

2 . switch 语句基本框架:

for (i = 0 ; str[i] != '\0' ; i++)

{

switch(str[i])

{

case '0': //只有char定义的才要加 ‘ ’ ;

arr[0]++;

break;

case '1':

arr[1]++;

break;

case '9':

arr[9]++;

                                break;

default:

break;

}

}

switch (n)

{

/****Found****/

case 0: //整型不需要加 ‘ ’ ;

printf("Zero\n");

break;

default:

printf("Non-Zero");

break;

}

3 . 排序法举例

for (k = 0 ; k < i - 1 ; k++) 冒泡法(主要):

{ for (k = 0 ; k < i - 1 ; k++)

for (j = k + 1 ; j < i ; j++) {

{ for (j =0 ; j < i - k - 1 ; j++)

if (str[k] > str[j]) {

{ if (str[j] > str[j+1])

temp[k] = str[k]; {

str[k] = str[j]; temp[k] = str[j];

str[j] = temp[k]; str[j] = str[j+1];

} str[j+1] = temp[k];

} }

} }

}

4 . 同姓要比较数组的前两个元素

5 . 字母位置互换

for (i = 0 ; i < count ; i++)

{

if (str[i] >= 'a' && str[i] <= 'z')

{

str[i] ='z' + 'a' - str[i];

}

if (str[i] >= 'A' && str[i] <= 'Z')

{

str[i] ='Z' + 'A' - str[i];

}

}

6 . 当遇到-222时结束读入

for (i = 0 ; i < 10000 ; i++)

{

scanf("%d", &aa);

if (aa == -222)

{

break;

}

else

{

arr[k] = aa;

k++;

}

}

7 . 仅读入2到13之间的数字

do

{

scanf("%d", &n);

} while (n < 2 || n > 13);

8 . 不用库函数读入一行字符。例:用while

ch = getchar();

while (ch != '\n') // 输入时考虑ch != '\n'; 对数组的值进行判断时则为str[i] != '\0';

{

str[i] = ch;

i++;

ch = getchar();

}

9 . char ch;//char型常量在内存中存放的是ASCII码;

b = ch - 'A';//ch 就表示的是ASCII码,而A加了 ’ ’ 才能表示ASCII码;

printf("%d", 95 - 10 * (ch - 'A'));//ch从始至终都不需要加单引号 ‘ ’ ;

10 . 如果要输入和输出多个字符串

用getS(str);puts(str);

     如果仅输入输出单行字符串,优先用gets和puts,若题目限制,则借鉴第8条;

11 . strlen(str1);//计算字符串长度;

    strcmp(str1 , str2) > 或 = 或 < 0;//比较最大字符串;

    if (strcmp(str1 , str2) > 0)

{

strcpy(str1 , str2);//把str1中的所有字符全都替换成str2中的所有字符;

}

12 . 以回车表示行结束且回车不计入输入内容。若读入过程中发生错误或遇到文件结束,则也表示行输入结束

     若用户输入时输入了很多字符,则仅读入前100个字符

for (i = 0 ; i < 100 ; i++)

{

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值