2021-05-12

devc++学C语言

devc++的标准

1、DEV-C++默认的标准是C++98,同时支持C++11。
2、改成C++11的方法如下:
Tools -> Compiler Options -> Setting -> Code Generation -> Language standard(-std),选ISO C++11。

C语言报错

id returned 1 exit status
1、库函数拼写错误。如:printf,scanf等。
2、定义的函数名在调用时,函数名拼写错误。
3、在执行函数时可能函数体本身的问题。
4、检查一下任务栏,一般都是上一次“运行”的小黑窗还没关。
然后执行“编译”,由于该文件正在被使用,程序没法执行编译,所以就报了这样的错误。解决方法:把刚才运行的cmd窗口关闭。
5、扩展资料:注意事项c语言实现多次输入可以引入头文件。#include"stdafx.h"#include"stdio.h"。创建主函数void main(){}
在主函数中添加如下代码:

intnumber=0;while(true)
{ printf("请输入数字:");scanf("%d",&number); }

/**/注释符号解释

三原则:
1、字符串里的注释符号不起注释作用;(printf(“we have a // in this line.\n”);字符串中的注释号显然不起作用,字符串被放入只读数据区)
2、注释符号里的双引号不起表示字符串的作用;(// “we have a in this line.\n”)
3、若果情况混乱则从头找起。(/* " */ " */ 不能被完全注释掉,错误之处在于,有人可能认为中间的*/在“”中,不起作用,事实上,该双引号不起标记字符串的作用,因此编译器在第一个*/处就认为注释结束,则这一行最后上下“*/)

关于容易出错的注释的问题:
1、int /*...*/i;
该定义变量i的语句是正确的,有人易误解为当编译器把//去掉后为inti,会导致不正确,编译器确实会将注释剔除,但不是简单的剔除,而是用空格进行了替换。
2、char* s = "abcdef //hijklmn";
根据规则2
3、//is that a
volid comment?
\符号位续行符,显然该两行都会被注释掉。
4、in/*...*/t i
注释被替换为空格了,则显然不能通过编译。
5、/* /* */ */ 此情况是不正确的,因为注释不能嵌套。

switch case

int i=1;
switch ( i%3 ) 
{
case 0: printf("zero");
case 1: printf("one");
case 2: printf("two");
}
//输出结果:onetwo

1%3得到的是1,那么程序会执行case1,所以输出one,但是case1后面没有break程序会继续执行,所以才输出了two

for循环(转载)

for循环执行步骤

1.执行for循环体里的第一个参数,也就是定义一个int整形变量,其变量名为i,并初始化为0
2.执行完第一个参数里的代码后,会执行第二个参数,判断i是否满足条件
3.当第二个表达式为True时会去执行循环体里的代码,也就是当i满足条件
4.执行完循环体里的代码后,就会去执行for循环的第三个参数也就是i的变化
5当以上流程执行完成之后,进入非第一次执行循环时就不会执行for循环第一个参数了,而是直接去执行第二个参数里的判断表达式,然后在去执行循环体里的代码,然后在执行for循环的第三个参数,直到i不满足条件循环才会结束
for循环中++i和i++没区别。
————————————————
版权声明:本文为CSDN博主「17岁boy想当攻城狮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bjbz_cxy/article/details/80225912

翁恺老师的C语言笔记标注

  1. 5.3最大公约数辗转相除法

错题集

  1. 假设int类型变量占用4个字节,定义数组
int x[10] = {0,2,4};

则x在内存中占据几个字节?12
正确答案:40

若有:

int a[][3] = {{0},{1},{2}};

则a[1][2]的值是?
1
正确答案:0
3.

 int a[] = {0};
int *p = a;

则以下哪些表达式的结果为真?
A.p == a[0]
B.p == &a[0]
C.*p == a[0]
D.p[0] == a[0]
正确答案:B、C、D你错选为A、D

printf格式化输出

int printf(const char *format,[argument]);

format 参数输出的格式,定义格式为:

%[flags][width][.perc] [F|N|h|l]type
[标志][输出最小宽度][.精度][长度]类型。
其中方括号[]中的项为可选项。

  1. flags 规定输出格式,标志字符为 -、+、# 和空格四种
    -结果左对齐,右边填空格
    +输出符号(正号或负号)
    空格 输出值为正时冠以空格,为负时冠以负号
    #对c、s、d、u类无影响;
    对o类,在输出时加前缀o;
    对x类,在输出时加前缀0x;
    对e、g、f 类当结果有小数时才给出小数点。

  2. type:类型字符用以表示输出数据的类型:
    用来进行格式转换
    d 以十进制形式输出带符号整数(正数不输出符号)
    o 以八进制形式输出无符号整数(不输出前缀0)
    x,X 以十六进制形式输出无符号整数(不输出前缀Ox)
    u 以十进制形式输出无符号整数
    f 以小数形式输出单、双精度实数
    e,E 以指数形式输出单、双精度实数
    g,G 以%f或%e中较短的输出宽度输出单、双精度实数
    c 输出单个字符
    s 输出字符串

  3. width:数字,所占宽度,不够的地方没有flag用空格补,flag=0用0补。用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

  4. prec:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

  5. F|N|h|l :就l经常用, 长XX,如%ld就是长整形,h表示按短整型量输出

https://blog.csdn.net/whalefall/article/details/80297752

围观

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值